@import url(//hello.myfonts.net/count/3464f3);@charset "UTF-8";

/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 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: 1px 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 {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #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 {
    background: transparent !important;
    color: #000 !important;
    -webkit-box-shadow: none !important;
       -moz-box-shadow: none !important;
            box-shadow: none !important;
    text-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/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1);
  src: url(../fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1) format("embedded-opentype"), url(../fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff2?448c34a56d699c29117adc64c43affeb) format("woff2"), url(../fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff?fa2772327f55d8198301fdb8bcfc8158) format("woff"), url(../fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.ttf?e18bbf611f2a2e43afc071aa2f4e1512) format("truetype"), url(../fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.svg?89889688147bd7575d6327160d64e760) format("svg");
}

.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  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: transparent;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  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 {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  -moz-border-radius: 50%;
       border-radius: 50%;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  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: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}

h1 small,
h1 .small,
h2 small,
h2 .small,
h3 small,
h3 .small,
h4 small,
h4 .small,
h5 small,
h5 .small,
h6 small,
h6 .small,
.h1 small,
.h1 .small,
.h2 small,
.h2 .small,
.h3 small,
.h3 .small,
.h4 small,
.h4 .small,
.h5 small,
.h5 .small,
.h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}

h1 small,
h1 .small,
.h1 small,
.h1 .small,
h2 small,
h2 .small,
.h2 small,
.h2 .small,
h3 small,
h3 .small,
.h3 small,
.h3 .small {
  font-size: 65%;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}

h4 small,
h4 .small,
.h4 small,
.h4 .small,
h5 small,
h5 .small,
.h5 small,
.h5 .small,
h6 small,
h6 .small,
.h6 small,
.h6 .small {
  font-size: 75%;
}

h1,
.h1 {
  font-size: 36px;
}

h2,
.h2 {
  font-size: 30px;
}

h3,
.h3 {
  font-size: 24px;
}

h4,
.h4 {
  font-size: 18px;
}

h5,
.h5 {
  font-size: 14px;
}

h6,
.h6 {
  font-size: 12px;
}

p {
  margin: 0 0 10px;
}

.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .lead {
    font-size: 21px;
  }
}

small,
.small {
  font-size: 85%;
}

mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}

.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,
.initialism {
  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;
}

.bg-primary {
  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: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
}

ul ul,
ul ol,
ol ul,
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-left: 5px;
  padding-right: 5px;
}

dl {
  margin-top: 0;
  margin-bottom: 20px;
}

dt,
dd {
  line-height: 1.42857143;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

.dl-horizontal dd:before,
.dl-horizontal dd:after {
  content: " ";
  display: table;
}

.dl-horizontal dd:after {
  clear: both;
}

@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;
  border-bottom: 1px dotted #777777;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  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;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}

.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
blockquote.pull-right small:before,
blockquote.pull-right .small:before {
  content: '';
}

.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
blockquote.pull-right small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}

address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857143;
}

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  -moz-border-radius: 3px;
       border-radius: 3px;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  -moz-border-radius: 0;
       border-radius: 0;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container:before,
.container:after {
  content: " ";
  display: table;
}

.container:after {
  clear: both;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}

.container-fluid:after {
  clear: both;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.row:before,
.row:after {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.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-left: 15px;
  padding-right: 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-1 {
  width: 8.33333333%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.33333333%;
}

.col-xs-pull-2 {
  right: 16.66666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.33333333%;
}

.col-xs-pull-5 {
  right: 41.66666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.33333333%;
}

.col-xs-pull-8 {
  right: 66.66666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.33333333%;
}

.col-xs-pull-11 {
  right: 91.66666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.33333333%;
}

.col-xs-push-2 {
  left: 16.66666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.33333333%;
}

.col-xs-push-5 {
  left: 41.66666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.33333333%;
}

.col-xs-push-8 {
  left: 66.66666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.33333333%;
}

.col-xs-push-11 {
  left: 91.66666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

@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-1 {
    width: 8.33333333%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-12 {
    left: 100%;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

@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-1 {
    width: 8.33333333%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-12 {
    width: 100%;
  }

  .col-md-pull-0 {
    right: auto;
  }

  .col-md-pull-1 {
    right: 8.33333333%;
  }

  .col-md-pull-2 {
    right: 16.66666667%;
  }

  .col-md-pull-3 {
    right: 25%;
  }

  .col-md-pull-4 {
    right: 33.33333333%;
  }

  .col-md-pull-5 {
    right: 41.66666667%;
  }

  .col-md-pull-6 {
    right: 50%;
  }

  .col-md-pull-7 {
    right: 58.33333333%;
  }

  .col-md-pull-8 {
    right: 66.66666667%;
  }

  .col-md-pull-9 {
    right: 75%;
  }

  .col-md-pull-10 {
    right: 83.33333333%;
  }

  .col-md-pull-11 {
    right: 91.66666667%;
  }

  .col-md-pull-12 {
    right: 100%;
  }

  .col-md-push-0 {
    left: auto;
  }

  .col-md-push-1 {
    left: 8.33333333%;
  }

  .col-md-push-2 {
    left: 16.66666667%;
  }

  .col-md-push-3 {
    left: 25%;
  }

  .col-md-push-4 {
    left: 33.33333333%;
  }

  .col-md-push-5 {
    left: 41.66666667%;
  }

  .col-md-push-6 {
    left: 50%;
  }

  .col-md-push-7 {
    left: 58.33333333%;
  }

  .col-md-push-8 {
    left: 66.66666667%;
  }

  .col-md-push-9 {
    left: 75%;
  }

  .col-md-push-10 {
    left: 83.33333333%;
  }

  .col-md-push-11 {
    left: 91.66666667%;
  }

  .col-md-push-12 {
    left: 100%;
  }

  .col-md-offset-0 {
    margin-left: 0%;
  }

  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-md-offset-3 {
    margin-left: 25%;
  }

  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-md-offset-6 {
    margin-left: 50%;
  }

  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-md-offset-9 {
    margin-left: 75%;
  }

  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-md-offset-12 {
    margin-left: 100%;
  }
}

@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-1 {
    width: 8.33333333%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-12 {
    width: 100%;
  }

  .col-lg-pull-0 {
    right: auto;
  }

  .col-lg-pull-1 {
    right: 8.33333333%;
  }

  .col-lg-pull-2 {
    right: 16.66666667%;
  }

  .col-lg-pull-3 {
    right: 25%;
  }

  .col-lg-pull-4 {
    right: 33.33333333%;
  }

  .col-lg-pull-5 {
    right: 41.66666667%;
  }

  .col-lg-pull-6 {
    right: 50%;
  }

  .col-lg-pull-7 {
    right: 58.33333333%;
  }

  .col-lg-pull-8 {
    right: 66.66666667%;
  }

  .col-lg-pull-9 {
    right: 75%;
  }

  .col-lg-pull-10 {
    right: 83.33333333%;
  }

  .col-lg-pull-11 {
    right: 91.66666667%;
  }

  .col-lg-pull-12 {
    right: 100%;
  }

  .col-lg-push-0 {
    left: auto;
  }

  .col-lg-push-1 {
    left: 8.33333333%;
  }

  .col-lg-push-2 {
    left: 16.66666667%;
  }

  .col-lg-push-3 {
    left: 25%;
  }

  .col-lg-push-4 {
    left: 33.33333333%;
  }

  .col-lg-push-5 {
    left: 41.66666667%;
  }

  .col-lg-push-6 {
    left: 50%;
  }

  .col-lg-push-7 {
    left: 58.33333333%;
  }

  .col-lg-push-8 {
    left: 66.66666667%;
  }

  .col-lg-push-9 {
    left: 75%;
  }

  .col-lg-push-10 {
    left: 83.33333333%;
  }

  .col-lg-push-11 {
    left: 91.66666667%;
  }

  .col-lg-push-12 {
    left: 100%;
  }

  .col-lg-offset-0 {
    margin-left: 0%;
  }

  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-lg-offset-3 {
    margin-left: 25%;
  }

  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-lg-offset-6 {
    margin-left: 50%;
  }

  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-lg-offset-9 {
    margin-left: 75%;
  }

  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

table {
  background-color: transparent;
}

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.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 > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.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 > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered {
  border: 1px solid #ddd;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.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 col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.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 > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.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 > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.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 > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.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 > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.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 {
  overflow-x: auto;
  min-height: 0.01%;
}

@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    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 > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .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 > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

input[type="search"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -moz-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s, -moz-box-shadow ease-in-out 0.15s;
}

.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
          box-shadow: inset 0 1px 1px rgba(0, 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 {
  border: 0;
  background-color: transparent;
}

.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;
}

input[type="search"] {
  -webkit-appearance: none;
}

@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: 34px;
  }

  input[type="date"].input-sm,
  .input-group-sm > input[type="date"].form-control,
  .input-group-sm > input[type="date"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="date"].btn,
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input[type="time"].form-control,
  .input-group-sm > input[type="time"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="time"].btn,
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input[type="datetime-local"].form-control,
  .input-group-sm > input[type="datetime-local"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input[type="month"].form-control,
  .input-group-sm > input[type="month"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="month"].btn,
  .input-group-sm
  input[type="month"] {
    line-height: 30px;
  }

  input[type="date"].input-lg,
  .input-group-lg > input[type="date"].form-control,
  .input-group-lg > input[type="date"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="date"].btn,
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input[type="time"].form-control,
  .input-group-lg > input[type="time"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="time"].btn,
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input[type="datetime-local"].form-control,
  .input-group-lg > input[type="datetime-local"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input[type="month"].form-control,
  .input-group-lg > input[type="month"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="month"].btn,
  .input-group-lg
  input[type="month"] {
    line-height: 46px;
  }
}

.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}

input[type="radio"][disabled],
input[type="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}

.form-control-static.input-lg,
.input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn,
.form-control-static.input-sm,
.input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

select.input-sm,
.input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 30px;
  line-height: 30px;
}

textarea.input-sm,
.input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}

.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.input-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

select.input-lg,
.input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 46px;
  line-height: 46px;
}

textarea.input-lg,
.input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px;
}

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}

.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}

.has-feedback .form-control {
  padding-right: 42.5px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback,
.input-group-lg > .form-control + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}

.input-sm + .form-control-feedback,
.input-group-sm > .form-control + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.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;
  border-color: #3c763d;
  background-color: #dff0d8;
}

.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;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}

.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;
  border-color: #a94442;
  background-color: #f2dede;
}

.has-error .form-control-feedback {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
  top: 25px;
}

.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 {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}

.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}

.form-horizontal .form-group:after {
  clear: both;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}

.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: 18px;
  }
}

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn:focus,
.btn.focus,
.btn:active:focus,
.btn:active.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 {
  outline: 0;
  background-image: none;
  -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;
  opacity: 0.65;
  filter: alpha(opacity=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: #e6e5e5;
  border-color: #8c8c8c;
}

.btn-default:hover {
  color: #333;
  background-color: #e6e5e5;
  border-color: #adadad;
}

.btn-default:active,
.btn-default.active,
.open > .btn-default.dropdown-toggle {
  color: #333;
  background-color: #e6e5e5;
  border-color: #adadad;
}

.btn-default:active:hover,
.btn-default:active:focus,
.btn-default:active.focus,
.btn-default.active:hover,
.btn-default.active:focus,
.btn-default.active.focus,
.open > .btn-default.dropdown-toggle:hover,
.open > .btn-default.dropdown-toggle:focus,
.open > .btn-default.dropdown-toggle.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}

.btn-default:active,
.btn-default.active,
.open > .btn-default.dropdown-toggle {
  background-image: none;
}

.btn-default.disabled:hover,
.btn-default.disabled:focus,
.btn-default.disabled.focus,
.btn-default[disabled]:hover,
.btn-default[disabled]:focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default: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 > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}

.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus,
.open > .btn-primary.dropdown-toggle:hover,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}

.btn-primary:active,
.btn-primary.active,
.open > .btn-primary.dropdown-toggle {
  background-image: none;
}

.btn-primary.disabled:hover,
.btn-primary.disabled:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled]:hover,
.btn-primary[disabled]:focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .btn-primary: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 > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}

.btn-success:active:hover,
.btn-success:active:focus,
.btn-success:active.focus,
.btn-success.active:hover,
.btn-success.active:focus,
.btn-success.active.focus,
.open > .btn-success.dropdown-toggle:hover,
.open > .btn-success.dropdown-toggle:focus,
.open > .btn-success.dropdown-toggle.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}

.btn-success:active,
.btn-success.active,
.open > .btn-success.dropdown-toggle {
  background-image: none;
}

.btn-success.disabled:hover,
.btn-success.disabled:focus,
.btn-success.disabled.focus,
.btn-success[disabled]:hover,
.btn-success[disabled]:focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success: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 > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}

.btn-info:active:hover,
.btn-info:active:focus,
.btn-info:active.focus,
.btn-info.active:hover,
.btn-info.active:focus,
.btn-info.active.focus,
.open > .btn-info.dropdown-toggle:hover,
.open > .btn-info.dropdown-toggle:focus,
.open > .btn-info.dropdown-toggle.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}

.btn-info:active,
.btn-info.active,
.open > .btn-info.dropdown-toggle {
  background-image: none;
}

.btn-info.disabled:hover,
.btn-info.disabled:focus,
.btn-info.disabled.focus,
.btn-info[disabled]:hover,
.btn-info[disabled]:focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info:hover,
fieldset[disabled] .btn-info: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 > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}

.btn-warning:active:hover,
.btn-warning:active:focus,
.btn-warning:active.focus,
.btn-warning.active:hover,
.btn-warning.active:focus,
.btn-warning.active.focus,
.open > .btn-warning.dropdown-toggle:hover,
.open > .btn-warning.dropdown-toggle:focus,
.open > .btn-warning.dropdown-toggle.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}

.btn-warning:active,
.btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  background-image: none;
}

.btn-warning.disabled:hover,
.btn-warning.disabled:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled]:hover,
.btn-warning[disabled]:focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning: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 > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}

.btn-danger:active:hover,
.btn-danger:active:focus,
.btn-danger:active.focus,
.btn-danger.active:hover,
.btn-danger.active:focus,
.btn-danger.active.focus,
.open > .btn-danger.dropdown-toggle:hover,
.open > .btn-danger.dropdown-toggle:focus,
.open > .btn-danger.dropdown-toggle.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}

.btn-danger:active,
.btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  background-image: none;
}

.btn-danger.disabled:hover,
.btn-danger.disabled:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled]:hover,
.btn-danger[disabled]:focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger:hover,
fieldset[disabled] .btn-danger:focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}

.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  color: #337ab7;
  font-weight: normal;
  -moz-border-radius: 0;
       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,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:hover,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       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;
  -moz-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  -o-transition-property: height, visibility;
  -moz-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
     -moz-transition-duration: 0.35s;
       -o-transition-duration: 0.35s;
          transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
       -o-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;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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);
  -moz-background-clip: padding-box;
       background-clip: padding-box;
}

.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}

.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}

.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;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}

.open > .dropdown-menu {
  display: block;
}

.open > a {
  outline: 0;
}

.dropdown-menu-right {
  left: auto;
  right: 0;
}

.dropdown-menu-left {
  left: 0;
  right: auto;
}

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}

.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}

.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 {
    left: 0;
    right: auto;
  }
}

.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 > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .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:before,
.btn-toolbar:after {
  content: " ";
  display: table;
}

.btn-toolbar:after {
  clear: both;
}

.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) {
  -moz-border-radius: 0;
       border-radius: 0;
}

.btn-group > .btn:first-child {
  margin-left: 0;
}

.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
}

.btn-group > .btn-group {
  float: left;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  -moz-border-radius: 0;
       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 {
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
}

.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}

.btn-group > .btn-lg + .dropdown-toggle,
.btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 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,
.btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}

.dropup .btn-lg .caret,
.dropup .btn-group-lg > .btn .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:before,
.btn-group-vertical > .btn-group:after {
  content: " ";
  display: table;
}

.btn-group-vertical > .btn-group:after {
  clear: both;
}

.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) {
  -moz-border-radius: 0;
       border-radius: 0;
}

.btn-group-vertical > .btn:first-child:not(:last-child) {
  -moz-border-radius-topright: 4px;
       border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
       border-top-left-radius: 4px;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:last-child:not(:first-child) {
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
  -moz-border-radius-bottomright: 4px;
       border-bottom-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
       border-bottom-left-radius: 4px;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  -moz-border-radius: 0;
       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 {
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
}

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}

.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}

.btn-group-justified > .btn-group .btn {
  width: 100%;
}

.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[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-left: 0;
  padding-right: 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-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) {
  -moz-border-radius: 0;
       border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.input-group-addon.input-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 5px 10px;
  font-size: 12px;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 10px 16px;
  font-size: 18px;
  -moz-border-radius: 6px;
       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 {
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-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 {
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-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 {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.nav:before,
.nav:after {
  content: " ";
  display: table;
}

.nav:after {
  clear: both;
}

.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;
  background-color: transparent;
  cursor: not-allowed;
}

.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}

.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid #ddd;
}

.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}

.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  -moz-border-radius: 4px 4px 0 0;
       border-radius: 4px 4px 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;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}

.nav-pills > li {
  float: left;
}

.nav-pills > li > a {
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.nav-pills > li + li {
  margin-left: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}

.nav-stacked > li {
  float: none;
}

.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified,
.nav-tabs.nav-justified {
  width: 100%;
}

.nav-justified > li,
.nav-tabs.nav-justified > li {
  float: none;
}

.nav-justified > li > a,
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}

.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}

@media (min-width: 768px) {
  .nav-justified > li,
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-justified > li > a,
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified,
.nav-tabs.nav-justified {
  border-bottom: 0;
}

.nav-tabs-justified > li > a,
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.nav-tabs-justified > .active > a,
.nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}

@media (min-width: 768px) {
  .nav-tabs-justified > li > a,
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    -moz-border-radius: 4px 4px 0 0;
         border-radius: 4px 4px 0 0;
  }

  .nav-tabs-justified > .active > a,
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-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;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
}

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 20px;
  border: 1px solid transparent;
}

.navbar:before,
.navbar:after {
  content: " ";
  display: table;
}

.navbar:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar {
    -moz-border-radius: 4px;
         border-radius: 4px;
  }
}

.navbar-header:before,
.navbar-header:after {
  content: " ";
  display: table;
}

.navbar-header:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}

.navbar-collapse:before,
.navbar-collapse:after {
  content: " ";
  display: table;
}

.navbar-collapse:after {
  clear: both;
}

.navbar-collapse.in {
  overflow-y: auto;
}

@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
  }

  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }

  .navbar-collapse.in {
    overflow-y: visible;
  }

  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.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;
  }
}

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 768px) {
  .container > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-header,
  .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 {
    -moz-border-radius: 0;
         border-radius: 0;
  }
}

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}

@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    -moz-border-radius: 0;
         border-radius: 0;
  }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  padding: 15px 15px;
  font-size: 18px;
  line-height: 20px;
  height: 50px;
}

.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;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.navbar-toggle:focus {
  outline: 0;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  -moz-border-radius: 1px;
       border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}

@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 7.5px -15px;
}

.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}

@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
  }

  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }

  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }

  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}

@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }

  .navbar-nav > li {
    float: left;
  }

  .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 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: 8px;
  margin-bottom: 8px;
}

@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;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  -moz-border-radius-topright: 4px;
       border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
       border-top-left-radius: 4px;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 8px;
  margin-bottom: 8px;
}

.navbar-btn.btn-sm,
.btn-group-sm > .navbar-btn.btn {
  margin-top: 10px;
  margin-bottom: 10px;
}

.navbar-btn.btn-xs,
.btn-group-xs > .navbar-btn.btn {
  margin-top: 14px;
  margin-bottom: 14px;
}

.navbar-text {
  margin-top: 15px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 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: #5e5d5d;
  background-color: transparent;
}

.navbar-default .navbar-text {
  color: #777;
}

.navbar-default .navbar-nav > li > a {
  color: #777;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}

.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}

.navbar-default .navbar-toggle {
  border-color: #ddd;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}

.navbar-default .navbar-link {
  color: #777;
}

.navbar-default .navbar-link:hover {
  color: #333;
}

.navbar-default .btn-link {
  color: #777;
}

.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}

.navbar-default .btn-link[disabled]:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:hover,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}

.navbar-inverse {
  background-color: #222;
  border-color: #090909;
}

.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: #090909;
}

.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: #333;
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}

.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}

.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #090909;
  color: #fff;
}

@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #090909;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #090909;
  }

  .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: #090909;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}

.navbar-inverse .navbar-link {
  color: #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,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:hover,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}

.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 20px;
  list-style: none;
  background-color: #f5f5f5;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.breadcrumb > li {
  display: inline-block;
}

.breadcrumb > li + li:before {
  content: "/ ";
  padding: 0 5px;
  color: #ccc;
}

.breadcrumb > .active {
  color: #777777;
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  -moz-border-radius-bottomleft: 4px;
       border-bottom-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
       border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  -moz-border-radius-bottomright: 4px;
       border-bottom-right-radius: 4px;
  -moz-border-radius-topright: 4px;
       border-top-right-radius: 4px;
}

.pagination > li > a:hover,
.pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  -moz-border-radius-bottomleft: 6px;
       border-bottom-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
       border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  -moz-border-radius-bottomright: 6px;
       border-bottom-right-radius: 6px;
  -moz-border-radius-topright: 6px;
       border-top-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
}

.pager {
  padding-left: 0;
  margin: 20px 0;
  list-style: none;
  text-align: center;
}

.pager:before,
.pager:after {
  content: " ";
  display: table;
}

.pager:after {
  clear: both;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-border-radius: 15px;
       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;
  background-color: #fff;
  cursor: not-allowed;
}

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  -moz-border-radius: .25em;
       border-radius: .25em;
}

.label:empty {
  display: none;
}

.btn .label {
  position: relative;
  top: -1px;
}

a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.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: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  -moz-border-radius: 10px;
       border-radius: 10px;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.btn-xs .badge,
.btn-group-xs > .btn .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}

.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;
}

a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.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: 21px;
  font-weight: 200;
}

.jumbotron > hr {
  border-top-color: #d5d5d5;
}

.container .jumbotron,
.container-fluid .jumbotron {
  -moz-border-radius: 6px;
       border-radius: 6px;
  padding-left: 15px;
  padding-right: 15px;
}

.jumbotron .container {
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }

  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 63px;
  }
}

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 20px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  -moz-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}

.thumbnail > img,
.thumbnail a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.thumbnail .caption {
  padding: 9px;
  color: #333333;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.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 {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}

.alert-success hr {
  border-top-color: #c9e2b3;
}

.alert-success .alert-link {
  color: #2b542c;
}

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}

.alert-info hr {
  border-top-color: #a6e1ec;
}

.alert-info .alert-link {
  color: #245269;
}

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}

.alert-warning hr {
  border-top-color: #f7e1b5;
}

.alert-warning .alert-link {
  color: #66512c;
}

.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.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;
  }
}

@-moz-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 {
  overflow: hidden;
  height: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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: 12px;
  line-height: 20px;
  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;
  -moz-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.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: -moz-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);
  -moz-background-size: 40px 40px;
       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;
       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: -moz-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: -moz-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: -moz-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: -moz-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 {
  zoom: 1;
  overflow: hidden;
}

.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 {
  margin-bottom: 20px;
  padding-left: 0;
}

.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 {
  -moz-border-radius-topright: 4px;
       border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
       border-top-left-radius: 4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  -moz-border-radius-bottomright: 4px;
       border-bottom-right-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
       border-bottom-left-radius: 4px;
}

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,
a.list-group-item:focus,
button.list-group-item:hover,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}

button.list-group-item {
  width: 100%;
  text-align: left;
}

.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}

.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 .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active:focus .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;
}

.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,
a.list-group-item-success:focus,
button.list-group-item-success:hover,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}

a.list-group-item-success.active,
a.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active,
button.list-group-item-success.active:hover,
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,
a.list-group-item-info:focus,
button.list-group-item-info:hover,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}

a.list-group-item-info.active,
a.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active,
button.list-group-item-info.active:hover,
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,
a.list-group-item-warning:focus,
button.list-group-item-warning:hover,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}

a.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active,
button.list-group-item-warning.active:hover,
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,
a.list-group-item-danger:focus,
button.list-group-item-danger:hover,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}

a.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active,
button.list-group-item-danger.active:hover,
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: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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-body:before,
.panel-body:after {
  content: " ";
  display: table;
}

.panel-body:after {
  clear: both;
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
}

.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}

.panel-title > a,
.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;
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
}

.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;
  -moz-border-radius: 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;
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
}

.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;
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
}

.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  -moz-border-radius-topleft: 0;
       border-top-left-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-left: 15px;
  padding-right: 15px;
}

.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
}

.panel > .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 > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .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 th:first-child,
.panel > .table-responsive:first-child > .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 th:first-child {
  -moz-border-radius-topleft: 3px;
       border-top-left-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .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 th:last-child,
.panel > .table-responsive:first-child > .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 th:last-child {
  -moz-border-radius-topright: 3px;
       border-top-right-radius: 3px;
}

.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
}

.panel > .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 > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .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 th:first-child,
.panel > .table-responsive:last-child > .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 th:first-child {
  -moz-border-radius-bottomleft: 3px;
       border-bottom-left-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .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 th:last-child,
.panel > .table-responsive:last-child > .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 th:last-child {
  -moz-border-radius-bottomright: 3px;
       border-bottom-right-radius: 3px;
}

.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-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}

.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 20px;
}

.panel-group .panel {
  margin-bottom: 0;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.panel-group .panel + .panel {
  margin-top: 5px;
}

.panel-group .panel-heading {
  border-bottom: 0;
}

.panel-group .panel-heading + .panel-collapse > .panel-body,
.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;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 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;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.well-sm {
  padding: 9px;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}

.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -moz-transform: translate(0, -25%);
   -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
       transform: translate(0, -25%);
  transition: -webkit-transform 0.3s ease-out;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  -moz-transition: transform 0.3s ease-out, -moz-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -moz-transform 0.3s ease-out, -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
   -ms-transform: translate(0, 0);
    -o-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;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -moz-border-radius: 6px;
       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);
  -moz-background-clip: padding-box;
       background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}

.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}

.modal-header:before,
.modal-header:after {
  content: " ";
  display: table;
}

.modal-header:after {
  clear: both;
}

.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:before,
.modal-footer:after {
  content: " ";
  display: table;
}

.modal-footer:after {
  clear: both;
}

.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}

.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: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}

.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}

.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}

.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}

.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  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;
}

.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: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 14px;
  background-color: #fff;
  -moz-background-clip: padding-box;
       background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -moz-border-radius: 6px;
       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-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 14px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  -moz-border-radius: 5px 5px 0 0;
       border-radius: 5px 5px 0 0;
}

.popover-content {
  padding: 9px 14px;
}

.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.popover > .arrow {
  border-width: 11px;
}

.popover > .arrow:after {
  border-width: 10px;
  content: "";
}

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}

.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}

.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  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 {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  -moz-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
  line-height: 1;
}

@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    transition: -webkit-transform 0.6s ease-in-out;
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    -moz-transition: transform 0.6s ease-in-out, -moz-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -moz-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-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);
    -moz-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);
    -moz-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);
    -moz-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;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: transparent;
}

.carousel-control.left {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -moz-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%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}

.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -moz-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%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}

.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}

.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}

.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}

.carousel-control .icon-prev:before {
  content: '\2039';
}

.carousel-control .icon-next:before {
  content: '\203a';
}

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  -moz-border-radius: 10px;
       border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: transparent;
}

.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}

.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  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 {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }

  .carousel-indicators {
    bottom: 20px;
  }
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: 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 {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.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;
  }
}

.select2-container {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative;
}

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px;
}

.select2-container .select2-selection--multiple {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-search--inline {
  float: left;
}

.select2-container .select2-search--inline .select2-search__field {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0;
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051;
}

.select2-results {
  display: block;
}

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select2-results__option {
  padding: 6px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.select2-results__option[aria-selected] {
  cursor: pointer;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
  border-top: none;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
}

.select2-search--dropdown {
  display: block;
  padding: 4px;
}

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
  display: none;
}

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0);
}

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  cursor: text;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  list-style: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--default .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white;
}

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  outline: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee));
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -moz-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  -moz-border-radius-topright: 4px;
       border-top-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
       border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc));
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -moz-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  -moz-border-radius: 0;
       border-radius: 0;
  -moz-border-radius-topleft: 4px;
       border-top-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
       border-bottom-left-radius: 4px;
  left: 1px;
  right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee));
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -moz-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white));
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -moz-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
}

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  cursor: text;
  outline: 0;
}

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  -moz-border-radius: 4px;
       border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555;
}

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right;
}

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  -moz-border-radius-topleft: 0;
       border-top-left-radius: 0;
  -moz-border-radius-topright: 0;
       border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  -moz-border-radius-bottomleft: 0;
       border-bottom-left-radius: 0;
  -moz-border-radius-bottomright: 0;
       border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
  border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
  border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--classic .select2-results__option[role=group] {
  padding: 0;
}

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey;
}

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white;
}

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: 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 {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #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;
}

* {
  -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: transparent;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #fff;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  color: #9A1A39;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #9A1A39;
  text-decoration: none;
}

a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  -moz-border-radius: 50%;
       border-radius: 50%;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  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;
}

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    -webkit-box-shadow: none !important;
       -moz-box-shadow: none !important;
            box-shadow: none !important;
    text-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;
  }
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container:before,
.container:after {
  content: " ";
  display: table;
}

.container:after {
  clear: both;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}

.container-fluid:after {
  clear: both;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.row:before,
.row:after {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.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-left: 15px;
  padding-right: 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-1 {
  width: 8.33333333%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.33333333%;
}

.col-xs-pull-2 {
  right: 16.66666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.33333333%;
}

.col-xs-pull-5 {
  right: 41.66666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.33333333%;
}

.col-xs-pull-8 {
  right: 66.66666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.33333333%;
}

.col-xs-pull-11 {
  right: 91.66666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.33333333%;
}

.col-xs-push-2 {
  left: 16.66666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.33333333%;
}

.col-xs-push-5 {
  left: 41.66666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.33333333%;
}

.col-xs-push-8 {
  left: 66.66666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.33333333%;
}

.col-xs-push-11 {
  left: 91.66666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

@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-1 {
    width: 8.33333333%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-12 {
    left: 100%;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

@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-1 {
    width: 8.33333333%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-12 {
    width: 100%;
  }

  .col-md-pull-0 {
    right: auto;
  }

  .col-md-pull-1 {
    right: 8.33333333%;
  }

  .col-md-pull-2 {
    right: 16.66666667%;
  }

  .col-md-pull-3 {
    right: 25%;
  }

  .col-md-pull-4 {
    right: 33.33333333%;
  }

  .col-md-pull-5 {
    right: 41.66666667%;
  }

  .col-md-pull-6 {
    right: 50%;
  }

  .col-md-pull-7 {
    right: 58.33333333%;
  }

  .col-md-pull-8 {
    right: 66.66666667%;
  }

  .col-md-pull-9 {
    right: 75%;
  }

  .col-md-pull-10 {
    right: 83.33333333%;
  }

  .col-md-pull-11 {
    right: 91.66666667%;
  }

  .col-md-pull-12 {
    right: 100%;
  }

  .col-md-push-0 {
    left: auto;
  }

  .col-md-push-1 {
    left: 8.33333333%;
  }

  .col-md-push-2 {
    left: 16.66666667%;
  }

  .col-md-push-3 {
    left: 25%;
  }

  .col-md-push-4 {
    left: 33.33333333%;
  }

  .col-md-push-5 {
    left: 41.66666667%;
  }

  .col-md-push-6 {
    left: 50%;
  }

  .col-md-push-7 {
    left: 58.33333333%;
  }

  .col-md-push-8 {
    left: 66.66666667%;
  }

  .col-md-push-9 {
    left: 75%;
  }

  .col-md-push-10 {
    left: 83.33333333%;
  }

  .col-md-push-11 {
    left: 91.66666667%;
  }

  .col-md-push-12 {
    left: 100%;
  }

  .col-md-offset-0 {
    margin-left: 0%;
  }

  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-md-offset-3 {
    margin-left: 25%;
  }

  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-md-offset-6 {
    margin-left: 50%;
  }

  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-md-offset-9 {
    margin-left: 75%;
  }

  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-md-offset-12 {
    margin-left: 100%;
  }
}

@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-1 {
    width: 8.33333333%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-12 {
    width: 100%;
  }

  .col-lg-pull-0 {
    right: auto;
  }

  .col-lg-pull-1 {
    right: 8.33333333%;
  }

  .col-lg-pull-2 {
    right: 16.66666667%;
  }

  .col-lg-pull-3 {
    right: 25%;
  }

  .col-lg-pull-4 {
    right: 33.33333333%;
  }

  .col-lg-pull-5 {
    right: 41.66666667%;
  }

  .col-lg-pull-6 {
    right: 50%;
  }

  .col-lg-pull-7 {
    right: 58.33333333%;
  }

  .col-lg-pull-8 {
    right: 66.66666667%;
  }

  .col-lg-pull-9 {
    right: 75%;
  }

  .col-lg-pull-10 {
    right: 83.33333333%;
  }

  .col-lg-pull-11 {
    right: 91.66666667%;
  }

  .col-lg-pull-12 {
    right: 100%;
  }

  .col-lg-push-0 {
    left: auto;
  }

  .col-lg-push-1 {
    left: 8.33333333%;
  }

  .col-lg-push-2 {
    left: 16.66666667%;
  }

  .col-lg-push-3 {
    left: 25%;
  }

  .col-lg-push-4 {
    left: 33.33333333%;
  }

  .col-lg-push-5 {
    left: 41.66666667%;
  }

  .col-lg-push-6 {
    left: 50%;
  }

  .col-lg-push-7 {
    left: 58.33333333%;
  }

  .col-lg-push-8 {
    left: 66.66666667%;
  }

  .col-lg-push-9 {
    left: 75%;
  }

  .col-lg-push-10 {
    left: 83.33333333%;
  }

  .col-lg-push-11 {
    left: 91.66666667%;
  }

  .col-lg-push-12 {
    left: 100%;
  }

  .col-lg-offset-0 {
    margin-left: 0%;
  }

  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-lg-offset-3 {
    margin-left: 25%;
  }

  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-lg-offset-6 {
    margin-left: 50%;
  }

  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-lg-offset-9 {
    margin-left: 75%;
  }

  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

table {
  background-color: transparent;
}

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}

th {
  text-align: left;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.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 > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.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 > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered {
  border: 1px solid #ddd;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.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 col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.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 > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.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 > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.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 > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.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 > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.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 {
  overflow-x: auto;
  min-height: 0.01%;
}

@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    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 > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .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 > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

input[type="search"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -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 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -moz-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s, -moz-box-shadow ease-in-out 0.15s;
}

.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
          box-shadow: inset 0 1px 1px rgba(0, 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 {
  border: 0;
  background-color: transparent;
}

.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;
}

input[type="search"] {
  -webkit-appearance: none;
}

@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: 34px;
  }

  input[type="date"].input-sm,
  .input-group-sm > input[type="date"].form-control,
  .input-group-sm > input[type="date"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="date"].btn,
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input[type="time"].form-control,
  .input-group-sm > input[type="time"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="time"].btn,
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input[type="datetime-local"].form-control,
  .input-group-sm > input[type="datetime-local"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input[type="month"].form-control,
  .input-group-sm > input[type="month"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="month"].btn,
  .input-group-sm
  input[type="month"] {
    line-height: 30px;
  }

  input[type="date"].input-lg,
  .input-group-lg > input[type="date"].form-control,
  .input-group-lg > input[type="date"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="date"].btn,
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input[type="time"].form-control,
  .input-group-lg > input[type="time"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="time"].btn,
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input[type="datetime-local"].form-control,
  .input-group-lg > input[type="datetime-local"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input[type="month"].form-control,
  .input-group-lg > input[type="month"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="month"].btn,
  .input-group-lg
  input[type="month"] {
    line-height: 46px;
  }
}

.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}

input[type="radio"][disabled],
input[type="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}

.form-control-static.input-lg,
.input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn,
.form-control-static.input-sm,
.input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

select.input-sm,
.input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 30px;
  line-height: 30px;
}

textarea.input-sm,
.input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}

.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.input-lg,
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

select.input-lg,
.input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 46px;
  line-height: 46px;
}

textarea.input-lg,
.input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px;
}

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}

.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}

.has-feedback .form-control {
  padding-right: 42.5px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback,
.input-group-lg > .form-control + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}

.input-sm + .form-control-feedback,
.input-group-sm > .form-control + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.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;
  border-color: #3c763d;
  background-color: #dff0d8;
}

.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;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}

.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;
  border-color: #a94442;
  background-color: #f2dede;
}

.has-error .form-control-feedback {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
  top: 25px;
}

.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 {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}

.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}

.form-horizontal .form-group:after {
  clear: both;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}

.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: 18px;
  }
}

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  -moz-border-radius: 4px;
       border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn:focus,
.btn.focus,
.btn:active:focus,
.btn:active.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 {
  outline: 0;
  background-image: none;
  -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;
  opacity: 0.65;
  filter: alpha(opacity=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: #e6e5e5;
  border-color: #8c8c8c;
}

.btn-default:hover {
  color: #333;
  background-color: #e6e5e5;
  border-color: #adadad;
}

.btn-default:active,
.btn-default.active,
.open > .btn-default.dropdown-toggle {
  color: #333;
  background-color: #e6e5e5;
  border-color: #adadad;
}

.btn-default:active:hover,
.btn-default:active:focus,
.btn-default:active.focus,
.btn-default.active:hover,
.btn-default.active:focus,
.btn-default.active.focus,
.open > .btn-default.dropdown-toggle:hover,
.open > .btn-default.dropdown-toggle:focus,
.open > .btn-default.dropdown-toggle.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}

.btn-default:active,
.btn-default.active,
.open > .btn-default.dropdown-toggle {
  background-image: none;
}

.btn-default.disabled:hover,
.btn-default.disabled:focus,
.btn-default.disabled.focus,
.btn-default[disabled]:hover,
.btn-default[disabled]:focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default: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 > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}

.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus,
.open > .btn-primary.dropdown-toggle:hover,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}

.btn-primary:active,
.btn-primary.active,
.open > .btn-primary.dropdown-toggle {
  background-image: none;
}

.btn-primary.disabled:hover,
.btn-primary.disabled:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled]:hover,
.btn-primary[disabled]:focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .btn-primary: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 > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}

.btn-success:active:hover,
.btn-success:active:focus,
.btn-success:active.focus,
.btn-success.active:hover,
.btn-success.active:focus,
.btn-success.active.focus,
.open > .btn-success.dropdown-toggle:hover,
.open > .btn-success.dropdown-toggle:focus,
.open > .btn-success.dropdown-toggle.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}

.btn-success:active,
.btn-success.active,
.open > .btn-success.dropdown-toggle {
  background-image: none;
}

.btn-success.disabled:hover,
.btn-success.disabled:focus,
.btn-success.disabled.focus,
.btn-success[disabled]:hover,
.btn-success[disabled]:focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success: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 > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}

.btn-info:active:hover,
.btn-info:active:focus,
.btn-info:active.focus,
.btn-info.active:hover,
.btn-info.active:focus,
.btn-info.active.focus,
.open > .btn-info.dropdown-toggle:hover,
.open > .btn-info.dropdown-toggle:focus,
.open > .btn-info.dropdown-toggle.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}

.btn-info:active,
.btn-info.active,
.open > .btn-info.dropdown-toggle {
  background-image: none;
}

.btn-info.disabled:hover,
.btn-info.disabled:focus,
.btn-info.disabled.focus,
.btn-info[disabled]:hover,
.btn-info[disabled]:focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info:hover,
fieldset[disabled] .btn-info: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 > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}

.btn-warning:active:hover,
.btn-warning:active:focus,
.btn-warning:active.focus,
.btn-warning.active:hover,
.btn-warning.active:focus,
.btn-warning.active.focus,
.open > .btn-warning.dropdown-toggle:hover,
.open > .btn-warning.dropdown-toggle:focus,
.open > .btn-warning.dropdown-toggle.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}

.btn-warning:active,
.btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  background-image: none;
}

.btn-warning.disabled:hover,
.btn-warning.disabled:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled]:hover,
.btn-warning[disabled]:focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning: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 > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}

.btn-danger:active:hover,
.btn-danger:active:focus,
.btn-danger:active.focus,
.btn-danger.active:hover,
.btn-danger.active:focus,
.btn-danger.active.focus,
.open > .btn-danger.dropdown-toggle:hover,
.open > .btn-danger.dropdown-toggle:focus,
.open > .btn-danger.dropdown-toggle.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}

.btn-danger:active,
.btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  background-image: none;
}

.btn-danger.disabled:hover,
.btn-danger.disabled:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled]:hover,
.btn-danger[disabled]:focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger:hover,
fieldset[disabled] .btn-danger:focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}

.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.btn-link {
  color: #9A1A39;
  font-weight: normal;
  -moz-border-radius: 0;
       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: #9A1A39;
  text-decoration: none;
  background-color: transparent;
}

.btn-link[disabled]:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:hover,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  -moz-border-radius: 6px;
       border-radius: 6px;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  -moz-border-radius: 3px;
       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%;
}

@-ms-viewport {
  width: device-width;
}

/**
  Add Font flairs to either side of text (must be inline/inline-block element)
 */

.u-m-bottom {
  margin-bottom: 30px;
}

.u-clearfix:before,
.u-clearfix:after {
  content: " ";
  display: table;
}

.u-clearfix:after {
  clear: both;
}

.u-centered {
  text-align: center;
}

.is-block-link {
  display: block;
  text-decoration: none;
}

.is-block-link:hover {
  text-decoration: inherit;
}

.u-img-cover {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-relative {
  position: relative;
}

.u-no-overflow {
  overflow-y: hidden;
}

/**
 * Swiper 3.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 *
 * http://www.idangero.us/swiper/
 *
 * Copyright 2017, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 *
 * Licensed under MIT
 *
 * Released on: March 10, 2017
 */

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  transition-property: -webkit-transform;
  -webkit-transition-property: -webkit-transform;
  -o-transition-property: -o-transform;
  -moz-transition-property: transform, -moz-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform, -moz-transform, -o-transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  -moz-transform: translate3d(0px, 0, 0);
       transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
     -moz-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Auto Height */

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
          align-items: flex-start;
  transition-property: height, -webkit-transform;
  -webkit-transition-property: height, -webkit-transform;
  -o-transition-property: height, -o-transform;
  -moz-transition-property: transform, height, -moz-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform, -moz-transform, -o-transform;
  transition-property: transform, height, -webkit-transform;
}

/* a11y */

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

/* IE10 Windows Phone 8 Fixes */

.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

/* Arrows */

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 27px 44px;
       background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

/* Pagination Styles */

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms;
  -o-transition: 300ms;
  -moz-transition: 300ms;
  transition: 300ms;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
       transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  -moz-border-radius: 100%;
       border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-white .swiper-pagination-bullet {
  background: #fff;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #fff;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  -moz-transform: translate3d(0px, -50%, 0);
       transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 5px 0;
  display: block;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}

/* Progress */

.swiper-pagination-progress {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progress .swiper-pagination-progressbar {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
   -ms-transform: scale(0);
    -o-transform: scale(0);
       transform: scale(0);
  -webkit-transform-origin: left top;
  -moz-transform-origin: left top;
   -ms-transform-origin: left top;
    -o-transform-origin: left top;
       transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
  -webkit-transform-origin: right top;
  -moz-transform-origin: right top;
   -ms-transform-origin: right top;
    -o-transform-origin: right top;
       transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progress {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-vertical > .swiper-pagination-progress {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-progress.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.5);
}

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  background: #fff;
}

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  background: #000;
}

/* 3D Container */

.swiper-container-3d {
  -webkit-perspective: 1200px;
  -o-perspective: 1200px;
  -moz-perspective: 1200px;
       perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
       transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-right {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-top {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

/* Coverflow */

.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px;
}

/* Cube + Flip */

.swiper-container-cube,
.swiper-container-flip {
  overflow: visible;
}

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
       backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
       backface-visibility: hidden;
}

/* Cube */

.swiper-container-cube .swiper-slide {
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
       transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -moz-transform-origin: 100% 0;
   -ms-transform-origin: 100% 0;
    -o-transform-origin: 100% 0;
       transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

/* Fade */

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
     -moz-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
          align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Scrollbar */

.swiper-scrollbar {
  -moz-border-radius: 10px;
       border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -moz-border-radius: 10px;
       border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

/* Preloader */

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -moz-transform-origin: 50%;
   -ms-transform-origin: 50%;
    -o-transform-origin: 50%;
       transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  -moz-animation: swiper-preloader-spin 1s steps(12, end) infinite;
       animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  -moz-background-size: 100%;
       background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
                 -o-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* Make clicks pass-through */

#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

/* Fancy blur effect */

#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  -webkit-box-shadow: 0 0 10px #29d, 0 0 5px #29d;
     -moz-box-shadow: 0 0 10px #29d, 0 0 5px #29d;
          box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  opacity: 1.0;
  -webkit-transform: rotate(3deg) translate(0px, -4px);
  -moz-transform: rotate(3deg) translate(0px, -4px);
   -ms-transform: rotate(3deg) translate(0px, -4px);
    -o-transform: rotate(3deg) translate(0px, -4px);
       transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */

#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 2px transparent;
  border-top-color: #29d;
  border-left-color: #29d;
  -moz-border-radius: 50%;
       border-radius: 50%;
  -webkit-animation: nprogress-spinner 400ms linear infinite;
  -moz-animation: nprogress-spinner 400ms linear infinite;
       animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
               -moz-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes nprogress-spinner {
  0% {
    -webkit-transform: rotate(0deg);
               -moz-transform: rotate(0deg);
                 -o-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
                 -o-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@font-face {
  font-family: 'plutocond';
  src: url(../fonts/3464F3_1_0.eot?41dac7ad1e884e4f4b6d36c33c9bc130);
  src: url(../fonts/3464F3_1_0.eot?41dac7ad1e884e4f4b6d36c33c9bc130) format("embedded-opentype"), url(../fonts/3464F3_1_0.woff2?2abc712f51f3c904d7bbca20ba4ecdf4) format("woff2"), url(../fonts/3464F3_1_0.woff?c4312cf8216f55bfbb00952f99f0963d) format("woff"), url(../fonts/3464F3_1_0.ttf?d1e359c6a450ecb1d2c551932775b505) format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'plutocond';
  src: url(../fonts/3464F3_0_0.eot?e2206eb197ab8af349c99099795cfea2);
  src: url(../fonts/3464F3_0_0.eot?e2206eb197ab8af349c99099795cfea2) format("embedded-opentype"), url(../fonts/3464F3_0_0.woff2?ac9c0eb5b8ccf619ceeb0e529d5282a8) format("woff2"), url(../fonts/3464F3_0_0.woff?5292abf947edaff84a73b5aaa3d82b6f) format("woff"), url(../fonts/3464F3_0_0.ttf?46632f3eef9d63ac349b813322fe27ea) format("truetype");
  font-weight: 700;
  font-style: normal;
}

/*


MYFONTS FONTFACE - BUGGY

@font-face {
  font-family: 'plutocond';
  src: url('../../fonts/webfonts/3464F3_1_0.eot');
  src: url('../../fonts/webfonts/3464F3_1_0.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/webfonts/3464F3_1_0.woff2') format('woff2'),
  url('../../fonts/webfonts/3464F3_1_0.woff') format('woff'),
  url('../../fonts/webfonts/3464F3_1_0.ttf')
  format('truetype');
  font-weight: 400;
  font-style: normal;
}


@font-face {
  font-family: 'plutocond';
  src: url('../../fonts/webfonts/3464F3_0_0.eot');
  src: url('../../fonts/webfonts/3464F3_0_0.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/webfonts/3464F3_0_0.woff2') format('woff2'),
  url('../../fonts/webfonts/3464F3_0_0.woff') format('woff'),
  url('../../fonts/webfonts/3464F3_0_0.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}


@font-face {
  font-family: 'IntroGoodies-Patterns&ampShapes';
  src: url('../../fonts/webfonts/3464F3_2_0.eot');
  src: url('../../fonts/webfonts/3464F3_2_0.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/webfonts/3464F3_2_0.woff2') format('woff2'),
  url('../../fonts/webfonts/3464F3_2_0.woff') format('woff'),
  url('../../fonts/webfonts/3464F3_2_0.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}



@font-face {
  font-family: 'intro_head_bbase';
  src: url('../../fonts/webfonts/3464F3_3_0.eot');
  src: url('../../fonts/webfonts/3464F3_3_0.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/webfonts/3464F3_3_0.woff2') format('woff2'),
  url('../../fonts/webfonts/3464F3_3_0.woff') format('woff'),
  url('../../fonts/webfonts/3464F3_3_0.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}


@font-face {
  font-family: 'intro_head_hh2_base';
  src: url('../../fonts/webfonts/3464F3_4_0.eot');
  src: url('../../fonts/webfonts/3464F3_4_0.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/webfonts/3464F3_4_0.woff2') format('woff2'),
  url('../../fonts/webfonts/3464F3_4_0.woff') format('woff'),
  url('../../fonts/webfonts/3464F3_4_0.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
*/

/**
  LOCAL FONTS

@font-face {
  font-family: 'plutocond';
  src: url('../../fonts/plutocondregular-webfont.eot');
  src: url('../../fonts/plutocondregular-webfont.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/plutocondregular-webfont.woff2') format('woff2'),
  url('../../fonts/plutocondregular-webfont.woff') format('woff'),
  url('../../fonts/plutocondregular-webfont.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;

}

@font-face {
  font-family: 'plutocond';
  src: url('../../fonts/plutocondbold-webfont.eot');
  src: url('../../fonts/plutocondbold-webfont.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/plutocondbold-webfont.woff2') format('woff2'),
  url('../../fonts/plutocondbold-webfont.woff') format('woff'),
  url('../../fonts/plutocondbold-webfont.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;

}

@font-face {
  font-family: 'intro_head_bbase';
  src: url('../../fonts/IntroHeadB-Base.eot');
  src: url('../../fonts/IntroHeadB-Base.eot?#iefix') format('embedded-opentype'),
  url('../../fonts/IntroHeadB-Base.woff2') format('woff2'),
  url('../../fonts/IntroHeadB-Base.woff') format('woff'),
  url('../../fonts/IntroHeadB-Base.ttf') format('truetype'),
  url('../../fonts/IntroHeadB-Base.svg#IntroHeadB-Base') format('svg');
  font-weight: 400;
  font-style: normal;
}


@font-face {
  font-family: 'intro_head_hh2_base';
  src: url('../../fonts/intro_head_h_h2_base-webfont.woff2') format('woff2'),
  url('../../fonts/intro_head_h_h2_base-webfont.woff') format('woff');
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: 'intro_goodiesbanners__endings';
  src: url('../../fonts/fontfabric_-_intro_goodies_banners_-amp-_endings-webfont.woff2') format('woff2'),
  url('../../fonts/fontfabric_-_intro_goodies_banners_-amp-_endings-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
 */

@font-face {
  font-family: 'intro_head_bbase';
  src: url(../fonts/IntroHeadB-Base.eot?d7ab2e1c3d3a2ce02cd5414b0fe8363e);
  src: url(../fonts/IntroHeadB-Base.eot?d7ab2e1c3d3a2ce02cd5414b0fe8363e) format("embedded-opentype"), url(../fonts/IntroHeadB-Base.woff2?e2f9796d6323f1ff2d656bc908a5c6e2) format("woff2"), url(../fonts/IntroHeadB-Base.woff?3e401b8ba043fff8d0f48fe75140847a) format("woff"), url(../fonts/IntroHeadB-Base.ttf?d4c1d9f88f3ca1d458327437215acf5d) format("truetype"), url(../fonts/IntroHeadB-Base.svg?7cb39bd2e429612a81b41283f7b9ec6a) format("svg");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'intro_head_hh2_base';
  src: url(../fonts/intro_head_h_h2_base-webfont.woff2?213168d36d7aed75b4351147686eb1b9) format("woff2"), url(../fonts/intro_head_h_h2_base-webfont.woff?4447b584cdc9979fab6eebb351481d3d) format("woff");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'intro_goodiesbanners__endings';
  src: url(../fonts/webfont-icons.woff2?89113927650d96c7ee6ce39cdd28c4c5) format("woff2"), url(../fonts/webfont-icons.woff?7fd2d73d89b9a36cd0a3bffb4b9be5a8) format("woff");
  font-weight: normal;
  font-style: normal;
}

/**
  END OLD
 */

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  20% {
    -webkit-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  40% {
    -webkit-transform: rotate(5deg) scale(1.1);
            transform: rotate(5deg) scale(1.1);
  }

  65% {
    -webkit-transform: rotate(-5deg) scale(1.1);
            transform: rotate(-5deg) scale(1.1);
  }

  100% {
    -webkit-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }
}

@-moz-keyframes wiggle {
  0% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  20% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  40% {
    -webkit-transform: rotate(5deg) scale(1.1);
               -moz-transform: rotate(5deg) scale(1.1);
            transform: rotate(5deg) scale(1.1);
  }

  65% {
    -webkit-transform: rotate(-5deg) scale(1.1);
               -moz-transform: rotate(-5deg) scale(1.1);
            transform: rotate(-5deg) scale(1.1);
  }

  100% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }
}

@keyframes wiggle {
  0% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
                 -o-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  20% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
                 -o-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }

  40% {
    -webkit-transform: rotate(5deg) scale(1.1);
               -moz-transform: rotate(5deg) scale(1.1);
                 -o-transform: rotate(5deg) scale(1.1);
            transform: rotate(5deg) scale(1.1);
  }

  65% {
    -webkit-transform: rotate(-5deg) scale(1.1);
               -moz-transform: rotate(-5deg) scale(1.1);
                 -o-transform: rotate(-5deg) scale(1.1);
            transform: rotate(-5deg) scale(1.1);
  }

  100% {
    -webkit-transform: rotate(0deg) scale(1.1);
               -moz-transform: rotate(0deg) scale(1.1);
                 -o-transform: rotate(0deg) scale(1.1);
            transform: rotate(0deg) scale(1.1);
  }
}

.view--front-page .anim-nav-main > li {
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
             -moz-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  -moz-transition: all 400ms linear;
  transition: all 400ms linear;
  -webkit-transition-timing-function: cubic-bezier(0.31, 0.44, 0.445, 1.65);
     -moz-transition-timing-function: cubic-bezier(0.31, 0.44, 0.445, 1.65);
       -o-transition-timing-function: cubic-bezier(0.31, 0.44, 0.445, 1.65);
          transition-timing-function: cubic-bezier(0.31, 0.44, 0.445, 1.65);
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(1) {
  -webkit-transition-delay: 100ms;
     -moz-transition-delay: 100ms;
       -o-transition-delay: 100ms;
          transition-delay: 100ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(2) {
  -webkit-transition-delay: 200ms;
     -moz-transition-delay: 200ms;
       -o-transition-delay: 200ms;
          transition-delay: 200ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(3) {
  -webkit-transition-delay: 300ms;
     -moz-transition-delay: 300ms;
       -o-transition-delay: 300ms;
          transition-delay: 300ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(4) {
  -webkit-transition-delay: 400ms;
     -moz-transition-delay: 400ms;
       -o-transition-delay: 400ms;
          transition-delay: 400ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(5) {
  -webkit-transition-delay: 500ms;
     -moz-transition-delay: 500ms;
       -o-transition-delay: 500ms;
          transition-delay: 500ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(6) {
  -webkit-transition-delay: 600ms;
     -moz-transition-delay: 600ms;
       -o-transition-delay: 600ms;
          transition-delay: 600ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(7) {
  -webkit-transition-delay: 700ms;
     -moz-transition-delay: 700ms;
       -o-transition-delay: 700ms;
          transition-delay: 700ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(8) {
  -webkit-transition-delay: 800ms;
     -moz-transition-delay: 800ms;
       -o-transition-delay: 800ms;
          transition-delay: 800ms;
}

.wf-introheadbbase-n4-active .view--front-page .anim-nav-main > li:nth-child(9) {
  -webkit-transition-delay: 900ms;
     -moz-transition-delay: 900ms;
       -o-transition-delay: 900ms;
          transition-delay: 900ms;
}

.wf-introheadbbase-n4-inactive .view--front-page .anim-nav-main > li {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
}

.wf-active--once .view--front-page .anim-nav-main > li {
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
}

.view--front-page .c-top-links__item {
  opacity: 0;
  -webkit-transition: all 1000ms ease 1000ms;
  -o-transition: all 1000ms ease 1000ms;
  -moz-transition: all 1000ms ease 1000ms;
  transition: all 1000ms ease 1000ms;
}

.wf-introheadbbase-n4-active .view--front-page .c-top-links__item {
  opacity: 1;
}

.wf-introheadbbase-n4-inactive .view--front-page .c-top-links__item {
  opacity: 1;
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
}

.wf-active--once .view--front-page .c-top-links__item {
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
}

.is-view-entered .a-child-sequence > *,
.is-view-entered .nav-news-list-cats > * {
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: enteringFadeUp;
             -moz-animation-name: enteringFadeUp;
          animation-name: enteringFadeUp;
}

.is-view-entered .a-child-sequence > *:nth-child(1),
.is-view-entered .nav-news-list-cats > *:nth-child(1) {
  -webkit-animation-delay: 150ms;
             -moz-animation-delay: 150ms;
          animation-delay: 150ms;
}

.is-view-entered .a-child-sequence > *:nth-child(2),
.is-view-entered .nav-news-list-cats > *:nth-child(2) {
  -webkit-animation-delay: 300ms;
             -moz-animation-delay: 300ms;
          animation-delay: 300ms;
}

.is-view-entered .a-child-sequence > *:nth-child(3),
.is-view-entered .nav-news-list-cats > *:nth-child(3) {
  -webkit-animation-delay: 450ms;
             -moz-animation-delay: 450ms;
          animation-delay: 450ms;
}

.is-view-entered .a-child-sequence > *:nth-child(4),
.is-view-entered .nav-news-list-cats > *:nth-child(4) {
  -webkit-animation-delay: 600ms;
             -moz-animation-delay: 600ms;
          animation-delay: 600ms;
}

.is-view-entered .a-child-sequence > *:nth-child(5),
.is-view-entered .nav-news-list-cats > *:nth-child(5) {
  -webkit-animation-delay: 750ms;
             -moz-animation-delay: 750ms;
          animation-delay: 750ms;
}

.is-view-entered .a-child-sequence > *:nth-child(6),
.is-view-entered .nav-news-list-cats > *:nth-child(6) {
  -webkit-animation-delay: 900ms;
             -moz-animation-delay: 900ms;
          animation-delay: 900ms;
}

.is-view-entered .a-child-sequence > *:nth-child(7),
.is-view-entered .nav-news-list-cats > *:nth-child(7) {
  -webkit-animation-delay: 1050ms;
             -moz-animation-delay: 1050ms;
          animation-delay: 1050ms;
}

.is-view-entered .a-child-sequence > *:nth-child(8),
.is-view-entered .nav-news-list-cats > *:nth-child(8) {
  -webkit-animation-delay: 1200ms;
             -moz-animation-delay: 1200ms;
          animation-delay: 1200ms;
}

.is-view-entered .a-child-sequence > *:nth-child(9),
.is-view-entered .nav-news-list-cats > *:nth-child(9) {
  -webkit-animation-delay: 1350ms;
             -moz-animation-delay: 1350ms;
          animation-delay: 1350ms;
}

.is-view-entered .a-child-sequence > *:nth-child(10),
.is-view-entered .nav-news-list-cats > *:nth-child(10) {
  -webkit-animation-delay: 1500ms;
             -moz-animation-delay: 1500ms;
          animation-delay: 1500ms;
}

.is-view-entered .a-child-sequence > *:nth-child(11),
.is-view-entered .nav-news-list-cats > *:nth-child(11) {
  -webkit-animation-delay: 1650ms;
             -moz-animation-delay: 1650ms;
          animation-delay: 1650ms;
}

.is-view-exiting .a-child-sequence > * {
  -webkit-animation-name: exitingFadeDown;
             -moz-animation-name: exitingFadeDown;
          animation-name: exitingFadeDown;
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-delay: 0ms !important;
             -moz-animation-delay: 0ms !important;
          animation-delay: 0ms !important;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes entering {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-moz-keyframes entering {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes entering {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes exiting {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-moz-keyframes exiting {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes exiting {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes enteringFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@-moz-keyframes enteringFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
               -moz-transform: translateY(15px);
            transform: translateY(15px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
               -moz-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes enteringFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
               -moz-transform: translateY(15px);
                 -o-transform: translateY(15px);
            transform: translateY(15px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
               -moz-transform: translateY(0px);
                 -o-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@-webkit-keyframes exitingFadeDown {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.96);
            transform: scale(0.96);
  }
}

@-moz-keyframes exitingFadeDown {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
               -moz-transform: scale(1);
            transform: scale(1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.96);
               -moz-transform: scale(0.96);
            transform: scale(0.96);
  }
}

@keyframes exitingFadeDown {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
               -moz-transform: scale(1);
                 -o-transform: scale(1);
            transform: scale(1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.96);
               -moz-transform: scale(0.96);
                 -o-transform: scale(0.96);
            transform: scale(0.96);
  }
}

/**
Animation Default
 */

.is-view-entered .a-default {
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: entering;
             -moz-animation-name: entering;
          animation-name: entering;
}

.is-view-exiting .a-default {
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: exiting;
             -moz-animation-name: exiting;
          animation-name: exiting;
}

/**
  Animation In Out (Common)
 */

.is-view-entered .a-in-out,
.is-view-entered .a-in-out--2 {
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: enteringFadeUp;
             -moz-animation-name: enteringFadeUp;
          animation-name: enteringFadeUp;
}

.is-view-entered .a-in-out--2 {
  -webkit-animation-delay: 75ms;
             -moz-animation-delay: 75ms;
          animation-delay: 75ms;
}

.is-view-exiting .a-in-out,
.is-view-exiting .a-in-out--2 {
  -webkit-animation-duration: 350ms;
             -moz-animation-duration: 350ms;
          animation-duration: 350ms;
  -webkit-animation-fill-mode: both;
             -moz-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: exiting;
             -moz-animation-name: exiting;
          animation-name: exiting;
}

.app {
  max-width: 1920px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
     -moz-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
}

body {
  font-family: 'plutocond', sans-serif;
  background: #FBFBFA url(../images/mb-texture.jpg?6606bda607aacf77c734cef5faef8d06) center 0 repeat;
  -moz-background-size: 300px 150px;
       background-size: 300px 150px;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  width: 100%;
  height: 100%;
}

.u-container {
  width: 25em;
  /* Or whatever you want it to be */
  height: 25em;
  /* Or whatever you want it to be */
  margin-bottom: 30px;
}

.u-media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* Or whatever object-fit you want */
}

.breadcrumb_last {
  display: none;
}

.c-pagination-links {
  text-align: center;
  padding: 30px 0;
}

.c-pagination-links__item a {
  display: inline-block;
  text-align: center;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
  background: #9A1A39;
  color: #fff;
  padding: 5px 15px;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-pagination-links__item a > span:before {
  display: inline-block;
  padding-top: 5px;
}

.c-nav-404 {
  padding: 30px;
  font-size: 2rem;
}

.c-nav-404 a:hover {
  text-decoration: underline;
}

.o-fluid {
  display: block;
  width: 100%;
  height: auto;
}

.o-center {
  text-align: center;
}

.container-fluid--cap {
  max-width: 1600px;
}

.o-thumb-overlay {
  position: relative;
}

.o-thumb-overlay.u-inview .o-thumb-overlay__content {
  opacity: 0;
  transition: opacity 600ms ease 200ms, -webkit-transform 600ms ease 200ms;
  -webkit-transition: opacity 600ms ease 200ms, -webkit-transform 600ms ease 200ms;
  -o-transition: opacity 600ms ease 200ms, -o-transform 600ms ease 200ms;
  -moz-transition: transform 600ms ease 200ms, opacity 600ms ease 200ms, -moz-transform 600ms ease 200ms;
  transition: transform 600ms ease 200ms, opacity 600ms ease 200ms;
  transition: transform 600ms ease 200ms, opacity 600ms ease 200ms, -webkit-transform 600ms ease 200ms, -moz-transform 600ms ease 200ms, -o-transform 600ms ease 200ms;
  transition: transform 600ms ease 200ms, opacity 600ms ease 200ms, -webkit-transform 600ms ease 200ms;
  -webkit-transform: translate(0, 20px);
             -moz-transform: translate(0, 20px);
              -ms-transform: translate(0, 20px);
               -o-transform: translate(0, 20px);
          transform: translate(0, 20px);
}

.o-thumb-overlay.u-inview.is-inview .o-thumb-overlay__content {
  -webkit-transform: translate(0, 0);
             -moz-transform: translate(0, 0);
              -ms-transform: translate(0, 0);
               -o-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

.o-thumb-overlay__link {
  display: block;
  position: relative;
  overflow: hidden;
}

.o-thumb-overlay__link:hover {
  z-index: 100;
}

.o-thumb-overlay__link:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(35%, transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#99000000', endColorstr='#00000000', GradientType=0);
  z-index: 0;
}

.o-thumb-overlay__link .o-thumb-overlay__media {
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: scale(1);
             -moz-transform: scale(1);
              -ms-transform: scale(1);
               -o-transform: scale(1);
          transform: scale(1);
  transition: -webkit-transform 600ms ease;
  -webkit-transition: -webkit-transform 600ms ease;
  -o-transition: -o-transform 600ms ease;
  -moz-transition: transform 600ms ease, -moz-transform 600ms ease;
  transition: transform 600ms ease;
  transition: transform 600ms ease, -webkit-transform 600ms ease, -moz-transform 600ms ease, -o-transform 600ms ease;
  transition: transform 600ms ease, -webkit-transform 600ms ease;
}

.o-thumb-overlay__link:hover .o-thumb-overlay__media {
  transition: -webkit-transform 1200ms ease;
  -webkit-transition: -webkit-transform 1200ms ease;
  -o-transition: -o-transform 1200ms ease;
  -moz-transition: transform 1200ms ease, -moz-transform 1200ms ease;
  transition: transform 1200ms ease;
  transition: transform 1200ms ease, -webkit-transform 1200ms ease, -moz-transform 1200ms ease, -o-transform 1200ms ease;
  transition: transform 1200ms ease, -webkit-transform 1200ms ease;
  background: rgba(0, 0, 0, 0.5);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.9)), color-stop(35%, transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.9) 0%, transparent 35%);
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.9) 0%, transparent 35%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, transparent 35%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E6000000', endColorstr='#00000000', GradientType=0);
  -webkit-transform: scale(1.05);
             -moz-transform: scale(1.05);
              -ms-transform: scale(1.05);
               -o-transform: scale(1.05);
          transform: scale(1.05);
}

.o-thumb-overlay__content {
  position: absolute;
  z-index: 1;
  top: 15px;
  left: 15px;
}

@media (min-width: 576px) {
  .o-thumb-overlay__content {
    top: 30px;
    left: 30px;
  }
}

.o-thumb-overlay__media {
  display: block;
  width: 100%;
  height: auto;
}

.o-thumb-overlay__cat {
  margin: 0;
  line-height: 1;
  font-size: 15px;
  font-weight: 700;
  font-family: 'plutocond', sans-serif;
  margin-top: 10px;
  margin-bottom: 10px;
  color: #FED98A;
}

.o-thumb-overlay__title {
  max-width: 320px;
  margin: 0;
  font-size: 40px;
  color: #fff;
  line-height: 1;
  font-weight: normal;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
}

@media (min-width: 768px) {
  .o-thumb-overlay__title {
    max-width: 420px;
    font-size: 65px;
  }
}

/**
  Admin Edit Link
 */

.o-admin-edit {
  position: absolute;
  top: 20px;
  right: 20px;
}

.o-admin-edit a {
  padding: 8px 10px;
  display: inline-block;
  background: blue;
  color: #fff;
  text-decoration: none;
  -moz-border-radius: 3px;
       border-radius: 3px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: bold;
  opacity: 0.5;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.o-admin-edit a:hover {
  opacity: 1;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
     -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
}

/**
  Titles
 */

.title-aside {
  margin-top: 0;
  margin-bottom: 20px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #9A1A39;
  font-size: 24px;
  text-transform: uppercase;
}

/**
  Common Content
 */

body#tinymce.wp-editor,
.c-content {
  font-size: 15px;
  line-height: 1.5;
  /*--------------------------------------------------------------
  ## Galleries
  --------------------------------------------------------------*/
}

@media (min-width: 576px) {
  body#tinymce.wp-editor,
  .c-content {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  body#tinymce.wp-editor,
  .c-content {
    font-size: 20px;
  }
}

body#tinymce.wp-editor *,
.c-content * {
  margin-top: 0;
}

body#tinymce.wp-editor h1,
body#tinymce.wp-editor h2,
body#tinymce.wp-editor h3,
body#tinymce.wp-editor h4,
body#tinymce.wp-editor h5,
body#tinymce.wp-editor h6,
.c-content h1,
.c-content h2,
.c-content h3,
.c-content h4,
.c-content h5,
.c-content h6 {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-weight: normal;
  color: #9A1A39;
  line-height: 1.2;
}

body#tinymce.wp-editor iframe,
.c-content iframe {
  max-width: 100% !important;
}

body#tinymce.wp-editor .c-content__feature-title,
.c-content .c-content__feature-title {
  font-size: 36px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

@media (min-width: 576px) {
  body#tinymce.wp-editor .c-content__feature-title,
  .c-content .c-content__feature-title {
    font-size: 52px;
  }
}

body#tinymce.wp-editor .c-content__feature-subtitle,
.c-content .c-content__feature-subtitle {
  font-size: 24px;
  color: #4A1225;
}

@media (min-width: 576px) {
  body#tinymce.wp-editor .c-content__feature-subtitle,
  .c-content .c-content__feature-subtitle {
    font-size: 36px;
  }
}

body#tinymce.wp-editor h1,
.c-content h1 {
  font-size: 28px;
}

@media (min-width: 576px) {
  body#tinymce.wp-editor h1,
  .c-content h1 {
    font-size: 42px;
  }
}

body#tinymce.wp-editor h2,
.c-content h2 {
  font-size: 28px;
  text-transform: uppercase;
}

@media (min-width: 576px) {
  body#tinymce.wp-editor h2,
  .c-content h2 {
    font-size: 42px;
  }
}

body#tinymce.wp-editor h3,
.c-content h3 {
  font-size: 24px;
  text-transform: uppercase;
  margin-top: 2em;
}

@media (min-width: 576px) {
  body#tinymce.wp-editor h3,
  .c-content h3 {
    font-size: 30px;
  }
}

body#tinymce.wp-editor h4,
.c-content h4 {
  color: #4A1225;
}

body#tinymce.wp-editor img.alignright,
.c-content img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

body#tinymce.wp-editor img.alignleft,
.c-content img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

body#tinymce.wp-editor img.aligncenter,
.c-content img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

body#tinymce.wp-editor a img.alignright,
.c-content a img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

body#tinymce.wp-editor a img.alignleft,
.c-content a img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

body#tinymce.wp-editor a img.aligncenter,
.c-content a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

body#tinymce.wp-editor h5,
.c-content h5 {
  font-size: 3rem;
  color: #4A1225;
  margin-bottom: 2rem;
}

body#tinymce.wp-editor h6,
.c-content h6 {
  font-size: 3rem;
  color: #9A1A39;
  margin-bottom: 2rem;
}

body#tinymce.wp-editor p,
.c-content p {
  margin-bottom: 30px;
}

body#tinymce.wp-editor img,
.c-content img {
  max-width: 100%;
  height: auto;
}

body#tinymce.wp-editor a,
.c-content a {
  font-weight: bold;
  text-decoration: none;
}

body#tinymce.wp-editor a:hover,
.c-content a:hover {
  text-decoration: underline;
}

body#tinymce.wp-editor ul,
body#tinymce.wp-editor ol,
.c-content ul,
.c-content ol {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  border-top: 2px solid #C1B8B3;
  margin-top: 3em;
  margin-bottom: 3em;
}

body#tinymce.wp-editor ul > li,
body#tinymce.wp-editor ol > li,
.c-content ul > li,
.c-content ol > li {
  position: relative;
  display: block;
  padding: 1em 2em;
  border-bottom: 1px solid #EBE9E6;
}

body#tinymce.wp-editor ul > li:before,
.c-content ul > li:before {
  content: '';
  position: absolute;
  top: 1.5em;
  left: 2px;
  width: 6px;
  height: 6px;
  -moz-border-radius: 3px;
       border-radius: 3px;
  background: #AE083A;
}

body#tinymce.wp-editor ol,
.c-content ol {
  counter-reset: ol-counter;
}

body#tinymce.wp-editor ol > li,
.c-content ol > li {
  padding-left: 45px;
}

body#tinymce.wp-editor ol > li:before,
.c-content ol > li:before {
  position: absolute;
  top: 12px;
  left: 2px;
  width: 30px;
  height: 30px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 30px;
  content: counter(ol-counter);
  counter-increment: ol-counter;
  -moz-border-radius: 100%;
       border-radius: 100%;
  background: #AE083A;
}

@media (min-width: 768px) {
  body#tinymce.wp-editor ol > li:before,
  .c-content ol > li:before {
    top: 18px;
  }
}

body#tinymce.wp-editor blockquote,
.c-content blockquote {
  position: relative;
  max-width: 600px;
  margin: 2em auto 1.5em auto;
  padding-left: 30px;
  padding-right: 30px;
  border-top: 1px solid rgba(192, 183, 177, 0.5);
  padding-top: 1em;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #4A1225;
  line-height: 1.2;
  display: block;
  text-align: center;
  font-size: 1.8em;
}

body#tinymce.wp-editor blockquote:before,
.c-content blockquote:before {
  position: absolute;
  display: inline-block;
  content: '“';
  top: -0.25em;
  left: 50%;
  -webkit-transform: translateX(-50%);
             -moz-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
               -o-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 4em;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  background: #fff;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #9A1A39;
}

body#tinymce.wp-editor blockquote p,
.c-content blockquote p {
  margin-bottom: 0;
}

.cm-content body#tinymce.wp-editor blockquote:before,
.cm-content
.c-content blockquote:before {
  background: #FBFBFA url(../images/mb-texture.jpg?6606bda607aacf77c734cef5faef8d06) center 0 repeat;
  -moz-background-size: 300px 150px;
       background-size: 300px 150px;
}

body#tinymce.wp-editor hr,
.c-content hr {
  display: block;
  border: none;
  max-width: 700px;
  margin: 0 auto;
  height: 1px;
  background: #C1B8B3;
  margin-bottom: 60px;
}

body#tinymce.wp-editor .entry-content-asset,
.c-content .entry-content-asset {
  text-align: center;
  margin-top: 3em;
  margin-bottom: 3em;
}

body#tinymce.wp-editor .entry-content-asset iframe,
.c-content .entry-content-asset iframe {
  margin-left: auto;
  margin-right: auto;
}

body#tinymce.wp-editor .gallery,
.c-content .gallery {
  margin-bottom: 1.5em;
}

body#tinymce.wp-editor .gallery-item,
.c-content .gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

body#tinymce.wp-editor .gallery-columns-2 .gallery-item,
.c-content .gallery-columns-2 .gallery-item {
  max-width: 50%;
}

body#tinymce.wp-editor .gallery-columns-3 .gallery-item,
.c-content .gallery-columns-3 .gallery-item {
  max-width: 33.33333%;
}

body#tinymce.wp-editor .gallery-columns-4 .gallery-item,
.c-content .gallery-columns-4 .gallery-item {
  max-width: 25%;
}

body#tinymce.wp-editor .gallery-columns-5 .gallery-item,
.c-content .gallery-columns-5 .gallery-item {
  max-width: 20%;
}

body#tinymce.wp-editor .gallery-columns-6 .gallery-item,
.c-content .gallery-columns-6 .gallery-item {
  max-width: 16.66667%;
}

body#tinymce.wp-editor .gallery-columns-7 .gallery-item,
.c-content .gallery-columns-7 .gallery-item {
  max-width: 14.28571%;
}

body#tinymce.wp-editor .gallery-columns-8 .gallery-item,
.c-content .gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

body#tinymce.wp-editor .gallery-columns-9 .gallery-item,
.c-content .gallery-columns-9 .gallery-item {
  max-width: 11.11111%;
}

body#tinymce.wp-editor .gallery-caption,
.c-content .gallery-caption {
  display: block;
}

body#tinymce.wp-editor {
  max-width: 760px;
  margin: 30px auto;
  padding: 3em !important;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
}

body#tinymce.wp-editor:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}

.c-search-content {
  padding: 2em 0;
}

.o-btn {
  display: inline-block;
  font-weight: normal;
  line-height: 1;
  font-size: 20px;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: none;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  background: #9A1A39;
  color: #fff;
  text-decoration: none;
  padding: 18px 18px 16px 18px;
  text-transform: uppercase;
  min-width: 120px;
}

.o-btn:hover,
.o-btn:active,
.o-btn:focus {
  background-color: #b01e41;
  color: #fff;
}

.o-btn--small {
  padding: 15px 22px 13px 22px;
  font-size: 18px;
}

.o-btn--wide {
  vertical-align: top;
  min-width: 170px;
}

.o-btn--first {
  margin-right: 20px;
  margin-bottom: 10px;
}

@media (min-width: 576px) {
  .o-btn--first {
    margin-bottom: 0;
  }
}

/**
  Fixed Position Contact Button
 */

.c-contact-button {
  display: none;
  position: fixed;
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 100;
  bottom: 15px;
  right: 15px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  -webkit-transform: scale(0.2) rotate(90deg);
             -moz-transform: scale(0.2) rotate(90deg);
              -ms-transform: scale(0.2) rotate(90deg);
               -o-transform: scale(0.2) rotate(90deg);
          transform: scale(0.2) rotate(90deg);
}

@media (min-width: 992px) {
  .c-contact-button {
    display: block;
  }
}

.c-contact-button.is-scrolled {
  opacity: 1;
  -webkit-transform: scale(1) rotate(0deg);
             -moz-transform: scale(1) rotate(0deg);
              -ms-transform: scale(1) rotate(0deg);
               -o-transform: scale(1) rotate(0deg);
          transform: scale(1) rotate(0deg);
}

.c-contact-button__link {
  position: relative;
  display: block;
  background: #fff;
  color: #9A1A39;
  padding: 10px;
  border: 2px solid #fff;
  text-align: center;
  -moz-border-radius: 100%;
       border-radius: 100%;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
     -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.c-contact-button__link span {
  display: block;
}

.c-contact-button__link:hover {
  background: #9A1A39;
  color: #fff;
}

.c-contact-button__icon {
  font-size: 20px;
  padding: 5px 0 5px 0;
}

.c-contact-button__text {
  font-size: 12px;
  padding-bottom: 5px;
}

.c-container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 1170px;
}

.c-container:before,
.c-container:after {
  content: " ";
  display: table;
}

.c-container:after {
  clear: both;
}

@media (min-width: 768px) {
  .c-container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .c-container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .c-container {
    width: 1170px;
  }
}

.c-container--sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}

@media print {
  .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%;
  }
}

.c-content-main {
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
     -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 30px;
}

@media (min-width: 330px) {
  .c-content-main {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (min-width: 768px) {
  .c-content-main {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (min-width: 1200px) {
  .c-content-main {
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 50px;
    padding-right: 50px;
    margin-right: 40px;
  }
}

/**
  Horizontal Rule
 */

.c-hr {
  display: block;
  border: 0;
  height: 1px;
  background: #CAC4BC;
  margin-top: 30px;
  margin-bottom: 40px;
}

.c-table__wrapper {
  width: 100%;
  overflow-y: auto;
  margin: 0 0 2em;
}

.c-table,
.c-content-main table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.c-table td,
.c-table th,
.c-content-main table td,
.c-content-main table th {
  padding: 10px;
}

.c-table th,
.c-content-main table th {
  color: #fff;
  text-align: center;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 16px;
  background: #AE083A;
}

.c-table th:first-child,
.c-content-main table th:first-child {
  text-align: left;
}

.c-table th:nth-child(2n + 1),
.c-content-main table th:nth-child(2n + 1) {
  background: #9A1A39;
}

td {
  border-bottom: 1px solid #CAC4BC;
  text-align: center;
  font-size: 14px;
}

td:first-child {
  text-align: left;
  font-weight: bold;
}

td:nth-child(2n + 1) {
  background: #F5F4F2;
}

body {
  width: 100%;
  height: 100%;
}

.slideout-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 256px;
  min-height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 0;
  display: none;
}

.slideout-menu-left {
  left: 0;
}

.slideout-menu-right {
  right: 0;
}

.slideout-panel {
  position: relative;
  z-index: 1;
  will-change: transform;
  background-color: #FFF;
  /* A background-color is required */
  min-height: 100vh;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
  overflow: hidden;
}

.slideout-open .slideout-menu {
  display: block;
}

.c-menu-cat-title {
  text-align: center;
  color: #9A1A39;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 30px 0 30px 0;
  font-size: 25px;
}

.c-menu-cat-title span {
  position: relative;
}

.c-menu-cat-title span:before,
.c-menu-cat-title span:after {
  font-size: 40px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.c-menu-cat-title span:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-150%, -50%);
             -moz-transform: translate(-150%, -50%);
              -ms-transform: translate(-150%, -50%);
               -o-transform: translate(-150%, -50%);
          transform: translate(-150%, -50%);
}

.c-menu-cat-title span:after {
  right: 0;
  top: 40%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(150%, -50%);
             -moz-transform: translate(150%, -50%);
              -ms-transform: translate(150%, -50%);
               -o-transform: translate(150%, -50%);
          transform: translate(150%, -50%);
}

@media (min-width: 768px) {
  .c-menu-cat-title {
    margin: 30px 0 60px 0;
    font-size: 3em;
  }
}

.c-menu-cat-slider {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  margin: 0 auto;
  margin-bottom: 30px;
}

@media (min-width: 576px) {
  .c-menu-cat-slider {
    margin-bottom: 60px;
  }
}

@media (min-width: 768px) {
  .c-menu-cat-slider {
    margin-bottom: 120px;
  }
}

.c-menu-cat-slider .swiper-slide {
  cursor: pointer;
  position: relative;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease 0.1s;
  -o-transition: opacity 0.3s ease 0.1s;
  -moz-transition: opacity 0.3s ease 0.1s;
  transition: opacity 0.3s ease 0.1s;
}

.c-menu-cat-slider .swiper-slide .is-img-scaled {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
}

.c-menu-cat-slider .swiper-slide .is-img-scaled img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-menu-cat-slider .swiper-slide.swiper-slide-prev .is-img-scaled,
.c-menu-cat-slider .swiper-slide.swiper-slide-next .is-img-scaled {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.c-menu-cat-slider .swiper-slide.swiper-slide-prev .is-img-scaled:after {
  content: "\e902";
  font-size: 50px;
  position: absolute;
  top: 50%;
  right: 50%;
  z-index: 2;
  -webkit-transform: translate(50%, -50%);
             -moz-transform: translate(50%, -50%);
              -ms-transform: translate(50%, -50%);
               -o-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  color: #fff;
}

.c-menu-cat-slider .swiper-slide.swiper-slide-next .is-img-scaled:after {
  content: "\e901";
  font-size: 50px;
  position: absolute;
  top: 50%;
  right: 50%;
  z-index: 2;
  -webkit-transform: translate(50%, -50%);
             -moz-transform: translate(50%, -50%);
              -ms-transform: translate(50%, -50%);
               -o-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  color: #fff;
}

.c-menu-cat-slider .swiper-slide-active {
  opacity: 1;
}

.c-menu-cat-slider__link {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.swiper-slide-active .c-menu-cat-slider__link {
  background: rgba(0, 0, 0, 0.2);
  opacity: 1;
}

.c-menu-cat-slider__link h2 {
  text-align: center;
  margin: 0;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #fff;
  font-size: 1.5em;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
}

@media (min-width: 576px) {
  .c-menu-cat-slider__link h2 {
    font-size: 2em;
  }
}

@media (min-width: 768px) {
  .c-menu-cat-slider__link h2 {
    font-size: 3em;
  }
}

.swiper-slide-active .c-menu-cat-slider__link {
  display: block;
}

.swiper-slide-active .c-menu-cat-slider__link:hover {
  opacity: 1;
}

.aa-dropdown-menu .autocomplete-header {
  border-bottom: 2px solid #9A1A39;
}

.aa-dropdown-menu .autocomplete-header-title {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #9A1A39;
}

.aa-dropdown-menu .suggestion-link {
  font-family: 'plutocond', sans-serif;
  font-weight: normal;
  padding-top: 5px;
  padding-bottom: 5px;
}

.aa-dropdown-menu .suggestion-post-title {
  font-size: 25px;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}

.aa-dropdown-menu .suggestion-post-tax {
  font-size: 13px;
  color: #776d66;
}

.aa-dropdown-menu .suggestion-post-content {
  font-size: 14px;
}

.aa-dropdown-menu .aa-suggestion {
  border-bottom: 1px solid rgba(192, 183, 177, 0.2);
}

.aa-dropdown-menu .aa-suggestion em {
  background: rgba(192, 183, 177, 0.2) !important;
  color: #4A1225;
}

.aa-dropdown-menu .aa-suggestion .suggestion-post-title {
  font-weight: normal;
  line-height: 1;
}

.autocomplete-footer {
  display: none !important;
}

.c-form {
  /* Hover and focus states */
  /* Hover and focus states */
  /* Checked state */
  /* Disabled state */
  /* Check mark */
  /* Show check mark */
  /* Checkbox tick */
  /* Disabled tick colour */
  /* Radio button inner circle */
  /* Disabled circle colour */
}

.c-form .form-group {
  margin-bottom: 20px;
}

.c-form label {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
}

.c-form .c-form-input {
  position: relative;
}

.c-form .c-form-input__field {
  -webkit-appearance: none;
  position: relative;
  padding: 5px 15px;
  width: 100%;
  height: 50px;
  -moz-border-radius: 0;
       border-radius: 0;
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  border: 1px solid rgba(192, 183, 177, 0.5);
}

.c-form .c-form-input__field:focus {
  background: #f5f8fc;
  background: #fff2d4;
  border-color: #9A1A39;
  outline: none;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.c-form .c-form-input__field::-ms-clear {
  width: 0;
  height: 0;
}

.c-form .c-form-input__field::-ms-clear {
  width: 0;
  height: 0;
}

.c-form .c-form-input__field::-webkit-outer-spin-button,
.c-form .c-form-input__field::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.c-form .multiselect__tags {
  border: 1px solid #dbceb7;
  line-height: 60px;
  height: 60px;
}

.c-form .multiselect__select {
  height: 60px;
  right: 10px;
}

.c-form .multiselect__select:before {
  top: 55%;
  color: #999;
  margin-top: 0;
  border-style: solid;
  border-width: 5px 5px 0;
  border-color: #999 transparent transparent;
  content: "";
}

.c-form .multiselect__select:after,
.c-form .multiselect__select:before {
  top: 45%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.c-form .multiselect__select:after {
  border-top-color: #FFFFFF;
  border-width: 6px;
  margin-left: -6px;
}

.c-form .multiselect__select:before {
  border-top-color: #9A1A39;
  border-width: 8px;
  margin-left: -8px;
}

.c-form .multiselect__option--selected {
  color: inherit;
}

.c-form .multiselect__option--selected.multiselect__option--highlight {
  background: #9A1A39;
}

.c-form .multiselect__option:hover,
.c-form .multiselect__option--highlight {
  background: #9A1A39;
  color: #fff;
}

.c-form .multiselect__single {
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  padding: 4px 15px;
  margin: 0;
}

.c-form .multiselect__tags {
  padding: 0 40px 0 0;
  -moz-border-radius: 0;
       border-radius: 0;
  border: 1px solid #dbceb7;
}

.c-form .multiselect__content {
  border: 1px solid #dbceb7;
}

.c-form input[type=checkbox],
.c-form input[type=radio] {
  position: absolute;
  display: block;
  width: auto;
}

.c-form .c-form-checkbox-control {
  pointer-events: inherit;
  font-size: 18px;
  position: relative;
  display: block;
  padding-left: 55px;
  margin: 0;
  cursor: pointer;
  line-height: 30px;
  opacity: inherit;
  -webkit-transform: none;
             -moz-transform: none;
              -ms-transform: none;
               -o-transform: none;
          transform: none;
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
  text-transform: none;
  left: 0;
  top: 0;
}

.c-form .c-form-checkbox-control a {
  font-size: 14px;
}

.c-form .c-form-checkbox-control.has-error input ~ .c-form-control__indicator,
.c-form .c-form-checkbox-control.has-error input:focus ~ .c-form-control__indicator {
  border-color: #ff7800;
}

.c-form .c-form-checkbox-control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
  height: auto;
  padding: 0;
}

.c-form .c-form-control__indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #dbceb7;
  -moz-border-radius: 2px;
       border-radius: 2px;
  background-color: #FFF;
  -webkit-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear;
  -moz-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -moz-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -moz-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-form .c-form-control--radio .c-form-control__indicator {
  -moz-border-radius: 50%;
       border-radius: 50%;
}

.c-form .c-form-checkbox-control.c-form-control--radio input:focus ~ .c-form-control__indicator {
  background: #f5f8fc;
}

.c-form .c-form-checkbox-control input:focus ~ .c-form-control__indicator {
  background: #f5f8fc;
}

.c-form .c-form-checkbox-control input:checked ~ .c-form-control__indicator {
  border: 1px solid #9A1A39;
}

.c-form .c-form-checkbox-control input:disabled ~ .c-form-control__indicator {
  pointer-events: none;
  opacity: .6;
  background: #e6e6e6;
}

.c-form .c-form-control__indicator:after {
  position: absolute;
  display: none;
  content: '';
}

.c-form .c-form-checkbox-control input:checked ~ .c-form-control__indicator:after {
  display: block;
}

.c-form .c-form-control--checkbox .c-form-control__indicator:after {
  top: 4px;
  left: 10px;
  width: 10px;
  height: 18px;
  -webkit-transform: rotate(45deg);
             -moz-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
               -o-transform: rotate(45deg);
          transform: rotate(45deg);
  border: solid #9A1A39;
  border-width: 0 4px 4px 0;
}

.c-form .c-form-control--checkbox input:disabled ~ .c-form-control__indicator:after {
  border-color: #7b7b7b;
}

.c-form .c-form-control--radio .c-form-control__indicator:after {
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  -moz-border-radius: 50%;
       border-radius: 50%;
  background: #9A1A39;
}

.c-form .c-form-control--radio input:focus ~ .c-form-control__indicator:after {
  top: 9px;
  left: 9px;
}

.c-form .c-form-control--radio input:disabled ~ .c-form-control__indicator:after {
  background: #7b7b7b;
}

.btn-submit {
  height: 50px;
  width: 100%;
  outline: none;
  position: relative;
  display: inline-block;
  background-color: #9A1A39;
  color: #fff;
  line-height: 1;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  text-transform: uppercase;
  padding: 10px 20px 10px 20px;
  border: none;
  -webkit-transition: all .1s linear;
  -o-transition: all .1s linear;
  -moz-transition: all .1s linear;
  transition: all .1s linear;
  vertical-align: middle;
}

.btn-submit:hover {
  background-color: #4A1225;
}

.form-group .form-control-feedback {
  line-height: 60px;
  color: #ff7800;
  z-index: inherit;
}

.form-group.has-error .help-block {
  position: absolute;
  top: 10px;
  right: 0;
  color: #ff7800;
  font-size: 14px;
  margin: 0 0 5px 0;
}

.form-group.has-error .help-block label {
  font-size: 14px;
  margin: 0;
}

.form-group.has-error input[type],
.form-group.has-error .multiselect__tags {
  border-color: #ff7800;
}

.form-group.has-error .form-control:focus {
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.form-group.is-empty .multiselect__single {
  color: #999;
}

.gform_wrapper ul.gform_fields,
.gform_wrapper ul.gfield_checkbox,
.gform_wrapper ul.gfield_radio {
  list-style: none;
  border: none;
}

.gform_wrapper ul.gform_fields li.gfield,
.gform_wrapper ul.gform_fields li,
.gform_wrapper ul.gfield_checkbox li.gfield,
.gform_wrapper ul.gfield_checkbox li,
.gform_wrapper ul.gfield_radio li.gfield,
.gform_wrapper ul.gfield_radio li {
  padding: 0;
  border: none;
}

.gform_wrapper ul.gform_fields li.gfield:before,
.gform_wrapper ul.gform_fields li:before,
.gform_wrapper ul.gfield_checkbox li.gfield:before,
.gform_wrapper ul.gfield_checkbox li:before,
.gform_wrapper ul.gfield_radio li.gfield:before,
.gform_wrapper ul.gfield_radio li:before {
  display: none;
}

.gform_wrapper .top_label .gfield_label {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
}

.gform_wrapper ul.gform_fields li.gfield input[type='text'],
.gform_wrapper ul.gform_fields li.gfield input.datepicker,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']) {
  -webkit-appearance: none;
  position: relative;
  padding: 5px 15px;
  width: 100%;
  height: 50px;
  -moz-border-radius: 0;
       border-radius: 0;
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  border: 1px solid rgba(192, 183, 177, 0.5);
}

.gform_wrapper ul.gform_fields li.gfield input[type='text']:focus,
.gform_wrapper ul.gform_fields li.gfield input.datepicker:focus,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']):focus {
  background: #f5f8fc;
  background: #fff2d4;
  border-color: #9A1A39;
  outline: none;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.gform_wrapper ul.gform_fields li.gfield input[type='text']::-ms-clear,
.gform_wrapper ul.gform_fields li.gfield input.datepicker::-ms-clear,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file'])::-ms-clear {
  width: 0;
  height: 0;
}

.gform_wrapper ul.gform_fields li.gfield input[type='text']::-ms-clear,
.gform_wrapper ul.gform_fields li.gfield input.datepicker::-ms-clear,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file'])::-ms-clear {
  width: 0;
  height: 0;
}

.gform_wrapper ul.gform_fields li.gfield input[type='text']::-webkit-outer-spin-button,
.gform_wrapper ul.gform_fields li.gfield input[type='text']::-webkit-inner-spin-button,
.gform_wrapper ul.gform_fields li.gfield input.datepicker::-webkit-outer-spin-button,
.gform_wrapper ul.gform_fields li.gfield input.datepicker::-webkit-inner-spin-button,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file'])::-webkit-outer-spin-button,
.gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file'])::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.gform_wrapper ul.gform_fields li.gfield textarea {
  -webkit-appearance: none;
  position: relative;
  padding: 5px 15px;
  width: 100%;
  -moz-border-radius: 0;
       border-radius: 0;
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  border: 1px solid rgba(192, 183, 177, 0.5);
}

.gform_wrapper ul.gform_fields li.gfield textarea:focus {
  outline: none;
}

.gform_wrapper select {
  width: 100% !important;
}

.gform_wrapper .ginput_container_select {
  position: relative;
}

.gform_wrapper .ginput_container_select:before {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "\e900";
  font-family: 'icomoon' !important;
  font-size: 24px;
  color: #9A1A39;
  pointer-events: none;
}

.gform_wrapper .ginput_container_select select {
  background: transparent;
  -webkit-appearance: none;
  height: 50px !important;
  line-height: 50px !important;
  background-image: none;
  -moz-border-radius: 0;
       border-radius: 0;
  border: 1px solid rgba(192, 183, 177, 0.5);
  font-weight: normal;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  font-size: 16px;
  padding-left: 15px;
}

.gform_wrapper .ginput_container_select select:focus {
  outline: none;
}

.gform_wrapper .chosen-container-single .chosen-single {
  height: 50px !important;
  line-height: 50px !important;
  background-image: none;
  -moz-border-radius: 0;
       border-radius: 0;
  border: 1px solid rgba(192, 183, 177, 0.5);
  font-weight: normal;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  font-size: 16px;
  padding-left: 15px;
}

.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single {
  background-image: none;
}

.gform_wrapper .chosen-container {
  width: 100% !important;
  background: #fff;
}

.gform_wrapper .chosen-container .chosen-results {
  padding: 0;
  margin: 0;
}

.gform_wrapper .chosen-container .chosen-results li {
  display: block;
  padding: 12px;
  min-height: 40px;
  line-height: 16px;
  font-size: 16px;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  white-space: nowrap;
}

.gform_wrapper .chosen-container .chosen-results li:before {
  display: none;
}

.gform_wrapper .chosen-container-single .chosen-single div {
  right: 10px;
  -webkit-backface-visibility: hidden;
}

.gform_wrapper .chosen-container-single .chosen-single div b {
  top: 0 !important;
  background: none;
  transition: -webkit-transform .2s ease;
  -webkit-transition: -webkit-transform .2s ease;
  -o-transition: -o-transform .2s ease;
  -moz-transition: transform .2s ease, -moz-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease, -moz-transform .2s ease, -o-transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
}

.gform_wrapper .chosen-container-single .chosen-single div b:before,
.gform_wrapper .chosen-container-single .chosen-single div b:after {
  top: 45%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
}

.gform_wrapper .chosen-container-single .chosen-single div b:before {
  border-top-color: #9A1A39;
  border-width: 8px;
  margin-left: -8px;
}

.gform_wrapper .chosen-container-single .chosen-single div b:after {
  border-top-color: #FFFFFF;
  border-width: 6px;
  margin-left: -6px;
}

.gform_wrapper .chosen-container-single .chosen-search {
  display: none;
}

.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single div b {
  background-position: 0;
  -webkit-transform: rotate(180deg);
             -moz-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
               -o-transform: rotate(180deg);
          transform: rotate(180deg);
}

.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer input[type=submit] {
  height: 50px;
  width: 100%;
  outline: none;
  position: relative;
  display: inline-block;
  background-color: #9A1A39;
  color: #fff;
  line-height: 1;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  text-transform: uppercase;
  padding: 10px 20px 10px 20px;
  border: none;
  -webkit-transition: all .1s linear;
  -o-transition: all .1s linear;
  -moz-transition: all .1s linear;
  transition: all .1s linear;
  vertical-align: middle;
  line-height: 30px !important;
}

.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_page_footer input[type=submit]:hover {
  background-color: #4A1225;
}

.gform_wrapper .ginput_container_checkbox .gfield_checkbox li {
  position: relative;
  padding-left: 40px !important;
  min-height: 30px;
  line-height: 30px;
}

.gform_wrapper .ginput_container_checkbox .gfield_checkbox li label:after {
  content: "";
  background: #fff;
  border: 1px solid #dbceb7;
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  -moz-border-radius: 2px;
       border-radius: 2px;
  z-index: 0;
}

.gform_wrapper .ginput_container_checkbox .gfield_checkbox li label:before {
  content: "";
  display: block;
  position: absolute;
  border: solid #9A1A39;
  opacity: 0;
  z-index: 1;
  -webkit-transition: all 100ms;
  -o-transition: all 100ms;
  -moz-transition: all 100ms;
  transition: all 100ms;
  top: 4px;
  left: 10px;
  width: 10px;
  height: 18px;
  -webkit-transform: rotate(45deg);
             -moz-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
               -o-transform: rotate(45deg);
          transform: rotate(45deg);
  border-width: 0 4px 4px 0;
}

.gform_wrapper .ginput_container_checkbox .gfield_checkbox input:checked ~ label:after {
  border: 1px solid #9A1A39;
}

.gform_wrapper .ginput_container_radio .gfield_radio li {
  position: relative;
  padding-left: 40px !important;
  min-height: 30px;
  line-height: 30px;
}

.gform_wrapper .ginput_container_radio .gfield_radio li label:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #dbceb7;
  -moz-border-radius: 2px;
  background-color: #FFF;
  -moz-border-radius: 50%;
       border-radius: 50%;
  -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gform_wrapper .ginput_container_radio .gfield_radio li input:checked ~ label:before {
  top: 10px;
  left: 10px;
  width: 10px;
  height: 10px;
  -moz-border-radius: 50%;
       border-radius: 50%;
  background: #9A1A39;
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
}

.gform_wrapper .ginput_container_radio .gfield_radio li input:checked ~ label:after {
  border: 1px solid #9A1A39;
}

.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
  opacity: 0;
  outline: none;
  z-index: 100;
  top: 0;
  width: 10px;
  height: 18px;
  position: absolute;
  cursor: pointer;
}

.gform_wrapper input[type="checkbox"] + label,
.gform_wrapper input[type="radio"] + label {
  cursor: pointer;
}

.gform_wrapper input[type="checkbox"]:checked + label:before,
.gform_wrapper input[type="radio"]:checked + label:before {
  opacity: 1;
  top: 4px;
}

.gform_wrapper .validation_message {
  color: #ff7800;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields + li.gfield.gfield_error {
  margin-top: 5px;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error {
  background: none;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']),
.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error .chosen-container,
.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error textarea {
  border: 1px solid #ff7800;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error .chosen-container-single .chosen-single {
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  border: none;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error + li.gfield.gfield_error {
  margin-top: 5px;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error div.gfield_description {
  padding: 5px 0 0 0;
}

.gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
  max-width: 100% !important;
}

@media only screen and (min-width: 641px) {
  .gform_wrapper.gform_validation_error .gform_body ul.gform_fields li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: 100% !important;
  }
}

.cm-content--our-story {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media (min-width: 768px) {
  .cm-content--our-story {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.title-our-story {
  text-align: center;
  text-transform: uppercase;
  font-size: 5rem;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #9A1A39;
  margin-top: 30px;
}

.title-our-story span {
  position: relative;
}

.title-our-story span:before,
.title-our-story span:after {
  font-size: 36px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.title-our-story span:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-150%, -50%);
             -moz-transform: translate(-150%, -50%);
              -ms-transform: translate(-150%, -50%);
               -o-transform: translate(-150%, -50%);
          transform: translate(-150%, -50%);
}

.title-our-story span:after {
  right: 0;
  top: 40%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(150%, -50%);
             -moz-transform: translate(150%, -50%);
              -ms-transform: translate(150%, -50%);
               -o-transform: translate(150%, -50%);
          transform: translate(150%, -50%);
}

@media (min-width: 992px) {
  .title-our-story {
    margin-top: 60px;
  }
}

.cm-3-column:before,
.cm-3-column:after {
  content: " ";
  display: table;
}

.cm-3-column:after {
  clear: both;
}

.cm-3-column__title {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .cm-3-column__title {
    margin-bottom: 60px;
  }
}

.cm-3-column__title > span {
  position: relative;
}

.cm-3-column__title > span:before,
.cm-3-column__title > span:after {
  font-size: 36px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.cm-3-column__title > span:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-150%, -50%);
             -moz-transform: translate(-150%, -50%);
              -ms-transform: translate(-150%, -50%);
               -o-transform: translate(-150%, -50%);
          transform: translate(-150%, -50%);
}

.cm-3-column__title > span:after {
  right: 0;
  top: 40%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(150%, -50%);
             -moz-transform: translate(150%, -50%);
              -ms-transform: translate(150%, -50%);
               -o-transform: translate(150%, -50%);
          transform: translate(150%, -50%);
}

@media (min-width: 0) and (max-width: 767px) {
  .cm-3-column__title > span:before,
  .cm-3-column__title > span:after {
    display: none;
  }
}

.cm-3-column__subtitle {
  font-size: 1em;
  text-transform: none !important;
}

.cm-3-column__col {
  text-align: center;
}

@media (min-width: 992px) {
  .cm-3-column__col {
    width: 33.3333%;
    float: left;
    padding: 0 30px;
    font-size: 18px;
  }

  .cm-3-column__col:nth-child(2n) {
    position: relative;
  }

  .cm-3-column__col:nth-child(2n):before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    bottom: 10px;
    width: 1px;
    background: rgba(192, 183, 177, 0.5);
  }

  .cm-3-column__col:nth-child(2n):after {
    content: '';
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 10px;
    width: 1px;
    background: rgba(192, 183, 177, 0.5);
  }
}

.cm-3-column__icon {
  font-size: 70px;
  color: #4A1225;
}

/**
  Image Collage
 */

.cm-collage__wrap {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .cm-collage__wrap {
    margin-bottom: 60px;
  }
}

@media (min-width: 992px) {
  .cm-collage__wrap {
    margin-bottom: 90px;
  }
}

.cm-collage .cm-collage__content {
  font-size: 18px;
  padding: 15px;
  line-height: 20px;
}

@media (min-width: 0) and (max-width: 767px) {
  .cm-collage img {
    display: block;
    width: 100%;
    height: auto;
  }
}

.cm-collage__tweet {
  display: none;
}

@media (min-width: 768px) {
  .h > *,
  .v > * {
    position: relative;
    background-color: #fff;
    background-position: center;
    -moz-background-size: cover;
         background-size: cover;
    cursor: pointer;
  }

  .h > * .cm-collage__overlay,
  .v > * .cm-collage__overlay {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            -webkit-align-items: center;
               -moz-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            -webkit-justify-content: center;
               -moz-box-pack: center;
            justify-content: center;
    -webkit-transition: opacity 300ms ease 0ms;
    -o-transition: opacity 300ms ease 0ms;
    -moz-transition: opacity 300ms ease 0ms;
    transition: opacity 300ms ease 0ms;
  }

  .h > * .cm-collage__content p,
  .v > * .cm-collage__content p {
    max-width: 400px;
    color: #fff;
    font-size: 25px;
    text-align: center;
    line-height: 1.4;
  }

  .h > * .cm-collage__content--small p,
  .v > * .cm-collage__content--small p {
    font-size: 20px;
  }

  .h > *:hover > .cm-collage__overlay,
  .v > *:hover > .cm-collage__overlay {
    opacity: 1;
    -webkit-transform: translateY(0);
               -moz-transform: translateY(0);
                -ms-transform: translateY(0);
                 -o-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: all 300ms ease 400ms;
    -o-transition: all 300ms ease 400ms;
    -moz-transition: all 300ms ease 400ms;
    transition: all 300ms ease 400ms;
  }

  .img-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .h > * {
    -webkit-transition: width 400ms ease;
    -o-transition: width 400ms ease;
    -moz-transition: width 400ms ease;
    transition: width 400ms ease;
  }

  .h > *:first-child {
    border-right: 4px solid #fff;
  }

  .v > * {
    -webkit-transition: height 400ms ease;
    -o-transition: height 400ms ease;
    -moz-transition: height 400ms ease;
    transition: height 400ms ease;
  }

  .v > *:first-child {
    border-bottom: 4px solid #fff;
  }

  .cm-collage__wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
  }

  .cm-collage {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  .h {
    height: 100%;
    overflow: hidden;
  }

  .h > .h__left {
    height: 100%;
    width: 50%;
    float: left;
  }

  .h > .h__right {
    height: 100%;
    width: 50%;
    float: left;
  }

  .h:hover > .h__left {
    width: 47.5%;
  }

  .h:hover > .h__right {
    width: 47.5%;
  }

  .h:hover > .h__left:hover {
    width: 52.5%;
  }

  .h:hover > .h__right:hover {
    width: 52.5%;
  }

  .v {
    height: 100%;
  }

  .v > .v__top {
    height: 50%;
  }

  .v > .v__bottom {
    height: 50%;
  }

  .v:hover > .v__top {
    height: 47.5%;
  }

  .v:hover > .v__bottom {
    height: 47.5%;
  }

  .v:hover > .v__top:hover {
    height: 52.5%;
  }

  .v:hover > .v__bottom:hover {
    height: 52.5%;
  }

  .cm-collage__tweet {
    text-align: center;
  }

  .cm-collage__tweet a {
    color: #fff;
    font-size: 40px;
    cursor: pointer;
  }
}

/**
  Module 2 Col Media
 */

.cm-2-col-media {
  background-color: rgba(192, 183, 177, 0.2);
  margin-bottom: 30px;
}

.cm-2-col-media:before,
.cm-2-col-media:after {
  content: " ";
  display: table;
}

.cm-2-col-media:after {
  clear: both;
}

@media (min-width: 768px) {
  .cm-2-col-media {
    margin-bottom: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
  }
}

@media (min-width: 992px) {
  .cm-2-col-media {
    margin-bottom: 90px;
  }
}

.cm-2-col-media__item {
  position: relative;
}

.cm-2-col-media__item:before,
.cm-2-col-media__item:after {
  content: " ";
  display: table;
}

.cm-2-col-media__item:after {
  clear: both;
}

@media (min-width: 768px) {
  .cm-2-col-media__item {
    width: 50%;
    float: left;
  }
}

.cm-2-col-media__img {
  position: relative;
}

@media (min-width: 768px) {
  .cm-2-col-media__img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.cm-2-col-media__content {
  max-width: 700px;
  padding: 50px 30px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  line-height: 1.4;
}

.cm-2-col-media__content h2 {
  color: #9A1A39;
  text-transform: uppercase;
  font-weight: normal;
  margin: 0;
  margin-bottom: 1rem;
  font-size: 3rem;
}

.cm-2-col-media__content p {
  margin: 0;
  font-size: 3rem;
}

@media (min-width: 768px) {
  .cm-2-col-media__content {
    padding: 150px 50px;
  }

  .cm-2-col-media__content h2 {
    font-size: 4rem;
  }
}

@media (min-width: 1200px) {
  .cm-2-col-media__content {
    padding: 150px 100px;
  }
}

.cm-2-col-media__content--left {
  float: right;
}

.cm-wrap {
  max-width: 760px;
  margin: 0 auto;
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .cm-wrap {
    margin-bottom: 60px;
  }
}

@media (min-width: 1200px) {
  .cm-wrap {
    margin-bottom: 90px;
  }
}

.cm-module {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .cm-module {
    margin-bottom: 60px;
  }
}

@media (min-width: 1200px) {
  .cm-module {
    margin-bottom: 90px;
  }
}

.cm-content__content {
  max-width: 800px;
  margin: 0 auto;
}

.cm-module__content--centered {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.cm-module__content--centered .entry-content-asset {
  margin-left: -15px;
  margin-right: -15px;
}

@media (min-width: 992px) {
  .cm-module__content--centered .entry-content-asset {
    margin-left: -100px;
    margin-right: -100px;
  }
}

@media (min-width: 1300px) {
  .cm-module__content--centered .entry-content-asset {
    margin-left: -200px;
    margin-right: -200px;
  }
}

.is-view-exiting.view--front-page #svg-logo-muffin-break .cls-1 {
  fill: #fff;
}

.is-view-exiting.view--front-page #svg-logo-muffin-break .cls-2 {
  fill: #4A1225;
}

.c-header-holder {
  height: 60px;
}

@media (min-width: 768px) {
  .c-header-holder {
    height: 70px;
  }
}

@media (min-width: 992px) {
  .c-header-holder {
    height: 110px;
  }
}

.c-header-holder--home {
  height: 0;
}

.c-header {
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateY(15px);
             -moz-transform: translateY(15px);
              -ms-transform: translateY(15px);
               -o-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.view--front-page .c-header {
  position: fixed;
}

.c-header:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  width: 100%;
  top: -15px;
  bottom: -15px;
  left: 0;
  opacity: 1;
  background: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
     -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
  -webkit-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}

.view--front-page .c-header:before {
  opacity: 0;
  background: #4A1225 url(../images/tile-woodgrain.jpg?ae4f733aa99108fa89096de920973db5) center 0 repeat;
  -moz-background-size: 420px 240px;
       background-size: 420px 240px;
}

.is-view-exiting.view--front-page .c-header:before {
  -webkit-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
  opacity: 1;
  background: #fff;
}

.c-header.is-scrolled:before {
  opacity: 1;
}

@media (min-width: 992px) {
  .c-header.has-scrolled {
    transition: -webkit-transform 400ms ease;
    -webkit-transition: -webkit-transform 400ms ease;
    -o-transition: -o-transform 400ms ease;
    -moz-transition: transform 400ms ease, -moz-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease, -moz-transform 400ms ease, -o-transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
  }

  .c-header.has-scrolled:before {
    -webkit-transition: opacity 400ms ease;
    -o-transition: opacity 400ms ease;
    -moz-transition: opacity 400ms ease;
    transition: opacity 400ms ease;
  }

  .c-header.is-scrolled {
    -webkit-transform: translateY(-15px);
               -moz-transform: translateY(-15px);
                -ms-transform: translateY(-15px);
                 -o-transform: translateY(-15px);
            transform: translateY(-15px);
  }

  .c-header.is-scrolled:before {
    opacity: 1;
  }
}

.c-header__container {
  max-width: 1170px;
  -webkit-transform: translate(0, 0);
             -moz-transform: translate(0, 0);
              -ms-transform: translate(0, 0);
               -o-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media (min-width: 992px) {
  .has-scrolled .c-header__container {
    transition: -webkit-transform 400ms ease;
    -webkit-transition: -webkit-transform 400ms ease;
    -o-transition: -o-transform 400ms ease;
    -moz-transition: transform 400ms ease, -moz-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease, -moz-transform 400ms ease, -o-transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
  }

  .is-scrolled .c-header__container {
    -webkit-transform: translate(0, 15px);
               -moz-transform: translate(0, 15px);
                -ms-transform: translate(0, 15px);
                 -o-transform: translate(0, 15px);
            transform: translate(0, 15px);
  }
}

.c-header__inner {
  position: relative;
  padding: 15px 0;
}

@media (min-width: 768px) {
  .c-header__inner {
    padding: 20px 0;
  }
}

@media (min-width: 992px) {
  .c-header__inner {
    padding: 20px 0;
  }
}

.c-logo-main {
  position: absolute;
  display: block;
  margin: 0;
  left: 0;
  top: 0;
  width: 70px;
  height: 100%;
  text-align: center;
}

@media (min-width: 0) and (max-width: 767px) {
  .c-logo-main {
    top: 3px;
  }
}

@media (min-width: 768px) {
  .c-logo-main {
    width: 80px;
  }
}

@media (min-width: 992px) {
  .c-logo-main {
    width: 120px;
  }
}

.c-logo-main__byline {
  display: none;
  color: #fff;
  position: absolute;
  bottom: -25px;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  opacity: 1;
  -webkit-transform: scale(1);
             -moz-transform: scale(1);
              -ms-transform: scale(1);
               -o-transform: scale(1);
          transform: scale(1);
}

@media (min-width: 992px) {
  .c-logo-main__byline {
    display: block;
  }
}

.has-scrolled .c-logo-main__byline {
  transition: opacity 400ms ease 400ms, -webkit-transform 400ms ease 400ms;
  -webkit-transition: opacity 400ms ease 400ms, -webkit-transform 400ms ease 400ms;
  -o-transition: opacity 400ms ease 400ms, -o-transform 400ms ease 400ms;
  -moz-transition: opacity 400ms ease 400ms, transform 400ms ease 400ms, -moz-transform 400ms ease 400ms;
  transition: opacity 400ms ease 400ms, transform 400ms ease 400ms;
  transition: opacity 400ms ease 400ms, transform 400ms ease 400ms, -webkit-transform 400ms ease 400ms, -moz-transform 400ms ease 400ms, -o-transform 400ms ease 400ms;
  transition: opacity 400ms ease 400ms, transform 400ms ease 400ms, -webkit-transform 400ms ease 400ms;
}

.is-scrolled .c-logo-main__byline {
  transition: opacity 300ms ease 0s, -webkit-transform 300ms ease 0s;
  -webkit-transition: opacity 300ms ease 0s, -webkit-transform 300ms ease 0s;
  -o-transition: opacity 300ms ease 0s, -o-transform 300ms ease 0s;
  -moz-transition: opacity 300ms ease 0s, transform 300ms ease 0s, -moz-transform 300ms ease 0s;
  transition: opacity 300ms ease 0s, transform 300ms ease 0s;
  transition: opacity 300ms ease 0s, transform 300ms ease 0s, -webkit-transform 300ms ease 0s, -moz-transform 300ms ease 0s, -o-transform 300ms ease 0s;
  transition: opacity 300ms ease 0s, transform 300ms ease 0s, -webkit-transform 300ms ease 0s;
  -webkit-transform: scale(0.95);
             -moz-transform: scale(0.95);
              -ms-transform: scale(0.95);
               -o-transform: scale(0.95);
          transform: scale(0.95);
  opacity: 0;
}

.is-view-exiting.view--front-page .c-logo-main__byline {
  display: none;
}

.c-logo-main__img {
  display: block;
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -46%) scale(1);
             -moz-transform: translate(-50%, -46%) scale(1);
              -ms-transform: translate(-50%, -46%) scale(1);
               -o-transform: translate(-50%, -46%) scale(1);
          transform: translate(-50%, -46%) scale(1);
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}

.view--front-page .c-logo-main__img {
  -webkit-transform: translate(-50%, -46%) scale(1);
             -moz-transform: translate(-50%, -46%) scale(1);
              -ms-transform: translate(-50%, -46%) scale(1);
               -o-transform: translate(-50%, -46%) scale(1);
          transform: translate(-50%, -46%) scale(1);
}

.has-scrolled .c-logo-main__img {
  transition: -webkit-transform 400ms ease;
  -webkit-transition: -webkit-transform 400ms ease;
  -o-transition: -o-transform 400ms ease;
  -moz-transition: transform 400ms ease, -moz-transform 400ms ease;
  transition: transform 400ms ease;
  transition: transform 400ms ease, -webkit-transform 400ms ease, -moz-transform 400ms ease, -o-transform 400ms ease;
  transition: transform 400ms ease, -webkit-transform 400ms ease;
}

@media (min-width: 992px) {
  .is-scrolled .c-logo-main__img {
    -webkit-transform: translate(-50%, -46%) scale(0.75);
               -moz-transform: translate(-50%, -46%) scale(0.75);
                -ms-transform: translate(-50%, -46%) scale(0.75);
                 -o-transform: translate(-50%, -46%) scale(0.75);
            transform: translate(-50%, -46%) scale(0.75);
  }
}

.c-top-nav {
  position: relative;
  margin-left: 100px;
}

@media (min-width: 992px) {
  .c-top-nav {
    margin-left: 160px;
  }
}

.c-top-nav:after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: -35px;
  width: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  -webkit-transform: translateY(0);
             -moz-transform: translateY(0);
              -ms-transform: translateY(0);
               -o-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  transition: width 800ms ease 200ms, -webkit-transform 400ms ease 0ms;
  -webkit-transition: width 800ms ease 200ms, -webkit-transform 400ms ease 0ms;
  -o-transition: width 800ms ease 200ms, -o-transform 400ms ease 0ms;
  -moz-transition: width 800ms ease 200ms, transform 400ms ease 0ms, -moz-transform 400ms ease 0ms;
  transition: width 800ms ease 200ms, transform 400ms ease 0ms;
  transition: width 800ms ease 200ms, transform 400ms ease 0ms, -webkit-transform 400ms ease 0ms, -moz-transform 400ms ease 0ms, -o-transform 400ms ease 0ms;
  transition: width 800ms ease 200ms, transform 400ms ease 0ms, -webkit-transform 400ms ease 0ms;
}

@media (min-width: 0) and (max-width: 992px) {
  .c-header-holder--home .c-top-nav:after {
    display: none;
  }
}

.is-scrolled .c-top-nav:after {
  opacity: 0;
}

@media (min-width: 0) and (max-width: 991px) {
  .c-top-nav:after {
    left: -100px;
    right: 0;
    width: -webkit-calc(100% + 100px) !important;
    width: -moz-calc(100% + 100px) !important;
    width: calc(100% + 100px) !important;
    bottom: -30px;
  }
}

@media (min-width: 992px) {
  .is-scrolled .c-top-nav:after {
    -webkit-transform: translateY(-15px);
               -moz-transform: translateY(-15px);
                -ms-transform: translateY(-15px);
                 -o-transform: translateY(-15px);
            transform: translateY(-15px);
    opacity: 0;
  }
}

.wf-introheadbbase-n4-active .c-top-nav:after {
  width: 100%;
  width: -webkit-calc(100% - 15px);
  width: -moz-calc(100% - 15px);
  width: calc(100% - 15px);
}

.c-top-nav ul,
.c-top-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-top-nav .nav-main {
  display: none;
  margin-right: 240px;
  white-space: nowrap;
}

.c-top-nav .nav-main:before,
.c-top-nav .nav-main:after {
  content: " ";
  display: table;
}

.c-top-nav .nav-main:after {
  clear: both;
}

@media (min-width: 992px) {
  .c-top-nav .nav-main {
    display: block;
  }
}

.c-top-nav .nav-main > li {
  display: inline-block;
  margin-right: 8px;
}

@media (min-width: 1200px) {
  .c-top-nav .nav-main > li {
    margin-right: 3.5%;
  }
}

.c-top-nav .nav-main > li:last-child {
  margin-right: 0;
}

.c-top-nav .nav-main > li a {
  position: relative;
  display: inline-block;
  padding: 7px 14px 5px 14px;
  border: none;
  font-size: 22px;
  text-decoration: none;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #303030;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-top-nav .nav-main > li a:hover {
  color: #9A1A39;
}

.view--front-page .c-top-nav .nav-main > li a {
  color: #fff;
}

.view--front-page .c-top-nav .nav-main > li a:hover {
  color: #fff;
}

.is-view-exiting.view--front-page .c-top-nav .nav-main > li a {
  color: #303030;
}

.c-top-nav .nav-main > li.active a,
.c-top-nav .nav-main > li.current-category-ancestor a {
  background-color: #9A1A39;
  color: #fff;
}

.c-top-links {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none;
}

@media (min-width: 992px) {
  .c-top-links {
    display: block;
  }
}

.c-top-links.c-top-links--mobile {
  display: block;
}

@media (min-width: 992px) {
  .c-top-links.c-top-links--mobile {
    display: none;
  }
}

.c-top-links__item {
  display: inline-block;
}

.c-top-link {
  position: relative;
  padding: 7px 14px 5px 14px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #4A1225;
  text-transform: uppercase;
  font-size: 22px;
  text-decoration: none;
}

.c-top-links--mobile .c-top-link {
  color: #9A1A39;
}

.view--front-page .c-top-link {
  color: #fff;
}

.is-view-exiting.view--front-page .c-top-link {
  color: #4A1225;
}

.c-top-link--locator {
  padding-left: 50px;
  color: #303030;
}

.c-top-link--locator .o-icon-location {
  display: block;
  position: absolute;
  left: 10px;
  top: 8px;
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  color: #9A1A39;
}

.view--front-page .c-top-link--locator .o-icon-location {
  color: #fff;
}

.is-view-exiting.view--front-page .c-top-link--locator .o-icon-location {
  color: #9A1A39;
}

.c-top-link--locator:before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -3px;
  left: -2px;
  right: -2px;
  bottom: -3px;
  border: 1px solid #C1B8B3;
  -moz-border-radius: 3px;
       border-radius: 3px;
  background-color: transparent;
  -webkit-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  -moz-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.view--front-page .c-top-link--locator:before {
  border-color: rgba(255, 255, 255, 0.8);
}

.is-view-exiting.view--front-page .c-top-link--locator:before {
  border-color: #C1B8B3;
}

.c-top-link--locator:hover .o-icon-location {
  -webkit-transform-origin: 50% 100%;
             -moz-transform-origin: 50% 100%;
              -ms-transform-origin: 50% 100%;
               -o-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-animation: wiggle 800ms infinite;
             -moz-animation: wiggle 800ms infinite;
          animation: wiggle 800ms infinite;
}

.c-top-link--rewards-wrap {
  position: relative;
}

.c-top-link--rewards-wrap .c-login-box-main {
  display: none;
  position: absolute;
  top: -webkit-calc(100% - 1px);
  top: -moz-calc(100% - 1px);
  top: calc(100% - 1px);
  right: 0;
  width: 300px;
  height: 300px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #C1B8B3;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-top-link--rewards {
  display: block;
  color: #303030;
  position: relative;
  z-index: 10;
  background: #fff;
}

.view--front-page .c-top-link--rewards:before {
  border-color: rgba(255, 255, 255, 0.8);
}

.is-view-exiting.view--front-page .c-top-link--rewards:before {
  border-color: #C1B8B3;
}

.c-top-link--rewards:hover .o-icon-location {
  -webkit-transform-origin: 50% 100%;
             -moz-transform-origin: 50% 100%;
              -ms-transform-origin: 50% 100%;
               -o-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-animation: wiggle 800ms infinite;
             -moz-animation: wiggle 800ms infinite;
          animation: wiggle 800ms infinite;
}

.c-top-link__left-icon {
  color: #9A1A39;
  margin-right: 10px;
}

.c-top-links__drop-btn {
  color: #C1B8B3;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  display: inline-block;
  height: 26px;
}

.c-top-link--login {
  color: #303030;
  text-transform: none;
}

.view--front-page .c-top-link--login {
  color: #fff;
}

.is-view-exiting.view--front-page .c-top-link--login {
  color: #9A1A39;
}

.c-top-link--login .o-icon-chevron-down {
  color: #C1B8B3;
}

.view--front-page .c-top-link--login .o-icon-chevron-down {
  color: #fff;
}

.is-view-exiting.view--front-page .c-top-link--login .o-icon-chevron-down {
  color: #C1B8B3;
}

.c-top-link--login-icon {
  color: #9A1A39;
}

.view--front-page .c-top-link--login-icon {
  color: #fff;
}

/**
  Mobile Nav
 */

.c-mobile-nav-header {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
}

@media (min-width: 992px) {
  .c-mobile-nav-header {
    display: none;
  }
}

.c-mobile-nav-header__icon {
  font-size: 30px;
  width: 50px;
  text-align: center;
}

.c-mobile-nav-header__icon span {
  vertical-align: middle;
}

.view--front-page .c-mobile-nav-header__icon {
  color: #fff;
}

.c-mobile-nav-header__burger {
  display: block;
  padding: 10px 0;
  margin-left: 15px;
  cursor: pointer;
}

.c-mobile-nav-header__burger > span {
  display: block;
  position: relative;
  height: 16px;
  width: 24px;
  border-top: 2px solid #9A1A39;
  border-bottom: 2px solid #9A1A39;
}

.c-mobile-nav-header__burger > span:before {
  content: '';
  position: absolute;
  top: 5px;
  width: 100%;
  height: 2px;
  background: #9A1A39;
}

.view--front-page .c-mobile-nav-header__burger > span {
  border-color: #fff;
}

.view--front-page .c-mobile-nav-header__burger > span:before {
  background-color: #fff;
}

/**
  Mobile Navigation
 */

.c-nav-mobile {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.c-nav-mobile.is-open .c-nav-main-aside {
  -webkit-transform: translateX(-100%);
             -moz-transform: translateX(-100%);
              -ms-transform: translateX(-100%);
               -o-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
     -moz-box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
}

.c-nav-mobile.is-open .c-nav-mobile__overlay {
  width: 100%;
  opacity: 0.9;
  -webkit-transition: opacity 300ms ease 0ms, width 0s ease 0ms;
  -o-transition: opacity 300ms ease 0ms, width 0s ease 0ms;
  -moz-transition: opacity 300ms ease 0ms, width 0s ease 0ms;
  transition: opacity 300ms ease 0ms, width 0s ease 0ms;
}

.c-nav-mobile.is-transition .c-nav-main-aside {
  transition: -webkit-transform 0.3s ease;
  -webkit-transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  -moz-transition: transform 0.3s ease, -moz-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -moz-transform 0.3s ease, -o-transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-nav-mobile__overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.95);
  opacity: 0;
  -webkit-transition: opacity 300ms ease 0ms, width 0s ease 300ms;
  -o-transition: opacity 300ms ease 0ms, width 0s ease 300ms;
  -moz-transition: opacity 300ms ease 0ms, width 0s ease 300ms;
  transition: opacity 300ms ease 0ms, width 0s ease 300ms;
}

.c-nav-main-aside {
  width: 320px;
  height: 100%;
  position: fixed;
  top: 0;
  right: -320px;
  z-index: 2000;
  background: #4A1225 url(../images/tile-woodgrain.jpg?ae4f733aa99108fa89096de920973db5) center 0 repeat;
  -moz-background-size: 420px 240px;
       background-size: 420px 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          -webkit-flex-direction: column;
             -moz-box-orient: vertical;
             -moz-box-direction: normal;
          flex-direction: column;
}

.c-nav-main-aside.is-transition {
  transition: -webkit-transform 0.3s ease;
  -webkit-transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  -moz-transition: transform 0.3s ease, -moz-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -moz-transform 0.3s ease, -o-transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-nav-main-aside.is-open {
  -webkit-transform: translateX(-100%);
             -moz-transform: translateX(-100%);
              -ms-transform: translateX(-100%);
               -o-transform: translateX(-100%);
          transform: translateX(-100%);
}

.c-nav-main-aside__logo {
  display: block;
  width: 100px;
  height: auto;
  padding: 5px;
  margin: 10px;
  margin-bottom: 15px;
}

.c-nav-main-aside__close {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 20px;
  color: #fff;
  padding: 15px;
}

.c-nav-main-aside__byline {
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  padding-top: 5px;
}

.c-nav-main-aside__inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #FBFBFA url(../images/mb-texture.jpg?6606bda607aacf77c734cef5faef8d06) center 0 repeat;
  -moz-background-size: 300px 150px;
       background-size: 300px 150px;
  -webkit-box-flex: 8;
      -ms-flex: 8;
          -webkit-flex: 8;
             -moz-box-flex: 8;
          flex: 8;
}

.c-nav-mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-nav-mobile-menu > li > a {
  display: block;
  position: relative;
  padding: 15px 20px;
  text-transform: uppercase;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #4A1225;
}

.c-nav-mobile-menu > li > a:after {
  content: '';
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 1px;
  background: rgba(192, 183, 177, 0.5);
}

.c-nav-mobile-menu > li:last-child > a:after {
  display: none;
}

.c-mobile-social {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
  padding: 20px 20px;
  font-weight: bold;
}

.c-mobile-social__text {
  font-size: 12px;
}

.c-mobile-social__icons a {
  font-size: 24px;
  color: #fff;
  padding: 5px;
  margin-left: 10px;
}

.c-mobile-social__icons a span {
  vertical-align: middle;
}

.c-nav-mobile-sup a {
  display: block;
  padding: 15px 20px;
  text-transform: uppercase;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #4A1225;
  border-top: 1px solid rgba(192, 183, 177, 0.5);
}

.c-nav-mobile-sup a > span {
  font-size: 24px;
  color: #9A1A39;
}

.c-nav-mobile-sup__icon {
  margin-right: 10px;
  vertical-align: middle;
}

.c-nav-mobile-sup__halve {
  position: relative;
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
}

.c-nav-mobile-sup__halve:before,
.c-nav-mobile-sup__halve:after {
  content: " ";
  display: table;
}

.c-nav-mobile-sup__halve:after {
  clear: both;
}

.c-nav-mobile-sup__halve a {
  position: relative;
  width: 50%;
  float: left;
}

.c-nav-mobile-sup__halve a:first-child {
  border-right: 1px solid rgba(192, 183, 177, 0.5);
}

.hero-slider__container {
  background: #111;
  margin-bottom: 30px;
}

@media (min-width: 1200px) {
  .hero-slider__container {
    margin-bottom: 60px;
  }
}

.hero-slider__container .swiper-button-prev {
  left: 0;
}

.hero-slider__container .swiper-button-next {
  right: 0;
}

.hero-slider__container .swiper-button-prev,
.hero-slider__container .swiper-button-next {
  opacity: 0.3;
  margin-top: 0;
  padding: 40px 5px;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  -moz-border-radius: 2px;
       border-radius: 2px;
  -webkit-transition: opacity 0.3s ease, background-color 0.3s ease;
  -o-transition: opacity 0.3s ease, background-color 0.3s ease;
  -moz-transition: opacity 0.3s ease, background-color 0.3s ease;
  transition: opacity 0.3s ease, background-color 0.3s ease;
  -moz-background-size: 13px 22px;
       background-size: 13px 22px;
}

@media (min-width: 768px) {
  .hero-slider__container .swiper-button-prev,
  .hero-slider__container .swiper-button-next {
    padding: 50px 20px 50px 20px;
    -moz-background-size: 27px 44px;
         background-size: 27px 44px;
  }
}

.hero-slider__container .swiper-button-prev:hover,
.hero-slider__container .swiper-button-next:hover {
  background-color: rgba(255, 255, 255, 0.1);
  opacity: 1;
}

.hero-slider__slide {
  position: relative;
  color: #fff;
}

@media (min-width: 768px) {
  .hero-slider__slide.is-lightimage {
    color: #4A1225;
  }
}

.hero-slider__img-wrap {
  height: 0;
  width: 100%;
  padding-bottom: 435px;
}

@media (min-width: 870px) {
  .hero-slider__img-wrap {
    padding-bottom: 50%;
  }
}

.hero-slider__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-slider__img--loader {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/*
.hero-slider__img {
  display: block;
  width:100%;
  height:auto;
  @media screen and (max-width: $hero-slider__breakpoint){
    height:$hero-slider__height-mobile;
    object-fit: cover;
  }
}

.hero-slider__img--loader {
  filter: blur(10px);
}
.hero-slider__img--hires {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
*/

.c-hero-video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  overflow: hidden;
  background: #111;
  margin-bottom: 30px;
}

@media (min-width: 1200px) {
  .c-hero-video {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 870px) {
  .c-hero-video {
    padding-bottom: 0;
    height: 435px;
  }
}

.c-hero-video__media {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-hero-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(35%, transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#99000000', endColorstr='#00000000', GradientType=0);
}

@media (min-width: 768px) {
  .c-hero-overlay {
    background-color: rgba(0, 0, 0, 0.1);
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(35%, transparent));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 35%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#99000000', endColorstr='#00000000', GradientType=0);
  }
}

.c-hero-overlay__container {
  height: 100%;
}

.c-hero-overlay__content {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  padding-top: 60px;
}

@media (min-width: 768px) {
  .c-hero-overlay__content {
    padding-top: 80px;
    padding-left: 40px;
    padding-right: 40px;
    float: right;
  }
}

@media (min-width: 992px) {
  .c-hero-overlay__content {
    padding-top: 110px;
    padding-left: 30px;
    padding-right: 30px;
    float: right;
  }
}

@media (min-width: 1200px) {
  .c-hero-overlay__content {
    padding-top: 110px;
  }
}

.c-hero-body {
  text-align: center;
}

.c-hero-title {
  margin: 0;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 0.95;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
  font-size: 50px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .is-lightimage .c-hero-title {
    text-shadow: 2px 2px rgba(255, 255, 255, 0.3);
  }
}

@media (min-width: 330px) {
  .c-hero-title {
    font-size: 60px;
  }
}

@media (min-width: 576px) {
  .c-hero-title {
    font-size: 66px;
  }
}

@media (min-width: 768px) {
  .c-hero-title {
    font-size: 70px;
  }
}

@media (min-width: 992px) {
  .c-hero-title {
    font-size: 80px;
  }
}

@media (min-width: 1200px) {
  .c-hero-title {
    font-size: 95px;
    margin-bottom: 15px;
  }
}

@media (min-width: 1300px) {
  .c-hero-title {
    font-size: 110px;
  }
}

@media (min-width: 1680px) {
  .c-hero-title {
    font-size: 140px;
  }
}

.c-hero-title span {
  display: block;
}

.c-hero-title .c-hero-title__2 {
  display: inline;
  position: relative;
}

.c-hero-title .c-hero-title__2:before,
.c-hero-title .c-hero-title__2:after {
  font-size: 0.6em;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.c-hero-title .c-hero-title__2:before {
  left: 0;
  top: 45%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-110%, -50%);
             -moz-transform: translate(-110%, -50%);
              -ms-transform: translate(-110%, -50%);
               -o-transform: translate(-110%, -50%);
          transform: translate(-110%, -50%);
}

.c-hero-title .c-hero-title__2:after {
  right: 0;
  top: 45%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(110%, -50%);
             -moz-transform: translate(110%, -50%);
              -ms-transform: translate(110%, -50%);
               -o-transform: translate(110%, -50%);
          transform: translate(110%, -50%);
}

.c-hero-title--video {
  color: #fff;
}

.c-hero-byline {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 15px;
  line-height: 1.5;
  font-size: 16px;
  max-width: 320px;
  text-shadow: 1px 1px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
  .is-lightimage .c-hero-byline {
    text-shadow: 1px 1px rgba(255, 255, 255, 0.5);
  }
}

@media (min-width: 992px) {
  .c-hero-byline {
    font-size: 18px;
    max-width: 370px;
  }
}

@media (min-width: 1200px) {
  .c-hero-byline {
    margin-bottom: 25px;
  }
}

@media (min-width: 1100px) {
  .c-hero-byline {
    font-size: 20px;
    max-width: 420px;
  }
}

.c-hero-byline--video {
  color: #fff;
}

/*
.swiper-slide{

  .c-hero-title{
    transition:transform 1000ms ease 1000ms, opacity 1000ms ease 1000ms;
    opacity:0;
    transform:translate3d(0,50px,0);
  }
  &.swiper-slide-active,
  &.swiper-slide-duplicate-active{
    .c-hero-title{
      transition:transform 1000ms ease 0ms, opacity 1000ms ease 0ms;
      opacity:1;
      transform:translate3d(0,0,0);
    }
  }
}

*/

.swiper-slide .c-hero-body {
  -webkit-transform: scale(0.9);
             -moz-transform: scale(0.9);
              -ms-transform: scale(0.9);
               -o-transform: scale(0.9);
          transform: scale(0.9);
  transition: -webkit-transform 1000ms ease 800ms;
  -webkit-transition: -webkit-transform 1000ms ease 800ms;
  -o-transition: -o-transform 1000ms ease 800ms;
  -moz-transition: transform 1000ms ease 800ms, -moz-transform 1000ms ease 800ms;
  transition: transform 1000ms ease 800ms;
  transition: transform 1000ms ease 800ms, -webkit-transform 1000ms ease 800ms, -moz-transform 1000ms ease 800ms, -o-transform 1000ms ease 800ms;
  transition: transform 1000ms ease 800ms, -webkit-transform 1000ms ease 800ms;
}

.swiper-slide .c-hero-title > span,
.swiper-slide .c-hero-byline,
.swiper-slide .c-hero-cta {
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
             -moz-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: opacity 600ms linear, -webkit-transform 300ms ease;
  -webkit-transition: opacity 600ms linear, -webkit-transform 300ms ease;
  -o-transition: opacity 600ms linear, -o-transform 300ms ease;
  -moz-transition: transform 300ms ease, opacity 600ms linear, -moz-transform 300ms ease;
  transition: transform 300ms ease, opacity 600ms linear;
  transition: transform 300ms ease, opacity 600ms linear, -webkit-transform 300ms ease, -moz-transform 300ms ease, -o-transform 300ms ease;
  transition: transform 300ms ease, opacity 600ms linear, -webkit-transform 300ms ease;
}

.swiper-slide .c-hero-title > span {
  -webkit-transition-delay: 1000ms;
     -moz-transition-delay: 1000ms;
       -o-transition-delay: 1000ms;
          transition-delay: 1000ms;
}

.swiper-slide .c-hero-title > span + span {
  -webkit-transition-delay: 1200ms;
     -moz-transition-delay: 1200ms;
       -o-transition-delay: 1200ms;
          transition-delay: 1200ms;
}

.swiper-slide .c-hero-byline {
  -webkit-transition-delay: 1400ms;
     -moz-transition-delay: 1400ms;
       -o-transition-delay: 1400ms;
          transition-delay: 1400ms;
}

.swiper-slide .c-hero-cta {
  -webkit-transition-delay: 1600ms;
     -moz-transition-delay: 1600ms;
       -o-transition-delay: 1600ms;
          transition-delay: 1600ms;
}

.swiper-slide.swiper-slide-active .c-hero-body,
.swiper-slide.swiper-slide-duplicate-active .c-hero-body {
  -webkit-transform: scale(1);
             -moz-transform: scale(1);
              -ms-transform: scale(1);
               -o-transform: scale(1);
          transform: scale(1);
}

.swiper-slide.swiper-slide-active .c-hero-title > span,
.swiper-slide.swiper-slide-active .c-hero-byline,
.swiper-slide.swiper-slide-active .c-hero-cta,
.swiper-slide.swiper-slide-duplicate-active .c-hero-title > span,
.swiper-slide.swiper-slide-duplicate-active .c-hero-byline,
.swiper-slide.swiper-slide-duplicate-active .c-hero-cta {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.page-hero {
  position: relative;
  overflow: hidden;
  background: #111;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
  min-height: 280px;
}

@media (min-width: 768px) {
  .page-hero {
    min-height: 380px;
  }
}

.page-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 140%;
  width: 100%;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.page-hero__image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-hero__image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.page-hero__rewards-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.page-hero__rewards-image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-hero__rewards-image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.page-hero__byline {
  display: block;
  font-size: 20px;
  color: #fff;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .page-hero__byline {
    margin-bottom: 50px;
  }
}

.page-hero__content {
  position: relative;
  padding-top: 45px;
  padding-bottom: 45px;
}

@media (min-width: 0) and (max-width: 767px) {
  .page-hero__content {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .page-hero__content {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.page-hero__content-inner {
  max-width: 720px;
}

.page-hero__content-inner--wide {
  max-width: 100%;
}

.page-hero__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  color: #fff;
  font-size: 55px;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
}

@media (min-width: 576px) {
  .page-hero__title {
    font-size: 70px;
  }
}

@media (min-width: 768px) {
  .page-hero__title {
    font-size: 85px;
  }
}

.page-hero__breadcrumb {
  color: #FEDC88;
  margin: 0;
  font-weight: bold;
  font-size: 14px;
}

.page-hero__breadcrumb a {
  color: #FEDC88;
}

/**
  Page Hero Scaled
 */

.page-hero-scaled {
  margin: 0 auto;
}

.page-hero-scaled__inner {
  position: relative;
  overflow: hidden;
  height: 0;
  background: #111;
  padding-bottom: 50%;
}

@media (min-width: 576px) {
  .page-hero-scaled__inner {
    padding-bottom: 35%;
  }
}

@media (min-width: 768px) {
  .page-hero-scaled__inner {
    padding-bottom: 30%;
  }
}

@media (min-width: 992px) {
  .page-hero-scaled__inner {
    padding-bottom: 25%;
  }
}

.page-hero-scaled__inner--reduced {
  position: relative;
  overflow: hidden;
  height: 0;
  background: #111;
}

@media (min-width: 330px) {
  .page-hero-scaled__inner--reduced {
    padding-bottom: 50%;
  }
}

@media (min-width: 576px) {
  .page-hero-scaled__inner--reduced {
    padding-bottom: 55%;
  }
}

@media (min-width: 768px) {
  .page-hero-scaled__inner--reduced {
    padding-bottom: 25%;
  }
}

@media (min-width: 992px) {
  .page-hero-scaled__inner--reduced {
    padding-bottom: 20%;
  }
}

.page-hero-scaled__reset {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-hero-scaled__content {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  color: #fff;
  padding: 20px;
}

.page-hero-scaled__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 135%;
  width: 100%;
  z-index: 0;
  transition: -webkit-transform 10ms linear;
  -webkit-transition: -webkit-transform 10ms linear;
  -o-transition: -o-transform 10ms linear;
  -moz-transition: transform 10ms linear, -moz-transform 10ms linear;
  transition: transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear, -moz-transform 10ms linear, -o-transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  background-color: #111;
}

.page-hero-scaled__image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.page-hero-scaled__image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-hero-scaled__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
  font-size: 60px;
}

@media (min-width: 768px) {
  .page-hero-scaled__title {
    font-size: 80px;
  }
}

@media (min-width: 992px) {
  .page-hero-scaled__title {
    font-size: 100px;
  }
}

.page-hero-scaled__title--center {
  text-align: center;
}

@media (min-width: 0) and (max-width: 576px) {
  .page-hero-scaled__title--center {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.page-hero-scaled__title--center span {
  position: relative;
}

.page-hero-scaled__title--center span:before,
.page-hero-scaled__title--center span:after {
  font-size: 70px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.page-hero-scaled__title--center span:before {
  left: 0;
  top: 44%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-150%, -50%);
             -moz-transform: translate(-150%, -50%);
              -ms-transform: translate(-150%, -50%);
               -o-transform: translate(-150%, -50%);
          transform: translate(-150%, -50%);
}

.page-hero-scaled__title--center span:after {
  right: 0;
  top: 44%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(150%, -50%);
             -moz-transform: translate(150%, -50%);
              -ms-transform: translate(150%, -50%);
               -o-transform: translate(150%, -50%);
          transform: translate(150%, -50%);
}

@media (min-width: 0) and (max-width: 576px) {
  .page-hero-scaled__title--center span:before,
  .page-hero-scaled__title--center span:after {
    display: none;
  }
}

.page-hero-scaled__breadcrumb {
  color: #FEDC88;
  margin: 0;
  font-weight: bold;
  font-size: 14px;
}

.page-hero-scaled__breadcrumb a {
  color: #FEDC88;
  display: inline-block;
  padding: 5px;
  font-weight: bold;
}

.page-hero-scaled__breadcrumb a:hover {
  text-decoration: underline;
}

.page-hero-scaled__breadcrumb span {
  font-weight: normal;
  color: #fff;
}

.page-hero--rewards {
  margin-bottom: 60px;
}

.page-hero__rewards-link {
  color: #fff;
}

.page-hero__rewards-link:hover {
  color: #C1B8B3;
}

.page-hero__cta-buttons {
  margin-bottom: 20px;
}

.c-action-bar {
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  margin-bottom: 30px;
  background: rgba(192, 183, 177, 0.2);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

@media (min-width: 1200px) {
  .c-action-bar {
    margin-bottom: 40px;
  }
}

@media (min-width: 0) and (max-width: 767px) {
  .c-action-bar.has-content-next {
    margin-bottom: 0;
  }
}

.c-action-bar__left {
  float: left;
  position: relative;
}

.c-action-bar__left > a {
  display: block;
  font-size: 16px;
  padding-top: 14px;
  padding-bottom: 14px;
}

.c-action-bar__left > a:hover {
  color: #4A1225;
}

@media (min-width: 768px) {
  .c-action-bar__left > a {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

.c-action-bar__chevron {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-action-bar__left-copy {
  padding-left: 30px;
}

.c-action-bar__right {
  float: right;
}

.c-action-bar__share {
  position: relative;
  overflow: hidden;
  height: 50px;
  width: 100px;
}

.c-action-bar__share:hover .c-share-copy {
  opacity: 0;
  -webkit-transition: opacity .2s ease-out 0s;
  -o-transition: opacity .2s ease-out 0s;
  -moz-transition: opacity .2s ease-out 0s;
  transition: opacity .2s ease-out 0s;
}

.c-action-bar__share:hover .c-action-bar__share-facebook,
.c-action-bar__share:hover .c-action-bar__share-twitter {
  visibility: visible;
  opacity: 1;
}

.c-action-bar__share:hover .c-action-bar__share-facebook {
  right: 45px;
}

.c-action-bar__share:hover .c-action-bar__share-twitter {
  right: 0;
}

@media (min-width: 768px) {
  .c-action-bar__share {
    height: 70px;
  }
}

.c-share-copy {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  -webkit-transition: opacity .2s ease-out .1s;
  -o-transition: opacity .2s ease-out .1s;
  -moz-transition: opacity .2s ease-out .1s;
  transition: opacity .2s ease-out .1s;
  color: #776d66;
  opacity: 1;
}

.c-share-copy__text {
  padding-right: 10px;
}

.c-share-copy__icon {
  color: #9A1A39;
  font-size: 14px;
}

.c-action-bar__share-facebook,
.c-action-bar__share-twitter {
  position: absolute;
  font-size: 16px;
  color: #9A1A39;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 50px;
  padding: 15px 15px;
}

.c-action-bar__share-facebook:hover,
.c-action-bar__share-twitter:hover {
  color: #4A1225;
  text-shadow: 1px 1px #C1B8B3;
}

@media (min-width: 768px) {
  .c-action-bar__share-facebook,
  .c-action-bar__share-twitter {
    height: 70px;
    padding: 25px 15px;
  }
}

.c-action-bar__share-facebook {
  position: absolute;
  right: -80px;
}

.c-action-bar__share-twitter {
  position: absolute;
  right: -100px;
}

@media (min-width: 0) and (max-width: 767px) {
  .c-news-home {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-promo-aside {
  display: block;
  position: relative;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.c-promo-aside__media {
  display: block;
  height: 0;
  padding-bottom: 84.21052632%;
  position: relative;
}

.c-promo-aside__media > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-promo-aside__content-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          -webkit-justify-content: center;
             -moz-box-pack: center;
          justify-content: center;
  text-align: center;
  background: rgba(0, 0, 0, 0.1);
}

.c-promo-aside__content-wrap--light {
  background: none;
}

@media (min-width: 1200px) {
  .c-promo-aside__content-wrap--top {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            -webkit-justify-content: left;
               -moz-box-pack: left;
            justify-content: left;
  }
}

.c-promo-aside__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          -webkit-flex: 1;
             -moz-box-flex: 1;
          flex: 1;
  padding: 15px;
}

@media (min-width: 1200px) {
  .c-promo-aside__content {
    padding: 30px;
  }
}

.c-promo-rewards-title {
  margin: 0;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}

.c-promo-rewards-title span {
  display: block;
  line-height: 1;
}

.c-promo-rewards-title span.is-inline {
  display: inline-block;
}

.c-promo-rewards-title--light {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.c-promo-rewards-title--with-logo {
  margin-bottom: 70px;
}

.c-promo-rewards-title__top {
  color: #fff;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}

.c-promo-rewards-title__bottom {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  color: #fed98a;
  text-transform: uppercase;
  font-size: 55px;
}

@media (min-width: 1200px) {
  .c-promo-rewards-title__bottom {
    font-size: 65px;
  }
}

.c-promo-aside__logo {
  display: block;
  padding: 10px 0 25px 0;
}

.c-promo-aside__logo img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.c-promo-rewards-title__dark {
  color: #4A1225;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 40px;
}

.c-promo-rewards-title__dark.is-small-text {
  font-size: 35px;
}

.c-promo-rewards-title__fancy {
  color: #fff;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 55px;
  position: relative;
  margin-bottom: 50px;
}

.c-promo-rewards-title__fancy:before,
.c-promo-rewards-title__fancy:after {
  font-size: 36px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.c-promo-rewards-title__fancy:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-150%, -50%);
             -moz-transform: translate(-150%, -50%);
              -ms-transform: translate(-150%, -50%);
               -o-transform: translate(-150%, -50%);
          transform: translate(-150%, -50%);
}

.c-promo-rewards-title__fancy:after {
  right: 0;
  top: 40%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(150%, -50%);
             -moz-transform: translate(150%, -50%);
              -ms-transform: translate(150%, -50%);
               -o-transform: translate(150%, -50%);
          transform: translate(150%, -50%);
}

.c-promo-rewards-title__fancy.is-inline {
  display: inline-block !important;
}

.c-promo-rewards-subtitle {
  margin-top: 0;
  margin-bottom: 10px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}

.c-promo-rewards-subtitle span {
  display: block;
  color: #fff;
  line-height: 1;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 25px;
}

@media (min-width: 1200px) {
  .c-promo-rewards-subtitle span {
    font-size: 35px;
  }
}

.promotional-feature {
  display: block;
  margin-bottom: 2em;
}

.promotional-feature img {
  display: block;
  width: 100%;
  height: auto;
}

.fork-development-debug-only {
  opacity: 0.99;
}

.o-article-tile {
  margin-bottom: 40px;
}

@media (min-width: 0) and (max-width: 575px) {
  .o-article-tile--aside {
    float: none;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .o-article-tile--grid:nth-of-type(2n+1) {
    clear: left;
  }
}

@media (min-width: 1200px) {
  .o-article-tile--grid:nth-of-type(3n+1) {
    clear: left;
  }
}

.o-article-tile__link {
  overflow: hidden;
}

.o-article-tile__img {
  display: block;
  overflow: hidden;
  margin-bottom: 15px;
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #fff;
}

.o-article-tile__img img {
  display: block;
  max-width: 100%;
  height: auto;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  -o-transition: opacity 0.3s ease, -o-transform 0.3s ease;
  -moz-transition: transform 0.3s ease, opacity 0.3s ease, -moz-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease, -moz-transform 0.3s ease, -o-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scale(1);
             -moz-transform: scale(1);
              -ms-transform: scale(1);
               -o-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.o-article-tile__link:hover .o-article-tile__img img {
  opacity: 0.8;
  -webkit-transform: scale(1.05);
             -moz-transform: scale(1.05);
              -ms-transform: scale(1.05);
               -o-transform: scale(1.05);
          transform: scale(1.05);
}

.o-article-tile__cat {
  margin: 0;
  font-size: 14px;
  color: #9A1A39;
  margin-bottom: 8px;
}

.o-article-tile__title {
  font-size: 30px;
  color: #4A1225;
  line-height: 1.2;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  margin: 0;
}

.o-article-tile__title.is-aside {
  font-size: 24px;
}

.c-menu-listing {
  margin-top: 40px;
  margin-bottom: 60px;
}

.c-menu-listing__heading {
  clear: both;
  text-align: center;
  overflow: hidden;
  pointer-events: none;
  margin-top: 30px;
  margin-bottom: 30px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

@media (min-width: 992px) {
  .c-menu-listing__heading {
    padding-top: 30px;
    margin-bottom: 60px;
  }
}

.c-menu-listing__heading span {
  display: inline-block;
  position: relative;
  padding: 4px 10px;
  background: #4A1225;
  color: #fff;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-menu-listing__heading span:before {
  content: '';
  display: block;
  position: absolute;
  width: 1600px;
  height: 1px;
  background: #C1B8B3;
  top: 50%;
  left: 100%;
  left: -webkit-calc(100% + 15px);
  left: -moz-calc(100% + 15px);
  left: calc(100% + 15px);
}

.c-menu-listing__heading span:after {
  content: '';
  display: block;
  position: absolute;
  width: 1600px;
  height: 1px;
  background: #C1B8B3;
  top: 50%;
  right: 100%;
  right: -webkit-calc(100% + 15px);
  right: -moz-calc(100% + 15px);
  right: calc(100% + 15px);
}

/*
.c-menu-listing__items{
  @include clearfix;
  vertical-align: top;
  @include breakpoint($app-breakpoint-md){
    column-count: 2;
  }
  @include breakpoint($app-breakpoint-lg){
    column-count: 4;
  }
}

.c-menu-listing__item{
  display: block;
  font-size: 24px;
  line-height:1;
  color:$app-color-maroon-dark;
  margin-bottom:20px;
  text-align: center;
  span{
    position: relative;
    display: inline-block;
    padding:0 30px;
    &:before,
    &:after{
      font-size: 36px;
      line-height:1;
      position: absolute;
      display: block;
      opacity:0;
      @include app-font-brand-goodies;
      transition:transform 400ms ease, opacity 400ms ease;
      backface-visibility: hidden;
    }
    &:before{
      left:0;
      top:40%;
      content:'t';
      @include app-font-brand-goodies;
      transform: translate(15px, -55%);
    }
    &:after{
      right:0;
      top:40%;
      content:'u';
      transform: translate(-15px, -55%);
    }
  }
  &:hover{
    span{
      &:before{
        opacity:1;
        transform: translate(0, -55%);
      }
      &:after{
        opacity:1;
        transform: translate(0, -55%);
      }
    }
  }
}

*/

.c-menu-listing__items:before,
.c-menu-listing__items:after {
  content: " ";
  display: table;
}

.c-menu-listing__items:after {
  clear: both;
}

.c-menu-listing__items .c-menu-listing__heading:first-child {
  margin-top: 0;
  padding-top: 0;
}

.c-menu-listing__group:before,
.c-menu-listing__group:after {
  content: " ";
  display: table;
}

.c-menu-listing__group:after {
  clear: both;
}

.c-menu-listing__item {
  display: block;
  font-size: 20px;
  line-height: 1.2;
  color: #4A1225;
  margin-bottom: 20px;
}

.c-menu-listing__item span {
  display: inline-block;
  min-height: 30px;
}

@media (min-width: 768px) and (max-width: 991px) {
  .c-menu-listing__item {
    float: left;
    width: 50%;
    padding-right: 15px;
  }

  .c-menu-listing__item span {
    display: inline-block;
    min-height: 48px;
  }
}

@media (min-width: 992px) {
  .c-menu-listing__item {
    float: left;
    width: 25%;
    padding-right: 15px;
  }

  .c-menu-listing__item span {
    display: inline-block;
    min-height: 48px;
  }
}

.c-faqs-wrapper {
  background-color: #fff;
}

.c-faqs {
  padding-bottom: 60px;
  margin: 0 auto;
}

.c-faqs-title {
  text-align: center;
  font-size: 42px;
  text-transform: uppercase;
  color: #9A1A39;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  margin: 0;
  line-height: 1;
  padding-top: 60px;
  padding-bottom: 30px;
}

.c-faq-item {
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  padding-top: 15px;
  padding-bottom: 15px;
}

.c-faq-item .c-faq-item__a {
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translateY(10px);
             -moz-transform: translateY(10px);
              -ms-transform: translateY(10px);
               -o-transform: translateY(10px);
          transform: translateY(10px);
  transition: opacity 0.6s ease, -webkit-transform 0.3s ease;
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.3s ease;
  -o-transition: opacity 0.6s ease, -o-transform 0.3s ease;
  -moz-transition: opacity 0.6s ease, transform 0.3s ease, -moz-transform 0.3s ease;
  transition: opacity 0.6s ease, transform 0.3s ease;
  transition: opacity 0.6s ease, transform 0.3s ease, -webkit-transform 0.3s ease, -moz-transform 0.3s ease, -o-transform 0.3s ease;
  transition: opacity 0.6s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-faq-item.is-active {
  padding-bottom: 5px;
}

.c-faq-item.is-active .c-faq-item__a {
  height: auto;
  opacity: 1;
  -webkit-transform: translateY(0);
             -moz-transform: translateY(0);
              -ms-transform: translateY(0);
               -o-transform: translateY(0);
          transform: translateY(0);
}

.c-faq-item:nth-child(2n + 1) {
  background: #FBFBFA url(../images/mb-texture.jpg?6606bda607aacf77c734cef5faef8d06) center 0 repeat;
  -moz-background-size: 300px 150px;
       background-size: 300px 150px;
}

.c-faq-item__q {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative;
  padding-right: 30px;
  font-size: 22px;
  margin: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #4A1225;
  cursor: pointer;
}

.c-faq-item__q:hover {
  color: #9A1A39;
}

@media (min-width: 576px) {
  .c-faq-item__q {
    font-size: 28px;
    padding-left: 60px;
  }
}

.c-faq-item__q:before {
  display: none;
  content: 'Q';
  font-size: 20px;
  position: absolute;
  top: 18px;
  left: 15px;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: #fff;
  background: #9A1A39;
  -moz-border-radius: 100%;
       border-radius: 100%;
}

@media (min-width: 576px) {
  .c-faq-item__q:before {
    display: block;
  }
}

.c-faq-item__q .c-faq-item__icon {
  position: absolute;
  top: 18px;
  right: 0;
  transition: -webkit-transform 0.6s ease;
  -webkit-transition: -webkit-transform 0.6s ease;
  -o-transition: -o-transform 0.6s ease;
  -moz-transition: transform 0.6s ease, -moz-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease, -moz-transform 0.6s ease, -o-transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  font-size: 25px;
  font-family: sans-serif;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  color: #9A1A39;
}

.is-active .c-faq-item__q .c-faq-item__icon {
  -webkit-transform: rotate(-180deg);
             -moz-transform: rotate(-180deg);
              -ms-transform: rotate(-180deg);
               -o-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.c-faq-item__a {
  position: relative;
  padding-right: 30px;
}

@media (min-width: 576px) {
  .c-faq-item__a {
    padding-left: 60px;
  }
}

.c-faq-item__a:before {
  display: none;
  content: 'A';
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  position: absolute;
  top: 0;
  left: 15px;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: #fff;
  background: #CAC4BC;
  -moz-border-radius: 100%;
       border-radius: 100%;
}

@media (min-width: 576px) {
  .c-faq-item__a:before {
    display: block;
  }
}

.c-faqs__tab-links {
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  padding-top: 15px;
  padding-bottom: 45px;
}

.c-faqs__tab-link {
  display: inline-block;
  color: #828180;
  font-size: 20px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
  padding: 6px 10px 4px 10px;
  -moz-border-radius: 3px;
       border-radius: 3px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.c-faqs__tab-link:hover {
  color: #9A1A39;
}

.c-faqs__tab-link.is-active {
  color: #fff;
  background: #9A1A39;
}

.c-footer {
  background: #4A1225 url(../images/tile-woodgrain.jpg?ae4f733aa99108fa89096de920973db5) center 0 repeat;
  -moz-background-size: 420px 240px;
       background-size: 420px 240px;
  padding-bottom: 40px;
}

@media (min-width: 768px) {
  .c-footer {
    padding-bottom: 120px;
  }
}

.c-footer-menu {
  position: relative;
  padding-top: 40px;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(192, 183, 177, 0.2);
  margin-bottom: 25px;
}

.c-footer-menu:before,
.c-footer-menu:after {
  content: " ";
  display: table;
}

.c-footer-menu:after {
  clear: both;
}

@media (min-width: 768px) {
  .c-footer-menu {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 60px;
  }
}

.c-footer-menu__logo {
  display: block;
  position: relative;
  width: 100px;
  margin: 0 auto 30px auto;
  text-align: center;
}

@media (min-width: 992px) {
  .c-footer-menu__logo {
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
               -moz-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                 -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.c-footer-menu__logo-byline {
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}

.c-footer-menu__left {
  padding: 0;
  text-align: center;
}

.c-footer-menu__left li {
  margin-left: 0;
}

@media (min-width: 992px) {
  .c-footer-menu__left {
    width: 50%;
    float: left;
    padding: 0 50px 0 0;
    text-align: left;
  }

  .c-footer-menu__left li {
    margin-left: 0;
  }
}

.c-footer-menu__right {
  padding: 0;
  text-align: center;
}

.c-footer-menu__right li {
  margin-left: 0;
}

@media (min-width: 992px) {
  .c-footer-menu__right {
    width: 50%;
    float: left;
    padding: 0 0 0 50px;
    text-align: right;
  }

  .c-footer-menu__right li {
    margin-right: 0;
  }
}

.c-nav-footer {
  list-style: none;
  margin: 0;
}

.c-nav-footer > li {
  display: inline-block;
}

.c-nav-footer > li > a {
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding: 8px 10px 6px 10px;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-nav-footer > li > a:hover {
  color: #9A1A39;
  background: rgba(255, 255, 255, 0.95);
}

@media (min-width: 768px) {
  .c-nav-footer > li > a {
    font-size: 18px;
  }
}

.c-footer-subs {
  color: #fff;
  color: rgba(255, 255, 255, 0.5);
}

.c-footer-subs:before,
.c-footer-subs:after {
  content: " ";
  display: table;
}

.c-footer-subs:after {
  clear: both;
}

.c-footer-subs a {
  color: #fff;
}

@media (min-width: 768px) {
  .c-footer-subs > div {
    float: left;
    width: 33.333%;
  }
}

.c-footer-subs__left {
  float: left;
  width: 50%;
  margin-bottom: 40px;
}

.c-footer-subs__left > span {
  display: none;
}

.c-footer-subs__left > a {
  display: inline-block;
  padding: 7px;
}

.c-footer-subs__left > a:last-of-type {
  margin-right: 20px;
}

@media (min-width: 768px) {
  .c-footer-subs__left {
    margin-bottom: 0;
    text-align: left;
  }

  .c-footer-subs__left > span {
    display: inline-block;
    padding: 8px;
  }
}

.c-footer-subs__center {
  text-align: right;
  font-size: 20px;
  float: left;
  width: 50%;
}

.c-footer-subs__center > a {
  color: #ffda85;
  padding: 8px;
  -moz-border-radius: 3px;
       border-radius: 3px;
  margin: 0;
}

.c-footer-subs__center > a span {
  vertical-align: middle;
}

.c-footer-subs__center > a:hover {
  color: #fff;
}

@media (min-width: 768px) {
  .c-footer-subs__center {
    font-size: 22px;
    text-align: center;
  }

  .c-footer-subs__center > a {
    margin: 0 5px;
  }
}

.c-footer-subs__right {
  text-align: left;
  font-size: 0;
  float: left;
  width: 100%;
}

.c-footer-subs__right:before,
.c-footer-subs__right:after {
  content: " ";
  display: table;
}

.c-footer-subs__right:after {
  clear: both;
}

.c-footer-subs__right > span {
  display: inline-block;
  font-size: 13px;
  padding: 8px;
}

.c-footer-subs__right .c-footer-subs__right-links {
  float: right;
  display: inline-block;
  text-align: right;
}

.c-footer-subs__right .c-footer-subs__right-links > a {
  text-align: right;
  font-size: 13px;
  -moz-border-radius: 3px;
       border-radius: 3px;
  display: inline-block;
  padding: 8px;
}

.c-footer-subs__right .c-footer-subs__right-links > a:hover {
  color: #9A1A39;
  background: #fff;
}

@media (min-width: 768px) {
  .c-footer-subs__right {
    text-align: right;
  }

  .c-footer-subs__right > span {
    display: none;
  }

  .c-footer-subs__right .c-footer-subs__right-links {
    float: none;
    font-size: 13px;
  }

  .c-footer-subs__right .c-footer-subs__right-links a:not(:first-child):before {
    padding-right: 15px;
  }
}

.c-footer-cta {
  font-size: 12px;
}

.c-footer-cta:before,
.c-footer-cta:after {
  content: " ";
  display: table;
}

.c-footer-cta:after {
  clear: both;
}

@media (min-width: 768px) {
  .c-footer-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
  }
}

.c-footer-cta__item {
  padding: 15px;
  position: relative;
}

.c-footer-cta__item:before,
.c-footer-cta__item:after {
  content: " ";
  display: table;
}

.c-footer-cta__item:after {
  clear: both;
}

.c-footer-cta__item:before {
  display: block;
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .c-footer-cta__item {
    width: 50%;
    float: left;
  }
}

.c-footer-cta__content {
  position: relative;
  z-index: 1;
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (min-width: 768px) {
  .c-footer-cta__content {
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: 10%;
  }
}

.c-footer-cta__title {
  margin: 0;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 4em;
  line-height: 1;
  margin-bottom: 15px;
  color: #fff;
}

.c-footer-cta__subtitle {
  color: #FEDC88;
  font-size: 12px;
  font-weight: bold;
  margin: 0;
  margin-bottom: 5px;
}

.c-footer-form {
  position: relative;
  max-width: 320px;
  line-height: 50px;
}

.c-footer-form__location-icon {
  font-size: 24px;
  color: #a0c37c;
  position: absolute;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.c-footer-form__search-icon {
  font-size: 24px;
  color: #9A1A39;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-footer-form__input {
  padding: 0 40px 0 40px;
  -moz-border-radius: 0;
       border-radius: 0;
  border: none;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  height: 50px;
  width: 100%;
  display: block;
  line-height: 1.3;
  font-size: 16px;
}

.c-footer-form__input:focus {
  outline: none;
  background: #f5f8fc;
}

.c-menu-promo {
  margin-top: 15px;
  margin-bottom: 30px;
  position: relative;
  font-size: 14px;
}

.c-menu-promo img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 0) and (max-width: 767px) {
  .c-menu-promo {
    font-size: 16px;
  }

  .c-menu-promo img {
    height: 500px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media (min-width: 768px) {
  .c-menu-promo {
    font-size: 20px;
  }
}

@media (min-width: 992px) {
  .c-menu-promo {
    font-size: 24px;
  }
}

.c-menu-promo__img {
  position: relative;
}

.c-menu-promo__img:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.25);
}

@media (min-width: 0) and (max-width: 767px) {
  .c-menu-promo__img {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.c-menu-promo__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
}

.c-menu-promo__content {
  color: #fff;
  padding: 2em;
  max-width: 600px;
}

.c-menu-promo__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  margin: 0;
  font-size: 3em;
  line-height: 1;
  text-transform: uppercase;
}

.c-menu-promo__byline {
  font-size: 1em;
  margin: 0;
  margin-bottom: 1em;
}

.c-filter-links-simple {
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  padding-top: 13px;
  padding-bottom: 12px;
  margin-bottom: 30px;
  background: rgba(192, 183, 177, 0.2);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

@media (min-width: 1200px) {
  .c-filter-links-simple {
    margin-bottom: 40px;
  }
}

.c-filter-links-simple__title {
  display: block;
  float: left;
  font-size: 16px;
  line-height: 16px;
  padding: 6px 10px;
  font-weight: bold;
  color: #776d66;
}

.nav-news-list-filter {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-news-list-filter:before,
.nav-news-list-filter:after {
  content: " ";
  display: table;
}

.nav-news-list-filter:after {
  clear: both;
}

.nav-news-list-filter > li {
  float: left;
}

.nav-news-list-filter > li > a {
  display: block;
}

.nav-news-list-filter > li {
  font-size: 18px;
  vertical-align: middle;
}

.nav-news-list-filter > li > a {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  padding: 3px 8px 2px 8px;
  margin: 0 10px;
  color: #776d66;
  -moz-border-radius: 2px;
       border-radius: 2px;
}

.nav-news-list-filter > li > a:hover {
  color: #9A1A39;
  text-decoration: none;
}

.nav-news-list-filter > li.active > a {
  background-color: #9A1A39;
  color: #fff;
}

.nav-news-list-filter > li.active > a:hover {
  color: #fff;
}

.c-filter-links__hr {
  border: 0;
  display: block;
  background: rgba(192, 183, 177, 0.5);
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .c-filter-links__hr {
    margin-bottom: 60px;
  }
}

/**
  Nav Filter Links Aside
 */

.nav-news-list-cats {
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  list-style: none;
}

.nav-news-list-cats > li {
  font-size: 18px;
}

.nav-news-list-cats > li > a {
  position: relative;
  display: block;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #776d66;
  padding-left: 20px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.nav-news-list-cats > li > a:before {
  content: '';
  background-color: #CAC4BC;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  left: 0;
  width: 6px;
  height: 6px;
  -moz-border-radius: 10px;
       border-radius: 10px;
  -webkit-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  transition: all 200ms ease;
  -webkit-transform: scale(1);
             -moz-transform: scale(1);
              -ms-transform: scale(1);
               -o-transform: scale(1);
          transform: scale(1);
}

.nav-news-list-cats > li > a:hover {
  color: #9A1A39;
}

.nav-news-list-cats > li > a:hover:before {
  -webkit-transform: scale(1.2);
             -moz-transform: scale(1.2);
              -ms-transform: scale(1.2);
               -o-transform: scale(1.2);
          transform: scale(1.2);
  background-color: #9A1A39;
}

.c-tile-list-featured {
  margin-top: 30px;
}

/**
  Menu List Filters
 */

.c-menu-item-tools {
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  background: rgba(192, 183, 177, 0.2);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.c-menu-item-tools:before,
.c-menu-item-tools:after {
  content: " ";
  display: table;
}

.c-menu-item-tools:after {
  clear: both;
}

@media (min-width: 768px) {
  .c-menu-item-tools__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            -webkit-align-items: center;
               -moz-box-align: center;
            align-items: center;
  }
}

@media (min-width: 0) and (max-width: 768px) {
  .c-menu-item-tools__container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.c-menu-item-tools__left {
  position: relative;
}

@media (min-width: 768px) {
  .c-menu-item-tools__left {
    float: left;
  }
}

@media (min-width: 768px) {
  .c-menu-item-tools__right {
    float: right;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            -webkit-flex-grow: 1;
               -moz-box-flex: 1;
            flex-grow: 1;
  }
}

@media (min-width: 0) and (max-width: 768px) {
  .c-menu-search {
    padding: 15px;
    border-top: 1px solid rgba(192, 183, 177, 0.5);
    display: none;
  }

  .is-search-active .c-menu-search {
    display: block;
  }
}

.c-menu-search__toggle {
  position: absolute;
  top: 0;
  right: 15px;
  height: 100%;
  width: 40px;
  text-align: center;
  cursor: pointer;
}

.c-menu-search__toggle > span {
  display: inline-block;
  font-size: 25px;
  padding-top: 12px;
  color: #9A1A39;
}

.c-menu-search__toggle > span.c-menu-search__icon-closed {
  display: inline-block;
}

.is-search-active .c-menu-search__toggle > span.c-menu-search__icon-closed {
  display: none;
}

.c-menu-search__toggle > span.c-menu-search__icon-open {
  display: none;
}

.is-search-active .c-menu-search__toggle > span.c-menu-search__icon-open {
  display: inline-block;
}

@media (min-width: 768px) {
  .c-menu-search__toggle {
    display: none;
  }
}

.c-search-form {
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .c-search-form {
    padding-left: 30px;
  }
}

.c-search-form__input {
  width: 100%;
  border: 1px solid rgba(192, 183, 177, 0.5);
  padding: 10px 35px 10px 10px;
  font-size: 16px;
  outline: none;
}

.c-search-form__input:focus {
  border: 1px solid #776d66;
  background-color: #fff;
}

.c-search-form__submit {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50px;
  border: none;
  background: transparent;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 25px;
}

.c-search-form__submit span {
  display: inline-block;
  padding-top: 5px;
  color: #9A1A39;
}

.c-search-form__submit:hover span {
  color: #4A1225;
}

.c-menu-search__search-icon {
  font-size: 17px;
  color: #9A1A39;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
}

.nav-menu-item-tools {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-menu-item-tools:before,
.nav-menu-item-tools:after {
  content: " ";
  display: table;
}

.nav-menu-item-tools:after {
  clear: both;
}

.nav-menu-item-tools .menu-item {
  float: left;
  border-right: 1px solid #CAC4BC;
}

.nav-menu-item-tools .menu-item:first-child {
  border-left: 1px solid #CAC4BC;
}

.nav-menu-item-tools .menu-item a {
  display: block;
  position: relative;
  padding: 12px 12px 11px 9px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #828180;
  font-size: 18px;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .nav-menu-item-tools .menu-item a {
    font-size: 20px;
    padding: 18px 24px 16px 18px;
  }
}

.nav-menu-item-tools .menu-item a:hover {
  color: #9A1A39;
}

.nav-menu-item-tools .menu-item a:hover:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(192, 183, 177, 0.2);
}

.nav-menu-item-tools .menu-item a span {
  vertical-align: middle;
}

.nav-menu-item-tools .menu-item a svg {
  width: 24px;
  height: 24px;
  margin-right: 10px;
  vertical-align: middle;
}

.nav-menu-item-tools .menu-item a svg path {
  fill: #B1ABA6;
}

.nav-menu-item-tools .menu-item.is-active a {
  color: #4A1225;
}

.nav-menu-item-tools .menu-item.is-active a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #BFB6B0;
}

.nav-menu-item-tools .menu-item.is-active a svg path {
  fill: #9A1A39;
}

.c-menu-item-tools__link {
  display: inline-block;
  padding: 9px 12px 7px 9px;
  border-right: 1px solid #CAC4BC;
  border-bottom: 3px solid transparent;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #828180;
  font-size: 18px;
  text-transform: uppercase;
}

.c-menu-item-tools__link:first-child {
  border-left: 1px solid #CAC4BC;
}

.c-menu-item-tools__link > span {
  display: inline-block;
  margin-right: 10px;
  padding-top: 4px;
}

.c-menu-item-tools__link:hover {
  color: #9A1A39;
  border-bottom-color: #9A1A39;
}

@media (min-width: 768px) {
  .c-menu-item-tools__link {
    font-size: 20px;
    padding: 18px 24px 16px 18px;
  }
}

/**
  Nav Menu Filter Links
 */

.c-filter-links-parent {
  padding: 15px 0;
  margin: 0;
  list-style: none;
  width: 100%;
  overflow-x: auto;
  overflow-scrolling: touch;
  white-space: nowrap;
}

.c-filter-links-parent:before,
.c-filter-links-parent:after {
  content: " ";
  display: table;
}

.c-filter-links-parent:after {
  clear: both;
}

.c-filter-links-parent > li {
  display: inline-block;
  margin-right: 5px;
}

.c-filter-links-parent > li > a {
  display: inline-block;
  padding: 7px 10px 5px 10px;
  font-size: 18px;
  text-transform: uppercase;
  color: #828180;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-filter-links-parent > li > a:hover {
  color: #9A1A39;
}

.c-filter-links-parent > li.current-cat-ancestor > a,
.c-filter-links-parent > li.active > a,
.c-filter-links-parent > li.current-cat > a {
  color: #fff;
  background: #9A1A39;
}

.c-filter-links-parent > li.current-cat-ancestor > a:hover,
.c-filter-links-parent > li.active > a:hover,
.c-filter-links-parent > li.current-cat > a:hover {
  color: #fff;
}

.c-filter-links-sub {
  padding: 15px 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid rgba(192, 183, 177, 0.5);
  overflow-x: auto;
  overflow-scrolling: touch;
  white-space: nowrap;
}

.c-filter-links-sub:before,
.c-filter-links-sub:after {
  content: " ";
  display: table;
}

.c-filter-links-sub:after {
  clear: both;
}

.c-filter-links-sub > li {
  display: inline-block;
  margin-right: 5px;
}

.c-filter-links-sub > li > a {
  display: inline-block;
  padding: 6px 10px 4px 10px;
  font-size: 18px;
  color: #828180;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.c-filter-links-sub > li > a:hover {
  color: #9A1A39;
}

.c-filter-links-sub > li.current-cat-ancestor > a,
.c-filter-links-sub > li.current-cat > a {
  color: #fff;
  background: #9A1A39;
}

.c-filter-links-sub > li.current-cat-ancestor > a:hover,
.c-filter-links-sub > li.current-cat > a:hover {
  color: #fff;
}

.page-store-locator {
  height: 100%;
  width: 100%;
  position: relative;
}

@media (min-width: 992px) {
  .page-store-locator {
    height: -webkit-calc(100vh - 110px);
    height: -moz-calc(100vh - 110px);
    height: calc(100vh - 110px);
  }
}

.page-store-locator__static_map {
  height: -webkit-calc(100vh - 60px);
  height: -moz-calc(100vh - 60px);
  height: calc(100vh - 60px);
  min-height: 500px;
}

@media (min-width: 768px) {
  .page-store-locator__static_map {
    height: -webkit-calc(100vh - 70px);
    height: -moz-calc(100vh - 70px);
    height: calc(100vh - 70px);
  }
}

@media (min-width: 992px) {
  .page-store-locator__static_map {
    height: -webkit-calc(100vh - 110px);
    height: -moz-calc(100vh - 110px);
    height: calc(100vh - 110px);
  }
}

.page-store-locator__static_map_overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.sl-overlay {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  text-align: center;
  color: #ffda85;
  height: 100%;
  width: 100%;
}

.sl-overlay-content {
  max-width: 1170px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
             -moz-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
               -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.sl-overlay-content__byline {
  font-size: 12px;
  margin: 0;
}

@media (min-width: 768px) {
  .sl-overlay-content__byline {
    font-size: 20px;
  }
}

.sl-overlay-content__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  text-transform: uppercase;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
  font-size: 55px;
  margin: 0 0 10px 0;
}

@media (min-width: 768px) {
  .sl-overlay-content__title {
    font-size: 110px;
  }
}

.sl-overlay-form {
  margin: 0 auto 20px auto;
  width: 315px;
  background: #fff;
  -moz-border-radius: 3px;
       border-radius: 3px;
  text-align: left;
}

@media (min-width: 768px) {
  .sl-overlay-form {
    width: 370px;
  }
}

.sl-overlay-form__component {
  position: relative;
  display: block;
  height: 60px;
  font-size: 16px;
  line-height: 60px;
  padding: 0 15px;
  color: #000000;
}

.sl-overlay-form__component .o-icon-location,
.sl-overlay-form__component .o-icon-search {
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  font-size: 28px;
  color: #9A1A39;
}

.sl-overlay-form__component:first-child {
  border-bottom: 1px solid #e1dfdc;
}

.sl-overlay-form__copy {
  position: absolute;
  border: none;
  max-height: 60px;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
  height: 60px;
  padding: 10px 10px 10px 55px;
  line-height: 40px;
}

@media (min-width: 768px) {
  .sl-overlay-form__copy {
    padding: 10px 10px 10px 70px;
  }
}

.sl-overlay-form__input {
  position: absolute;
  border: none;
  max-height: 60px;
  width: 100%;
  top: 0;
  left: 0;
  padding: 10px 10px 10px 55px;
  display: block;
  height: 60px;
  line-height: normal;
}

.sl-overlay-form__input:focus {
  outline: none;
  background: #f5f8fc;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

@media (min-width: 768px) {
  .sl-overlay-form__input {
    padding: 10px 10px 10px 70px;
  }
}

.sl-overlay-form__current-location {
  cursor: pointer;
  -moz-border-radius: 3px 3px 0 0;
       border-radius: 3px 3px 0 0;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  -moz-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.sl-overlay-form__current-location .o-icon-location {
  -webkit-transition: color 0.3s ease-in-out;
  -o-transition: color 0.3s ease-in-out;
  -moz-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}

.sl-overlay-form__current-location:hover {
  background-color: #9A1A39;
  color: #fff;
}

.sl-overlay-form__current-location:hover .o-icon-location {
  color: #fff;
}

.sl-overlay-content__undo {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px;
  -moz-border-radius: 30px;
       border-radius: 30px;
  width: 50px;
  height: 50px;
  line-height: 53px;
  cursor: pointer;
  margin: 0 auto;
  background-color: #fff;
  color: #9A1A39;
  font-size: 16px;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  -moz-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.sl-overlay-content__undo:hover {
  background-color: #9A1A39;
  color: #fff;
}

.sl-overlay-content__undo:hover .o-icon-location {
  color: #fff;
}

@media (min-width: 992px) {
  .sl-overlay-content__undo {
    right: 35px;
  }
}

.sl-overlay-content__error {
  max-width: 315px;
  background-color: #fff;
  color: #000;
  margin: 0 auto;
  padding: 10px;
  -moz-border-radius: 3px;
       border-radius: 3px;
}

.page-store-locator__loader {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
}

.page-store-locator__loader-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.page-store-locator__loader-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
             -moz-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
               -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
}

.bh-sl-map-container {
  display: none;
  overflow: hidden;
}

.bh-sl-container .bh-sl-map {
  float: none;
  width: 100%;
  height: 315px;
  min-height: 315px;
}

.bh-sl-container .bh-sl-loc-list {
  width: 100%;
  float: none;
  min-height: 530px;
  height: 530px;
}

.bh-sl-container .bh-sl-loc-list .store-listing {
  min-height: 415px;
  height: 100%;
  width: 100%;
}

@media (min-width: 768px) {
  .bh-sl-container .bh-sl-map {
    float: none;
    width: 100%;
    min-height: 450px;
  }

  .bh-sl-container .bh-sl-loc-list {
    width: 100%;
    float: none;
    height: 100%;
  }

  .bh-sl-container .bh-sl-loc-list .store-listing {
    overflow-x: scroll;
  }
}

@media (min-width: 992px) {
  .bh-sl-container .bh-sl-map {
    width: -webkit-calc(100% - 350px);
    width: -moz-calc(100% - 350px);
    width: calc(100% - 350px);
    float: right;
    height: -webkit-calc(100vh - 110px);
    height: -moz-calc(100vh - 110px);
    height: calc(100vh - 110px);
  }

  .bh-sl-container .bh-sl-loc-list {
    float: right;
    width: 350px;
    height: -webkit-calc(100vh - 110px);
    height: -moz-calc(100vh - 110px);
    height: calc(100vh - 110px);
  }

  .bh-sl-container .bh-sl-loc-list .store-listing {
    height: -webkit-calc(100vh - 205px);
    height: -moz-calc(100vh - 205px);
    height: calc(100vh - 205px);
  }
}

.bh-sl-loc-list__location {
  line-height: 55px;
  background-color: #9A1A39;
  color: #fff;
  padding: 0 15px;
  overflow: hidden;
}

.bh-sl-loc-list__location .o-icon-location {
  font-size: 18px;
  line-height: 55px;
  color: #ffda85;
  vertical-align: middle;
  padding-right: 10px;
  float: left;
}

.bh-sl-loc-list__title {
  background-color: #4A1225;
  color: #FFFFFF;
  line-height: 40px;
  padding: 0 15px;
  font-weight: bold;
}

.bh-sl-loc-list__location-name {
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  vertical-align: middle;
  float: left;
}

@media (min-width: 374px) {
  .bh-sl-loc-list__location-name {
    max-width: 240px;
  }
}

@media (min-width: 480px) {
  .bh-sl-loc-list__location-name {
    max-width: 350px;
  }
}

@media (min-width: 768px) {
  .bh-sl-loc-list__location-name {
    max-width: 550px;
  }
}

@media (min-width: 992px) {
  .bh-sl-loc-list__location-name {
    max-width: 215px;
  }
}

.bh-sl-loc-list__location-change {
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
  color: #ffda85;
  float: right;
  padding: 0 10px;
}

.bh-sl-loc-list__location-change:hover,
.bh-sl-loc-list__location-change:active {
  color: #fff;
  text-decoration: none;
}

.store-listing {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d1cdc8;
}

.store-listing li {
  border-bottom: 1px solid #d1cdc8;
  clear: left;
  cursor: pointer;
  display: block;
  float: left;
  width: 100%;
}

.store-listing li:hover {
  background-color: #fff;
}

.store-listing li.list-focus {
  background-color: #fff;
}

.store-listing li:last-child {
  border-bottom: none;
}

.single-store-listing__wrapper {
  position: relative;
  padding-right: 100px;
  font-family: 'plutocond', sans-serif;
}

.single-store-listing {
  padding: 25px 18px 20px 18px;
}

.single-store-listing:hover {
  background: #fff;
}

.single-store-listing:hover .loc-name {
  color: #9A1A39;
}

.single-store-listing div:last-of-type {
  padding-bottom: 0;
}

.loc-name {
  display: inline-block;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #303030;
  font-size: 18px;
  margin-bottom: 10px;
  -webkit-transition: color 0.2s ease-in-out;
  -o-transition: color 0.2s ease-in-out;
  -moz-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}

.loc-dist {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px;
  font-family: 'plutocond', sans-serif;
  background-color: #9A1A39;
  color: #fff;
  font-weight: bold;
}

.loc-addr,
.loc-addr2 {
  padding-bottom: 5px;
}

.bh-sl-pagination-container {
  height: 60px;
  border-bottom: 1px solid #d1cdc8;
}

.bh-sl-pagination {
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  text-align: center;
}

.bh-sl-pagination li {
  cursor: pointer;
  display: inline-block;
  padding: 10px;
}

.sl_infowindow__loc-name {
  display: inline-block;
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #303030;
  font-size: 16px;
  margin-bottom: 0;
}

.single-store-map {
  width: 100%;
  height: 400px;
  border: #ccc solid 1px;
  margin: 20px 0;
}

.c-rewards-app {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  position: relative;
  z-index: 1;
}

.c-rewards-app__items {
  margin-bottom: 20px;
}

.c-rewards-app__items:before,
.c-rewards-app__items:after {
  content: " ";
  display: table;
}

.c-rewards-app__items:after {
  clear: both;
}

@media (min-width: 768px) {
  .c-rewards-app__items {
    border-bottom: 1px solid #d9d5cf;
  }
}

@media (min-width: 992px) {
  .c-rewards-app__items {
    margin-bottom: 60px;
  }
}

.c-rewards-app-item {
  position: relative;
  font-size: 24px;
  padding-bottom: 35px;
  margin-bottom: 30px;
  border-bottom: 1px solid #d9d5cf;
}

@media (min-width: 768px) {
  .c-rewards-app-item {
    border-bottom: none;
    margin-bottom: 0;
  }
}

.c-rewards-app-item--last {
  margin-bottom: 0;
}

.c-rewards-app-item--bordered {
  border-bottom: 1px solid #d9d5cf;
  margin-bottom: 30px;
}

.c-rewards-app-item__icon {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  color: #cda157;
  font-size: 36px;
  text-shadow: 1px 1px #fff;
}

.c-rewards-app-item__copy {
  padding-left: 60px;
  max-width: 280px;
  display: inline-block;
  vertical-align: top;
  text-shadow: 1px 1px #fff;
}

.c-rewards-app__title {
  margin-bottom: 30px;
}

.c-rewards-app__title > h2 {
  display: block;
  font-size: 28px;
  font-weight: normal;
  margin: 0 0 20px 0;
  padding-right: 0;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .c-rewards-app__title > h2 {
    font-size: 38px;
  }
}

@media (min-width: 1200px) {
  .c-rewards-app__title > h2 {
    display: inline-block;
    font-size: 48px;
    margin: 0;
    padding-right: 20px;
  }
}

.c-rewards-app__title > a {
  display: inline-block;
  vertical-align: top;
  padding-right: 20px;
  margin-bottom: 10px;
}

.c-rewards-app__title > a:last-child {
  padding: 0;
  margin: 0;
}

@media (min-width: 768px) {
  .c-rewards-app__title > a {
    vertical-align: middle;
    margin: 0;
  }
}

@media (min-width: 768px) {
  .c-rewards-app__title {
    margin-bottom: 60px;
  }
}

.c-rewards-phone {
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  width: 600px;
  display: none;
}

@media (min-width: 1200px) {
  .c-rewards-phone {
    display: block;
  }
}

@media (min-width: 1500px) {
  .c-rewards-phone {
    width: 690px;
    display: block;
  }
}

.c-rewards-phone img {
  display: block;
  max-width: 100%;
  height: auto;
}

@-webkit-keyframes shake {
  10%, 90% {
    -webkit-transform: translate3d(-1px, 0, 0);
            transform: translate3d(-1px, 0, 0);
  }

  20%, 80% {
    -webkit-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    -webkit-transform: translate3d(-4px, 0, 0);
            transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    -webkit-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0);
  }
}

@-moz-keyframes shake {
  10%, 90% {
    -webkit-transform: translate3d(-1px, 0, 0);
               -moz-transform: translate3d(-1px, 0, 0);
            transform: translate3d(-1px, 0, 0);
  }

  20%, 80% {
    -webkit-transform: translate3d(2px, 0, 0);
               -moz-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    -webkit-transform: translate3d(-4px, 0, 0);
               -moz-transform: translate3d(-4px, 0, 0);
            transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    -webkit-transform: translate3d(4px, 0, 0);
               -moz-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0);
  }
}

@keyframes shake {
  10%, 90% {
    -webkit-transform: translate3d(-1px, 0, 0);
               -moz-transform: translate3d(-1px, 0, 0);
            transform: translate3d(-1px, 0, 0);
  }

  20%, 80% {
    -webkit-transform: translate3d(2px, 0, 0);
               -moz-transform: translate3d(2px, 0, 0);
            transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    -webkit-transform: translate3d(-4px, 0, 0);
               -moz-transform: translate3d(-4px, 0, 0);
            transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    -webkit-transform: translate3d(4px, 0, 0);
               -moz-transform: translate3d(4px, 0, 0);
            transform: translate3d(4px, 0, 0);
  }
}

@-webkit-keyframes wave {
  0% {
    margin-left: 0;
  }

  100% {
    margin-left: -200px;
  }
}

@-moz-keyframes wave {
  0% {
    margin-left: 0;
  }

  100% {
    margin-left: -200px;
  }
}

@keyframes wave {
  0% {
    margin-left: 0;
  }

  100% {
    margin-left: -200px;
  }
}

@-webkit-keyframes incrementRewardCup {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }

  50% {
    -webkit-transform: scale(1.6);
            transform: scale(1.6);
    opacity: .7;
  }

  60% {
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
    opacity: 1;
  }

  80% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }

  100% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    color: #fff;
  }
}

@-moz-keyframes incrementRewardCup {
  0% {
    -webkit-transform: scale(1.1);
               -moz-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }

  50% {
    -webkit-transform: scale(1.6);
               -moz-transform: scale(1.6);
            transform: scale(1.6);
    opacity: .7;
  }

  60% {
    -webkit-transform: scale(0.6);
               -moz-transform: scale(0.6);
            transform: scale(0.6);
    opacity: 1;
  }

  80% {
    -webkit-transform: scale(0.95);
               -moz-transform: scale(0.95);
            transform: scale(0.95);
  }

  100% {
    -webkit-transform: scale(1.3);
               -moz-transform: scale(1.3);
            transform: scale(1.3);
    color: #fff;
  }
}

@keyframes incrementRewardCup {
  0% {
    -webkit-transform: scale(1.1);
               -moz-transform: scale(1.1);
                 -o-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }

  50% {
    -webkit-transform: scale(1.6);
               -moz-transform: scale(1.6);
                 -o-transform: scale(1.6);
            transform: scale(1.6);
    opacity: .7;
  }

  60% {
    -webkit-transform: scale(0.6);
               -moz-transform: scale(0.6);
                 -o-transform: scale(0.6);
            transform: scale(0.6);
    opacity: 1;
  }

  80% {
    -webkit-transform: scale(0.95);
               -moz-transform: scale(0.95);
                 -o-transform: scale(0.95);
            transform: scale(0.95);
  }

  100% {
    -webkit-transform: scale(1.3);
               -moz-transform: scale(1.3);
                 -o-transform: scale(1.3);
            transform: scale(1.3);
    color: #fff;
  }
}

@-webkit-keyframes cupHeight {
  0% {
    height: 0;
  }
}

@-moz-keyframes cupHeight {
  0% {
    height: 0;
  }
}

@keyframes cupHeight {
  0% {
    height: 0;
  }
}

.c-member-page__table td {
  border-bottom: none;
  font-size: inherit;
}

.c-member-page__table th {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 18px;
  font-weight: 500;
}

@media (min-width: 992px) {
  .c-member-page__table th {
    font-size: 24px;
  }
}

.c-form {
  /* Hover and focus states */
  /* Hover and focus states */
  /* Checked state */
  /* Disabled state */
  /* Check mark */
  /* Show check mark */
  /* Checkbox tick */
  /* Disabled tick colour */
  /* Radio button inner circle */
  /* Disabled circle colour */
}

.c-form .form-group {
  margin-bottom: 20px;
}

.c-form .form-group .form-control-feedback {
  line-height: 60px;
  color: #ff7800;
}

.c-form .form-group.has-error .help-block {
  position: absolute;
  top: 10px;
  right: 0;
  color: #ff7800;
  font-size: 14px;
  margin: 0 0 5px 0;
}

.c-form .form-group.has-error .help-block label {
  font-size: 14px;
  margin: 0;
}

.c-form .form-group.has-error input[type],
.c-form .form-group.has-error .multiselect__tags {
  border-color: #ff7800;
}

.c-form .form-group.has-error .form-control:focus {
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.c-form .form-group.is-empty .multiselect__single {
  color: #999;
}

.c-form label {
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
}

.c-form .c-form-input {
  position: relative;
}

.c-form input[type],
.c-form select {
  -webkit-appearance: none;
  position: relative;
  padding: 4px 15px;
  width: 100%;
  height: 60px;
  -moz-border-radius: 0;
       border-radius: 0;
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  border: 1px solid #dbceb7;
}

.c-form input[type]:focus,
.c-form select:focus {
  background: #f5f8fc;
  outline: none;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

.c-form input[type]::-ms-clear,
.c-form select::-ms-clear {
  width: 0;
  height: 0;
}

.c-form input[type]::-ms-clear,
.c-form select::-ms-clear {
  width: 0;
  height: 0;
}

.c-form input[type]::-webkit-outer-spin-button,
.c-form input[type]::-webkit-inner-spin-button,
.c-form select::-webkit-outer-spin-button,
.c-form select::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.c-form .multiselect__tags {
  border: 1px solid #dbceb7;
  line-height: 60px;
  height: 60px;
}

.c-form .multiselect__select {
  height: 60px;
  right: 10px;
}

.c-form .multiselect__select:before {
  top: 55%;
  color: #999;
  margin-top: 0;
  border-style: solid;
  border-width: 5px 5px 0;
  border-color: #999 transparent transparent;
  content: "";
}

.c-form .multiselect__select:after,
.c-form .multiselect__select:before {
  top: 45%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.c-form .multiselect__select:after {
  border-top-color: #FFFFFF;
  border-width: 6px;
  margin-left: -6px;
}

.c-form .multiselect__select:before {
  border-top-color: #9A1A39;
  border-width: 8px;
  margin-left: -8px;
}

.c-form .multiselect__option--selected {
  color: inherit;
}

.c-form .multiselect__option--selected.multiselect__option--highlight {
  background: #9A1A39;
}

.c-form .multiselect__option:hover,
.c-form .multiselect__option--highlight {
  background: #9A1A39;
  color: #fff;
}

.c-form .multiselect__single {
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  color: #303030;
  padding: 4px 15px;
  margin: 0;
}

.c-form .multiselect__tags {
  padding: 0 40px 0 0;
  -moz-border-radius: 0;
       border-radius: 0;
  border: 1px solid #dbceb7;
}

.c-form .multiselect__content {
  border: 1px solid #dbceb7;
}

.c-form input[type=checkbox],
.c-form input[type=radio] {
  position: absolute;
  display: block;
  width: auto;
}

.c-form .c-form-checkbox-control {
  pointer-events: inherit;
  font-size: 18px;
  position: relative;
  display: block;
  padding-left: 55px;
  margin: 0;
  cursor: pointer;
  line-height: 30px;
  opacity: inherit;
  -webkit-transform: none;
             -moz-transform: none;
              -ms-transform: none;
               -o-transform: none;
          transform: none;
  -webkit-transition: none;
  -o-transition: none;
  -moz-transition: none;
  transition: none;
  text-transform: none;
  left: 0;
  top: 0;
}

.c-form .c-form-checkbox-control a {
  font-size: 18px;
}

.c-form .c-form-checkbox-control a:hover {
  text-decoration: underline;
}

.c-form .c-form-checkbox-control.has-error input ~ .c-form-control__indicator,
.c-form .c-form-checkbox-control.has-error input:focus ~ .c-form-control__indicator {
  border-color: #ff7800;
}

.c-form .c-form-checkbox-control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
  height: auto;
  padding: 0;
}

.c-form .c-form-control__indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #dbceb7;
  -moz-border-radius: 2px;
       border-radius: 2px;
  background-color: #FFF;
  -webkit-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear;
  -moz-transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -moz-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear;
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border-bottom 0.1s linear, -webkit-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -moz-box-shadow 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-form .c-form-control--radio .c-form-control__indicator {
  -moz-border-radius: 50%;
       border-radius: 50%;
}

.c-form .c-form-checkbox-control.c-form-control--radio input:focus ~ .c-form-control__indicator {
  background: #f5f8fc;
}

.c-form .c-form-checkbox-control input:focus ~ .c-form-control__indicator {
  background: #f5f8fc;
}

.c-form .c-form-checkbox-control input:checked ~ .c-form-control__indicator {
  border: 1px solid #9A1A39;
}

.c-form .c-form-checkbox-control input:disabled ~ .c-form-control__indicator {
  pointer-events: none;
  opacity: .6;
  background: #e6e6e6;
}

.c-form .c-form-control__indicator:after {
  position: absolute;
  display: none;
  content: '';
}

.c-form .c-form-checkbox-control input:checked ~ .c-form-control__indicator:after {
  display: block;
}

.c-form .c-form-control--checkbox .c-form-control__indicator:after {
  top: 4px;
  left: 10px;
  width: 10px;
  height: 18px;
  -webkit-transform: rotate(45deg);
             -moz-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
               -o-transform: rotate(45deg);
          transform: rotate(45deg);
  border: solid #9A1A39;
  border-width: 0 4px 4px 0;
}

.c-form .c-form-control--checkbox input:disabled ~ .c-form-control__indicator:after {
  border-color: #7b7b7b;
}

.c-form .c-form-control--radio .c-form-control__indicator:after {
  top: 9px;
  left: 9px;
  width: 10px;
  height: 10px;
  -moz-border-radius: 50%;
       border-radius: 50%;
  background: #9A1A39;
}

.c-form .c-form-control--radio input:focus ~ .c-form-control__indicator:after {
  top: 9px;
  left: 9px;
}

.c-form .c-form-control--radio input:disabled ~ .c-form-control__indicator:after {
  background: #7b7b7b;
}

.btn-submit {
  height: 50px;
  width: 100%;
  outline: none;
  position: relative;
  display: inline-block;
  background-color: #9A1A39;
  color: #fff;
  line-height: 1;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  text-transform: uppercase;
  padding: 10px 20px 10px 20px;
  border: none;
  -webkit-transition: all .1s linear;
  -o-transition: all .1s linear;
  -moz-transition: all .1s linear;
  transition: all .1s linear;
  vertical-align: middle;
}

.btn-submit:hover {
  background-color: #4A1225;
}

@media (min-width: 768px) {
  .btn-submit {
    max-width: 180px;
  }
}

.btn-submit .icon-mb-spinner {
  display: inline-block;
  font-size: 16px;
  margin-left: -15px;
  -webkit-animation: loadingCircle 1s infinite linear;
             -moz-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}

@media (min-width: 768px) {
  .btn-submit {
    max-width: 180px;
  }
}

.btn-submit__text {
  display: inline-block;
  -webkit-transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.btn-submit--processing {
  background-color: #4A1225;
}

.btn-submit--processing .btn-submit__text {
  margin-left: 10px;
}

@-webkit-keyframes loadingCircle {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-moz-keyframes loadingCircle {
  0% {
    -webkit-transform: rotate(0deg);
               -moz-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loadingCircle {
  0% {
    -webkit-transform: rotate(0deg);
               -moz-transform: rotate(0deg);
                 -o-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
               -moz-transform: rotate(360deg);
                 -o-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.c-alert {
  background-color: #FEDC88;
  color: #4A1225;
  padding: 10px 14px 10px 14px;
  font-size: 22px;
  text-decoration: none;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  -moz-border-radius: 3px;
       border-radius: 3px;
  text-align: center;
  margin-bottom: 25px;
  border: 1px solid #4A1225;
}

.c-alert-success {
  background-color: #dff0d8;
  color: #3c763d;
  border: 1px solid #d6e9c6;
}

.page-hero {
  position: relative;
  overflow: hidden;
  background: #111;
  min-height: 380px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
}

.page-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 140%;
  width: 100%;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.page-hero__image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-hero__image:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
}

.page-hero__content {
  position: relative;
  padding-top: 90px;
  padding-bottom: 90px;
}

.page-hero__content-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.page-hero__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  color: #fff;
  font-size: 55px;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
}

@media (min-width: 576px) {
  .page-hero__title {
    font-size: 70px;
  }
}

@media (min-width: 768px) {
  .page-hero__title {
    font-size: 85px;
  }
}

.page-hero__breadcrumb {
  color: #FEDC88;
  margin: 0;
  font-weight: bold;
  font-size: 14px;
}

.page-hero__breadcrumb a {
  color: #FEDC88;
}

/**
  Page Hero Scaled
 */

.page-hero-scaled {
  margin: 0 auto;
}

.page-hero-scaled__inner {
  position: relative;
  overflow: hidden;
  height: 0;
  background: #111;
}

@media (min-width: 330px) {
  .page-hero-scaled__inner {
    padding-bottom: 75%;
  }
}

@media (min-width: 576px) {
  .page-hero-scaled__inner {
    padding-bottom: 60%;
  }
}

@media (min-width: 768px) {
  .page-hero-scaled__inner {
    padding-bottom: 30%;
  }
}

@media (min-width: 992px) {
  .page-hero-scaled__inner {
    padding-bottom: 25%;
  }
}

.page-hero-scaled__reset {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-hero-scaled__content {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  color: #fff;
  padding: 20px;
}

.page-hero-scaled__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 135%;
  width: 100%;
  z-index: 0;
  transition: -webkit-transform 10ms linear;
  -webkit-transition: -webkit-transform 10ms linear;
  -o-transition: -o-transform 10ms linear;
  -moz-transition: transform 10ms linear, -moz-transform 10ms linear;
  transition: transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear, -moz-transform 10ms linear, -o-transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  background-color: #111;
}

.page-hero-scaled__image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.page-hero-scaled__image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-hero-scaled__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
  font-size: 60px;
}

@media (min-width: 768px) {
  .page-hero-scaled__title {
    font-size: 80px;
  }
}

@media (min-width: 992px) {
  .page-hero-scaled__title {
    font-size: 100px;
  }
}

.page-hero-scaled__breadcrumb {
  color: #FEDC88;
  margin: 0;
  font-weight: bold;
  font-size: 14px;
}

.page-hero-scaled__breadcrumb a {
  color: #FEDC88;
  display: inline-block;
  padding: 5px;
  font-weight: bold;
}

.page-hero-scaled__breadcrumb a:hover {
  text-decoration: underline;
}

.page-hero-scaled__breadcrumb span {
  font-weight: normal;
  color: #fff;
}

/**
  Page Static Hero
 */

.page-static-hero {
  position: relative;
  overflow: hidden;
  background: #111;
  min-height: 380px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          -webkit-align-items: center;
             -moz-box-align: center;
          align-items: center;
}

.page-static-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.page-static-hero__image > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.page-static-hero__image:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
}

.page-static-hero__content {
  position: relative;
  padding-top: 90px;
  padding-bottom: 90px;
}

.page-static-hero__content-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.page-static-hero__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  color: #fff;
  font-size: 55px;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
}

@media (min-width: 576px) {
  .page-static-hero__title {
    font-size: 70px;
  }
}

@media (min-width: 768px) {
  .page-static-hero__title {
    font-size: 85px;
  }
}

.page-static-hero__breadcrumb {
  color: #FEDC88;
  margin: 0;
  font-weight: bold;
  font-size: 14px;
}

.page-static-hero__breadcrumb a {
  color: #FEDC88;
}

/**
  Page Static Hero Scaled
 */

.page-static-hero-scaled {
  margin: 0 auto 30px 0;
}

@media (min-width: 576px) {
  .page-static-hero-scaled {
    margin: 0 auto 60px 0;
  }
}

.page-static-hero-scaled__inner {
  position: relative;
  overflow: hidden;
  height: 0;
  background: #111;
}

@media (min-width: 0) and (max-width: 575px) {
  .page-static-hero-scaled__inner {
    padding-bottom: 75%;
  }
}

@media (min-width: 576px) {
  .page-static-hero-scaled__inner {
    padding-bottom: 60%;
  }
}

@media (min-width: 768px) {
  .page-static-hero-scaled__inner {
    padding-bottom: 30%;
  }
}

@media (min-width: 992px) {
  .page-static-hero-scaled__inner {
    padding-bottom: 25%;
  }
}

.page-static-hero-scaled__reset {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.page-static-hero-scaled__content {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
             -moz-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
               -o-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  color: #fff;
  padding: 20px;
  text-align: center;
}

.page-static-hero-scaled__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  transition: -webkit-transform 10ms linear;
  -webkit-transition: -webkit-transform 10ms linear;
  -o-transition: -o-transform 10ms linear;
  -moz-transition: transform 10ms linear, -moz-transform 10ms linear;
  transition: transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear, -moz-transform 10ms linear, -o-transform 10ms linear;
  transition: transform 10ms linear, -webkit-transform 10ms linear;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  background-color: #111;
  -moz-background-size: cover;
       background-size: cover;
  background-image: url(../images/member_summary_hero.jpg?e7916f7c444dd612060356b64de87f20);
  background-position: center center;
}

.page-static-hero-scaled__image:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
}

.page-static-hero-scaled__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: none;
}

.page-static-hero-scaled__title {
  font-family: 'intro_head_hh2_base', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  text-shadow: 2px 2px rgba(0, 0, 0, 0.3);
  font-size: 55px;
}

@media (min-width: 768px) {
  .page-static-hero-scaled__title {
    font-size: 80px;
  }
}

@media (min-width: 992px) {
  .page-static-hero-scaled__title {
    font-size: 84px;
  }
}

.page-static-hero-scaled__byline {
  position: relative;
  display: inline-block;
  color: #FEDC88;
  margin: 0 0 20px 0;
  padding: 0 20px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  line-height: 1;
  font-size: 26px;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
}

.page-static-hero-scaled__byline span {
  font-weight: normal;
  color: #fff;
}

.page-static-hero-scaled__byline:before,
.page-static-hero-scaled__byline:after {
  font-size: 40px;
  line-height: 1;
  position: absolute;
  display: block;
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: initial;
}

.page-static-hero-scaled__byline:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  -webkit-transform: translate(-15px, -50%);
             -moz-transform: translate(-15px, -50%);
              -ms-transform: translate(-15px, -50%);
               -o-transform: translate(-15px, -50%);
          transform: translate(-15px, -50%);
}

.page-static-hero-scaled__byline:after {
  right: 0;
  top: 40%;
  content: 'u';
  -webkit-transform: translate(15px, -50%);
             -moz-transform: translate(15px, -50%);
              -ms-transform: translate(15px, -50%);
               -o-transform: translate(15px, -50%);
          transform: translate(15px, -50%);
}

@media (min-width: 768px) {
  .page-static-hero-scaled__byline {
    font-size: 36px;
  }
}

/**
  Member Menu
 */

.c-member-menu {
  border-bottom: 1px solid rgba(192, 183, 177, 0.5);
  background: rgba(192, 183, 177, 0.2);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  -ms-flex-wrap: nowrap;
          -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
  overflow: hidden;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.c-member-menu:before,
.c-member-menu:after {
  content: " ";
  display: table;
}

.c-member-menu:after {
  clear: both;
}

.c-member-menu__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
}

.c-member-menu__left {
  float: left;
}

.c-member-menu__right {
  float: right;
}

.c-member-menu__link {
  display: block;
  float: left;
  padding: 10px 24px 8px 18px;
  border-right: 1px solid #CAC4BC;
  border-bottom: 3px solid transparent;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #828180;
  font-size: 20px;
  text-transform: uppercase;
}

.c-member-menu__link:first-child {
  border-left: 1px solid #CAC4BC;
}

.c-member-menu__link > span {
  display: inline-block;
  margin-right: 10px;
  padding-top: 4px;
}

.c-member-menu__link:hover {
  color: #9A1A39;
  border-bottom-color: #9A1A39;
}

.c-member-menu__link.active {
  color: #9A1A39;
  border-bottom-color: #CAC4BC;
}

@media (min-width: 992px) {
  .c-member-menu__link {
    padding: 18px 24px 16px 18px;
  }
}

.c-rewards-login {
  display: block;
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .c-rewards-login {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    margin-bottom: 60px;
  }
}

.c-rewards-tile {
  margin-bottom: 40px;
}

@media (min-width: 992px) {
  .c-rewards-tile {
    margin-bottom: 20px;
  }
}

.c-content-tile,
.c-login-tile {
  height: 100%;
  background-color: #fff;
  font-family: 'plutocond', sans-serif;
  -webkit-box-shadow: 0 15px 35px 0 rgba(0, 0, 0, 0.2);
     -moz-box-shadow: 0 15px 35px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 15px 35px 0 rgba(0, 0, 0, 0.2);
}

.c-content-tile {
  position: relative;
  padding: 0 30px 0 30px;
  background-color: #fff;
  font-family: 'plutocond', sans-serif;
  text-align: center;
}

.c-content-tile__content--info {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}

.c-content-tile__content hr {
  border-color: #dbceb7;
  width: -webkit-calc(100% - 40px);
  width: -moz-calc(100% - 40px);
  width: calc(100% - 40px);
}

.c-content-tile__title {
  display: block;
  text-align: center;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  color: #9A1A39;
  font-size: 42px;
  font-weight: 600;
  line-height: 1;
}

.c-content-tile__title--large {
  position: relative;
  display: inline-block;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
  color: #9A1A39;
  font-size: 96px;
  font-weight: 600;
  line-height: 1;
  padding: 0 30px;
  position: relative;
}

.c-content-tile__title--large:before,
.c-content-tile__title--large:after {
  font-size: 55px;
  line-height: 1;
  position: absolute;
  display: block;
  vertical-align: middle;
}

.c-content-tile__title--large:before {
  left: 0;
  top: 40%;
  content: 't';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(-15px, -50%);
             -moz-transform: translate(-15px, -50%);
              -ms-transform: translate(-15px, -50%);
               -o-transform: translate(-15px, -50%);
          transform: translate(-15px, -50%);
}

.c-content-tile__title--large:after {
  right: 0;
  top: 40%;
  content: 'u';
  font-family: 'intro_goodiesbanners__endings', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  -webkit-transform: translate(15px, -50%);
             -moz-transform: translate(15px, -50%);
              -ms-transform: translate(15px, -50%);
               -o-transform: translate(15px, -50%);
          transform: translate(15px, -50%);
}

.c-content-tile__byline {
  display: block;
  font-size: 18px;
  text-align: center;
  padding-top: 50px;
  margin-bottom: 10px;
}

.c-content-tile__content p {
  margin: 0 auto 20px auto;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
  max-width: 380px;
  text-align: center;
}

.c-content-tile__list {
  padding-bottom: 20px;
}

.c-content-tile__list > div {
  padding-bottom: 20px;
}

@media (min-width: 992px) {
  .c-content-tile__list > div {
    padding-bottom: 0;
  }
}

.c-content-tile__icon {
  display: block;
  color: #cda157;
  font-size: 44px;
  margin-bottom: 20px;
}

.c-login-tile__tab {
  float: left;
  width: 50%;
  padding: 0 5px 0 5px;
  cursor: pointer;
  background-color: #e3e0dc;
  line-height: 60px;
  height: 60px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #9A1A39;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

.c-login-tile__tab--active {
  background-color: #fff;
}

.c-login-tile__tab--active:after {
  display: none;
}

@media (min-width: 576px) {
  .c-login-tile__tab--active:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #FFF;
    height: 10px;
    -webkit-transform: translateY(-10px);
               -moz-transform: translateY(-10px);
                -ms-transform: translateY(-10px);
                 -o-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}

.c-login-tile__form {
  background-color: #fff;
  padding: 30px 20px 20px 20px;
}

.c-login-tile__form .c-form {
  padding-bottom: 45px;
}

.c-login-tile__form .c-form .form-group:last-of-type {
  margin-bottom: 40px;
}

.c-login-tile__form hr {
  display: block;
  border-color: #dbceb7;
  margin: 0 0 30px 0;
  width: -webkit-calc(100% - 20px);
  width: -moz-calc(100% - 20px);
  width: calc(100% - 20px);
}

@media (min-width: 768px) {
  .c-login-tile__form {
    padding: 30px 40px 20px 40px;
  }

  .c-login-tile__form hr {
    margin: 0 0 60px 0;
  }
}

.c-login-tile__recover {
  font-weight: 600;
  margin-bottom: 20px;
}

.c-login-tile__recover a {
  display: block;
  margin-bottom: 10px;
}

.c-login-tile__recover a:first-child {
  position: relative;
}

.c-login-tile__recover a:first-child::after {
  content: "";
}

.c-login-tile__recover a:last-child {
  padding-left: 0;
}

.c-login-tile__recover a:hover {
  color: #4A1225;
}

@media (min-width: 576px) {
  .c-login-tile__recover {
    margin-bottom: 40px;
  }

  .c-login-tile__recover a {
    display: inline-block;
  }

  .c-login-tile__recover a:first-child {
    position: relative;
  }

  .c-login-tile__recover a:first-child::after {
    padding-left: 20px;
    content: '|';
    color: #ebe9e6;
  }

  .c-login-tile__recover a:last-child {
    padding-left: 20px;
  }
}

.c-login-tile__error {
  margin-bottom: 15px;
}

.c-login-tile__error .c-alert {
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .c-login-tile__error {
    margin-bottom: 20px;
  }
}

.c-tile-shake {
  -webkit-animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
             -moz-animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
          animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
             -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-perspective: 1000px;
             -moz-perspective: 1000px;
          perspective: 1000px;
}

.c-member-page ol {
  border-top: none;
}

.c-top-link--logout > span {
  display: inline-block;
  vertical-align: middle;
}

.c-member-page {
  font-family: 'plutocond', sans-serif;
  font-size: 16px;
  padding-bottom: 30px;
}

@media (min-width: 992px) {
  .c-member-page {
    font-size: 18px;
    padding-bottom: 60px;
  }
}

.c-member-page__title {
  font-size: 42px;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #9A1A39;
  text-transform: uppercase;
  font-weight: 600;
  padding-bottom: 30px;
  margin: 0 0 25px 0;
  border-bottom: 2px solid #cbc7bf;
}

.c-member-page p {
  margin-bottom: 30px;
}

.c-member-page__list li {
  line-height: 60px;
  border-bottom: 1px solid #e7e5e0;
}

.c-table__wrapper tr.collapse > td,
.c-table__wrapper tr.collapsing > td {
  padding: 0;
}

.c-member-page__table--collapsed {
  border-color: #e7e5e0;
  border-bottom: 1px solid #e7e5e0;
}

.c-member-page__table--collapsed td:not(:first-child) {
  width: 100px;
}

.c-member-page__table--collapsed td {
  background: #fff;
}

.c-member-page__table--collapsed th {
  font-size: 16px;
  background: #F5F4F2;
}

.c-member-page__table--collapsed tr {
  border-bottom: 1px solid #EBE9E6;
}

.c-table__collapse {
  cursor: pointer;
}

.c-table__collapse span {
  transition: -webkit-transform .2s ease;
  -webkit-transition: -webkit-transform .2s ease;
  -o-transition: -o-transform .2s ease;
  -moz-transition: transform .2s ease, -moz-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease, -moz-transform .2s ease, -o-transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
}

.c-table__collapse[aria-expanded="true"] span {
  -webkit-transform: rotate(90deg);
             -moz-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
               -o-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-table td:nth-child(2n) {
  background: #fff;
}

.c-table__wrapper--transactions th {
  background-color: #9A1A39;
}

.c-table__wrapper--transactions td,
.c-table__wrapper--transactions td:nth-child(2n + 1) {
  background-color: #fff;
}

.c-member-page__table--collapsed {
  margin-bottom: 10px;
}

.c-member-page__table--collapsed th,
.c-member-page__table--collapsed th:nth-child(2n + 1) {
  background: #EBE9E6;
  border-bottom: 1px solid #C1B8B3;
  color: #000000;
}

.c-member-page__table--collapsed td,
.c-member-page__table--collapsed td:nth-child(2n),
.c-member-page__table--collapsed td:nth-child(2n + 1) {
  background-color: #f9f9f9;
}

.c-member-page__rewards-cup {
  margin: 0 auto;
  text-align: center;
}

@media (min-width: 576px) {
  .c-member-page__rewards-cup {
    text-align: right;
  }
}

.c-member-rewards-cup {
  position: relative;
  max-width: 300px;
  display: inline-block;
  font-family: 'intro_head_bbase', sans-serif;
  font-weight: 400;
  color: #d5c2c3;
  font-size: 24px;
  font-weight: 600;
}

.c-member-rewards-cup__bg {
  max-width: 100%;
  height: auto;
  z-index: 1;
}

.c-member-rewards-cup__overlay {
  z-index: -1;
  position: absolute;
  bottom: 0;
  width: 75%;
  height: 80%;
  left: 50%;
  -webkit-transform: translateX(-50%);
             -moz-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
               -o-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-member-rewards-cup__free {
  position: absolute;
  top: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
             -moz-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
               -o-transform: translateX(-50%);
          transform: translateX(-50%);
  text-transform: uppercase;
  font-size: 24px;
}

@media (min-width: 576px) {
  .c-member-rewards-cup__free {
    font-size: 30px;
  }
}

.c-member-rewards-cup__count {
  list-style: none;
  position: absolute;
  top: 85px;
  bottom: 30px;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  z-index: -1;
  font-size: 20px;
  overflow: hidden;
}

.c-member-rewards-cup__count ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.c-member-rewards-cup__count ul li {
  display: inline-block;
  position: relative;
  width: 100%;
  text-align: center;
  padding: 15px 0 20px 0;
  font-size: 20px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-member-rewards-cup__count ul li.is-active {
  -webkit-animation: incrementRewardCup 0.4s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
             -moz-animation: incrementRewardCup 0.4s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
          animation: incrementRewardCup 0.4s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
  -webkit-animation-fill-mode: forwards;
             -moz-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(1) {
  -webkit-animation-delay: 0.5s;
             -moz-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(2) {
  -webkit-animation-delay: 1s;
             -moz-animation-delay: 1s;
          animation-delay: 1s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(3) {
  -webkit-animation-delay: 1.5s;
             -moz-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(4) {
  -webkit-animation-delay: 2s;
             -moz-animation-delay: 2s;
          animation-delay: 2s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(5) {
  -webkit-animation-delay: 2.5s;
             -moz-animation-delay: 2.5s;
          animation-delay: 2.5s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(6) {
  -webkit-animation-delay: 3s;
             -moz-animation-delay: 3s;
          animation-delay: 3s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(7) {
  -webkit-animation-delay: 3.5s;
             -moz-animation-delay: 3.5s;
          animation-delay: 3.5s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(8) {
  -webkit-animation-delay: 4s;
             -moz-animation-delay: 4s;
          animation-delay: 4s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(9) {
  -webkit-animation-delay: 4.5s;
             -moz-animation-delay: 4.5s;
          animation-delay: 4.5s;
}

.c-member-rewards-cup__count ul li.is-active:nth-last-of-type(10) {
  -webkit-animation-delay: 5s;
             -moz-animation-delay: 5s;
          animation-delay: 5s;
}

@media (min-width: 576px) {
  .c-member-rewards-cup__count ul li {
    padding: 13px 0 14px 0;
    font-size: 24px;
  }
}

.c-rewards-cup-level {
  height: 0;
  width: 100%;
  bottom: 0;
  position: absolute;
  -webkit-animation: cupHeight 1.5s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
             -moz-animation: cupHeight 1.5s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
          animation: cupHeight 1.5s cubic-bezier(0.36, 0.45, 0.63, 0.53) 1;
  -webkit-animation-fill-mode: forwards;
             -moz-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -moz-background-size: 100% 200%;
       background-size: 100% 200%;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(100%, transparent), color-stop(50%, #4B1225));
  background-image: -webkit-linear-gradient(top, transparent 100%, #4B1225 50%);
  background-image: -moz-linear-gradient(top, transparent 100%, #4B1225 50%);
  background-image: linear-gradient(to bottom, transparent 100%, #4B1225 50%);
  background-color: #4B1225;
}

.c-rewards-cup-level__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-rewards-cup-level__inner:before {
  content: '';
  width: 400px;
  height: 100%;
  position: absolute;
  top: -10px;
  left: 50px;
  background: url(../fonts/rewards-cup-fill-wide.svg?599714cdac4ece23776ce2c1d0e40a79);
  -moz-background-size: 100%;
       background-size: 100%;
  -webkit-animation: wave 2s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
             -moz-animation: wave 2s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
          animation: wave 2s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
  -webkit-animation-fill-mode: forwards;
  -webkit-transform: translate3d(0, 0, 0);
             -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: -1;
  -webkit-transition: top;
  -o-transition: top;
  -moz-transition: top;
  transition: top;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvYXBwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL19ib290c3RyYXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19taXhpbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNpemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wYW5lbHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25vcm1hbGl6ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ByaW50LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZ2x5cGhpY29ucy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdHlwZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2NvZGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fY29tcG9uZW50LWFuaW1hdGlvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19kcm9wZG93bnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b24tZ3JvdXBzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9faW5wdXQtZ3JvdXBzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbmF2cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25hdmJhci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2JyZWFkY3J1bWJzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3BhZ2VyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGFiZWxzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYmFkZ2VzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fanVtYm90cm9uLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGh1bWJuYWlscy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2FsZXJ0cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19tZWRpYS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2xpc3QtZ3JvdXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYW5lbHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fd2VsbHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jbG9zZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX21vZGFscy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Rvb2x0aXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wb3BvdmVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Nhcm91c2VsLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvbWFpbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19zZXR0aW5ncy5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19jb250ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX2hlbHBlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fcGFyc2Vycy5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3F1ZXJ5LnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fc2luZ2xlLnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9zaW5nbGUvX2RlZmF1bHQuc2NzcyIsIm5vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19kb3VibGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC1wYWlyLnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RvdWJsZS1zdHJpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3RyaXBsZS5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvdHJpcGxlL19kZWZhdWx0LnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fcmVzb2x1dGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvcmVzb2x1dGlvbi9fcmVzb2x1dGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19uby1xdWVyeS5zY3NzIiwibm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19yZXNwb25kLXRvLnNjc3MiLCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX2xlZ2FjeS1zZXR0aW5ncy5zY3NzIiwibm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvY29yZS5zY3NzIiwibm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvX3NpbmdsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvX211bHRpcGxlLnNjc3MiLCJub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIm5vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2RlZmF1bHQvbGF5b3V0LnNjc3MiLCJub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9kZWZhdWx0L19zaW5nbGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2RlZmF1bHQvX211bHRpcGxlLnNjc3MiLCJub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9jbGFzc2ljL2xheW91dC5zY3NzIiwibm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvdGhlbWUvY2xhc3NpYy9fZGVmYXVsdHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9jbGFzc2ljL19zaW5nbGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2NsYXNzaWMvX211bHRpcGxlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19vcGFjaXR5LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xhYmVscy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcGFuZWxzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ub3JtYWxpemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19zY2FmZm9sZGluZy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ByaW50LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3RhYmxlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Zvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9jb21tb24vX2hlbHBlcnMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvdmVuZG9yL19zd2lwZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvdmVuZG9yL19ucHJvZ3Jlc3Muc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tbW9uL19mb250cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9jb21tb24vX2FuaW1hdG9yLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbW1vbi9fYW5pbWF0b3Itdmlld3Muc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tbW9uL19hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tbW9uL19nbG9iYWwuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tbW9uL19vYmplY3RzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbW1vbi9fY29udGVudC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbXBvbmVudHMvX2NvbnRhaW5lci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9jb21wb25lbnRzL19sYXlvdXQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tcG9uZW50cy9fc2xpZGVvdXQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvY29tcG9uZW50cy9fb3VyLW1lbnUtY2F0ZWdvcnktc2xpZGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbXBvbmVudHMvX2FsZ29saWEtc2VhcmNoLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL2NvbXBvbmVudHMvX2NtLWNvbnRlbnQtbW9kdWxlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL3BhcnRpYWxzL19uYXYtbWFpbi1hc2lkZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9wYXJ0aWFscy9faGVyby1zbGlkZXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX2hlcm8tdGl0bGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX2FjdGlvbi1iYXIuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX2hvbWUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX2FydGljbGUtdGlsZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9wYXJ0aWFscy9fbWVudS1saXN0LWl0ZW1zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL3BhcnRpYWxzL19mYXFzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL3BhcnRpYWxzL19mb290ZXItbmF2LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW9yaWdpbmFsL3BhcnRpYWxzL19mb290ZXItY3Rhcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1vcmlnaW5hbC9wYXJ0aWFscy9fbmF2LWZpbHRlci1saW5rcy1zaW1wbGUuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX3N0b3JlLWxvY2F0b3Iuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItb3JpZ2luYWwvcGFydGlhbHMvX3Jld2FyZHMtYXBwLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW1lbWJlcnMvc3R5bGVzL2NvbW1vbi9fYW5pbWF0b3Iuc2NzcyIsInJlc291cmNlcy9hc3NldHMvbWItbWVtYmVycy9zdHlsZXMvY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW1lbWJlcnMvc3R5bGVzL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW1lbWJlcnMvc3R5bGVzL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1tZW1iZXJzL3N0eWxlcy9wYXJ0aWFscy9faGVyby10aXRsZS5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9tYi1tZW1iZXJzL3N0eWxlcy9wYXJ0aWFscy9fbmF2LW1lbWJlci1tZW51LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW1lbWJlcnMvc3R5bGVzL3BhcnRpYWxzL19yZXdhcmRzLWxvZ2luLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL21iLW1lbWJlcnMvc3R5bGVzL3BhcnRpYWxzL19tZW1iZXItcGFnZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcFwiO1xuXG4vL09yaWdpbmFsIFN0eWxlc1xuQGltcG9ydCBcIm1iLW9yaWdpbmFsL21haW4uc2Nzc1wiO1xuXG4vL01lbWJlciBTaXRlIFN0eWxlc1xuQGltcG9ydCBcIm1iLW1lbWJlcnMvc3R5bGVzL2NvbW1vbi9hbmltYXRvclwiO1xuXG5AaW1wb3J0IFwibWItbWVtYmVycy9zdHlsZXMvY29tcG9uZW50cy90YWJsZXNcIjtcbkBpbXBvcnQgXCJtYi1tZW1iZXJzL3N0eWxlcy9jb21wb25lbnRzL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWItbWVtYmVycy9zdHlsZXMvY29tcG9uZW50cy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtYi1tZW1iZXJzL3N0eWxlcy9wYXJ0aWFscy9oZXJvLXRpdGxlXCI7XG5AaW1wb3J0IFwibWItbWVtYmVycy9zdHlsZXMvcGFydGlhbHMvbmF2LW1lbWJlci1tZW51XCI7XG5AaW1wb3J0IFwibWItbWVtYmVycy9zdHlsZXMvcGFydGlhbHMvcmV3YXJkcy1sb2dpblwiO1xuQGltcG9ydCBcIm1iLW1lbWJlcnMvc3R5bGVzL3BhcnRpYWxzL21lbWJlci1wYWdlc1wiOyIsIi8qIVxuICogQm9vdHN0cmFwIHYzLjMuNyAoaHR0cDovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE2IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbi8vIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbkBpbXBvcnQgXCJib290c3RyYXAvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3ByaW50XCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dseXBoaWNvbnNcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdHlwZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYWdlclwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9sYWJlbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYmFkZ2VzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFuZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvd2VsbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvY2xvc2VcIjtcblxuLy8gQ29tcG9uZW50cyB3LyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21vZGFsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90b29sdGlwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcImJvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdGUgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxuJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc6ICA1cHggIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1ob3ZlcmAuXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4td2FybmluZy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbiRpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IFJlbmFtZSBgJGlucHV0LWJvcmRlci1yYWRpdXNgIHRvIGAkaW5wdXQtYm9yZGVyLXJhZGl1cy1iYXNlYCBpbiB2NFxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCAuZGwtaG9yaXpvbnRhbCBiZWNvbWVzIGhvcml6b250YWxcbiRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQ6ICAgICRncmlkLWZsb2F0LWJyZWFrcG9pbnQgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvb3BhY2l0eVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWItZm9jdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmVuZG9yLXByZWZpeGVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFuZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy9wcm9ncmVzcy1iYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2VudGVyLWJsb2NrXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBQYW5lbHNcblxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmLCBidXR0b24mIHRvIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSwgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX1cbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xufVxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgZmxvb3IoKCRndXR0ZXIgLyAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNlaWwoKCRndXR0ZXIgLyAyKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBHbHlwaGljb25zIGZvciBCb290c3RyYXBcbi8vXG4vLyBTaW5jZSBpY29ucyBhcmUgZm9udHMsIHRoZXkgY2FuIGJlIHBsYWNlZCBhbnl3aGVyZSB0ZXh0IGlzIHBsYWNlZCBhbmQgYXJlXG4vLyB0aHVzIGF1dG9tYXRpY2FsbHkgc2l6ZWQgdG8gbWF0Y2ggdGhlIHN1cnJvdW5kaW5nIGNoaWxkLiBUbyB1c2UsIGNyZWF0ZSBhblxuLy8gaW5saW5lIGVsZW1lbnQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcywgbGlrZSBzbzpcbi8vXG4vLyA8YSBocmVmPVwiI1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1zdGFyXCI+PC9zcGFuPiBTdGFyPC9hPlxuXG5AYXQtcm9vdCB7XG4gIC8vIEltcG9ydCB0aGUgZm9udHNcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gICAgc3JjOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3QnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3QnKSk7XG4gICAgc3JjOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90PyNpZWZpeCcpKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmMicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYyJykpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmJykpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0udHRmJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0udHRmJykpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnN2ZyMjeyRpY29uLWZvbnQtc3ZnLWlkfScpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnN2ZyMjeyRpY29uLWZvbnQtc3ZnLWlkfScpKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG5cbi8vIENhdGNoYWxsIGJhc2VjbGFzc1xuLmdseXBoaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBJbmRpdmlkdWFsIGljb25zXG4uZ2x5cGhpY29uLWFzdGVyaXNrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMDJhXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDAyYlwiOyB9IH1cbi5nbHlwaGljb24tZXVybyxcbi5nbHlwaGljb24tZXVyICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYWNcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMjEyXCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjYwMVwiOyB9IH1cbi5nbHlwaGljb24tZW52ZWxvcGUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MDlcIjsgfSB9XG4uZ2x5cGhpY29uLXBlbmNpbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzBmXCI7IH0gfVxuLmdseXBoaWNvbi1nbGFzcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMVwiOyB9IH1cbi5nbHlwaGljb24tbXVzaWMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDJcIjsgfSB9XG4uZ2x5cGhpY29uLXNlYXJjaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAzXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNVwiOyB9IH1cbi5nbHlwaGljb24tc3RhciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDZcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXItZW1wdHkgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH0gfVxuLmdseXBoaWNvbi11c2VyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOFwiOyB9IH1cbi5nbHlwaGljb24tZmlsbSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxhcmdlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEwXCI7IH0gfVxuLmdseXBoaWNvbi10aCAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGlzdCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTJcIjsgfSB9XG4uZ2x5cGhpY29uLW9rICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEzXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNFwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1pbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTVcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20tb3V0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE2XCI7IH0gfVxuLmdseXBoaWNvbi1vZmYgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxN1wiOyB9IH1cbi5nbHlwaGljb24tc2lnbmFsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMThcIjsgfSB9XG4uZ2x5cGhpY29uLWNvZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE5XCI7IH0gfVxuLmdseXBoaWNvbi10cmFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMFwiOyB9IH1cbi5nbHlwaGljb24taG9tZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbGUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIyXCI7IH0gfVxuLmdseXBoaWNvbi10aW1lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyM1wiOyB9IH1cbi5nbHlwaGljb24tcm9hZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjRcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkLWFsdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI1XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNlwiOyB9IH1cbi5nbHlwaGljb24tdXBsb2FkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWluYm94ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI4XCI7IH0gfVxuLmdseXBoaWNvbi1wbGF5LWNpcmNsZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOVwiOyB9IH1cbi5nbHlwaGljb24tcmVwZWF0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzBcIjsgfSB9XG4uZ2x5cGhpY29uLXJlZnJlc2ggICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMxXCI7IH0gfVxuLmdseXBoaWNvbi1saXN0LWFsdCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMlwiOyB9IH1cbi5nbHlwaGljb24tbG9jayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzNcIjsgfSB9XG4uZ2x5cGhpY29uLWZsYWcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM0XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkcGhvbmVzICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNVwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLW9mZiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzZcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM3XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOFwiOyB9IH1cbi5nbHlwaGljb24tcXJjb2RlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhcmNvZGUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQwXCI7IH0gfVxuLmdseXBoaWNvbi10YWcgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MVwiOyB9IH1cbi5nbHlwaGljb24tdGFncyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDJcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQzXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rbWFyayAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NFwiOyB9IH1cbi5nbHlwaGljb24tcHJpbnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDVcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbWVyYSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ2XCI7IH0gfVxuLmdseXBoaWNvbi1mb250ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0N1wiOyB9IH1cbi5nbHlwaGljb24tYm9sZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWl0YWxpYyAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWhlaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MFwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC13aWR0aCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUyXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1jZW50ZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1M1wiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTRcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWp1c3RpZnkgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU1XCI7IH0gfVxuLmdseXBoaWNvbi1saXN0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NlwiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LWxlZnQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1yaWdodCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU4XCI7IH0gfVxuLmdseXBoaWNvbi1mYWNldGltZS12aWRlbyAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OVwiOyB9IH1cbi5nbHlwaGljb24tcGljdHVyZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjBcIjsgfSB9XG4uZ2x5cGhpY29uLW1hcC1tYXJrZXIgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYyXCI7IH0gfVxuLmdseXBoaWNvbi1hZGp1c3QgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2M1wiOyB9IH1cbi5nbHlwaGljb24tdGludCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjRcIjsgfSB9XG4uZ2x5cGhpY29uLWVkaXQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY1XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NlwiOyB9IH1cbi5nbHlwaGljb24tY2hlY2sgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjdcIjsgfSB9XG4uZ2x5cGhpY29uLW1vdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY4XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OVwiOyB9IH1cbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzBcIjsgfSB9XG4uZ2x5cGhpY29uLWJhY2t3YXJkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcxXCI7IH0gfVxuLmdseXBoaWNvbi1wbGF5ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MlwiOyB9IH1cbi5nbHlwaGljb24tcGF1c2UgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzNcIjsgfSB9XG4uZ2x5cGhpY29uLXN0b3AgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc0XCI7IH0gfVxuLmdseXBoaWNvbi1mb3J3YXJkICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NVwiOyB9IH1cbi5nbHlwaGljb24tZmFzdC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzZcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc3XCI7IH0gfVxuLmdseXBoaWNvbi1lamVjdCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OFwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzlcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgwXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MVwiOyB9IH1cbi5nbHlwaGljb24tbWludXMtc2lnbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODJcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1zaWduICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH0gfVxuLmdseXBoaWNvbi1vay1zaWduICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NFwiOyB9IH1cbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbiAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODVcIjsgfSB9XG4uZ2x5cGhpY29uLWluZm8tc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg2XCI7IH0gfVxuLmdseXBoaWNvbi1zY3JlZW5zaG90ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4N1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODhcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLWNpcmNsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg5XCI7IH0gfVxuLmdseXBoaWNvbi1iYW4tY2lyY2xlICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MFwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkyXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy11cCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5M1wiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctZG93biAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlLWFsdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk1XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtZnVsbCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NlwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXNtYWxsICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24gICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAxXCI7IH0gfVxuLmdseXBoaWNvbi1naWZ0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMlwiOyB9IH1cbi5nbHlwaGljb24tbGVhZiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWZpcmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA0XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtb3BlbiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNVwiOyB9IH1cbi5nbHlwaGljb24tZXllLWNsb3NlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDZcIjsgfSB9XG4uZ2x5cGhpY29uLXdhcm5pbmctc2lnbiAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA3XCI7IH0gfVxuLmdseXBoaWNvbi1wbGFuZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOFwiOyB9IH1cbi5nbHlwaGljb24tY2FsZW5kYXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDlcIjsgfSB9XG4uZ2x5cGhpY29uLXJhbmRvbSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEwXCI7IH0gfVxuLmdseXBoaWNvbi1jb21tZW50ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMVwiOyB9IH1cbi5nbHlwaGljb24tbWFnbmV0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tdXAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEzXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWRvd24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNFwiOyB9IH1cbi5nbHlwaGljb24tcmV0d2VldCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTVcIjsgfSB9XG4uZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE2XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItY2xvc2UgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExN1wiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMThcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMFwiOyB9IH1cbi5nbHlwaGljb24taGRkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWJ1bGxob3JuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIyXCI7IH0gfVxuLmdseXBoaWNvbi1iZWxsICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyM1wiOyB9IH1cbi5nbHlwaGljb24tY2VydGlmaWNhdGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjRcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI1XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNlwiOyB9IH1cbi5nbHlwaGljb24taGFuZC1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtbGVmdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI4XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXVwICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOVwiOyB9IH1cbi5nbHlwaGljb24taGFuZC1kb3duICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzBcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMxXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMlwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXVwICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzNcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1kb3duICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM0XCI7IH0gfVxuLmdseXBoaWNvbi1nbG9iZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNVwiOyB9IH1cbi5nbHlwaGljb24td3JlbmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzZcIjsgfSB9XG4uZ2x5cGhpY29uLXRhc2tzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM3XCI7IH0gfVxuLmdseXBoaWNvbi1maWx0ZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOFwiOyB9IH1cbi5nbHlwaGljb24tYnJpZWZjYXNlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzlcIjsgfSB9XG4uZ2x5cGhpY29uLWZ1bGxzY3JlZW4gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQwXCI7IH0gfVxuLmdseXBoaWNvbi1kYXNoYm9hcmQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MVwiOyB9IH1cbi5nbHlwaGljb24tcGFwZXJjbGlwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDJcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQzXCI7IH0gfVxuLmdseXBoaWNvbi1saW5rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NFwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDVcIjsgfSB9XG4uZ2x5cGhpY29uLXB1c2hwaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ2XCI7IH0gfVxuLmdseXBoaWNvbi11c2QgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OFwiOyB9IH1cbi5nbHlwaGljb24tZ2JwICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0ICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldC1hbHQgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXIgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUzXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyLWFsdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTVcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU2XCI7IH0gfVxuLmdseXBoaWNvbi11bmNoZWNrZWQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1N1wiOyB9IH1cbi5nbHlwaGljb24tZXhwYW5kICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNThcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLWRvd24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU5XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS11cCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MFwiOyB9IH1cbi5nbHlwaGljb24tbG9nLWluICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctb3V0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2M1wiOyB9IH1cbi5nbHlwaGljb24tbmV3LXdpbmRvdyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjRcIjsgfSB9XG4uZ2x5cGhpY29uLXJlY29yZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY1XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NlwiOyB9IH1cbi5nbHlwaGljb24tb3BlbiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjdcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmVkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY4XCI7IH0gfVxuLmdseXBoaWNvbi1pbXBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OVwiOyB9IH1cbi5nbHlwaGljb24tZXhwb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzBcIjsgfSB9XG4uZ2x5cGhpY29uLXNlbmQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcxXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktZGlzayAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MlwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmVkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzNcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1yZW1vdmUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc0XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzZcIjsgfSB9XG4uZ2x5cGhpY29uLWNyZWRpdC1jYXJkICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc3XCI7IH0gfVxuLmdseXBoaWNvbi10cmFuc2ZlciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OFwiOyB9IH1cbi5nbHlwaGljb24tY3V0bGVyeSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzlcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgwXCI7IH0gfVxuLmdseXBoaWNvbi1jb21wcmVzc2VkICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MVwiOyB9IH1cbi5nbHlwaGljb24tZWFycGhvbmUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODJcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lLWFsdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgzXCI7IH0gfVxuLmdseXBoaWNvbi10b3dlciAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NFwiOyB9IH1cbi5nbHlwaGljb24tc3RhdHMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODVcIjsgfSB9XG4uZ2x5cGhpY29uLXNkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg2XCI7IH0gfVxuLmdseXBoaWNvbi1oZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4N1wiOyB9IH1cbi5nbHlwaGljb24tc3VidGl0bGVzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODhcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1kb2xieSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNS0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTYtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC03LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5M1wiOyB9IH1cbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcmsgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJlZ2lzdHJhdGlvbi1tYXJrICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk1XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZCAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5N1wiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOThcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtY29uaWZlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk5XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWRlY2lkdW91cyAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMFwiOyB9IH1cbi5nbHlwaGljb24tY2QgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDFcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUtZmlsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAyXCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuLWZpbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwM1wiOyB9IH1cbi5nbHlwaGljb24tbGV2ZWwtdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA1XCI7IH0gfVxuLmdseXBoaWNvbi1wYXN0ZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNlwiOyB9IH1cbi8vIFRoZSBmb2xsb3dpbmcgMiBHbHlwaGljb25zIGFyZSBvbWl0dGVkIGZvciB0aGUgdGltZSBiZWluZyBiZWNhdXNlXG4vLyB0aGV5IGN1cnJlbnRseSB1c2UgVW5pY29kZSBjb2RlcG9pbnRzIHRoYXQgYXJlIG91dHNpZGUgdGhlXG4vLyBCYXNpYyBNdWx0aWxpbmd1YWwgUGxhbmUgKEJNUCkuIE9sZGVyIGJ1Z2d5IHZlcnNpb25zIG9mIFdlYktpdCBjYW4ndCBoYW5kbGVcbi8vIG5vbi1CTVAgY29kZXBvaW50cyBpbiBDU1Mgc3RyaW5nIGVzY2FwZXMsIGFuZCB0aHVzIGNhbid0IGRpc3BsYXkgdGhlc2UgdHdvIGljb25zLlxuLy8gTm90YWJseSwgdGhlIGJ1ZyBhZmZlY3RzIHNvbWUgb2xkZXIgdmVyc2lvbnMgb2YgdGhlIEFuZHJvaWQgQnJvd3Nlci5cbi8vIE1vcmUgaW5mbzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDEwNlxuLy8gLmdseXBoaWNvbi1kb29yICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY2YWFcIjsgfSB9XG4vLyAuZ2x5cGhpY29uLWtleSAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwxZjUxMVwiOyB9IH1cbi5nbHlwaGljb24tYWxlcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDlcIjsgfSB9XG4uZ2x5cGhpY29uLWVxdWFsaXplciAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEwXCI7IH0gfVxuLmdseXBoaWNvbi1raW5nICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMVwiOyB9IH1cbi5nbHlwaGljb24tcXVlZW4gICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhd24gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEzXCI7IH0gfVxuLmdseXBoaWNvbi1iaXNob3AgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNFwiOyB9IH1cbi5nbHlwaGljb24ta25pZ2h0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTVcIjsgfSB9XG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE2XCI7IH0gfVxuLmdseXBoaWNvbi10ZW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjZmYVwiOyB9IH1cbi5nbHlwaGljb24tYmxhY2tib2FyZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMThcIjsgfSB9XG4uZ2x5cGhpY29uLWJlZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE5XCI7IH0gfVxuLmdseXBoaWNvbi1hcHBsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjhmZlwiOyB9IH1cbi5nbHlwaGljb24tZXJhc2UgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWhvdXJnbGFzcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMzFiXCI7IH0gfVxuLmdseXBoaWNvbi1sYW1wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyM1wiOyB9IH1cbi5nbHlwaGljb24tZHVwbGljYXRlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjRcIjsgfSB9XG4uZ2x5cGhpY29uLXBpZ2d5LWJhbmsgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI1XCI7IH0gfVxuLmdseXBoaWNvbi1zY2lzc29ycyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNlwiOyB9IH1cbi5nbHlwaGljb24tYml0Y29pbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWJ0YyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi14YnQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24teWVuICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwYTVcIjsgfSB9XG4uZ2x5cGhpY29uLWpweSAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxuLmdseXBoaWNvbi1ydWJsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBiZFwiOyB9IH1cbi5nbHlwaGljb24tcnViICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYmRcIjsgfSB9XG4uZ2x5cGhpY29uLXNjYWxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMwXCI7IH0gfVxuLmdseXBoaWNvbi1pY2UtbG9sbHkgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMVwiOyB9IH1cbi5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWVkdWNhdGlvbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMzXCI7IH0gfVxuLmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNFwiOyB9IH1cbi5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzVcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM2XCI7IH0gfVxuLmdseXBoaWNvbi1tb2RhbC13aW5kb3cgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzN1wiOyB9IH1cbi5nbHlwaGljb24tb2lsICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWdyYWluICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM5XCI7IH0gfVxuLmdseXBoaWNvbi1zdW5nbGFzc2VzICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MFwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1zaXplICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtY29sb3IgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQyXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0M1wiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDRcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b20gICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ1XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24taG9yaXpvbnRhbHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NlwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDdcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbCAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ4XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0OVwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUxXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b20gICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MlwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtdG9wICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbnNvbGUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU0XCI7IH0gfVxuLmdseXBoaWNvbi1zdXBlcnNjcmlwdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NVwiOyB9IH1cbi5nbHlwaGljb24tc3Vic2NyaXB0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTZcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtbGVmdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU3XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1OFwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1kb3duICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTlcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjYwXCI7IH0gfVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxufVxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gIH1cbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG5cbi8vIEJvZHkgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIH1cbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6ICgxMnB4IHNtYWxsIGZvbnQgLyAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKDEwMCUgKiAkZm9udC1zaXplLXNtYWxsIC8gJGZvbnQtc2l6ZS1iYXNlKSk7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS13YXJuaW5nLWJnO1xuICBwYWRkaW5nOiAuMmVtO1xufVxuXG4vLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtaW5mbycsICRzdGF0ZS1pbmZvLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xufVxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRzdGF0ZS1pbmZvLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBQYWdlIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xuICBtYXJnaW46ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAubGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBsaXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLy8gRGVzY3JpcHRpb24gTGlzdHNcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdFxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXG4vLyBncmlkIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCAoZGVmYXVsdCBvZiB+NzY4cHgpLlxuXG4uZGwtaG9yaXpvbnRhbCB7XG4gIGRkIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgYGR0YCBpZiBhbiBlbXB0eSBgZGRgIGlzIHByZXNlbnRcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZGwtaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XG4gICAgZHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogKCRkbC1ob3Jpem9udGFsLW9mZnNldCAtIDIwKTtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93O1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGRsLWhvcml6b250YWwtb2Zmc2V0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbmFiYnJbdGl0bGVdLFxuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRhYmJyLWJvcmRlci1jb2xvcjtcbn1cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIEBleHRlbmQgLnRleHQtdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbjogMCAwICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuXG4gIHAsXG4gIHVsLFxuICBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCBzbWFsbCBhbmQgLnNtYWxsIGFzIG9mIHYzLjEuMFxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IC8vIG5ic3AsIGVtIGRhc2hcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbiIsIi8vXG4vLyBDb2RlIChpbmxpbmUgYW5kIGJsb2NrKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gMSkgLyAyKTtcbiAgbWFyZ2luOiAwIDAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgLSAxKTsgLy8gMTRweCB0byAxM3B4XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkcHJlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLXNtO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLW1kO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLWxnO1xuICB9XG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuLnJvdyB7XG4gIEBpbmNsdWRlIG1ha2Utcm93O1xufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEV4dHJhIHNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXG4vLyBzbWFydHBob25lcy5cblxuQGluY2x1ZGUgbWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobWQpO1xufVxuXG5cbi8vIExhcmdlIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnYWN0aXZlJywgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3dhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICBAaW5jbHVkZSB0YWItZm9jdXM7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXI7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOS4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7IC8vIEVuc3VyZSB0aGUgaW5wdXQgZG9lc24ndCBqdW1wIHdoZW4gdGhlcmUgaXMgbm8gdGV4dFxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDsgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWJhc2UpO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1zbScsICRpbnB1dC1oZWlnaHQtc21hbGwsICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbi5mb3JtLWdyb3VwLXNtIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLXNtYWxsKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKSAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1sZycsICRpbnB1dC1oZWlnaHQtbGFyZ2UsICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbi5mb3JtLWdyb3VwLWxnIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWxhcmdlKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKSAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBIZWxwIHRleHRcbi8vXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB5b3Ugd2lzaCB0byBjcmVhdGUgbGlnaHQgdGV4dCBmb3IgcGxhY2VtZW50IGltbWVkaWF0ZWx5XG4vLyBiZWxvdyBhIGZvcm0gY29udHJvbC4gVXNlIGZvciBnZW5lcmFsIGhlbHAsIGZvcm1hdHRpbmcsIG9yIGluc3RydWN0aW9uYWwgdGV4dC5cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgLy8gYWNjb3VudCBmb3IgYW55IGVsZW1lbnQgdXNpbmcgaGVscC1ibG9ja1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAyNSUpOyAvLyBsaWdodGVuIHRoZSB0ZXh0IHNvbWUgZm9yIGNvbnRyYXN0XG59XG5cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIGAubmF2YmFyLWZvcm1gIGluIG5hdmJhcnMubGVzcy5cblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5mb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGZvcm0taW5saW5lIHtcblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gSW4gbmF2YmFyLWZvcm0sIGFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgZ3JvdXBzIG5lZWQgdGhhdCAxMDAlIHdpZHRoIHRob3VnaFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4uZm9ybS1pbmxpbmUge1xuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcbn1cblxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxuXG4gIC8vIEZvcm0gZ3JvdXAgc2l6ZXNcbiAgLy9cbiAgLy8gUXVpY2sgdXRpbGl0eSBjbGFzcyBmb3IgYXBwbHlpbmcgYC5pbnB1dC1sZ2AgYW5kIGAuaW5wdXQtc21gIHN0eWxlcyB0byB0aGVcbiAgLy8gaW5wdXRzIGFuZCBsYWJlbHMgd2l0aGluIGEgYC5mb3JtLWdyb3VwYC5cbiAgLmZvcm0tZ3JvdXAtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tZ3JvdXAtc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQtYmFzZSwgJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRidG4tZGVmYXVsdC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjY1KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEuYnRuXG59XG5cbmEuYnRuIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLy8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cbi5idG4taW5mbyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cblxuLy8gTGluayBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbi5idG4teHMge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy14cy12ZXJ0aWNhbCwgJHBhZGRpbmcteHMtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRyJi5pbiB0byB0ci5jb2xsYXBzZS5pblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGJvZHkmLmluIHRvIHRib2R5LmNvbGxhcHNlLmluXG59XG5cbnRyLmNvbGxhcHNlLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbnRib2R5LmNvbGxhcHNlLmluIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoaGVpZ2h0LCB2aXNpYmlsaXR5KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gIGJvcmRlci10b3A6ICAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGRpdilcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFByZXZlbnQgdGhlIGZvY3VzIG9uIHRoZSBkcm9wZG93biB0b2dnbGUgd2hlbiBjbG9zaW5nIGRyb3Bkb3duc1xuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICB9XG59XG5cbi8vIEhvdmVyL0ZvY3VzIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbi8vXG4vLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICBAaW5jbHVkZSByZXNldC1maWx0ZXI7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLm9wZW4ge1xuICAvLyBTaG93IHRoZSBtZW51XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gOmZvY3VzIGlzIHRyaWdnZXJlZFxuICA+IGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gTWVudSBwb3NpdGlvbmluZ1xuLy9cbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cbi8vIG1lbnUgd2l0aCB0aGUgcGFyZW50LlxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgcmlnaHQ6IDA7XG59XG4vLyBXaXRoIHYzLCB3ZSBlbmFibGVkIGF1dG8tZmxpcHBpbmcgaWYgeW91IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gYSByaWdodFxuLy8gYWxpZ25lZCBuYXYgY29tcG9uZW50LiBUbyBlbmFibGUgdGhlIHVuZG9pbmcgb2YgdGhhdCwgd2UgcHJvdmlkZSBhbiBvdmVycmlkZVxuLy8gdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBkcm9wZG93biBtZW51IGFsaWdubWVudC5cbi8vXG4vLyBUaGlzIGlzIG9ubHkgZm9yIGxlZnQtYWxpZ25pbmcgYSBkcm9wZG93biBtZW51IHdpdGhpbiBhIGAubmF2YmFyLXJpZ2h0YCBvclxuLy8gYC5wdWxsLXJpZ2h0YCBuYXYgY29tcG9uZW50LlxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAoJHppbmRleC1kcm9wZG93biAtIDEwKTtcbn1cblxuLy8gUmlnaHQgYWxpZ25lZCBkcm9wZG93bnNcbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vL1xuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LCBicm8uXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlaXRlcmF0ZSBwZXIgbmF2YmFyLmxlc3MgYW5kIHRoZSBtb2RpZmllZCBjb21wb25lbnQgYWxpZ25tZW50IHRoZXJlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICByaWdodDogMDsgbGVmdDogYXV0bztcbiAgICB9XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxuICAgIC8vIFdpbGwgcmVtb3ZlIGNvbWUgdjQgaW4gYWxsIGxpa2VsaWhvb2QuXG4gICAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgICBsZWZ0OiAwOyByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSwgZ2l2ZW4gdGhhdCBhIC5kcm9wZG93bi1tZW51IGlzIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyBAZXh0ZW5kIC5idG4teHM7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sYXJnZSAkY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmlucHV0LWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtc207XG59XG5cblxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLy8gQWRkb24gYW5kIGFkZG9uIHdyYXBwZXIgZm9yIGJ1dHRvbnNcbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBTaXppbmdcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgJi5pbnB1dC1sZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgMXB4IGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICBAZXh0ZW5kIC5uYXYtanVzdGlmaWVkO1xuICAgIEBleHRlbmQgLm5hdi10YWJzLWp1c3RpZmllZDtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsICRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICArIGxpOmJlZm9yZSB7XG4gICAgICAvLyBbY29udmVydGVyXSBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8xMTE1XG4gICAgICAkbmJzcDogXCJcXDAwYTBcIjtcbiAgICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1zZXBhcmF0b3J9I3skbmJzcH1cIjsgLy8gVW5pY29kZSBzcGFjZSBhZGRlZCBzaW5jZSBpbmxpbmUtYmxvY2sgbWVhbnMgbm9uLWNvbGxhcHNpbmcgd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGkgPiBhLFxuICA+IGxpID4gc3BhbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdlci1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnByZXZpb3VzIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMsXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiAkcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBBZGQgaG92ZXIgZWZmZWN0cywgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmxhYmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtcHJpbWFyeS1iZyk7XG59XG5cbi5sYWJlbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtd2FybmluZy1iZyk7XG59XG5cbi5sYWJlbC1kYW5nZXIge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy9cbi8vIEJhZGdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTBweDtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICBsaW5lLWhlaWdodDogJGJhZGdlLWxpbmUtaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAuYnRuLXhzICYsXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuICYge1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEuYmFkZ2VcblxuICAvLyBBY2NvdW50IGZvciBiYWRnZXMgaW4gbmF2c1xuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+ICYsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+ICYge1xuICAgIGNvbG9yOiAkYmFkZ2UtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1hY3RpdmUtYmc7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYgKyAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuXG4gIC5uYXYtcGlsbHMgPiBsaSA+IGEgPiAmIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG59XG5cbi8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbmEuYmFkZ2Uge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLy9cbi8vIEp1bWJvdHJvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6ICAgICRqdW1ib3Ryb24tcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcblxuICBoMSxcbiAgLmgxIHtcbiAgICBjb2xvcjogJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gID4gaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xuICB9XG5cbiAgLmNvbnRhaW5lciAmLFxuICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlOyAvLyBPbmx5IHJvdW5kIGNvcm5lcnMgYXQgaGlnaGVyIHJlc29sdXRpb25zIGlmIGNvbnRhaW5lZCBpbiBhIGNvbnRhaW5lclxuICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHBhZGRpbmctdG9wOiAgICAoJGp1bWJvdHJvbi1wYWRkaW5nICogMS42KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDEuNik7XG5cbiAgICAuY29udGFpbmVyICYsXG4gICAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgZm9udC1zaXplOiAkanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFRodW1ibmFpbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTWl4aW4gYW5kIGFkanVzdCB0aGUgcmVndWxhciBpbWFnZSBjbGFzc1xuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlciAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gID4gaW1nLFxuICBhID4gaW1nIHtcbiAgICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSY6aG92ZXIsIGEmOmZvY3VzLCBhJi5hY3RpdmUgdG8gYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzLCBhLnRodW1ibmFpbC5hY3RpdmVcblxuICAvLyBJbWFnZSBjYXB0aW9uc1xuICAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuXG4vLyBBZGQgYSBob3ZlciBzdGF0ZSBmb3IgbGlua2VkIHZlcnNpb25zIG9ubHlcbmEudGh1bWJuYWlsOmhvdmVyLFxuYS50aHVtYm5haWw6Zm9jdXMsXG5hLnRodW1ibmFpbC5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xufVxuIiwiLy9cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGFsZXJ0LWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLy8gU3BlY2lmaWVkIGZvciB0aGUgaDQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuICAuYWxlcnQtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgLy8gSW1wcm92ZSBhbGlnbm1lbnQgYW5kIHNwYWNpbmcgb2YgaW5uZXIgY29udGVudFxuICA+IHAsXG4gID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICA+IHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzYWJsZSwgLy8gVGhlIG1pc3NwZWxsZWQgLmFsZXJ0LWRpc21pc3NhYmxlIHdhcyBkZXByZWNhdGVkIGluIDMuMi4wLlxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogKCRhbGVydC1wYWRkaW5nICsgMjApO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtc3VjY2Vzcy1iZywgJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLCAkYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXdhcm5pbmctYmcsICRhbGVydC13YXJuaW5nLWJvcmRlciwgJGFsZXJ0LXdhcm5pbmctdGV4dCk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1kYW5nZXItYmcsICRhbGVydC1kYW5nZXItYm9yZGVyLCAkYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICBAaW5jbHVkZSBhbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLm1lZGlhIHtcbiAgLy8gUHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBpbnN0YW5jZXMgb2YgLm1lZGlhXG4gIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubWVkaWEsXG4ubWVkaWEtYm9keSB7XG4gIHpvb206IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgd2lkdGg6IDEwMDAwcHg7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBGaXggY29sbGFwc2UgaW4gd2Via2l0IGZyb20gbWF4LXdpZHRoOiAxMDAlIGFuZCBkaXNwbGF5OiB0YWJsZS1jZWxsLlxuICAmLmltZy10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEgPiAucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tZWRpYS1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWVkaWEtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBoZWFkaW5ncyBmb3IgdGlnaHRlciBkZWZhdWx0IHNwYWNpbmdcbi5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cbi8vIFVuZG8gZGVmYXVsdCB1bC9vbCBzdHlsZXNcbi5tZWRpYS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy9cbi8vIExpc3QgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXI7XG5cbiAgLy8gUm91bmQgdGhlIGZpcnN0IGFuZCBsYXN0IGl0ZW1zXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmUgaXRlbXMuXG4vLyBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNob3dpbmcgc2VsZWN0ZWQgaXRlbXMuXG5cbmEubGlzdC1ncm91cC1pdGVtLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWNvbG9yO1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxufVxuXG5idXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmLmRpc2FibGVkLFxuICAmLmRpc2FibGVkOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgY2xhc3Mgb24gaXRlbSBpdHNlbGYsIG5vdCBwYXJlbnRcbiAgJi5hY3RpdmUsXG4gICYuYWN0aXZlOmhvdmVyLFxuICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChzdWNjZXNzLCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvLCAkc3RhdGUtaW5mby1iZywgJHN0YXRlLWluZm8tdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCh3YXJuaW5nLCAkc3RhdGUtd2FybmluZy1iZywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChkYW5nZXIsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItdGV4dCk7XG5cblxuLy8gQ3VzdG9tIGNvbnRlbnQgb3B0aW9uc1xuLy9cbi8vIEV4dHJhIGNsYXNzZXMgZm9yIGNyZWF0aW5nIHdlbGwtZm9ybWF0dGVkIGNvbnRlbnQgd2l0aGluIGAubGlzdC1ncm91cC1pdGVtYHMuXG5cbi5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvL1xuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5wYW5lbCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cbi8vIENvbGxhcHNlIHNwYWNlIGJldHdlZW4gd2hlbiB0aGVyZSdzIG5vIGFkZGl0aW9uYWwgY29udGVudC5cbi5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAge1xuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4vLyBUYWJsZXMgaW4gcGFuZWxzXG4vL1xuLy8gUGxhY2UgYSBub24tYm9yZGVyZWQgYC50YWJsZWAgd2l0aGluIGEgcGFuZWwgKG5vdCB3aXRoaW4gYSBgLnBhbmVsLWJvZHlgKSBhbmRcbi8vIHdhdGNoIGl0IGdvIGZ1bGwgd2lkdGguXG5cbi5wYW5lbCB7XG4gID4gLnRhYmxlLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgPiAudGFibGU6Zmlyc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2libGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kZWZhdWx0LWJvcmRlciwgJHBhbmVsLWRlZmF1bHQtdGV4dCwgJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZywgJHBhbmVsLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5wYW5lbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtcHJpbWFyeS1ib3JkZXIsICRwYW5lbC1wcmltYXJ5LXRleHQsICRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmcsICRwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyLCAkcGFuZWwtc3VjY2Vzcy10ZXh0LCAkcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnLCAkcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1pbmZvLWJvcmRlciwgJHBhbmVsLWluZm8tdGV4dCwgJHBhbmVsLWluZm8taGVhZGluZy1iZywgJHBhbmVsLWluZm8tYm9yZGVyKTtcbn1cbi5wYW5lbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtd2FybmluZy1ib3JkZXIsICRwYW5lbC13YXJuaW5nLXRleHQsICRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmcsICRwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGFuZ2VyLWJvcmRlciwgJHBhbmVsLWRhbmdlci10ZXh0LCAkcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmcsICRwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLy9cbi8vIFdlbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdlbGwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR3ZWxsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xuICB9XG59XG5cbi8vIFNpemVzXG4ud2VsbC1sZyB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuLndlbGwtc20ge1xuICBwYWRkaW5nOiA5cHg7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjNzIGVhc2Utb3V0KTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICAmLmluIHsgQGluY2x1ZGUgb3BhY2l0eSgkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIC5tb2RhbC1sZyB7IHdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG5cbiAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcblxuICAmLmluICAgICB7IEBpbmNsdWRlIG9wYWNpdHkoJHRvb2x0aXAtb3BhY2l0eSk7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLnJpZ2h0ICB7IG1hcmdpbi1sZWZ0OiAgM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tIHsgbWFyZ2luLXRvcDogICAzcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIEFycm93c1xuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4vLyBOb3RlOiBEZXByZWNhdGVkIC50b3AtbGVmdCwgLnRvcC1yaWdodCwgLmJvdHRvbS1sZWZ0LCBhbmQgLmJvdHRvbS1yaWdodCBhcyBvZiB2My4zLjFcbi50b29sdGlwIHtcbiAgJi50b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoIDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAxcHg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHBvcG92ZXJzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIGJvcmRlci1yYWRpdXM6ICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIDAgMDtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICYsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wb3BvdmVyIHtcbiAgJi50b3AgPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYucmlnaHQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBmb3IgdGhlIHNsaWRlIGNvbnRhaW5lciBhbmQgaW5kaWNhdG9yc1xuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi10cmFuc2Zvcm0oMC42cyBlYXNlLWluLW91dCk7XG4gICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSgxMDAwcHgpO1xuXG4gICAgICAmLm5leHQsXG4gICAgICAmLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUsXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLm5leHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgPiAucHJldiB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAubmV4dC5sZWZ0LFxuICA+IC5wcmV2LnJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLmFjdGl2ZS5yaWdodCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG59XG5cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBAaW5jbHVkZSBvcGFjaXR5KCRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6ICRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIEZpeCBJRTkgY2xpY2stdGhydSBidWdcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAgMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICB9XG5cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDM5JzsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOC05IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxuICAgIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYC4gV2UgY2Fubm90IHVzZSBgZmlsdGVyYCBzaW5jZSB0aGF0J3Mgbm90IHZpZXdlZCBhcyBhXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvciBieSB0aGUgYnJvd3Nlci4gVGh1cywgYSBoYWNrIGlzIG5lZWRlZC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgLy9cbiAgICAvLyBGb3IgSUU4LCB3ZSBzZXQgc29saWQgYmxhY2sgYXMgaXQgZG9lc24ndCBzdXBwb3J0IGByZ2JhKClgLiBGb3IgSUU5LCB3ZVxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcXDk7IC8vIElFOFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICB9XG4gIC5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICAgIGhlaWdodDogKCRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAqIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgICAgZm9udC1zaXplOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogKCRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAvIC0yKTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCJAaW1wb3J0IFwiY29tbW9uL3ZhcmlhYmxlc1wiO1xuXG4vLyBOUE0gUGFja2FnZXNcbkBpbXBvcnQgXCJ+YnJlYWtwb2ludC1zYXNzXCI7XG5AaW1wb3J0IFwifnNlbGVjdDIvc3JjL3Njc3MvY29yZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGluc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3NjYWZmb2xkaW5nXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcHJpbnRcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9ncmlkXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9idXR0b25zXCI7XG5cbkBpbXBvcnQgXCJjb21tb24vaGVscGVyc1wiO1xuXG5AaW1wb3J0IFwiLi92ZW5kb3Ivc3dpcGVyXCI7XG5AaW1wb3J0IFwiLi92ZW5kb3IvbnByb2dyZXNzXCI7XG5cbkBpbXBvcnQgXCJjb21tb24vZm9udHNcIjtcblxuLy8gQ29tbW9uXG5AaW1wb3J0IFwiY29tbW9uL2FuaW1hdG9yXCI7XG5AaW1wb3J0IFwiY29tbW9uL2FuaW1hdG9yLXZpZXdzXCI7XG5AaW1wb3J0IFwiY29tbW9uL2FwcFwiO1xuQGltcG9ydCBcImNvbW1vbi9nbG9iYWxcIjtcbkBpbXBvcnQgXCJjb21tb24vb2JqZWN0c1wiO1xuQGltcG9ydCBcImNvbW1vbi9jb250ZW50XCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGF5b3V0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbGlkZW91dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvb3VyLW1lbnUtY2F0ZWdvcnktc2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hbGdvbGlhLXNlYXJjaFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NtLWNvbnRlbnQtbW9kdWxlc1wiO1xuXG4vLyBQYXJ0aWFsc1xuQGltcG9ydCBcInBhcnRpYWxzL2hlYWRlclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL25hdi1tYWluLWFzaWRlXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvaGVyby1zbGlkZXJcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9oZXJvLXRpdGxlXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvYWN0aW9uLWJhclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2hvbWVcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9hcnRpY2xlLXRpbGVcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9tZW51LWxpc3QtaXRlbXNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9mYXFzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvZm9vdGVyLW5hdlwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Zvb3Rlci1jdGFzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvbmF2LWZpbHRlci1saW5rcy1zaW1wbGVcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9zdG9yZS1sb2NhdG9yXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvcmV3YXJkcy1hcHBcIjtcblxuXG4iLCIvL0NvbG9yc1xuJGFwcC1jb2xvci13aGl0ZTogI2ZmZjtcbiRjb2xvci10ZXh0dXJlLXBhcGVyOiAjRkJGQkZBO1xuJGFwcC1jb2xvci15ZWxsb3c6ICNGRURDODg7XG4kYXBwLWNvbG9yLW1hcm9vbi1saWdodDogI0FFMDgzQTtcbiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI6ICM5QTFBMzk7XG4kYXBwLWNvbG9yLW1hcm9vbi1kYXJrOiAjNEExMjI1O1xuJGFwcC1jb2xvci1ncmV5LWxpZ2h0ZXI6ICNFQkU5RTY7XG4kYXBwLWNvbG9yLWdyZXktbGlnaHQ6ICNDMUI4QjM7XG4kYXBwLWNvbG9yLWdyZXktbWVkaXVtOiAjODI4MTgwO1xuJGFwcC1jb2xvci1ncmV5LWRhcms6ICMzMDMwMzA7XG4kYXBwLWNvbG9yLWJyb3duLWxpZ2h0OiNDQUM0QkM7XG4kYXBwLWNvbG9yLWJyb3duOiAjNzc2ZDY2O1xuJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZTogcmdiYSgxOTIsIDE4MywgMTc3LCAwLjIpO1xuJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI6IHJnYmEoMTkyLCAxODMsIDE3NywgMC41KTtcblxuLy8gTWVhc3VyZW1lbnRzXG4kYXBwLXdyYXBwZXItbWF4LXdpZHRoOjE5MjBweDtcbiRhcHAtY29udGFpbmVyLW1heC13aWR0aDoxNjAwcHg7XG5cbi8vIE1lYXN1cmVtZW50cyA6IEhlYWRlclxuJGFwcC1oZWFkZXItaGVpZ2h0LXNtOiA2MHB4O1xuJGFwcC1oZWFkZXItaGVpZ2h0LW1kOiA4MHB4O1xuJGFwcC1oZWFkZXItaGVpZ2h0LWxnOiAxMTBweDtcblxuJGFwcC1oZWFkZXItaGVpZ2h0LXNjcm9sbGVkOiAxMTBweDtcblxuXG4vLyBCcmVha3BvaW50c1xuJGFwcC1icmVha3BvaW50LXhzOiAzMzBweDtcbiRhcHAtYnJlYWtwb2ludC1zbTogNTc2cHg7XG4kYXBwLWJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuJGFwcC1icmVha3BvaW50LWxnOiA5OTJweDtcbiRhcHAtYnJlYWtwb2ludC1sZ21kOiAxMTAwcHg7XG4kYXBwLWJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiRhcHAtYnJlYWtwb2ludC14eGw6IDEzMDBweDtcbiRhcHAtYnJlYWtwb2ludC14eHhsOiAxNjgwcHg7XG5cbi8vIEd1dHRlciBXaWR0aHNcbiRncmlkLWd1dHRlci13aWR0aDozMHB4O1xuJGdyaWQtZ3V0dGVyLXdpZHRoLXNtYWxsOjEwcHg7XG4kZ3JpZC1ndXR0ZXItd2lkdGgtbWVkaXVtOjE1cHg7XG4kZ3JpZC1ndXR0ZXItd2lkdGgtbGFyZ2U6MzBweDtcblxuXG4vLyBBbmltYXRpb24gVGltaW5nc1xuXG4kYW5pbWF0aW9uLWV4aXQtZHVyYXRpb246IDM1MG1zO1xuJGFuaW1hdGlvbi1lbnRlci1kdXJhdGlvbjogMzUwbXM7XG4kYW5pbWF0aW9uLWRlbGF5LWR1cmF0aW9uOiAxNTBtcztcblxuXG5cbi8vIEJvb3RzdHJhcCA6IE92ZXJyaWRlc1xuXG5cbiRsaW5rLWNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuJGxpbmstaG92ZXItY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBub25lO1xuXG5cbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAwICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAgMCAhZGVmYXVsdDtcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgIzAwODViYSAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy8gVG9wIExpbmtzXG4kYXBwLXRvcC1saW5rcy1wYWRkaW5nOiA3cHggMTRweCA1cHggMTRweDtcbiRhcHAtdG9wLWxpbmtzLWJvcmRlci1yYWRpdXM6IDNweDtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTcwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2UgaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRzZWNvbmQpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJOZWl0aGVyICN7JGZpcnN0fSBub3IgI3skc2Vjb25kfSBpcyBhIHZhbGlkIG1lZGlhIHF1ZXJ5IG5hbWUuXCI7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknO1xufSIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIGByZXNwb25kLXRvYCBleHBlY3RzIGEgbWFwLiBQbGVhc2UgY2hlY2sgdGhlIHZhbHVlIG9mICRCUkVBS1BPSU5UUyB2YXJpYWJsZS5cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0KWBcIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZCBCcmVha3BvaW50IHRvIEJyZWFrcG9pbnRzXG4vLyBUT0RPOiBSZW1vdmUgZnVuY3Rpb24gaW4gbmV4dCByZWxlYXNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRvdXRwdXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgQHJldHVybiAkYnJlYWtwb2ludHM7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkb3V0cHV0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgICRCUkVBS1BPSU5UUzogJG91dHB1dCAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgICRCUkVBS1BPSU5UUzogJEJSRUFLUE9JTlRTICFnbG9iYWw7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgJEJSRUFLUE9JTlRTOiBtYXAtbWVyZ2UoJEJSRUFLUE9JTlRTLCAkb3V0cHV0KSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJG5hbWU6IGZhbHNlKSB7XG4gIEBpZiAkbmFtZSA9PSBmYWxzZSB7XG4gICAgQHJldHVybiAkQlJFQUtQT0lOVFM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQlJFQUtQT0lOVFMsICRuYW1lKTtcbiAgfVxufVxuIiwiQG1peGluIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nIHtcbiAgJGxlZ2FjeVZhcnM6IChcbiAgICAnZGVmYXVsdC1tZWRpYSc6ICdkZWZhdWx0IG1lZGlhJyxcbiAgICAnZGVmYXVsdC1mZWF0dXJlJzogJ2RlZmF1bHQgZmVhdHVyZScsXG4gICAgJ2ZvcmNlLW1lZGlhLWFsbCc6ICdmb3JjZSBhbGwgbWVkaWEgdHlwZScsXG4gICAgJ3RvLWVtcyc6ICd0byBlbXMnLFxuICAgICdyZXNvbHV0aW9ucyc6ICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLFxuICAgICduby1xdWVyaWVzJzogJ25vIHF1ZXJpZXMnLFxuICAgICduby1xdWVyeS1mYWxsYmFja3MnOiAnbm8gcXVlcnkgZmFsbGJhY2tzJyxcbiAgICAnYmFzZS1mb250LXNpemUnOiAnYmFzZSBmb250IHNpemUnLFxuICAgICdsZWdhY3ktc3ludGF4JzogJ2xlZ2FjeSBzeW50YXgnXG4gICk7XG5cbiAgQGVhY2ggJGxlZ2FjeSwgJG5ldyBpbiAkbGVnYWN5VmFycyB7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtJyArICRsZWdhY3kpIHtcbiAgICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gY2hhbmdlIHNldHRpbmdzIGZvciBCcmVha3BvaW50LiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50LSN7JGxlZ2FjeX06IHt7c2V0dGluZ319YCB0byBgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJyN7JG5ld30nLCB7e3NldHRpbmd9fSlgLiBWYXJpYWJsZSBzZXR0aW5ncywgYXMgd2VsbCBhcyB0aGlzIHdhcm5pbmcgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICB9XG4gIH07XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEhhbmQgY29ycmVjdCBlYWNoIHNldHRpbmdcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtbWVkaWEnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBtZWRpYScsICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBmZWF0dXJlJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwnKSBhbmQgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsICE9IGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXRvLWVtcycpIGFuZCAkYnJlYWtwb2ludC10by1lbXMgIT0gYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgJGJyZWFrcG9pbnQtdG8tZW1zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1yZXNvbHV0aW9ucycpIGFuZCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyAhPSBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcmllcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyaWVzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyaWVzJywgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyeSBmYWxsYmFja3MnLCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWJhc2UtZm9udC1zaXplJykgYW5kICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplICE9IGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnYmFzZSBmb250IHNpemUnLCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCcpIGFuZCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4ICE9IGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4Jykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdsZWdhY3kgc3ludGF4JywgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCk7XG4gIH1cbn0iLCIuc2VsZWN0Mi1jb250YWluZXIge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gIEBpbXBvcnQgXCJzaW5nbGVcIjtcclxuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcclxufVxyXG5cclxuQGltcG9ydCBcImRyb3Bkb3duXCI7XHJcblxyXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcclxuICBib3JkZXI6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB3aWR0aDogYXV0bztcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDk5O1xyXG5cclxuICAvLyBzdHlsZXMgcmVxdWlyZWQgZm9yIElFIHRvIHdvcmtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcclxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcclxuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQGltcG9ydCBcInRoZW1lL2RlZmF1bHQvbGF5b3V0XCI7XHJcbkBpbXBvcnQgXCJ0aGVtZS9jbGFzc2ljL2xheW91dFwiO1xyXG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICBoZWlnaHQ6IDI4cHg7XHJcblxyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuJltkaXI9XCJydGxcIl0ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICBtaW4taGVpZ2h0OiAzMnB4O1xyXG5cclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcbn1cclxuXHJcbi5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcclxuICBmbG9hdDogbGVmdDtcclxuXHJcbiAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2VsZWN0Mi1kcm9wZG93biB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC0xMDAwMDBweDtcclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIHotaW5kZXg6IDEwNTE7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXJlc3VsdHMge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gIHBhZGRpbmc6IDZweDtcclxuXHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHJcbiAgJlthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5cclxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiA0cHg7XHJcblxyXG4gIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnNlbGVjdDItc2VhcmNoLS1oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XHJcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xyXG4gIEBpbXBvcnQgXCJtdWx0aXBsZVwiO1xyXG5cclxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cge1xyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xyXG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XHJcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gICAgJltyb2xlPWdyb3VwXSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJlthcmlhLWRpc2FibGVkPXRydWVdIHtcclxuICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuXHJcbiAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XHJcblxyXG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTJlbTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xyXG5cclxuICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtM2VtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRlbTtcclxuXHJcbiAgICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00ZW07XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1ZW07XHJcblxyXG4gICAgICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5N2ZiO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgfVxyXG59XHJcbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgaGVpZ2h0OiAyNnB4O1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICB0b3A6IDFweDtcclxuICAgIHJpZ2h0OiAxcHg7XHJcblxyXG4gICAgd2lkdGg6IDIwcHg7XHJcblxyXG4gICAgYiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xyXG5cclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcblxyXG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcclxuICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuXHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB3aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiZbZGlyPVwicnRsXCJdIHtcclxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XHJcbiAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4mLnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCB7XHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgICBiIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGN1cnNvcjogdGV4dDtcclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcblxyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgIG1hcmdpbi1yaWdodDogMnB4O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiZbZGlyPVwicnRsXCJdIHtcclxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLCAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyLCAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuJi5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuJi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcImRlZmF1bHRzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvZ3JhZGllbnRzXCI7XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMge1xyXG4gIEBpbXBvcnQgXCJzaW5nbGVcIjtcclxuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcclxuXHJcbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XHJcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcclxuICAgIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItZHJvcGRvd24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xyXG4gICAgbWF4LWhlaWdodDogJHJlc3VsdHMtbWF4LWhlaWdodDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gICAgJltyb2xlPWdyb3VwXSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJlthcmlhLWRpc2FibGVkPXRydWVdIHtcclxuICAgICAgY29sb3I6ICRyZXN1bHRzLWNob2ljZS1mZy11bnNlbGVjdGFibGUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXN1bHRzLWNob2ljZS1iZy1ob3Zlci1jb2xvcjtcclxuICAgIGNvbG9yOiAkcmVzdWx0cy1jaG9pY2UtZmctaG92ZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICB9XHJcblxyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCIkcmVtb3ZlLWNvbG9yOiAjODg4ICFkZWZhdWx0O1xyXG4kcmVtb3ZlLWhvdmVyLWNvbG9yOiAjNTU1ICFkZWZhdWx0O1xyXG4kcmVtb3ZlLXdpZHRoOiAyMHB4ICFkZWZhdWx0O1xyXG5cclxuJHNlbGVjdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItY29sb3I6ICNhYWEgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XHJcblxyXG4kZm9jdXMtYm9yZGVyLWNvbG9yOiAjNTg5N2ZiICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1oZWlnaHQ6IDI4cHggIWRlZmF1bHQ7XHJcblxyXG4kc2VsZWN0aW9uLWJnLXRvcC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcbiRzZWxlY3Rpb24tYmctYm90dG9tLWNvbG9yOiAjZWVlZWVlICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1wbGFjZWhvbGRlci1jb2xvcjogIzk5OSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItZm9jdXMtYm9yZGVyLWNvbG9yOiBibHVlICFkZWZhdWx0O1xyXG5cclxuJHNlbGVjdGlvbi1vcGVuZWQtYmctdG9wLWNvbG9yOiAkc2VsZWN0aW9uLWJnLWJvdHRvbS1jb2xvciAhZGVmYXVsdDtcclxuJHNlbGVjdGlvbi1vcGVuZWQtYmctYm90dG9tLWNvbG9yOiAkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi16LWluZGV4OiAxICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWJnLWNvbG9yOiAkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRyZXN1bHRzLW1heC1oZWlnaHQ6IDIwMHB4ICFkZWZhdWx0O1xyXG4kcmVzdWx0cy1uZXN0ZWQtcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuXHJcbiRyZXN1bHRzLWNob2ljZS1iZy1ob3Zlci1jb2xvcjogIzM4NzVkNyAhZGVmYXVsdDtcclxuJHJlc3VsdHMtY2hvaWNlLWZnLWhvdmVyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbiRyZXN1bHRzLWNob2ljZS1mZy11bnNlbGVjdGFibGUtY29sb3I6IGdyZXkgIWRlZmF1bHQ7XHJcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvMy4zLXN0YWJsZS9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MjTDE3LUwyN1xyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxyXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxyXG59XHJcbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJHNlbGVjdGlvbi1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tYmctYm90dG9tLWNvbG9yKTtcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgb3V0bGluZTogMDtcclxuXHJcbiAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoJHNlbGVjdGlvbi1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tYmctYm90dG9tLWNvbG9yLCA1MCUsIDEwMCUpO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogIzk5OTtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxuXHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcblxyXG4gICAgaGVpZ2h0OiAyNnB4O1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICB0b3A6IDFweDtcclxuICAgIHJpZ2h0OiAxcHg7XHJcblxyXG4gICAgd2lkdGg6IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoI2VlZWVlZSwgI2NjY2NjYywgNTAlLCAxMDAlKTtcclxuXHJcbiAgICBiIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHg7XHJcblxyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuXHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuJltkaXI9XCJydGxcIl0ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG5cclxuICAgICAgbGVmdDogMXB4O1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XHJcblxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgYiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUge1xyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKCRzZWxlY3Rpb24tb3BlbmVkLWJnLWJvdHRvbS1jb2xvciwgJHNlbGVjdGlvbi1vcGVuZWQtYmctdG9wLWNvbG9yLCAwJSwgNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc2VsZWN0aW9uLW9wZW5lZC1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tb3BlbmVkLWJnLWJvdHRvbS1jb2xvciwgNTAlLCAxMDAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcblxyXG4gIGN1cnNvcjogdGV4dDtcclxuXHJcbiAgb3V0bGluZTogMDtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICB9XHJcblxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xyXG4gICAgY29sb3I6ICRyZW1vdmUtY29sb3I7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkcmVtb3ZlLWhvdmVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuJltkaXI9XCJydGxcIl0ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJvcmRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgZGVjb3JhdGlvbi5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAoaGFzIGJlZW4gcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIFdlYktpdC1zcGVjaWZpYy4gT3RoZXIgYnJvd3NlcnMgd2lsbCBrZWVwIHRoZWlyIGRlZmF1bHQgb3V0bGluZSBzdHlsZS5cbiAgLy8gKEluaXRpYWxseSB0cmllZCB0byBhbHNvIGZvcmNlIGRlZmF1bHQgdmlhIGBvdXRsaW5lOiBpbml0aWFsYCxcbiAgLy8gYnV0IHRoYXQgc2VlbXMgdG8gZXJyb25lb3VzbHkgcmVtb3ZlIHRoZSBvdXRsaW5lIGluIEZpcmVmb3ggYWx0b2dldGhlci4pXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xufVxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xufVxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoJGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbi8vICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4vLyBhY3RpdmUvaG92ZXIgc3RhdGUuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4vLyBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vLyBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8gMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuLy9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy8gTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBUYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnRuLFxuICAgIC5kcm9wdXAgPiAuYnRuIHtcbiAgICAgICAgPiAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG5AaW5jbHVkZSBtYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobGcpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdhY3RpdmUnLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdzdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2luZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdkYW5nZXInLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAwLjc1KTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29udGVudCBkb2Vzbid0IHdyYXBcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXG4gICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAvLyBOdWtlIHRoZSBhcHByb3ByaWF0ZSBib3JkZXJzIHNvIHRoYXQgdGhlIHBhcmVudCBjYW4gaGFuZGxlIHRoZW1cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgbnVrZSB0aGUgbGFzdCByb3cncyBib3R0b20tYm9yZGVyIGluIGB0Ym9keWAgYW5kIGB0Zm9vdGAgc2luY2VcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcbiAgICAgIC8vIHJlbW92ZSB0aGUgYm9yZGVyIGFsdG9nZXRoZXIuXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICRsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcblxuICAvLyBQbGFjZWhvbGRlclxuICBAaW5jbHVkZSBwbGFjZWhvbGRlcjtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxuICB9XG5cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGV4dGFyZWEmIHRvIHRleHRhcmVhLmZvcm0tY29udHJvbFxufVxuXG4vLyBSZXNldCBoZWlnaHQgZm9yIGB0ZXh0YXJlYWBzXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gU2VhcmNoIGlucHV0cyBpbiBpT1Ncbi8vXG4vLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLy8gU3BlY2lhbCBzdHlsZXMgZm9yIGlPUyB0ZW1wb3JhbCBpbnB1dHNcbi8vXG4vLyBJbiBNb2JpbGUgU2FmYXJpLCBzZXR0aW5nIGBkaXNwbGF5OiBibG9ja2Agb24gdGVtcG9yYWwgaW5wdXRzIGNhdXNlcyB0aGVcbi8vIHRleHQgd2l0aGluIHRoZSBpbnB1dCB0byBiZWNvbWUgdmVydGljYWxseSBtaXNhbGlnbmVkLiBBcyBhIHdvcmthcm91bmQsIHdlXG4vLyBzZXQgYSBwaXhlbCBsaW5lLWhlaWdodCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGhlaWdodCBvZiB0aGUgaW5wdXQsIGJ1dCBvbmx5XG4vLyBmb3IgU2FmYXJpLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuLy9cbi8vIE5vdGUgdGhhdCBhcyBvZiA5LjMsIGlPUyBkb2Vzbid0IHN1cHBvcnQgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtYmFzZSk7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LXNtJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuLmZvcm0tZ3JvdXAtc20ge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtc21hbGwpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LWxnJywgJGlucHV0LWhlaWdodC1sYXJnZSwgJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuLmZvcm0tZ3JvdXAtbGcge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtbGFyZ2UpO1xuICAgIHBhZGRpbmc6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LWhlaWdodC1iYXNlICogMS4yNSk7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgNSk7IC8vIEhlaWdodCBvZiB0aGUgYGxhYmVsYCBhbmQgaXRzIG1hcmdpblxuICB9XG4gICYuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xufVxuXG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3c7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodC1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSguNjUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5idG5cbn1cblxuYS5idG4ge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1ib3JkZXIpO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xufVxuLy8gU3VjY2VzcyBhcHBlYXJzIGFzIGdyZWVuXG4uYnRuLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLy8gRGFuZ2VyIGFuZCBlcnJvciBhcHBlYXIgYXMgcmVkXG4uYnRuLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWxnIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBldmVuLW51bWJlcmVkIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBsYXJnZSBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXhzLXZlcnRpY2FsLCAkcGFkZGluZy14cy1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cblxuLy8gQmxvY2sgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxufVxuXG5AbWl4aW4gYXBwLXRyYW5zaXRpb24tdGltaW5nKCl7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMTAsIDAuNDQwLCAwLjQ0NSwgMS42NTApO1xufVxuXG5AbWl4aW4gYXBwLXV0aWxpdHktbWFyZ2luLWJvdHRvbSgpe1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG59XG5cbkBtaXhpbiBhcHAtdW5vcmRlcmVkLWxpc3QtaG9yaXpvbnRhbCgpe1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgPiBsaXtcbiAgICBmbG9hdDpsZWZ0O1xuICAgID4gYXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAgQWRkIEZvbnQgZmxhaXJzIHRvIGVpdGhlciBzaWRlIG9mIHRleHQgKG11c3QgYmUgaW5saW5lL2lubGluZS1ibG9jayBlbGVtZW50KVxuICovXG5AbWl4aW4gYXBwLWZvbnQtZmxhaXIoJGZvbnQtc2l6ZTozNnB4LCAkdG9wOjQwJSwgJG9mZnNldDoxNTAlKXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSxcbiAgJjphZnRlcntcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAmOmJlZm9yZXtcbiAgICBsZWZ0OjA7XG4gICAgdG9wOiR0b3A7XG4gICAgY29udGVudDondCc7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtYnJhbmQtZ29vZGllcztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLSRvZmZzZXQsLTUwJSk7XG4gIH1cbiAgJjphZnRlcntcbiAgICByaWdodDowO1xuICAgIHRvcDokdG9wO1xuICAgIGNvbnRlbnQ6J3UnO1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWJyYW5kLWdvb2RpZXM7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKCRvZmZzZXQsLTUwJSk7XG4gIH1cbn1cblxuXG4udS1tLWJvdHRvbXtcbiAgQGluY2x1ZGUgYXBwLXV0aWxpdHktbWFyZ2luLWJvdHRvbTtcbn1cblxuLnUtY2xlYXJmaXh7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4udS1jZW50ZXJlZHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLy8gQmxvY2sgTGlua3NcblxuLmlzLWJsb2NrLWxpbmt7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXJ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB9XG59XG5cblxuLnUtaW1nLWNvdmVye1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi51LXJlbGF0aXZlIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG59XG5cbi51LW5vLW92ZXJmbG93IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuIiwiLyoqXG4gKiBTd2lwZXIgMy40LjJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKlxuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTcsIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKiBUaGUgaURhbmdlcm8udXNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvXG4gKlxuICogTGljZW5zZWQgdW5kZXIgTUlUXG4gKlxuICogUmVsZWFzZWQgb246IE1hcmNoIDEwLCAyMDE3XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci13cDgtdmVydGljYWwge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi8qIEFycm93cyAqL1xuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4vKiBQYWdpbmF0aW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXM7XG4gIC1tb3otdHJhbnNpdGlvbjogMzAwbXM7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uOiAzMDBtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNXB4O1xufVxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi8qIDNEIENvbnRhaW5lciAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW8tcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi8qIENvdmVyZmxvdyAqL1xuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi8qIEN1YmUgKyBGbGlwICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ3ViZSAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi8qIEZhZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8qIE1ha2UgY2xpY2tzIHBhc3MtdGhyb3VnaCAqL1xuI25wcm9ncmVzcyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4jbnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjMjlkO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAzMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbn1cblxuLyogRmFuY3kgYmx1ciBlZmZlY3QgKi9cbiNucHJvZ3Jlc3MgLnBlZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAjMjlkLCAwIDAgNXB4ICMyOWQ7XG4gIG9wYWNpdHk6IDEuMDtcblxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpIHRyYW5zbGF0ZSgwcHgsIC00cHgpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoM2RlZykgdHJhbnNsYXRlKDBweCwgLTRweCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpIHRyYW5zbGF0ZSgwcHgsIC00cHgpO1xufVxuXG4vKiBSZW1vdmUgdGhlc2UgdG8gZ2V0IHJpZCBvZiB0aGUgc3Bpbm5lciAqL1xuI25wcm9ncmVzcyAuc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMzE7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbiNucHJvZ3Jlc3MgLnNwaW5uZXItaWNvbiB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgYm9yZGVyOiBzb2xpZCAycHggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyOWQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjlkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgLXdlYmtpdC1hbmltYXRpb246IG5wcm9ncmVzcy1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBucHJvZ3Jlc3Mtc3Bpbm5lciA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5ucHJvZ3Jlc3MtY3VzdG9tLXBhcmVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5wcm9ncmVzcy1jdXN0b20tcGFyZW50ICNucHJvZ3Jlc3MgLnNwaW5uZXIsXG4ubnByb2dyZXNzLWN1c3RvbS1wYXJlbnQgI25wcm9ncmVzcyAuYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbnByb2dyZXNzLXNwaW5uZXIge1xuICAwJSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5Aa2V5ZnJhbWVzIG5wcm9ncmVzcy1zcGlubmVyIHtcbiAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbiIsIkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zNDY0ZjNcIik7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BsdXRvY29uZCc7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMV8wLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18xXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzFfMC50dGYnKVxuICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwbHV0b2NvbmQnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzBfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18wXzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG4vKlxuXG5cbk1ZRk9OVFMgRk9OVEZBQ0UgLSBCVUdHWVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwbHV0b2NvbmQnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzFfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18xXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMV8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18xXzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18xXzAudHRmJylcbiAgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncGx1dG9jb25kJztcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18wXzAuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMF8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMF8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludHJvR29vZGllcy1QYXR0ZXJucyZhbXBTaGFwZXMnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzJfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18yXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfMl8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18yXzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18yXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpbnRyb19oZWFkX2JiYXNlJztcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM18zXzAuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfM18wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzNfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfM18wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfM18wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ludHJvX2hlYWRfaGgyX2Jhc2UnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvd2ViZm9udHMvMzQ2NEYzXzRfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM180XzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy93ZWJmb250cy8zNDY0RjNfNF8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM180XzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnRzLzM0NjRGM180XzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4qL1xuXG5cbi8qKlxuICBMT0NBTCBGT05UU1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwbHV0b2NvbmQnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvcGx1dG9jb25kcmVndWxhci13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvcGx1dG9jb25kcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vLi4vZm9udHMvcGx1dG9jb25kcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3BsdXRvY29uZHJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vLi4vZm9udHMvcGx1dG9jb25kcmVndWxhci13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BsdXRvY29uZCc7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9wbHV0b2NvbmRib2xkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9wbHV0b2NvbmRib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9wbHV0b2NvbmRib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vLi4vZm9udHMvcGx1dG9jb25kYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9wbHV0b2NvbmRib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaW50cm9faGVhZF9iYmFzZSc7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2Uud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vLi4vZm9udHMvSW50cm9IZWFkQi1CYXNlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL0ludHJvSGVhZEItQmFzZS5zdmcjSW50cm9IZWFkQi1CYXNlJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ludHJvX2hlYWRfaGgyX2Jhc2UnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvaW50cm9faGVhZF9oX2gyX2Jhc2Utd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi8uLi9mb250cy9pbnRyb19oZWFkX2hfaDJfYmFzZS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaW50cm9fZ29vZGllc2Jhbm5lcnNfX2VuZGluZ3MnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvZm9udGZhYnJpY18tX2ludHJvX2dvb2RpZXNfYmFubmVyc18tYW1wLV9lbmRpbmdzLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vLi4vZm9udHMvZm9udGZhYnJpY18tX2ludHJvX2dvb2RpZXNfYmFubmVyc18tYW1wLV9lbmRpbmdzLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaW50cm9faGVhZF9iYmFzZSc7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2Uud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vLi4vZm9udHMvSW50cm9IZWFkQi1CYXNlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi8uLi9mb250cy9JbnRyb0hlYWRCLUJhc2UudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL0ludHJvSGVhZEItQmFzZS5zdmcjSW50cm9IZWFkQi1CYXNlJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ludHJvX2hlYWRfaGgyX2Jhc2UnO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvaW50cm9faGVhZF9oX2gyX2Jhc2Utd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi8uLi9mb250cy9pbnRyb19oZWFkX2hfaDJfYmFzZS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpbnRyb19nb29kaWVzYmFubmVyc19fZW5kaW5ncyc7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy93ZWJmb250LWljb25zLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uLy4uL2ZvbnRzL3dlYmZvbnQtaWNvbnMud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qKlxuICBFTkQgT0xEXG4gKi9cblxuXG5cbkBtaXhpbiBhcHAtZm9udC1nbG9iYWwoKXtcbiAgZm9udC1mYW1pbHk6ICdwbHV0b2NvbmQnLCBzYW5zLXNlcmlmO1xufVxuXG5AbWl4aW4gYXBwLWZvbnQtaGVhZGluZygpe1xuICBmb250LWZhbWlseTogJ2ludHJvX2hlYWRfYmJhc2UnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gYXBwLWZvbnQtaGVhZGluZy1hbHQoKXtcbiAgZm9udC1mYW1pbHk6ICdpbnRyb19oZWFkX2hoMl9iYXNlJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGFwcC1mb250LWJyYW5kLWdvb2RpZXMoKXtcbiAgZm9udC1mYW1pbHk6ICdpbnRyb19nb29kaWVzYmFubmVyc19fZW5kaW5ncycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvLyBLZXlmcmFtZSBBbmltYXRpb25zXG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEuMSk7IH1cbiAgNDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2NhbGUoMS4xKTsgfVxuICA2NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgc2NhbGUoMS4xKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2NhbGUoMS4xKTsgfVxufVxuXG5cbi8vIEZyb250IFBhZ2UgOiBOYXYgTWFpbiBBbmltYXRpb25cblxuLnZpZXctLWZyb250LXBhZ2V7XG4gIC5hbmltLW5hdi1tYWlue1xuICAgID4gbGl7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwcHgsMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgbGluZWFyO1xuICAgICAgQGluY2x1ZGUgYXBwLXRyYW5zaXRpb24tdGltaW5nO1xuICAgIH1cbiAgICAud2YtaW50cm9oZWFkYmJhc2UtbjQtYWN0aXZlICZ7XG4gICAgICA+IGxpe1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRvIDEwIHtcbiAgICAgICAgPiBsaTpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkaSAqIDEwMG1zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53Zi1pbnRyb2hlYWRiYmFzZS1uNC1pbmFjdGl2ZSAme1xuICAgICAgPiBsaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC53Zi1hY3RpdmUtLW9uY2UgJntcbiAgICAgID4gbGl7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jLXRvcC1saW5rc19faXRlbXtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZSAxMDAwbXM7XG4gICAgLndmLWludHJvaGVhZGJiYXNlLW40LWFjdGl2ZSAme1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLndmLWludHJvaGVhZGJiYXNlLW40LWluYWN0aXZlICZ7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLndmLWFjdGl2ZS0tb25jZSAme1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0ZSBDaGlsZCBJdGVtcyBTZXF1ZW50aWFsbHlcblxuLmlzLXZpZXctZW50ZXJlZCB7XG4gIC5hLWNoaWxkLXNlcXVlbmNlLFxuICAubmF2LW5ld3MtbGlzdC1jYXRze1xuICAgID4gKntcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1lbnRlci1kdXJhdGlvbjtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICBhbmltYXRpb24tbmFtZTogZW50ZXJpbmdGYWRlVXA7XG4gICAgICAvL2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMxMCwgMC40NDAsIDAuNDQ1LCAxLjY1MCk7XG4gICAgICBAZm9yICRpIGZyb20gMSB0byAxMiB7XG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkaSAqICRhbmltYXRpb24tZGVsYXktZHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmlzLXZpZXctZXhpdGluZyB7XG4gIC5hLWNoaWxkLXNlcXVlbmNle1xuICAgID4gKntcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBleGl0aW5nRmFkZURvd247XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZXhpdC1kdXJhdGlvbjtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMG1zIWltcG9ydGFudDtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgfVxuICB9XG59XG5cblxuIiwiQGtleWZyYW1lcyBlbnRlcmluZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6MDtcbiAgICAvL3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwgNnB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eToxO1xuICAgIC8vdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZXhpdGluZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6MTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTowO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBlbnRlcmluZ0ZhZGVVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBleGl0aW5nRmFkZURvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OjA7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDAuOTYpO1xuICB9XG59XG5cbi8qKlxuQW5pbWF0aW9uIERlZmF1bHRcbiAqL1xuLmlzLXZpZXctZW50ZXJlZCB7XG4gIC5hLWRlZmF1bHR7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWVudGVyLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGVudGVyaW5nO1xuICB9XG59XG5cbi5pcy12aWV3LWV4aXRpbmcge1xuICAuYS1kZWZhdWx0e1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1leGl0LWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGV4aXRpbmc7XG4gIH1cbn1cblxuXG5cbi8qKlxuICBBbmltYXRpb24gSW4gT3V0IChDb21tb24pXG4gKi9cbi5pcy12aWV3LWVudGVyZWQge1xuICAuYS1pbi1vdXQsXG4gIC5hLWluLW91dC0tMntcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZW50ZXItZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tbmFtZTogZW50ZXJpbmdGYWRlVXA7XG4gIH1cbiAgLmEtaW4tb3V0LS0ye1xuICAgIGFuaW1hdGlvbi1kZWxheTogJGFuaW1hdGlvbi1kZWxheS1kdXJhdGlvbiAvIDI7XG4gIH1cbn1cblxuLmlzLXZpZXctZXhpdGluZyB7XG4gIC5hLWluLW91dCxcbiAgLmEtaW4tb3V0LS0ye1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1leGl0LWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGV4aXRpbmc7XG4gIH1cbn1cblxuXG4iLCIuYXBwe1xuICBtYXgtd2lkdGg6JGFwcC13cmFwcGVyLW1heC13aWR0aDtcbiAgbWFyZ2luOjAgYXV0bztcbiAgYm94LXNoYWRvdzogMCAwIDRweCAwIHJnYmEoMCwwLDAsMC4zKTtcbn1cbiIsImJvZHl7XG4gIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXRleHR1cmUtcGFwZXIgdXJsKCcuLi8uLi9pbWFnZXMvbWItdGV4dHVyZS5qcGcnKSBjZW50ZXIgMCByZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTozMDBweCAxNTBweDtcbn1cblxuKiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5ib2R5e1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MTAwJTtcbn1cblxuLnUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDI1ZW07IC8qIE9yIHdoYXRldmVyIHlvdSB3YW50IGl0IHRvIGJlICovXG4gIGhlaWdodDogMjVlbTsgLyogT3Igd2hhdGV2ZXIgeW91IHdhbnQgaXQgdG8gYmUgKi9cbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xufVxuXG4udS1tZWRpYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyAvKiBPciB3aGF0ZXZlciBvYmplY3QtZml0IHlvdSB3YW50ICovXG59XG5cblxuLmJyZWFkY3J1bWJfbGFzdHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uLWxpbmtze1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6MzBweCAwO1xufVxuXG4uYy1wYWdpbmF0aW9uLWxpbmtzX19pdGVte1xuICBhe1xuICAgIC8vZGlzcGxheTogZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgcGFkZGluZzo1cHggMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgPiBzcGFue1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5jLW5hdi00MDR7XG4gIHBhZGRpbmc6MzBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBhe1xuICAgICY6aG92ZXJ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5vLWZsdWlke1xuICBkaXNwbGF5OmJsb2NrO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6YXV0bztcbn1cblxuLm8tY2VudGVye1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb250YWluZXItZmx1aWQtLWNhcHtcbiAgbWF4LXdpZHRoOjE2MDBweDtcbn1cblxuLm8tdGh1bWItb3ZlcmxheXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLnUtaW52aWV3e1xuICAgIC5vLXRodW1iLW92ZXJsYXlfX2NvbnRlbnR7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSA2MDBtcyBlYXNlIDIwMG1zLCBvcGFjaXR5IDYwMG1zIGVhc2UgMjAwbXM7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMjBweCk7XG4gICAgfVxuICAgICYuaXMtaW52aWV3e1xuICAgICAgLm8tdGh1bWItb3ZlcmxheV9fY29udGVudHtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uby10aHVtYi1vdmVybGF5X19saW5re1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOmhvdmVye1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKHJnYmEoMCwwLDAsMC42KSwgcmdiYSgwLDAsMCwwKSwgMCUsIDM1JSk7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICAuby10aHVtYi1vdmVybGF5X19tZWRpYXtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDYwMG1zIGVhc2U7XG4gIH1cbiAgJjpob3ZlcntcbiAgICAuby10aHVtYi1vdmVybGF5X19tZWRpYXtcbiAgICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDEyMDBtcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbChyZ2JhKDAsMCwwLDAuOSksIHJnYmEoMCwwLDAsMCksIDAlLCAzNSUpO1xuICAgICAgdHJhbnNmb3JtOnNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxufVxuXG4uby10aHVtYi1vdmVybGF5X19jb250ZW50e1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDokZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBsZWZ0OiRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICB0b3A6JGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIGxlZnQ6JGdyaWQtZ3V0dGVyLXdpZHRoO1xuICB9XG59XG5cbi5vLXRodW1iLW92ZXJsYXlfX21lZGlhe1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OmF1dG87XG59XG5cbi5vLXRodW1iLW92ZXJsYXlfX2NhdHtcbiAgbWFyZ2luOjA7XG4gIGxpbmUtaGVpZ2h0OjE7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtZ2xvYmFsO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjojRkVEOThBO1xufVxuXG4uby10aHVtYi1vdmVybGF5X190aXRsZXtcbiAgbWF4LXdpZHRoOjMyMHB4O1xuICBtYXJnaW46MDtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjojZmZmO1xuICBsaW5lLWhlaWdodDoxO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgbWF4LXdpZHRoOjQyMHB4O1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgfVxufVxuXG5cbi8qKlxuICBBZG1pbiBFZGl0IExpbmtcbiAqL1xuXG4uby1hZG1pbi1lZGl0e1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDoyMHB4O1xuICByaWdodDoyMHB4O1xuICBhe1xuICAgIHBhZGRpbmc6OHB4IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6Ymx1ZTtcbiAgICBjb2xvcjojZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBvcGFjaXR5OjAuNTtcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7XG4gICAgJjpob3ZlcntcbiAgICAgIG9wYWNpdHk6MTtcbiAgICAgIGJveC1zaGFkb3c6MCAwIDVweCByZ2JhKDAsMCwwLDAuNik7XG4gICAgfVxuICB9XG59XG4iLCJcbi8qKlxuICBUaXRsZXNcbiAqL1xuXG4udGl0bGUtYXNpZGV7XG4gIG1hcmdpbi10b3A6MDtcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICBmb250LXNpemU6MjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5cblxuLyoqXG4gIENvbW1vbiBDb250ZW50XG4gKi9cblxuJGgxX2xhcmdlOjUycHg7XG5cbmJvZHkjdGlueW1jZS53cC1lZGl0b3IsXG4uYy1jb250ZW50e1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuICAqIHtcbiAgICBtYXJnaW4tdG9wOjA7XG4gIH1cbiAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gIGlmcmFtZXtcbiAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYy1jb250ZW50X19mZWF0dXJlLXRpdGxle1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206MS41cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICB9XG4gIH1cblxuICAuYy1jb250ZW50X19mZWF0dXJlLXN1YnRpdGxle1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG4gIH1cblxuXG4gIGgxe1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgfVxuICB9XG5cbiAgaDJ7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gIGgze1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6MmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gIH1cblxuICBoNHtcbiAgICAvL2ZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAgIC8vZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIGltZy5hbGlnbnJpZ2h0IHtmbG9hdDpyaWdodDsgbWFyZ2luOjAgMCAxZW0gMWVtfVxuICBpbWcuYWxpZ25sZWZ0IHtmbG9hdDpsZWZ0OyBtYXJnaW46MCAxZW0gMWVtIDB9XG4gIGltZy5hbGlnbmNlbnRlciB7ZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG99XG4gIGEgaW1nLmFsaWducmlnaHQge2Zsb2F0OnJpZ2h0OyBtYXJnaW46MCAwIDFlbSAxZW19XG4gIGEgaW1nLmFsaWdubGVmdCB7ZmxvYXQ6bGVmdDsgbWFyZ2luOjAgMWVtIDFlbSAwfVxuICBhIGltZy5hbGlnbmNlbnRlciB7ZGlzcGxheTogYmxvY2s7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG99XG5cbiAgaDV7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICB9XG4gIGg2e1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgfVxuXG4gIHB7XG4gICAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICB9XG5cbiAgaW1ne1xuICAgIG1heC13aWR0aDoxMDAlO1xuICAgIGhlaWdodDphdXRvO1xuICB9XG5cbiAgYXtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlcntcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgYm9yZGVyLXRvcDoycHggc29saWQgJGFwcC1jb2xvci1ncmV5LWxpZ2h0O1xuICAgIG1hcmdpbi10b3A6M2VtO1xuICAgIG1hcmdpbi1ib3R0b206M2VtO1xuICAgID4gbGl7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWdyZXktbGlnaHRlcjtcbiAgICB9XG4gIH1cblxuICB1bHtcbiAgICA+IGxpe1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjEuNWVtO1xuICAgICAgICBsZWZ0OjJweDtcbiAgICAgICAgd2lkdGg6NnB4O1xuICAgICAgICBoZWlnaHQ6NnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb2x7XG4gICAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcbiAgICA+IGxpe1xuICAgICAgcGFkZGluZy1sZWZ0OjQ1cHg7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjEycHg7XG4gICAgICAgIGxlZnQ6MnB4O1xuICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICBoZWlnaHQ6MzBweDtcbiAgICAgICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDozMHB4O1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpO1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1saWdodDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgICAgICAgIHRvcDoxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmxvY2txdW90ZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOjYwMHB4O1xuICAgIG1hcmdpbjoyZW0gYXV0byAxLjVlbSBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MzBweDtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgICBwYWRkaW5nLXRvcDoxZW07XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIGxpbmUtaGVpZ2h0OjEuMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICY6YmVmb3Jle1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29udGVudDon4oCcJztcbiAgICAgIHRvcDotMC4yNWVtO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgIHdpZHRoOjAuNWVtO1xuICAgICAgaGVpZ2h0OjAuNWVtO1xuICAgICAgYmFja2dyb3VuZDogJGFwcC1jb2xvci13aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIH1cbiAgICBwe1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgICAuY20tY29udGVudCAme1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci10ZXh0dXJlLXBhcGVyIHVybCgnLi4vLi4vaW1hZ2VzL21iLXRleHR1cmUuanBnJykgY2VudGVyIDAgcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MzAwcHggMTUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBocntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6bm9uZTtcbiAgICBtYXgtd2lkdGg6NzAwcHg7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgICBoZWlnaHQ6MXB4O1xuICAgIGJhY2tncm91bmQ6ICRhcHAtY29sb3ItZ3JleS1saWdodDtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cblxuXG4gIC5lbnRyeS1jb250ZW50LWFzc2V0e1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOjNlbTtcbiAgICBtYXJnaW4tYm90dG9tOjNlbTtcbiAgICBpZnJhbWV7XG4gICAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgICAvLyAgICB3aWR0aDoxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIyMgR2FsbGVyaWVzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICB9XG5cbiAgLmdhbGxlcnktaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTIuNSU7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxMS4xMTExMSU7XG4gIH1cblxuICAuZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG59XG5cbmJvZHkjdGlueW1jZS53cC1lZGl0b3J7XG4gIG1heC13aWR0aDo3NjBweDtcbiAgbWFyZ2luOjMwcHggYXV0bztcbiAgcGFkZGluZzozZW0haW1wb3J0YW50O1xuICBib3gtc2hhZG93OjAgMCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDonJztcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgei1pbmRleDotMTtcbiAgfVxufVxuXG5cbi5jLXNlYXJjaC1jb250ZW50e1xuICBwYWRkaW5nOjJlbSAwO1xufVxuIiwiLm8tYnRue1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICBjb2xvcjojZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6MThweCAxOHB4IDE2cHggMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWluLXdpZHRoOjEyMHB4O1xuICAvL2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3Vze1xuICAgIGJhY2tncm91bmQtY29sb3I6bGlnaHRlbigkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyLDUlKTtcbiAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgIC8vYm9yZGVyOjFweCBkYXNoZWQgJGFwcC1jb2xvci13aGl0ZTtcbiAgfVxufVxuXG4uby1idG4tLXNtYWxse1xuICBwYWRkaW5nOjE1cHggMjJweCAxM3B4IDIycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm8tYnRuLS13aWRlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWluLXdpZHRoOjE3MHB4O1xufVxuXG4uby1idG4tLWZpcnN0IHtcbiAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gIG1hcmdpbi1ib3R0b206MTBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIG1hcmdpbi1ib3R0b206MDtcbiAgfVxufVxuXG4uby1uYXYtbGlua3tcblxufVxuXG5cbi8qKlxuICBGaXhlZCBQb3NpdGlvbiBDb250YWN0IEJ1dHRvblxuICovXG4uYy1jb250YWN0LWJ1dHRvbntcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDtcbiAgYm90dG9tOjE1cHg7XG4gIHJpZ2h0OjE1cHg7XG4gIHRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOnNjYWxlKDAuMikgcm90YXRlKDkwZGVnKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYuaXMtc2Nyb2xsZWR7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLmMtY29udGFjdC1idXR0b25fX2xpbmt7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgcGFkZGluZzoxMHB4O1xuICBib3JkZXI6MnB4IHNvbGlkICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLDAuMyk7XG4gIHNwYW57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxufVxuLmMtY29udGFjdC1idXR0b25fX2ljb257XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzo1cHggMCA1cHggMDtcbn1cblxuLmMtY29udGFjdC1idXR0b25fX3RleHR7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZy1ib3R0b206NXB4O1xufVxuIiwiLmMtY29udGFpbmVye1xuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBtYXgtd2lkdGg6MTE3MHB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLXNtO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxuXG59XG5cblxuLmMtY29udGFpbmVyLS1zdGlja3l7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDoxMDBweDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbn1cbiIsIi5jLWNvbnRlbnQtbWFpbntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2ZvbnQtc2l6ZTogMjBweDtcbiAgYmFja2dyb3VuZDojZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMCwwLDAuMSk7XG4gIHBhZGRpbmctbGVmdDoyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gIHBhZGRpbmctdG9wOjMwcHg7XG4gIHBhZGRpbmctYm90dG9tOjMwcHg7XG4gIC8vZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tbGVmdDotMTVweDtcbiAgbWFyZ2luLXJpZ2h0Oi0xNXB4O1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteHMpe1xuICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MzBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgcGFkZGluZy10b3A6NTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTo1MHB4O1xuICAgIHBhZGRpbmctbGVmdDo1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6NTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6NDBweDtcbiAgfVxuICAmLmhhcy10b3AtYWN0aW9ue1xuXG4gIH1cbn1cblxuXG4vKipcbiAgSG9yaXpvbnRhbCBSdWxlXG4gKi9cblxuLmMtaHJ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6MDtcbiAgaGVpZ2h0OjFweDtcbiAgYmFja2dyb3VuZDokYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICBtYXJnaW4tdG9wOjMwcHg7XG4gIG1hcmdpbi1ib3R0b206NDBweDtcbn1cblxuXG5cbi5jLXRhYmxlX193cmFwcGVye1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luOiAwIDAgMmVtO1xufVxuXG5cbi5jLXRhYmxlLFxuLmMtY29udGVudC1tYWluIHRhYmxlIHtcblxuICB3aWR0aDoxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgdGQsIHRoXG4gIHtcbiAgICBwYWRkaW5nOjEwcHg7XG4gICAgLy9wYWRkaW5nOiAuNWVtIDFlbTtcbiAgfVxuXG4gIHRoe1xuICAgIGNvbG9yOiNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYmFja2dyb3VuZDojQUUwODNBO1xuICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgybiArIDEpe1xuICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIH1cbiAgfVxufVxuXG50ZHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhcHAtY29sb3ItYnJvd24tbGlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICAmOmZpcnN0LWNoaWxke1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgJjpudGgtY2hpbGQoMm4gKyAxKXtcbiAgICBiYWNrZ3JvdW5kOiNGNUY0RjI7XG4gIH1cblxufVxuIiwiYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zbGlkZW91dC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1NnB4O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHotaW5kZXg6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZW91dC1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4uc2xpZGVvdXQtbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4uc2xpZGVvdXQtcGFuZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IC8qIEEgYmFja2dyb3VuZC1jb2xvciBpcyByZXF1aXJlZCAqL1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLnNsaWRlb3V0LW9wZW4sXG4uc2xpZGVvdXQtb3BlbiBib2R5LFxuLnNsaWRlb3V0LW9wZW4gLnNsaWRlb3V0LXBhbmVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNsaWRlb3V0LW9wZW4gLnNsaWRlb3V0LW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5jLW1lbnUtY2F0LXRpdGxle1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjozMHB4IDAgMzBweCAwO1xuICBzcGFue1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWZsYWlyKDQwcHgsNDAlKTtcbiAgfVxuICBmb250LXNpemU6IDI1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW46MzBweCAwIDYwcHggMDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxufVxuLmMtbWVudS1jYXQtc2xpZGVye1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWFyZ2luOjAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjEyMHB4O1xuICB9XG4gIC5zd2lwZXItc2xpZGV7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSAwLjFzO1xuICAgIC5pcy1pbWctc2NhbGVke1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDowO1xuICAgICAgcGFkZGluZy1ib3R0b206NTAlO1xuICAgICAgaW1ne1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy93aWR0aDoxMDAlO1xuICAgICAgICAvL2hlaWdodDphdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnN3aXBlci1zbGlkZS1wcmV2LFxuICAgICYuc3dpcGVyLXNsaWRlLW5leHR7XG4gICAgICAuaXMtaW1nLXNjYWxlZHtcblxuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgfVxuXG4gICAgfVxuICAgICYuc3dpcGVyLXNsaWRlLXByZXZ7XG4gICAgICAuaXMtaW1nLXNjYWxlZHtcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICByaWdodDo1MCU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc3dpcGVyLXNsaWRlLW5leHR7XG4gICAgICAuaXMtaW1nLXNjYWxlZHtcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICByaWdodDo1MCU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zd2lwZXItc2xpZGUtYWN0aXZle1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4uYy1tZW51LWNhdC1zbGlkZXJfX2xpbmt7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OjEwMCU7XG4gIHdpZHRoOjEwMCU7XG4gIC8vYm90dG9tOjA7XG4gIC8vcmlnaHQ6MDtcbiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2U7XG4gIC5zd2lwZXItc2xpZGUtYWN0aXZlICZ7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoMntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOjA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgICBmb250LXNpemU6IDNlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgfVxuICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAme1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICY6aG92ZXJ7XG4gICAgICBvcGFjaXR5OjE7XG4gICAgfVxuICB9XG59XG5cblxuIiwiXG4uYWEtZHJvcGRvd24tbWVudSB7XG5cbiAgLmF1dG9jb21wbGV0ZS1oZWFkZXJ7XG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuXG4gIC5hdXRvY29tcGxldGUtaGVhZGVyLXRpdGxle1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICB9XG5cbiAgLnN1Z2dlc3Rpb24tbGlua3tcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1nbG9iYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXRvcDo1cHg7XG4gICAgcGFkZGluZy1ib3R0b206NXB4O1xuICB9XG5cbiAgLnN1Z2dlc3Rpb24tcG9zdC10aXRsZXtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc3VnZ2VzdGlvbi1wb3N0LXRheHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6JGFwcC1jb2xvci1icm93bjtcbiAgfVxuICAuc3VnZ2VzdGlvbi1wb3N0LWNvbnRlbnR7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmFhLXN1Z2dlc3Rpb257XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZTtcbiAgICBlbXtcbiAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZSFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIH1cbiAgfVxuICAuYWEtc3VnZ2VzdGlvbiAuc3VnZ2VzdGlvbi1wb3N0LXRpdGxle1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxufVxuXG5cbi5hdXRvY29tcGxldGUtZm9vdGVye1xuICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbn1cbiIsIi8vIEZvcm1zXG5cbi8vSW5wdXQgTWl4aW5cblxuQG1peGluIGMtZm9ybS1pbnB1dCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtZ2xvYmFsO1xuICBmb250LXNpemU6MTZweDtcbiAgY29sb3I6IzMwMzAzMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTIsIDE4MywgMTc3LCAwLjUpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmNWY4ZmM7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkYXBwLWNvbG9yLXllbGxvdywgMTUlKTtcbiAgICBib3JkZXItY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAvL2NvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjo6LW1zLWNsZWFyIHtcbiAgICB3aWR0aCA6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgJjo6LW1zLWNsZWFyIHtcbiAgICB3aWR0aCA6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbn1cblxuLy8gU3VibWl0IEJ1dHRvbiBNaXhpblxuXG5AbWl4aW4gYy1mb3JtLXN1Ym1pdC1idG4ge1xuICBoZWlnaHQ6NTBweDtcbiAgd2lkdGg6MTAwJTtcbiAgb3V0bGluZTpub25lO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgbGluZS1oZWlnaHQ6MTtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgZm9udC1zaXplOjIwcHg7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4xcyBsaW5lYXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgfVxufVxuXG4vLyBCYXNlIEZvcm0gU3R5bGVzXG5cbi5jLWZvcm17XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgfVxuXG4gIC8vIExhYmVsc1xuXG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZToyNHB4O1xuICB9XG5cbiAgLy8gSW5wdXQgYW5kIFNlbGVjdHMgQmFzZSBTdHlsZXNcblxuICAuYy1mb3JtLWlucHV0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgfVxuXG4gIC5jLWZvcm0taW5wdXRfX2ZpZWxkIHtcbiAgICBAaW5jbHVkZSBjLWZvcm0taW5wdXQ7XG4gIH1cblxuICAvLyBNdWx0aXNlbGVjdCBDb21wb25lbnRcblxuICAubXVsdGlzZWxlY3RfX3RhZ3Mge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmNlYjc7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X19zZWxlY3Qge1xuICAgIGhlaWdodDogNjBweDtcbiAgICByaWdodDoxMHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogNTUlO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDphZnRlciwgLm11bHRpc2VsZWN0X19zZWxlY3Q6YmVmb3JlIHtcbiAgICB0b3A6IDQ1JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX29wdGlvbi0tc2VsZWN0ZWQge1xuICAgIGNvbG9yOmluaGVyaXQ7XG4gICAgJi5tdWx0aXNlbGVjdF9fb3B0aW9uLS1oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIH1cbiAgfVxuXG4gIC5tdWx0aXNlbGVjdF9fb3B0aW9uOmhvdmVyLFxuICAubXVsdGlzZWxlY3RfX29wdGlvbi0taGlnaGxpZ2h0e1xuICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X19zaW5nbGUge1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBjb2xvcjojMzAzMDMwO1xuICAgIHBhZGRpbmc6IDRweCAxNXB4O1xuICAgIG1hcmdpbjowO1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X190YWdzIHtcbiAgICBwYWRkaW5nOiAwIDQwcHggMCAwO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXI6MXB4IHNvbGlkICNkYmNlYjc7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX2NvbnRlbnQge1xuICAgIGJvcmRlcjoxcHggc29saWQgI2RiY2ViNztcbiAgfVxuXG4gIC8vQ2hlY2tib3hlcyBhbmQgUmFkaW8gQnV0dG9uc1xuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOmF1dG87XG4gIH1cblxuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wge1xuICAgIHBvaW50ZXItZXZlbnRzOmluaGVyaXQ7XG4gICAgZm9udC1zaXplOjE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICBtYXJnaW46MDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgb3BhY2l0eTogaW5oZXJpdDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgbGVmdDowO1xuICAgIHRvcDowO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgfVxuICB9XG5cbiAgLmMtZm9ybS1jaGVja2JveC1jb250cm9sLmhhcy1lcnJvciBpbnB1dCB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yLFxuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wuaGFzLWVycm9yIGlucHV0OmZvY3VzIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNzgwMDtcbiAgfVxuXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6MDtcbiAgfVxuXG4gIC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmNlYjc7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDApLCBib3JkZXItY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMCksIGJveC1zaGFkb3cgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMCksIGJvcmRlci1ib3R0b20gMC4xcyBsaW5lYXI7XG4gIH1cblxuICAuYy1mb3JtLWNvbnRyb2wtLXJhZGlvIC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAvKiBIb3ZlciBhbmQgZm9jdXMgc3RhdGVzICovXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbC5jLWZvcm0tY29udHJvbC0tcmFkaW8gaW5wdXQ6Zm9jdXMgIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmNWY4ZmM7XG4gIH1cblxuICAvKiBIb3ZlciBhbmQgZm9jdXMgc3RhdGVzICovXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbCBpbnB1dDpmb2N1cyB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xuICB9XG5cbiAgLyogQ2hlY2tlZCBzdGF0ZSAqL1xuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wgaW5wdXQ6Y2hlY2tlZCB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICB9XG5cbiAgLyogRGlzYWJsZWQgc3RhdGUgKi9cbiAgLmMtZm9ybS1jaGVja2JveC1jb250cm9sIGlucHV0OmRpc2FibGVkIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIH1cblxuICAvKiBDaGVjayBtYXJrICovXG4gIC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8qIFNob3cgY2hlY2sgbWFyayAqL1xuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wgaW5wdXQ6Y2hlY2tlZCB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qIENoZWNrYm94IHRpY2sgKi9cbiAgLmMtZm9ybS1jb250cm9sLS1jaGVja2JveCAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvcjphZnRlciB7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlcjogc29saWQgJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICBib3JkZXItd2lkdGg6IDAgNHB4IDRweCAwO1xuICB9XG5cbiAgLyogRGlzYWJsZWQgdGljayBjb2xvdXIgKi9cbiAgLmMtZm9ybS1jb250cm9sLS1jaGVja2JveCBpbnB1dDpkaXNhYmxlZCB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICM3YjdiN2I7XG4gIH1cblxuICAvKiBSYWRpbyBidXR0b24gaW5uZXIgY2lyY2xlICovXG4gIC5jLWZvcm0tY29udHJvbC0tcmFkaW8gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIHRvcDogOXB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuXG4gIC5jLWZvcm0tY29udHJvbC0tcmFkaW8gaW5wdXQ6Zm9jdXMgfiAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvcjphZnRlciB7XG4gICAgdG9wOiA5cHg7XG4gICAgbGVmdDogOXB4O1xuICB9XG5cbiAgLyogRGlzYWJsZWQgY2lyY2xlIGNvbG91ciAqL1xuICAuYy1mb3JtLWNvbnRyb2wtLXJhZGlvIGlucHV0OmRpc2FibGVkIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM3YjdiN2I7XG4gIH1cblxufVxuXG4vL1N1Ym1pdCBCdXR0b25zXG5cbi5idG4tc3VibWl0IHtcbiAgQGluY2x1ZGUgYy1mb3JtLXN1Ym1pdC1idG47XG59XG5cbi8vIEVycm9yIFN0YXRlc1xuXG4uZm9ybS1ncm91cCB7XG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGxpbmUtaGVpZ2h0OjYwcHg7XG4gICAgY29sb3I6I2ZmNzgwMDtcbiAgICB6LWluZGV4OmluaGVyaXQ7XG4gIH1cbiAgJi5oYXMtZXJyb3Ige1xuICAgIC5oZWxwLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBjb2xvcjojZmY3ODAwO1xuICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlXSwgLm11bHRpc2VsZWN0X190YWdzIHtcbiAgICAgIGJvcmRlci1jb2xvcjojZmY3ODAwO1xuICAgIH1cbiAgICAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICB9XG4gIH1cbiAgJi5pcy1lbXB0eSB7XG4gICAgLm11bHRpc2VsZWN0X19zaW5nbGUge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgfVxuICB9XG59XG5cbi8vR3Jhdml0eSBGb3JtcyBPdmVyd3JpdGVzXG5cbi5nZm9ybV93cmFwcGVyIHtcblxuICB1bC5nZm9ybV9maWVsZHMsXG4gIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgbGkuZ2ZpZWxkLFxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICBmb250LXNpemU6MjRweDtcbiAgfVxuXG4gIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT0ndGV4dCddLFxuICB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGlucHV0LmRhdGVwaWNrZXIsXG4gIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2J1dHRvbiddKTpub3QoW3R5cGU9J2ltYWdlJ10pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgQGluY2x1ZGUgYy1mb3JtLWlucHV0O1xuICB9XG5cbiAgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBjb2xvcjojMzAzMDMwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkyLCAxODMsIDE3NywgMC41KTtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6bm9uZTtcbiAgICB9XG4gIH1cblxuICAvL1NlbGVjdCBEcm9wZG93blxuICBzZWxlY3Qge1xuICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDoxMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgaGVpZ2h0OiA1MHB4IWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDo1MHB4IWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOm5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkyLCAxODMsIDE3NywgMC41KTtcbiAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgYm94LXNoYWRvdzpub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6MTVweDtcbiAgfVxuXG4gIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvL1NlbGVjdCBDaG9zZW4gU3R5bGVzXG5cbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBoZWlnaHQ6IDUwcHghaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OjUwcHghaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bm9uZTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTIsIDE4MywgMTc3LCAwLjUpO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICB9XG5cbiAgLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bm9uZTtcbiAgfVxuXG4gIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci13aGl0ZTtcbiAgICAuY2hvc2VuLXJlc3VsdHMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgIHJpZ2h0OjEwcHg7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYiB7XG4gICAgICB0b3A6MCFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzlBMUEzOTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2gge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuXG4gIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cblxuICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgQGluY2x1ZGUgYy1mb3JtLXN1Ym1pdC1idG47XG4gICAgbGluZS1oZWlnaHQ6MzBweCFpbXBvcnRhbnQ7XG4gIH1cblxuICAvL0NoZWNrYm94IEZpZWxkc1xuICAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94XG4gIHtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6NDBweCFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OjMwcHg7XG4gICAgICBsaW5lLWhlaWdodDozMHB4O1xuICAgICAgbGFiZWwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLXdoaXRlO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmNlYjc7XG4gICAgICAgICAgd2lkdGg6MzBweDtcbiAgICAgICAgICBoZWlnaHQ6MzBweDtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgei1pbmRleDoxO1xuICAgICAgICAgIHRyYW5zaXRpb246YWxsIDEwMG1zO1xuXG4gICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNHB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgfVxuICB9XG5cbiAgLy8gUmFkaW8gRmllbGRzXG4gIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6NDBweCFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDozMHB4O1xuICAgIGxpbmUtaGVpZ2h0OjMwcHg7XG4gICAgbGFiZWwge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RiY2ViNztcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0OmNoZWNrZWQge1xuICAgICAgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzlBMUEzOTtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6MTtcbiAgICAgIH1cbiAgICAgIH4gbGFiZWw6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBvcGFjaXR5OjA7XG4gICAgb3V0bGluZTpub25lO1xuICAgIHotaW5kZXg6MTAwO1xuICAgIHRvcDowO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICsgbGFiZWwge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvL0Vycm9yIFN0YXRlc1xuXG4gIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZmY3ODAwO1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIH1cblxuICAmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3Ige1xuICAgIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyB7XG5cbiAgICAgICsgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cblxuICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nYnV0dG9uJ10pOm5vdChbdHlwZT0naW1hZ2UnXSk6bm90KFt0eXBlPSdmaWxlJ10pLFxuICAgICAgICAuY2hvc2VuLWNvbnRhaW5lcixcbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjc4MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgKyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKSB7XG4gICAgICAgIG1heC13aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5jbS1jb250ZW50LS1vdXItc3Rvcnl7XG4gIHBhZGRpbmctdG9wOjMwcHg7XG4gIHBhZGRpbmctYm90dG9tOjMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBwYWRkaW5nLXRvcDo2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOjYwcHg7XG4gIH1cbn1cblxuLnRpdGxlLW91ci1zdG9yeXtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDVyZW07XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIG1hcmdpbi10b3A6MzBweDtcbiAgc3BhbntcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1mbGFpcigpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBtYXJnaW4tdG9wOjYwcHg7XG4gIH1cbn1cblxuLmNtLTMtY29sdW1ue1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNtLTMtY29sdW1uX190aXRsZXtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cbiAgPiBzcGFue1xuICAgIC8vZm9udC1zaXplOiAwLjc1ZW07XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtZmxhaXIoKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LW1kIC0gMSl7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jbS0zLWNvbHVtbl9fc3VidGl0bGV7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi5jbS0zLWNvbHVtbl9fY29se1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICB3aWR0aDozMy4zMzMzJTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHBhZGRpbmc6MCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAmOm50aC1jaGlsZCgybil7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MTBweDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBib3R0b206MTBweDtcbiAgICAgICAgd2lkdGg6MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICAgICAgfVxuICAgICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MTBweDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgYm90dG9tOjEwcHg7XG4gICAgICAgIHdpZHRoOjFweDtcbiAgICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNtLTMtY29sdW1uX19pY29ue1xuICBmb250LXNpemU6IDcwcHg7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG59XG5cblxuXG5cbi8qKlxuICBJbWFnZSBDb2xsYWdlXG4gKi9cblxuXG4vLyBCcmVha2luZyB0aGUgcnVsZXMsIGFuaW1hdGluZyB3aWR0aCBhbmQgaGVpZ2h0LlxuLy8gdlxuJHZfX3dpZHRoLWxlZnQ6IDUwJTtcbiR2X193aWR0aC1yaWdodDogMTAwJSAtICR2X193aWR0aC1sZWZ0O1xuLy8gaFxuJGhfX3dpZHRoLXRvcDogNTAlO1xuJGhfX3dpZHRoLWJvdHRvbTogMTAwJSAtICRoX193aWR0aC10b3A7XG4vLyBncm93XG4kcGVyY2VudC1ncm93OiAyLjUlO1xuXG4uY20tY29sbGFnZV9fd3JhcHtcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBtYXJnaW4tYm90dG9tOjkwcHg7XG4gIH1cbn1cblxuLmNtLWNvbGxhZ2V7XG4gIC5jbS1jb2xsYWdlX19jb250ZW50e1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOjE1cHg7XG4gICAgbGluZS1oZWlnaHQ6MjBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LW1kIC0gMSl7XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OmF1dG87XG4gICAgfVxuICB9XG59XG5cbi5jbS1jb2xsYWdlX190d2VldHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAvLyBBcmJpdHJhcnlcbiAgLmggPiAqLFxuICAudiA+ICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAuY20tY29sbGFnZV9fb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICByaWdodDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjpvcGFjaXR5IDMwMG1zIGVhc2UgMG1zO1xuICAgIH1cbiAgICAuY20tY29sbGFnZV9fY29udGVudCB7XG4gICAgICBwe1xuICAgICAgICBtYXgtd2lkdGg6NDAwcHg7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuNDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNtLWNvbGxhZ2VfX2NvbnRlbnQtLXNtYWxsIHtcbiAgICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vb3BhY2l0eTogMC45NTtcbiAgICAgID4gLmNtLWNvbGxhZ2VfX292ZXJsYXl7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UgNDAwbXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltZy1iZ3tcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICByaWdodDowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgb2JqZWN0LWZpdDpjb3ZlcjtcbiAgfVxuXG4gIC5oID4gKiB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggNDAwbXMgZWFzZTtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLnYgPiAqIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgNDAwbXMgZWFzZTtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5jbS1jb2xsYWdlX193cmFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDowO1xuICAgIHBhZGRpbmctYm90dG9tOjUwJTtcbiAgfVxuICAuY20tY29sbGFnZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgYm90dG9tOjA7XG4gIH1cblxuICAuaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgPiAuaF9fbGVmdCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogJHZfX3dpZHRoLWxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgPiAuaF9fcmlnaHQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6ICR2X193aWR0aC1yaWdodDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgID4gLmhfX2xlZnQge1xuICAgICAgICB3aWR0aDogJHZfX3dpZHRoLWxlZnQgLSAkcGVyY2VudC1ncm93O1xuICAgICAgfVxuICAgICAgPiAuaF9fcmlnaHQge1xuICAgICAgICB3aWR0aDogJHZfX3dpZHRoLXJpZ2h0IC0gJHBlcmNlbnQtZ3JvdztcbiAgICAgIH1cbiAgICAgID4gLmhfX2xlZnQ6aG92ZXIge1xuICAgICAgICB3aWR0aDogJHZfX3dpZHRoLWxlZnQgKyAkcGVyY2VudC1ncm93O1xuICAgICAgfVxuICAgICAgPiAuaF9fcmlnaHQ6aG92ZXIge1xuICAgICAgICB3aWR0aDogJHZfX3dpZHRoLXJpZ2h0ICsgJHBlcmNlbnQtZ3JvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgID4gLnZfX3RvcCB7XG4gICAgICBoZWlnaHQ6ICRoX193aWR0aC10b3A7XG4gICAgfVxuICAgID4gLnZfX2JvdHRvbSB7XG4gICAgICBoZWlnaHQ6ICRoX193aWR0aC1ib3R0b207XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgPiAudl9fdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAkaF9fd2lkdGgtdG9wIC0gJHBlcmNlbnQtZ3JvdztcbiAgICAgIH1cbiAgICAgID4gLnZfX2JvdHRvbSB7XG4gICAgICAgIGhlaWdodDogJGhfX3dpZHRoLWJvdHRvbSAtICRwZXJjZW50LWdyb3c7XG4gICAgICB9XG4gICAgICA+IC52X190b3A6aG92ZXIge1xuICAgICAgICBoZWlnaHQ6ICRoX193aWR0aC10b3AgKyAkcGVyY2VudC1ncm93O1xuICAgICAgfVxuICAgICAgPiAudl9fYm90dG9tOmhvdmVyIHtcbiAgICAgICAgaGVpZ2h0OiAkaF9fd2lkdGgtYm90dG9tICsgJHBlcmNlbnQtZ3JvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNtLWNvbGxhZ2VfX3R3ZWV0e1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGF7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAgTW9kdWxlIDIgQ29sIE1lZGlhXG4gKi9cblxuLmNtLTItY29sLW1lZGlhe1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlO1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgbWFyZ2luLWJvdHRvbTo5MHB4O1xuICB9XG59XG5cbi5jbS0yLWNvbC1tZWRpYV9faXRlbXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHdpZHRoOjUwJTtcbiAgICBmbG9hdDpsZWZ0O1xuICB9XG59XG5cbi5jbS0yLWNvbC1tZWRpYV9faW1ne1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmNtLTItY29sLW1lZGlhX19jb250ZW50e1xuICBtYXgtd2lkdGg6NzAwcHg7XG4gIHBhZGRpbmc6NTBweCAzMHB4O1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBoMntcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46MDtcbiAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG4gIHB7XG4gICAgbWFyZ2luOjA7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBwYWRkaW5nOjE1MHB4IDUwcHg7XG4gICAgaDJ7XG4gICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuICAgIHB7XG4gICAgICAvL2ZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteGwpe1xuICAgIHBhZGRpbmc6MTUwcHggMTAwcHg7XG4gIH1cbn1cblxuLmNtLTItY29sLW1lZGlhX19jb250ZW50LS1sZWZ0e1xuICBmbG9hdDpyaWdodDtcbn1cblxuXG4uY20td3JhcHtcbiAgbWF4LXdpZHRoOjc2MHB4O1xuICBtYXJnaW46MCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteGwpe1xuICAgIG1hcmdpbi1ib3R0b206OTBweDtcbiAgfVxufVxuXG4uY20tbW9kdWxle1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteGwpe1xuICAgIG1hcmdpbi1ib3R0b206OTBweDtcbiAgfVxufVxuXG4uY20tY29udGVudF9fY29udGVudHtcbiAgbWF4LXdpZHRoOjgwMHB4O1xuICBtYXJnaW46MCBhdXRvO1xufVxuXG4uY20tbW9kdWxlX19jb250ZW50LS1jZW50ZXJlZHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6NzYwcHg7XG4gIG1hcmdpbjowIGF1dG87XG4gIC5lbnRyeS1jb250ZW50LWFzc2V0e1xuICAgIG1hcmdpbi1sZWZ0Oi0xNXB4O1xuICAgIG1hcmdpbi1yaWdodDotMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgICBtYXJnaW4tbGVmdDotMTAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6LTEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14eGwpe1xuICAgICAgbWFyZ2luLWxlZnQ6LTIwMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0Oi0yMDBweDtcbiAgICB9XG4gIH1cbn1cblxuIiwiJGFwcC1oZWFkZXItcGFkLWxhcmdlOiAxNXB4O1xuJGFwcC1oZWFkZXItcGFkLWNvbXByZXNzZWQ6IDIwcHg7XG4vLyRhcHAtaGVhZGVyLWxpbmstcGFkZGluZy1zaWRlczogMTJweDtcbiRhcHAtaGVhZGVyLWxpbmstcGFkZGluZy1zaWRlczogMDtcbiRhcHAtaGVhZGVyLXRyYW5zaXRpb24tc3BlZWQ6IDQwMG1zO1xuXG4vLyBIb21lXG4kYXBwLWhlYWRlci1ob21lLWJhY2tncm91bmQtY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4kYXBwLWhlYWRlci1ob21lLXRleHQtY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4kYXBwLWhlYWRlci1ob21lLXRleHQtY29sb3Itc2Nyb2xsZWQ6ICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG5cbi8vIEludGVybmFsXG4kYXBwLWhlYWRlci1pbnRlcm5hbC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuJGFwcC1oZWFkZXItaW50ZXJuYWwtdGV4dC1jb2xvcjogJGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiRhcHAtaGVhZGVyLWludGVybmFsLXRleHQtY29sb3Itc2Nyb2xsZWQ6ICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG5cbiNzdmctbG9nby1tdWZmaW4tYnJlYWt7XG4gIC5pcy12aWV3LWV4aXRpbmcudmlldy0tZnJvbnQtcGFnZSAme1xuICAgIC5jbHMtMXtcbiAgICAgIGZpbGw6I2ZmZjtcbiAgICB9XG4gICAgLmNscy0ye1xuICAgICAgZmlsbDokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jLWhlYWRlci1ob2xkZXJ7XG4gIGhlaWdodDo2MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgaGVpZ2h0OjcwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIGhlaWdodDoxMTBweDtcbiAgfVxufVxuLmMtaGVhZGVyLWhvbGRlci0taG9tZXtcbiAgaGVpZ2h0OjA7XG59XG5cbi5jLWhlYWRlciB7XG4gIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgei1pbmRleDogMjAwO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICB3aWR0aDoxMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoJGFwcC1oZWFkZXItcGFkLWxhcmdlKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgdG9wOi0kYXBwLWhlYWRlci1wYWQtbGFyZ2U7XG4gICAgYm90dG9tOi0kYXBwLWhlYWRlci1wYWQtbGFyZ2U7XG4gICAgbGVmdDowO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDokYXBwLWhlYWRlci1pbnRlcm5hbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDAsMCwwLjYpO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSAkYXBwLWhlYWRlci10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAvL2JhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tZGFyayB1cmwoJy4uLy4uL2ltYWdlcy90aWxlLXdvb2RncmFpbi5qcGcnKSBjZW50ZXIgMCByZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQyMHB4IDI0MHB4O1xuICAgIH1cbiAgICAuaXMtdmlldy1leGl0aW5nLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAkYXBwLWhlYWRlci10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZDokYXBwLWhlYWRlci1pbnRlcm5hbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmlzLXNjcm9sbGVke1xuICAgICY6YmVmb3Jle1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgICYuaGFzLXNjcm9sbGVke1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gJGFwcC1oZWFkZXItdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAkYXBwLWhlYWRlci10cmFuc2l0aW9uLXNwZWVkIGVhc2U7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtc2Nyb2xsZWR7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtJGFwcC1oZWFkZXItcGFkLWxhcmdlKTtcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy1oZWFkZXJfX2NvbnRhaW5lcntcbiAgbWF4LXdpZHRoOjExNzBweDtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgLmhhcy1zY3JvbGxlZCAme1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gJGFwcC1oZWFkZXItdHJhbnNpdGlvbi1zcGVlZCBlYXNlO1xuICAgIH1cbiAgICAuaXMtc2Nyb2xsZWQgJntcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwkYXBwLWhlYWRlci1wYWQtbGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuXG4uYy1oZWFkZXJfX2lubmVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6MTVweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgcGFkZGluZzokYXBwLWhlYWRlci1wYWQtY29tcHJlc3NlZCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBwYWRkaW5nOiRhcHAtaGVhZGVyLXBhZC1jb21wcmVzc2VkIDA7XG4gIH1cbn1cblxuLmMtbG9nby1tYWlue1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46MDtcbiAgbGVmdDowO1xuICB0b3A6MDtcbiAgd2lkdGg6NzBweDtcbiAgaGVpZ2h0OjEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgwICRhcHAtYnJlYWtwb2ludC1tZCAtIDEpe1xuICAgIHRvcDozcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHdpZHRoOjgwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIHdpZHRoOjEyMHB4O1xuICAgIC8vd2lkdGg6MTcwcHg7XG4gIH1cblxufVxuLmMtbG9nby1tYWluX19ieWxpbmV7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOi0yNXB4O1xuICBsZWZ0OjA7XG4gIHdpZHRoOjEwMCU7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBvcGFjaXR5OjE7XG4gIHRyYW5zZm9ybTpzY2FsZSgxKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5oYXMtc2Nyb2xsZWQgJntcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgZWFzZSA0MDBtcywgdHJhbnNmb3JtIDQwMG1zIGVhc2UgNDAwbXM7XG4gIH1cbiAgLmlzLXNjcm9sbGVkICZ7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IDMwMG1zIGVhc2UgMHMsIHRyYW5zZm9ybSAzMDBtcyBlYXNlIDBzO1xuICAgIHRyYW5zZm9ybTpzY2FsZSgwLjk1KTtcbiAgICBvcGFjaXR5OjA7XG4gIH1cbiAgLmlzLXZpZXctZXhpdGluZy52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1sb2dvLW1haW5fX2ltZ3tcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OmF1dG87XG4gIHRvcDo1MCU7XG4gIGxlZnQ6NTAlO1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTQ2JSkgc2NhbGUoMSk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTQ2JSkgc2NhbGUoMSk7XG4gIH1cbiAgLmhhcy1zY3JvbGxlZCAme1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtICRhcHAtaGVhZGVyLXRyYW5zaXRpb24tc3BlZWQgZWFzZTtcbiAgfVxuICAuaXMtc2Nyb2xsZWQgJntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTQ2JSkgc2NhbGUoMC43NSk7XG4gICAgfVxuICB9XG59XG5cbi5jLXRvcC1uYXZ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6MTAwcHggLSAkYXBwLWhlYWRlci1saW5rLXBhZGRpbmctc2lkZXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBtYXJnaW4tbGVmdDoxNjBweCAtICRhcHAtaGVhZGVyLWxpbmstcGFkZGluZy1zaWRlcztcbiAgfVxuICAmOmFmdGVye1xuICAgIC5jLWhlYWRlci1ob2xkZXItLWhvbWUgJntcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiRhcHAtaGVhZGVyLWxpbmstcGFkZGluZy1zaWRlcztcbiAgICBib3R0b206LSRhcHAtaGVhZGVyLXBhZC1sYXJnZSAtICRhcHAtaGVhZGVyLXBhZC1jb21wcmVzc2VkO1xuICAgIHdpZHRoOjA7XG4gICAgaGVpZ2h0OjFweDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OjE7XG4gICAgLy90cmFuc2l0aW9uOnRyYW5zZm9ybSA2MDBtcyBlYXNlIDIwMG1zO1xuICAgIHRyYW5zaXRpb246d2lkdGggODAwbXMgZWFzZSAyMDBtcywgdHJhbnNmb3JtICRhcHAtaGVhZGVyLXRyYW5zaXRpb24tc3BlZWQgZWFzZSAwbXM7XG5cbiAgICAuaXMtc2Nyb2xsZWQgJntcbiAgICAgIG9wYWNpdHk6MDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwICRhcHAtYnJlYWtwb2ludC1sZyAtIDEpe1xuICAgICAgbGVmdDotMTAwcHg7XG4gICAgICByaWdodDowO1xuICAgICAgd2lkdGg6Y2FsYygxMDAlICsgMTAwcHgpIWltcG9ydGFudDtcbiAgICAgIGJvdHRvbTotMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgICAgLmlzLXNjcm9sbGVkICZ7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0kYXBwLWhlYWRlci1wYWQtbGFyZ2UpO1xuICAgICAgICBvcGFjaXR5OjA7XG4gICAgICB9XG4gICAgfVxuICAgIC53Zi1pbnRyb2hlYWRiYmFzZS1uNC1hY3RpdmUgJntcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB3aWR0aDpjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgIC8vdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG4gIHVsLCBsaXtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAubmF2LW1haW57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tcmlnaHQ6MjQwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgPiBsaXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDo4cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgICAgIG1hcmdpbi1yaWdodDozLjUlO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkYXBwLXRvcC1saW5rcy1wYWRkaW5nO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLWdyZXktZGFyaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGFwcC10b3AtbGlua3MtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgICB9XG4gICAgICAgIC52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgICAgICAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmlzLXZpZXctZXhpdGluZy52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgICAgICAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWRhcms7XG4gICAgICAgIH1cbiAgICAgICAgLmlzLXNjcm9sbGVkICZ7XG4gICAgICAgICAgLy9jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuY3VycmVudC1jYXRlZ29yeS1hbmNlc3RvcntcbiAgICAgICAgYXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy10b3AtbGlua3N7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjUwJTtcbiAgcmlnaHQ6MDtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLmMtdG9wLWxpbmtzLS1tb2JpbGV7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtdG9wLWxpbmtzX19pdGVte1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLXRvcC1saW5re1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhcHAtdG9wLWxpbmtzLXBhZGRpbmc7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gIC5jLXRvcC1saW5rcy0tbW9iaWxlICZ7XG4gICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDIycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICBjb2xvcjojZmZmO1xuICB9XG4gIC5pcy12aWV3LWV4aXRpbmcudmlldy0tZnJvbnQtcGFnZSAme1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gIH1cbn1cblxuLmMtdG9wLWxpbmstLW1lbnV7XG59XG5cbi5jLXRvcC1saW5rLS1sb2NhdG9ye1xuICBwYWRkaW5nLWxlZnQ6NTBweDtcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWRhcms7XG4gIC5vLWljb24tbG9jYXRpb257XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6MTBweDtcbiAgICB0b3A6OHB4O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIC52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgIH1cbiAgICAuaXMtdmlldy1leGl0aW5nLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgfVxuICB9XG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDotM3B4O1xuICAgIGxlZnQ6LTJweDtcbiAgICByaWdodDotMnB4O1xuICAgIGJvdHRvbTotM3B4O1xuICAgIGJvcmRlcjoxcHggc29saWQgJGFwcC1jb2xvci1ncmV5LWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRhcHAtdG9wLWxpbmtzLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuICB9XG4gIC52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgJjpiZWZvcmV7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICB9XG4gIH1cbiAgLmlzLXZpZXctZXhpdGluZy52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgJjpiZWZvcmV7XG4gICAgICBib3JkZXItY29sb3I6ICRhcHAtY29sb3ItZ3JleS1saWdodDtcbiAgICB9XG4gIH1cbiAgJjpob3ZlcntcbiAgICAuby1pY29uLWxvY2F0aW9ue1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgICBhbmltYXRpb246IHdpZ2dsZSA4MDBtcyBpbmZpbml0ZTtcbiAgICB9XG4gIH1cbn1cblxuXG4uYy10b3AtbGluay0tcmV3YXJkcy13cmFwe1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5jLWxvZ2luLWJveC1tYWlue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDpjYWxjKDEwMCUgLSAxcHgpO1xuICAgIHJpZ2h0OjA7XG4gICAgd2lkdGg6MzAwcHg7XG4gICAgaGVpZ2h0OjMwMHB4O1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjk1KTtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRhcHAtY29sb3ItZ3JleS1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgfVxuICAmOmhvdmVye1xuXG4gIH1cbn1cbi5jLXRvcC1saW5rLS1yZXdhcmRze1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWRhcms7XG4gIC8vYm9yZGVyOjFweCBzb2xpZCAkYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gIC8vYm9yZGVyLWJvdHRvbTowO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gICY6YmVmb3Jle1xuICAgIC8vY29udGVudDonJztcbiAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvL3otaW5kZXg6IC0xO1xuICAgIC8vdG9wOi0zcHg7XG4gICAgLy9sZWZ0Oi0ycHg7XG4gICAgLy9yaWdodDotMnB4O1xuICAgIC8vYm90dG9tOi0zcHg7XG4gICAgLy9ib3JkZXI6MXB4IHNvbGlkICRhcHAtY29sb3ItZ3JleS1saWdodDtcbiAgICAvL2JvcmRlci1yYWRpdXM6ICRhcHAtdG9wLWxpbmtzLWJvcmRlci1yYWRpdXM7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIC8vdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgfVxuICAudmlldy0tZnJvbnQtcGFnZSAme1xuICAgICY6YmVmb3Jle1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG4gICAgfVxuICB9XG4gIC5pcy12aWV3LWV4aXRpbmcudmlldy0tZnJvbnQtcGFnZSAme1xuICAgICY6YmVmb3Jle1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gICAgfVxuICB9XG4gICY6aG92ZXJ7XG4gICAgLm8taWNvbi1sb2NhdGlvbntcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgICAgYW5pbWF0aW9uOiB3aWdnbGUgODAwbXMgaW5maW5pdGU7XG4gICAgfVxuICB9XG59XG5cbi5jLXRvcC1saW5rX19sZWZ0LWljb257XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIG1hcmdpbi1yaWdodDoxMHB4O1xufVxuLmMtdG9wLWxpbmtzX19kcm9wLWJ0bntcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWxpZ2h0O1xuICBtYXJnaW4tbGVmdDoxMHB4O1xuICBwYWRkaW5nLWxlZnQ6MTBweDtcbiAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6MjZweDtcbn1cblxuXG4uYy10b3AtbGluay0tbG9naW57XG4gIC8vY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIGNvbG9yOiAkYXBwLWNvbG9yLWdyZXktZGFyaztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8vZm9udC1zaXplOiAxOHB4O1xuICAudmlldy0tZnJvbnQtcGFnZSAme1xuICAgIGNvbG9yOiAkYXBwLWNvbG9yLXdoaXRlO1xuICB9XG4gIC5pcy12aWV3LWV4aXRpbmcudmlldy0tZnJvbnQtcGFnZSAme1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIH1cbiAgLm8taWNvbi1jaGV2cm9uLWRvd257XG4gICAgY29sb3I6ICRhcHAtY29sb3ItZ3JleS1saWdodDtcbiAgICAudmlldy0tZnJvbnQtcGFnZSAme1xuICAgICAgY29sb3I6ICRhcHAtY29sb3Itd2hpdGU7XG4gICAgfVxuICAgIC5pcy12aWV3LWV4aXRpbmcudmlldy0tZnJvbnQtcGFnZSAme1xuICAgICAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cbi5jLXRvcC1saW5rLS1sb2dpbi1pY29ue1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICBjb2xvcjogJGFwcC1jb2xvci13aGl0ZTtcbiAgfVxufVxuXG4uYy10b3AtbGlua19fY29weXtcbiAgLy9kaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG4vKipcbiAgTW9iaWxlIE5hdlxuICovXG5cbi5jLW1vYmlsZS1uYXYtaGVhZGVye1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OjA7XG4gIHRvcDo1MCU7XG4gIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi5jLW1vYmlsZS1uYXYtaGVhZGVyX19pY29ue1xuICBmb250LXNpemU6IDMwcHg7XG4gIHdpZHRoOjUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgc3BhbntcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC52aWV3LS1mcm9udC1wYWdlICZ7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxufVxuXG5cbi5jLW1vYmlsZS1uYXYtaGVhZGVyX19idXJnZXJ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOjEwcHggMDtcbiAgbWFyZ2luLWxlZnQ6MTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICA+IHNwYW57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vaGVpZ2h0OjI2cHg7XG4gICAgLy93aWR0aDozNXB4O1xuICAgIGhlaWdodDoxNnB4O1xuICAgIHdpZHRoOjI0cHg7XG4gICAgYm9yZGVyLXRvcDoycHggc29saWQgJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDonJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDo1cHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjJweDtcbiAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICB9XG4gIH1cbiAgLnZpZXctLWZyb250LXBhZ2UgJntcbiAgICA+IHNwYW57XG4gICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuIiwiLyoqXG4gIE1vYmlsZSBOYXZpZ2F0aW9uXG4gKi9cblxuLmMtbmF2LW1vYmlsZXtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICYuaXMtb3BlbntcbiAgICAuYy1uYXYtbWFpbi1hc2lkZXtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgcmdiYSgwLDAsMCwwLjUpO1xuICAgIH1cbiAgICAuYy1uYXYtbW9iaWxlX19vdmVybGF5e1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAzMDBtcyBlYXNlIDBtcywgd2lkdGggMHMgZWFzZSAwbXM7XG4gICAgfVxuICB9XG4gICYuaXMtdHJhbnNpdGlvbntcbiAgICAuYy1uYXYtbWFpbi1hc2lkZXtcbiAgICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtbmF2LW1vYmlsZV9fb3ZlcmxheXtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICBoZWlnaHQ6MTAwJTtcbiAgd2lkdGg6MDtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuOTUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOm9wYWNpdHkgMzAwbXMgZWFzZSAwbXMsIHdpZHRoIDBzIGVhc2UgMzAwbXM7XG59XG5cbi5jLW5hdi1tYWluLWFzaWRle1xuICB3aWR0aDozMjBweDtcbiAgaGVpZ2h0OjEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOjA7XG4gIHJpZ2h0Oi0zMjBweDtcbiAgei1pbmRleDogMjAwMDtcbiAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1kYXJrIHVybCgnLi4vLi4vaW1hZ2VzL3RpbGUtd29vZGdyYWluLmpwZycpIGNlbnRlciAwIHJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MjBweCAyNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBvcGVuXG4gIC8vdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICYuaXMtdHJhbnNpdGlvbntcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIH1cbiAgJi5pcy1vcGVue1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuXG5cbi5jLW5hdi1tYWluLWFzaWRlX19oZWFkZXJ7XG4gIC8vaGVpZ2h0OjIwMHB4O1xufVxuXG4uYy1uYXYtbWFpbi1hc2lkZV9fbG9nb3tcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOjEwMHB4O1xuICBoZWlnaHQ6YXV0bztcbiAgcGFkZGluZzo1cHg7XG4gIG1hcmdpbjoxMHB4O1xuICBtYXJnaW4tYm90dG9tOjE1cHg7XG59XG5cbi5jLW5hdi1tYWluLWFzaWRlX19jbG9zZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgcmlnaHQ6MDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjojZmZmO1xuICBwYWRkaW5nOjE1cHg7XG59XG4uYy1uYXYtbWFpbi1hc2lkZV9fYnlsaW5le1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjojZmZmO1xuICBwYWRkaW5nLXRvcDo1cHg7XG59XG5cbi5jLW5hdi1tYWluLWFzaWRlX19pbm5lcntcbiAgaGVpZ2h0OjEwMCU7XG4gIC8vcGFkZGluZy1ib3R0b206ODBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItdGV4dHVyZS1wYXBlciB1cmwoJy4uLy4uL2ltYWdlcy9tYi10ZXh0dXJlLmpwZycpIGNlbnRlciAwIHJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOjMwMHB4IDE1MHB4O1xuICBmbGV4OiA4O1xufVxuXG4uYy1uYXYtbWFpbi1hc2lkZV9fZm9vdGVye1xuICAvL2hlaWdodDoxMDBweDtcbn1cblxuXG4vLyBNb2JpbGUgTmF2IE1lbnVcblxuLmMtbmF2LW1vYmlsZS1tZW51e1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuICA+IGxpe1xuXG5cbiAgICA+IGF7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6MTVweCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OjIwcHg7XG4gICAgICAgIHJpZ2h0OjIwcHg7XG4gICAgICAgIGJvdHRvbTowO1xuICAgICAgICBoZWlnaHQ6MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgICA+IGF7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5jLW1vYmlsZS1zb2NpYWx7XG4gIGNvbG9yOiNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6MjBweCAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbW9iaWxlLXNvY2lhbF9fdGV4dHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uYy1tb2JpbGUtc29jaWFsX19pY29uc3tcbiAgYXtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBwYWRkaW5nOjVweDtcbiAgICBtYXJnaW4tbGVmdDoxMHB4O1xuICAgIHNwYW57XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLmMtbmF2LW1vYmlsZS1zdXB7XG4gIGF7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzoxNXB4IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICAgID4gc3BhbntcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIH1cbiAgfVxufVxuXG4uYy1uYXYtbW9iaWxlLXN1cF9faWNvbntcbiAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICYuby1pY29uLWNvZmZlZXtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3RvcDoycHg7XG4gIH1cbn1cblxuLmMtbmF2LW1vYmlsZS1zdXBfX2hhbHZle1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgYXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6NTAlO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgLy9iYWNrZ3JvdW5kOmJsdWU7XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyRoZXJvLXNsaWRlcl9fYnJlYWtwb2ludDo3MjBweDtcbi8vJGhlcm8tc2xpZGVyX19oZWlnaHQtbW9iaWxlOjM2MHB4O1xuXG4kaGVyby1zbGlkZXJfX2JyZWFrcG9pbnQ6ODcwcHg7XG4kaGVyby1zbGlkZXJfX2hlaWdodC1tb2JpbGU6NDM1cHg7XG5cbi5oZXJvLXNsaWRlcl9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDojMTExO1xuICBAaW5jbHVkZSBhcHAtdXRpbGl0eS1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4O1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXZ7XG4gICAgbGVmdDowO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHR7XG4gICAgcmlnaHQ6MDtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0e1xuICAgIG9wYWNpdHk6MC4zO1xuICAgIG1hcmdpbi10b3A6MDtcbiAgICBwYWRkaW5nOjQwcHggNXB4O1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6MTNweCAyMnB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICAgIHBhZGRpbmc6NTBweCAyMHB4IDUwcHggMjBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgICBvcGFjaXR5OjE7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLXNsaWRlcl9fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiNmZmY7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRoZXJvLXNsaWRlcl9fYnJlYWtwb2ludCl7XG4gICAgLy93aWR0aDoxMDAlO1xuICAgIC8vaGVpZ2h0OiAkaGVyby1zbGlkZXJfX2hlaWdodC1tb2JpbGU7XG4gIH1cbiAgJi5pcy1saWdodGltYWdle1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLXNsaWRlcl9faW1nLXdyYXAge1xuICBoZWlnaHQ6MDtcbiAgd2lkdGg6MTAwJTtcbiAgcGFkZGluZy1ib3R0b206JGhlcm8tc2xpZGVyX19oZWlnaHQtbW9iaWxlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRoZXJvLXNsaWRlcl9fYnJlYWtwb2ludCl7XG4gICAgcGFkZGluZy1ib3R0b206NTAlO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlcl9faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5oZXJvLXNsaWRlcl9faW1nLS1sb2FkZXIge1xuICBmaWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi8qXG4uaGVyby1zbGlkZXJfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6YXV0bztcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGhlcm8tc2xpZGVyX19icmVha3BvaW50KXtcbiAgICBoZWlnaHQ6JGhlcm8tc2xpZGVyX19oZWlnaHQtbW9iaWxlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlcl9faW1nLS1sb2FkZXIge1xuICBmaWx0ZXI6IGJsdXIoMTBweCk7XG59XG4uaGVyby1zbGlkZXJfX2ltZy0taGlyZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIHdpZHRoOjEwMCU7XG4gIGhlaWdodDoxMDAlO1xufVxuKi9cblxuLy8gVmlkZW9cblxuLmMtaGVyby12aWRlb3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MDtcbiAgcGFkZGluZy1ib3R0b206NTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiMxMTE7XG4gIEBpbmNsdWRlIGFwcC11dGlsaXR5LW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhsKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGhlcm8tc2xpZGVyX19icmVha3BvaW50KXtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6JGhlcm8tc2xpZGVyX19oZWlnaHQtbW9iaWxlO1xuICB9XG59XG5cbi5jLWhlcm8tdmlkZW9fX21lZGlhe1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cblxuLy8gSGVybyBDb250ZW50XG5cbi5jLWhlcm8tb3ZlcmxheXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjIpO1xuICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbChyZ2JhKDAsMCwwLDAuNiksIHJnYmEoMCwwLDAsMCksIDAlLCAzNSUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwocmdiYSgwLDAsMCwwLjYpLCByZ2JhKDAsMCwwLDApLCAwJSwgMzUlKVxuICB9XG59XG5cbi5jLWhlcm8tb3ZlcmxheV9fY29udGFpbmVye1xuICBoZWlnaHQ6MTAwJTtcbn1cblxuLmMtaGVyby1vdmVybGF5X19jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDo1MCU7XG4gIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICBwYWRkaW5nLXRvcDo2MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgcGFkZGluZy10b3A6JGFwcC1oZWFkZXItaGVpZ2h0LW1kO1xuICAgIHBhZGRpbmctbGVmdDo0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6NDBweDtcbiAgICBmbG9hdDpyaWdodDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgcGFkZGluZy10b3A6JGFwcC1oZWFkZXItaGVpZ2h0LWxnO1xuICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MzBweDtcbiAgICBmbG9hdDpyaWdodDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgcGFkZGluZy10b3A6JGFwcC1oZWFkZXItaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLmMtaGVyby1ib2R5e1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWhlcm8tdGl0bGV7XG4gIG1hcmdpbjowO1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nLWFsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDAuOTU7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgLmlzLWxpZ2h0aW1hZ2UgJntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4gICAgfVxuICB9XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTo4cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhzKXtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteGwpe1xuICAgIGZvbnQtc2l6ZTogOTVweDtcbiAgICBtYXJnaW4tYm90dG9tOjE1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteHhsKXtcbiAgICBmb250LXNpemU6IDExMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXh4eGwpe1xuICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gIH1cbiAgc3BhbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYy1oZXJvLXRpdGxlX18ye1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1mbGFpcigwLjZlbSwgNDUlLCAxMTAlKTtcbiAgfVxufVxuXG4uYy1oZXJvLXRpdGxlLS12aWRlb3tcbiAgY29sb3I6I2ZmZjtcbn1cblxuLmMtaGVyby1ieWxpbmV7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6MDtcbiAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICBsaW5lLWhlaWdodDoxLjU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWF4LXdpZHRoOjMyMHB4O1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCByZ2JhKDAsMCwwLDAuNSk7XG4gIC5pcy1saWdodGltYWdlICZ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1heC13aWR0aDozNzBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgbWFyZ2luLWJvdHRvbToyNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnbWQpe1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXgtd2lkdGg6NDIwcHg7XG4gIH1cbn1cblxuLmMtaGVyby1ieWxpbmUtLXZpZGVve1xuICBjb2xvcjojZmZmO1xufVxuXG4vLyBBbmltYXRvclxuLypcbi5zd2lwZXItc2xpZGV7XG5cbiAgLmMtaGVyby10aXRsZXtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgZWFzZSAxMDAwbXMsIG9wYWNpdHkgMTAwMG1zIGVhc2UgMTAwMG1zO1xuICAgIG9wYWNpdHk6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuICB9XG4gICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbiAgJi5zd2lwZXItc2xpZGUtZHVwbGljYXRlLWFjdGl2ZXtcbiAgICAuYy1oZXJvLXRpdGxle1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGVhc2UgMG1zLCBvcGFjaXR5IDEwMDBtcyBlYXNlIDBtcztcbiAgICAgIG9wYWNpdHk6MTtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuICB9XG59XG5cbiovXG4uc3dpcGVyLXNsaWRle1xuICAuYy1oZXJvLWJvZHl7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDAuOSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGVhc2UgODAwbXM7XG4gIH1cbiAgLmMtaGVyby10aXRsZSA+IHNwYW4sXG4gIC5jLWhlcm8tYnlsaW5lLFxuICAuYy1oZXJvLWN0YSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDMwMG1zIGVhc2UsIG9wYWNpdHkgNjAwbXMgbGluZWFyO1xuICB9XG5cbiAgLmMtaGVyby10aXRsZSA+IHNwYW57XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zO1xuICB9XG4gIC5jLWhlcm8tdGl0bGUgPiBzcGFuICsgc3BhbntcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMjAwbXM7XG4gIH1cbiAgLmMtaGVyby1ieWxpbmV7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTQwMG1zO1xuICB9XG4gIC5jLWhlcm8tY3RhIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNjAwbXM7XG4gIH1cblxuICAmLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4gICYuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1hY3RpdmV7XG4gICAgLmMtaGVyby1ib2R5e1xuICAgICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICAgIH1cbiAgICAuYy1oZXJvLXRpdGxlID4gc3BhbixcbiAgICAuYy1oZXJvLWJ5bGluZSxcbiAgICAuYy1oZXJvLWN0YSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLnBhZ2UtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDojMTExO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OjI4MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgbWluLWhlaWdodDozODBweDtcbiAgfVxufVxuXG4ucGFnZS1oZXJvX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxNDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gID4gaW1ne1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG59XG5cbi5wYWdlLWhlcm9fX3Jld2FyZHMtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICA+IGltZ3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbiAgJjphZnRlcntcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTtcbiAgfVxufVxuXG4ucGFnZS1oZXJvX19ieWxpbmUge1xuICBkaXNwbGF5OmJsb2NrO1xuICBmb250LXNpemU6MjBweDtcbiAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgbWFyZ2luLWJvdHRvbTo1MHB4O1xuICB9XG59XG5cbi5wYWdlLWhlcm9fX2NvbnRlbnR7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6NDVweDtcbiAgcGFkZGluZy1ib3R0b206NDVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgwICRhcHAtYnJlYWtwb2ludC1tZCAtIDEpe1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctdG9wOjkwcHg7XG4gICAgcGFkZGluZy1ib3R0b206OTBweDtcbiAgfVxuICAvL2hlaWdodDoxMDAlO1xufVxuXG4ucGFnZS1oZXJvX19jb250ZW50LWlubmVye1xuICBtYXgtd2lkdGg6NzIwcHg7XG59XG5cbi5wYWdlLWhlcm9fX2NvbnRlbnQtaW5uZXItLXdpZGV7XG4gIG1heC13aWR0aDoxMDAlO1xufVxuXG4ucGFnZS1oZXJvX190aXRsZXtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjowO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6I2ZmZjtcbiAgZm9udC1zaXplOiA1NXB4O1xuICB0ZXh0LXNoYWRvdzogMnB4IDJweCByZ2JhKDAsMCwwLDAuMyk7XG4gIC8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKXtcbiAgLy8gIGZvbnQtc2l6ZTogODBweDtcbiAgLy99XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogODVweDtcbiAgfVxufVxuXG4ucGFnZS1oZXJvX19icmVhZGNydW1ie1xuICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIG1hcmdpbjowO1xuICBmb250LXdlaWdodDpib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGF7XG4gICAgY29sb3I6ICRhcHAtY29sb3IteWVsbG93O1xuICB9XG59XG5cblxuXG4vKipcbiAgUGFnZSBIZXJvIFNjYWxlZFxuICovXG5cblxuLnBhZ2UtaGVyby1zY2FsZWQge1xuICBtYXJnaW46MCBhdXRvO1xufVxuXG4ucGFnZS1oZXJvLXNjYWxlZF9faW5uZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OjA7XG4gIGJhY2tncm91bmQ6IzExMTtcbiAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHBhZGRpbmctYm90dG9tOiAzNSU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctYm90dG9tOiAzMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbn1cblxuXG4ucGFnZS1oZXJvLXNjYWxlZF9faW5uZXItLXJlZHVjZWR7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OjA7XG4gIGJhY2tncm91bmQ6IzExMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteHMpe1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHBhZGRpbmctYm90dG9tOiA1NSU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIHBhZGRpbmctYm90dG9tOiAyMCU7XG4gIH1cbn1cblxuXG4ucGFnZS1oZXJvLXNjYWxlZF9fcmVzZXR7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG59XG5cbi5wYWdlLWhlcm8tc2NhbGVkX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjojZmZmO1xuICBwYWRkaW5nOjIwcHg7XG59XG4ucGFnZS1oZXJvLXNjYWxlZF9faW1hZ2Uge1xuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGJvdHRvbTowO1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxMzUlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTBtcyBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiMxMTE7XG4gID4gaW1ne1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxufVxuXG4ucGFnZS1oZXJvLXNjYWxlZF9fdGl0bGV7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmctYWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46MDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcblxuICBmb250LXNpemU6IDYwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZm9udC1zaXplOiAxMDBweDtcbiAgfVxufVxuXG4ucGFnZS1oZXJvLXNjYWxlZF9fdGl0bGUtLWNlbnRlcntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICBtYXJnaW4tbGVmdDotMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTE1cHg7XG4gIH1cbiAgc3BhbntcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1mbGFpcig3MHB4LCA0NCUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVye1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5wYWdlLWhlcm8tc2NhbGVkX19icmVhZGNydW1ie1xuICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIG1hcmdpbjowO1xuICBmb250LXdlaWdodDpib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGF7XG4gICAgY29sb3I6ICRhcHAtY29sb3IteWVsbG93O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOjVweDtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgICY6aG92ZXJ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgc3BhbntcbiAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxufVxuXG4ucGFnZS1oZXJvLS1yZXdhcmRzIHtcbiAgbWFyZ2luLWJvdHRvbTo2MHB4O1xufVxuXG4ucGFnZS1oZXJvX19yZXdhcmRzLWxpbmsge1xuICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjokYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gIH1cbn1cblxuLnBhZ2UtaGVyb19fY3RhLWJ1dHRvbnMge1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG59XG4iLCIuYy1hY3Rpb24tYmFye1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgbWFyZ2luLWJvdHRvbTo0MHB4O1xuICB9XG4gICYuaGFzLWNvbnRlbnQtbmV4dHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LW1kIC0gMSl7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICB9XG59XG5cbi5jLWFjdGlvbi1iYXJfX2xlZnR7XG4gIGZsb2F0OmxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiBhe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgID4gYSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYy1hY3Rpb24tYmFyX19jaGV2cm9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uYy1hY3Rpb24tYmFyX19sZWZ0LWNvcHkge1xuICBwYWRkaW5nLWxlZnQ6MzBweDtcbn1cblxuLmMtYWN0aW9uLWJhcl9fcmlnaHR7XG4gIGZsb2F0OnJpZ2h0O1xufVxuXG4uYy1hY3Rpb24tYmFyX19zaGFyZXtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgaGVpZ2h0OjUwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgJjpob3ZlciB7XG4gICAgLmMtc2hhcmUtY29weSB7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLW91dCAwcztcbiAgICB9XG4gICAgLmMtYWN0aW9uLWJhcl9fc2hhcmUtZmFjZWJvb2ssXG4gICAgLmMtYWN0aW9uLWJhcl9fc2hhcmUtdHdpdHRlciB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eToxO1xuICAgIH1cbiAgICAuYy1hY3Rpb24tYmFyX19zaGFyZS1mYWNlYm9vayB7XG4gICAgICByaWdodDo0NXB4O1xuICAgIH1cbiAgICAuYy1hY3Rpb24tYmFyX19zaGFyZS10d2l0dGVyIHtcbiAgICAgIHJpZ2h0OjA7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBoZWlnaHQ6NzBweDtcbiAgfVxufVxuXG4uYy1zaGFyZS1jb3B5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY3Vyc29yOnBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2Utb3V0IC4xcztcbiAgY29sb3I6ICRhcHAtY29sb3ItYnJvd247XG4gIG9wYWNpdHk6MTtcbn1cblxuLmMtc2hhcmUtY29weV9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6MTBweDtcbn1cblxuLmMtc2hhcmUtY29weV9faWNvbiB7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIGZvbnQtc2l6ZToxNHB4O1xufVxuXG4uYy1hY3Rpb24tYmFyX19zaGFyZS1mYWNlYm9vayxcbi5jLWFjdGlvbi1iYXJfX3NoYXJlLXR3aXR0ZXIge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgZm9udC1zaXplOjE2cHg7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTowO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGhlaWdodDo3MHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMTVweDtcbiAgfVxufVxuXG4uYy1hY3Rpb24tYmFyX19zaGFyZS1mYWNlYm9vayB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICByaWdodDotODBweDtcbn1cblxuLmMtYWN0aW9uLWJhcl9fc2hhcmUtdHdpdHRlciB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICByaWdodDotMTAwcHg7XG59XG4iLCIuYy1uZXdzLWhvbWUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LW1kIC0gMSkge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5jLXByb21vLWFzaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmMtcHJvbW8tYXNpZGVfX21lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDg0LjIxMDUyNjMyJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+IGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgIC8vd2lkdGg6MTAwJTtcbiAgICAvL2hlaWdodDphdXRvO1xuICB9XG59XG5cbi5jLXByb21vLWFzaWRlX19jb250ZW50LXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uYy1wcm9tby1hc2lkZV9fY29udGVudC13cmFwLS1saWdodCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLXByb21vLWFzaWRlX19jb250ZW50LXdyYXAtLXRvcCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhsKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICB9XG59XG4uYy1wcm9tby1hc2lkZV9fY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhsKSB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxufVxuXG4uYy1wcm9tby1yZXdhcmRzLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICYuaXMtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmMtcHJvbW8tcmV3YXJkcy10aXRsZS0tbGlnaHQge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1wcm9tby1yZXdhcmRzLXRpdGxlLS13aXRoLWxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4O1xufVxuXG4uYy1wcm9tby1yZXdhcmRzLXRpdGxlX190b3Age1xuICBjb2xvcjogI2ZmZjtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtcHJvbW8tcmV3YXJkcy10aXRsZV9fYm90dG9tIHtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gIC8vY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIGNvbG9yOiAjZmVkOThhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDU1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhsKSB7XG4gICAgZm9udC1zaXplOiA2NXB4O1xuICB9XG59XG5cbi5jLXByb21vLWFzaWRlX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMCAyNXB4IDA7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy93aWR0aDoxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLmMtcHJvbW8tcmV3YXJkcy10aXRsZV9fZGFyayB7XG4gIGNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nLWFsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICAmLmlzLXNtYWxsLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG4uYy1wcm9tby1yZXdhcmRzLXRpdGxlX19mYW5jeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nLWFsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiA1NXB4O1xuICBAaW5jbHVkZSBhcHAtZm9udC1mbGFpcigpO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAmLmlzLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmMtcHJvbW8tcmV3YXJkcy1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCkge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvbW90aW9uYWwtZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5mb3JrLWRldmVsb3BtZW50LWRlYnVnLW9ubHkge1xuICBvcGFjaXR5OiAwLjk5O1xufVxuIiwiLm8tYXJ0aWNsZS10aWxle1xuICBtYXJnaW4tYm90dG9tOjQwcHg7XG59XG5cbi5vLWFydGljbGUtdGlsZS0tYXNpZGV7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAkYXBwLWJyZWFrcG9pbnQtc20gLSAxKXtcbiAgICBmbG9hdDpub25lO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWF4LXdpZHRoOjMyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLm8tYXJ0aWNsZS10aWxlLS1ncmlke1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCAkYXBwLWJyZWFrcG9pbnQteGwgLSAxKXtcbiAgICAmOm50aC1vZi10eXBlKDJuKzEpe1xuICAgICAgY2xlYXI6bGVmdDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQteGwpe1xuICAgICY6bnRoLW9mLXR5cGUoM24rMSl7XG4gICAgICBjbGVhcjpsZWZ0O1xuICAgIH1cbiAgfVxufVxuLm8tYXJ0aWNsZS10aWxlX19saW5re1xuICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5vLWFydGljbGUtdGlsZV9faW1ne1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgaW1ne1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDoxMDAlO1xuICAgIGhlaWdodDphdXRvO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OjE7XG4gIH1cbiAgLm8tYXJ0aWNsZS10aWxlX19saW5rOmhvdmVyICZ7XG4gICAgaW1ne1xuICAgICAgb3BhY2l0eTowLjg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxufVxuXG4uby1hcnRpY2xlLXRpbGVfX2NhdHtcbiAgbWFyZ2luOjA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgbWFyZ2luLWJvdHRvbTo4cHg7XG59XG5cbi5vLWFydGljbGUtdGlsZV9fdGl0bGV7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgbWFyZ2luOjA7XG4gICYuaXMtYXNpZGV7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG4iLCIuYy1tZW51LWxpc3Rpbmd7XG4gIG1hcmdpbi10b3A6NDBweDtcbiAgbWFyZ2luLWJvdHRvbTo2MHB4O1xufVxuLmMtbWVudS1saXN0aW5nX19oZWFkaW5ne1xuICBjbGVhcjpib3RoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tdG9wOjMwcHg7XG4gIG1hcmdpbi1ib3R0b206MzBweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBwYWRkaW5nLXRvcDozMHB4O1xuICAgIG1hcmdpbi1ib3R0b206NjBweDtcbiAgfVxuICBzcGFue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzo0cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gICAgY29sb3I6ICRhcHAtY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6MTYwMHB4O1xuICAgICAgaGVpZ2h0OjFweDtcbiAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgdG9wOjUwJTtcbiAgICAgIGxlZnQ6MTAwJTtcbiAgICAgIGxlZnQ6Y2FsYygxMDAlICsgMTVweCk7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDoxNjAwcHg7XG4gICAgICBoZWlnaHQ6MXB4O1xuICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gICAgICB0b3A6NTAlO1xuICAgICAgcmlnaHQ6MTAwJTtcbiAgICAgIHJpZ2h0OmNhbGMoMTAwJSArIDE1cHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qXG4uYy1tZW51LWxpc3RpbmdfX2l0ZW1ze1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgY29sdW1uLWNvdW50OiA0O1xuICB9XG59XG5cbi5jLW1lbnUtbGlzdGluZ19faXRlbXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6MTtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHNwYW57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOjAgMzBweDtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVye1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTowO1xuICAgICAgQGluY2x1ZGUgYXBwLWZvbnQtYnJhbmQtZ29vZGllcztcbiAgICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGVhc2UsIG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgJjpiZWZvcmV7XG4gICAgICBsZWZ0OjA7XG4gICAgICB0b3A6NDAlO1xuICAgICAgY29udGVudDondCc7XG4gICAgICBAaW5jbHVkZSBhcHAtZm9udC1icmFuZC1nb29kaWVzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTVweCwgLTU1JSk7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICByaWdodDowO1xuICAgICAgdG9wOjQwJTtcbiAgICAgIGNvbnRlbnQ6J3UnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1cHgsIC01NSUpO1xuICAgIH1cbiAgfVxuICAmOmhvdmVye1xuICAgIHNwYW57XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTUlKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTU1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiovXG5cblxuXG4uYy1tZW51LWxpc3RpbmdfX2l0ZW1ze1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLmMtbWVudS1saXN0aW5nX19oZWFkaW5nOmZpcnN0LWNoaWxke1xuICAgIG1hcmdpbi10b3A6MDtcbiAgICBwYWRkaW5nLXRvcDowO1xuICB9XG59XG5cbi5jLW1lbnUtbGlzdGluZ19fZ3JvdXB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uYy1tZW51LWxpc3RpbmdfX2l0ZW17XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OjEuMjtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICBzcGFue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4taGVpZ2h0OjMwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQgJGFwcC1icmVha3BvaW50LWxnIC0gMSl7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICB3aWR0aDo1MCU7XG4gICAgcGFkZGluZy1yaWdodDoxNXB4O1xuICAgIHNwYW57XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtaW4taGVpZ2h0OjQ4cHg7XG4gICAgfVxuICAgICY6bnRoLW9mLXR5cGUoMm4rMSl7XG4gICAgICAvL2NsZWFyOmxlZnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OjE1cHg7XG4gICAgc3BhbntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi1oZWlnaHQ6NDhweDtcbiAgICB9XG4gICAgJjpudGgtb2YtdHlwZSg0bisxKXtcbiAgICAgIC8vY2xlYXI6bGVmdDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jLWZhcXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbn1cblxuLmMtZmFxc3tcbiAgcGFkZGluZy1ib3R0b206NjBweDtcbiAgLy9tYXgtd2lkdGg6OTcwcHg7XG4gIG1hcmdpbjowIGF1dG87XG59XG5cbi5jLWZhcXMtdGl0bGV7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0MnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgLy9mb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOjA7XG4gIGxpbmUtaGVpZ2h0OjE7XG4gIHBhZGRpbmctdG9wOjYwcHg7XG4gIHBhZGRpbmctYm90dG9tOjMwcHg7XG59XG5cbi5jLWZhcS1pdGVte1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgcGFkZGluZy10b3A6MTVweDtcbiAgcGFkZGluZy1ib3R0b206MTVweDtcbiAgLmMtZmFxLWl0ZW1fX2F7XG4gICAgaGVpZ2h0OjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgMC42cyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB9XG4gICYuaXMtYWN0aXZle1xuICAgIC5jLWZhcS1pdGVtX19he1xuICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICBwYWRkaW5nLWJvdHRvbTo1cHg7XG4gIH1cbiAgJjpudGgtY2hpbGQoMm4gKyAxKXtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGV4dHVyZS1wYXBlciB1cmwoJy4uLy4uL2ltYWdlcy9tYi10ZXh0dXJlLmpwZycpIGNlbnRlciAwIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6MzAwcHggMTUwcHg7XG4gIH1cbn1cblxuLmMtZmFxLWl0ZW1fX3F7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6MzBweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBtYXJnaW46MDtcbiAgcGFkZGluZy10b3A6MTVweDtcbiAgcGFkZGluZy1ib3R0b206MTVweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgY3Vyc29yOnBvaW50ZXI7XG4gICY6aG92ZXJ7XG4gICAgLy9vcGFjaXR5OiAwLjg7XG4gICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIHBhZGRpbmctbGVmdDo2MHB4O1xuICB9XG4gICY6YmVmb3Jle1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29udGVudDonUSc7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MThweDtcbiAgICBsZWZ0OjE1cHg7XG4gICAgd2lkdGg6MzBweDtcbiAgICBoZWlnaHQ6MzBweDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDozMHB4O1xuICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5jLWZhcS1pdGVtX19pY29ue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MThweDtcbiAgICByaWdodDowO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICB9XG4gIC5pcy1hY3RpdmUgJntcbiAgICAuYy1mYXEtaXRlbV9faWNvbntcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxuICB9XG59XG5cbi5jLWZhcS1pdGVtX19he1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6MzBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHBhZGRpbmctbGVmdDo2MHB4O1xuICB9XG4gICY6YmVmb3Jle1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29udGVudDonQSc7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MTVweDtcbiAgICB3aWR0aDozMHB4O1xuICAgIGhlaWdodDozMHB4O1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OjMwcHg7XG4gICAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cblxuXG4uYy1mYXFzX190YWItbGlua3N7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI7XG4gIHBhZGRpbmctdG9wOjE1cHg7XG4gIHBhZGRpbmctYm90dG9tOjQ1cHg7XG4gIC8vbWFyZ2luLWJvdHRvbTozMHB4O1xufVxuXG4uYy1mYXFzX190YWItbGlua3tcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjokYXBwLWNvbG9yLWdyZXktbWVkaXVtO1xuICBmb250LXNpemU6MjBweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOjZweCAxMHB4IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OjEwcHg7XG4gIG1hcmdpbi1yaWdodDoxMHB4O1xuICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICY6aG92ZXJ7XG4gICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuICAmLmlzLWFjdGl2ZXtcbiAgICBjb2xvcjojZmZmO1xuICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxufVxuIiwiLmMtZm9vdGVye1xuICAvL2JhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1kYXJrIHVybCgnLi4vLi4vaW1hZ2VzL3RpbGUtd29vZGdyYWluLmpwZycpIGNlbnRlciAwIHJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MjBweCAyNDBweDtcbiAgcGFkZGluZy1ib3R0b206NDBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctYm90dG9tOjEyMHB4O1xuICB9XG59XG5cbi5jLWZvb3Rlci1tZW51e1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE5MiwgMTgzLCAxNzcsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBwYWRkaW5nLXRvcDo2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOjYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4O1xuICB9XG59XG5cbi5jLWZvb3Rlci1tZW51X19sb2dve1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDoxMDBweDtcbiAgbWFyZ2luOjAgYXV0byAzMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgbGVmdDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuXG4uYy1mb290ZXItbWVudV9fbG9nby1ieWxpbmV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOi0yMHB4O1xuICBsZWZ0OjA7XG4gIHdpZHRoOjEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6I2ZmZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtZm9vdGVyLW1lbnVfX2xlZnR7XG4gIHBhZGRpbmc6MDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXtcbiAgICBtYXJnaW4tbGVmdDowO1xuICAgIC8vbWFyZ2luLXJpZ2h0OjE1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIHdpZHRoOjUwJTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHBhZGRpbmc6MCA1MHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpe1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICB9XG4gIH1cbn1cblxuXG4uYy1mb290ZXItbWVudV9fcmlnaHR7XG4gIHBhZGRpbmc6MDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXtcbiAgICBtYXJnaW4tbGVmdDowO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICB3aWR0aDo1MCU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBwYWRkaW5nOjAgMCAwIDUwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbGl7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi5jLW5hdi1mb290ZXJ7XG4gIGxpc3Qtc3R5bGU6bm9uZTtcbiAgbWFyZ2luOjA7XG4gID4gbGl7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgID4gYXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzo4cHggMTBweCA2cHggMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICA+IGxpe1xuICAgICAgPiBhe1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4uYy1mb290ZXItc3Vic3tcbiAgY29sb3I6I2ZmZjtcbiAgY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgYSB7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIH1cbiAgfVxufVxuXG4uYy1mb290ZXItc3Vic19fbGVmdHtcbiAgZmxvYXQ6bGVmdDtcbiAgd2lkdGg6NTAlO1xuICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gID4gc3BhbiB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gID4gYSB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzo3cHg7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuICB9XG59XG5cbi5jLWZvb3Rlci1zdWJzX19jZW50ZXJ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6MjBweDtcbiAgZmxvYXQ6bGVmdDtcbiAgd2lkdGg6NTAlO1xuICA+IGEge1xuICAgIGNvbG9yOiNmZmRhODU7XG4gICAgcGFkZGluZzo4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbjowO1xuICAgIHNwYW57XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAvL2JhY2tncm91bmQ6I2ZmZjtcbiAgICB9XG4gIH1cbiAgPiBhOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgLy9tYXJnaW4tcmlnaHQ6MjJweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZm9udC1zaXplOjIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgID4gYSB7XG4gICAgICBtYXJnaW46MCA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5jLWZvb3Rlci1zdWJzX19yaWdodCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDA7XG4gIGZsb2F0OmxlZnQ7XG4gIHdpZHRoOjEwMCU7XG4gID4gc3BhbiB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6OHB4O1xuICB9XG4gIC5jLWZvb3Rlci1zdWJzX19yaWdodC1saW5rcyB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIC8vcGFkZGluZy1yaWdodDoxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzo4cHg7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgfVxuICAgIH1cbiAgICBhOmxhc3QtY2hpbGQge1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBhOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAvL3BhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAvL2NvbnRlbnQ6IFwiXFwyMDIyXCI7XG4gICAgICAvL2NvbG9yOiAjOWIzYzVlO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIC5jLWZvb3Rlci1zdWJzX19yaWdodC1saW5rcyB7XG4gICAgICBmbG9hdDpub25lO1xuICAgICAgZm9udC1zaXplOjEzcHg7XG4gICAgICA+IGEge1xuICAgICAgICAvL3BhZGRpbmctcmlnaHQ6MTVweDtcbiAgICAgIH1cbiAgICAgIGE6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbn1cbiIsIi5jLWZvb3Rlci1jdGF7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBmb250LXNpemU6IDEycHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5jLWZvb3Rlci1jdGFfX2l0ZW17XG4gIHBhZGRpbmc6MTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgJjpiZWZvcmV7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGJvdHRvbTowO1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjQpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICB3aWR0aDo1MCU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgfVxufVxuXG4uYy1mb290ZXItY3RhX19jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctdG9wOjQwcHg7XG4gIHBhZGRpbmctYm90dG9tOjQwcHg7XG4gIC8vd2lkdGg6MTAwJTtcbiAgLy9tYXgtd2lkdGg6NTQwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBwYWRkaW5nLXRvcDo4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOjgwcHg7XG4gICAgcGFkZGluZy1sZWZ0OjEwJTtcbiAgfVxufVxuXG4uYy1mb290ZXItY3RhX19jb250ZW50LS1sZWZ0e1xuICAvL2Zsb2F0OnJpZ2h0O1xufVxuXG4uYy1mb290ZXItY3RhX19jb250ZW50LS1yaWdodHtcbiAgLy9mbG9hdDpsZWZ0O1xufVxuXG4uYy1mb290ZXItY3RhX190aXRsZXtcbiAgbWFyZ2luOjA7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBsaW5lLWhlaWdodDoxO1xuICBtYXJnaW4tYm90dG9tOjE1cHg7XG4gIGNvbG9yOiNmZmY7XG59XG5cbi5jLWZvb3Rlci1jdGFfX3N1YnRpdGxle1xuICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjowO1xuICBtYXJnaW4tYm90dG9tOjVweDtcbn1cblxuLmMtZm9vdGVyLWZvcm0ge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOjMyMHB4O1xuICBsaW5lLWhlaWdodDo1MHB4O1xufVxuXG4uYy1mb290ZXItZm9ybV9fbG9jYXRpb24taWNvbiB7XG4gIGZvbnQtc2l6ZToyNHB4O1xuICBjb2xvcjojYTBjMzdjO1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgbGVmdDoxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OjE7XG59XG5cbi5jLWZvb3Rlci1mb3JtX19zZWFyY2gtaWNvbiB7XG4gIGZvbnQtc2l6ZToyNHB4O1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHJpZ2h0OjE1cHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5jLWZvb3Rlci1mb3JtX19pbnB1dCB7XG4gIHBhZGRpbmc6MCA0MHB4IDAgNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOm5vbmU7XG4gIGJveC1zaGFkb3c6bm9uZTtcbiAgaGVpZ2h0OjUwcHg7XG4gIHdpZHRoOjEwMCU7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGxpbmUtaGVpZ2h0OjEuMztcbiAgZm9udC1zaXplOjE2cHg7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xuICB9XG59XG4iLCIuYy1tZW51LXByb21ve1xuICBtYXJnaW4tdG9wOjE1cHg7XG4gIG1hcmdpbi1ib3R0b206MzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGltZ3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDphdXRvO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAkYXBwLWJyZWFrcG9pbnQtbWQgLSAxKXtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgaW1ne1xuICAgICAgaGVpZ2h0OjUwMHB4O1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5cbi5jLW1lbnUtcHJvbW9fX2ltZ3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZXtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgwICRhcHAtYnJlYWtwb2ludC1tZCAtIDEpe1xuICAgIG1hcmdpbi1sZWZ0Oi0xNXB4O1xuICAgIG1hcmdpbi1yaWdodDotMTVweDtcbiAgfVxufVxuXG5cbi5jLW1lbnUtcHJvbW9fX292ZXJsYXl7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgcmlnaHQ6MDtcbiAgYm90dG9tOjA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLW1lbnUtcHJvbW9fX2NvbnRlbnR7XG4gIGNvbG9yOiAkYXBwLWNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOjJlbTtcbiAgbWF4LXdpZHRoOjYwMHB4O1xufVxuXG4uYy1tZW51LXByb21vX190aXRsZXtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gIG1hcmdpbjowO1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6MTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtbWVudS1wcm9tb19fYnlsaW5le1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOjA7XG4gIG1hcmdpbi1ib3R0b206MWVtO1xufVxuXG4uYy1maWx0ZXItbGlua3Mtc2ltcGxle1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWRhcmtlbi10ZXh0dXJlLWRhcmtlcjtcbiAgcGFkZGluZy10b3A6MTNweDtcbiAgcGFkZGluZy1ib3R0b206MTJweDtcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgbWFyZ2luLWJvdHRvbTo0MHB4O1xuICB9XG59XG5cbi5jLWZpbHRlci1saW5rcy1zaW1wbGVfX3RpdGxle1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6bGVmdDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDoxNnB4O1xuICBwYWRkaW5nOjZweCAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6JGFwcC1jb2xvci1icm93bjtcbn1cblxuLm5hdi1uZXdzLWxpc3QtZmlsdGVye1xuICBAaW5jbHVkZSBhcHAtdW5vcmRlcmVkLWxpc3QtaG9yaXpvbnRhbDtcbiAgPiBsaXtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICA+IGF7XG4gICAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6M3B4IDhweCAycHggOHB4O1xuICAgICAgbWFyZ2luOjAgMTBweDtcbiAgICAgIGNvbG9yOiRhcHAtY29sb3ItYnJvd247XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZle1xuICAgICAgPiBhe1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy1maWx0ZXItbGlua3NfX2hye1xuICBib3JkZXI6MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6JGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI7XG4gIG1hcmdpbi1ib3R0b206MzBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIG1hcmdpbi1ib3R0b206NjBweDtcbiAgfVxufVxuXG4vKipcbiAgTmF2IEZpbHRlciBMaW5rcyBBc2lkZVxuICovXG4ubmF2LW5ld3MtbGlzdC1jYXRzIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gID4gbGl7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgID4gYXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLWJyb3duO1xuICAgICAgcGFkZGluZy1sZWZ0OjIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDo1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo1cHg7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFwcC1jb2xvci1icm93bi1saWdodDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICBtYXJnaW4tdG9wOi00cHg7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgd2lkdGg6NnB4O1xuICAgICAgICBoZWlnaHQ6NnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEuMik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmMtdGlsZS1saXN0LWZlYXR1cmVke1xuICBtYXJnaW4tdG9wOjMwcHg7XG59XG5cbi8qKlxuICBNZW51IExpc3QgRmlsdGVyc1xuICovXG5cbi5jLW1lbnUtaXRlbS10b29sc3tcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uYy1tZW51LWl0ZW0tdG9vbHNfX2NvbnRhaW5lcntcbiAgLy9hbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctbGVmdDowIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jLW1lbnUtaXRlbS10b29sc19fbGVmdHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZmxvYXQ6bGVmdDtcbiAgfVxufVxuXG4uYy1tZW51LWl0ZW0tdG9vbHNfX3JpZ2h0e1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5cbi5jLW1lbnUtc2VhcmNoe1xuICBAaW5jbHVkZSBicmVha3BvaW50KDAgJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBwYWRkaW5nOjE1cHg7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAuaXMtc2VhcmNoLWFjdGl2ZSAme1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gIH1cbn1cblxuLmMtbWVudS1zZWFyY2hfX3RvZ2dsZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgcmlnaHQ6MTVweDtcbiAgaGVpZ2h0OjEwMCU7XG4gIHdpZHRoOjQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICA+IHNwYW57XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nLXRvcDoxMnB4O1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgJi5jLW1lbnUtc2VhcmNoX19pY29uLWNsb3NlZHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC5pcy1zZWFyY2gtYWN0aXZlICZ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jLW1lbnUtc2VhcmNoX19pY29uLW9wZW57XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgLmlzLXNlYXJjaC1hY3RpdmUgJntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG5cbi5jLXNlYXJjaC1mb3Jte1xuICB3aWR0aDoxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vbWFyZ2luLWxlZnQ6MTVweDtcbiAgLy9tYXJnaW4tcmlnaHQ6MTVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgIC8vbWFyZ2luOjA7XG4gIH1cbn1cblxuLmMtc2VhcmNoLWZvcm1fX2lucHV0e1xuICB3aWR0aDoxMDAlO1xuICBib3JkZXI6MXB4IHNvbGlkICRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gICY6Zm9jdXN7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkYXBwLWNvbG9yLWJyb3duO1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgfVxufVxuXG4uYy1zZWFyY2gtZm9ybV9fc3VibWl0e1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBoZWlnaHQ6MTAwJTtcbiAgd2lkdGg6NTBweDtcbiAgYm9yZGVyOm5vbmU7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgc3BhbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6NXB4O1xuICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIH1cbiAgJjpob3ZlcntcbiAgICBzcGFue1xuICAgICAgY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi5jLW1lbnUtc2VhcmNoX19zZWFyY2gtaWNvbiB7XG4gIGZvbnQtc2l6ZToxN3B4O1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHJpZ2h0OjEwcHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5uYXYtbWVudS1pdGVtLXRvb2xze1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6MDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC5tZW51LWl0ZW17XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICRhcHAtY29sb3ItYnJvd24tbGlnaHQ7XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAkYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICAgIH1cbiAgICBhe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOjEycHggMTJweCAxMXB4IDlweDtcbiAgICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLWdyZXktbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOjE4cHggMjRweCAxNnB4IDE4cHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgaGVpZ2h0OjJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3ItZGFya2VuLXRleHR1cmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNwYW57XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICBzdmd7XG4gICAgICAgIHdpZHRoOjI0cHg7XG4gICAgICAgIGhlaWdodDoyNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGF0aHtcbiAgICAgICAgICBmaWxsOiNCMUFCQTY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmV7XG4gICAgICBhe1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICBoZWlnaHQ6MnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6I0JGQjZCMDtcbiAgICAgICAgfVxuICAgICAgICBzdmd7XG4gICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgIGZpbGw6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi5jLW1lbnUtaXRlbS10b29sc19fbGlua3tcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOjlweCAxMnB4IDdweCA5cHg7XG4gIGJvcmRlci1yaWdodDoxcHggc29saWQgJGFwcC1jb2xvci1icm93bi1saWdodDtcbiAgYm9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGNvbG9yOiRhcHAtY29sb3ItZ3JleS1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgJjpmaXJzdC1jaGlsZHtcbiAgICBib3JkZXItbGVmdDoxcHggc29saWQgJGFwcC1jb2xvci1icm93bi1saWdodDtcbiAgfVxuICA+IHNwYW57XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xuICAgIHBhZGRpbmctdG9wOjRweDtcbiAgfVxuICAmOmhvdmVye1xuICAgIGNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nOjE4cHggMjRweCAxNnB4IDE4cHg7XG4gIH1cbn1cblxuXG5cbi8qKlxuICBOYXYgTWVudSBGaWx0ZXIgTGlua3NcbiAqL1xuXG4uYy1maWx0ZXItbGlua3MtcGFyZW50e1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzoxNXB4IDA7XG4gIG1hcmdpbjowO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDoxMDAlO1xuICBvdmVyZmxvdy14OmF1dG87XG4gIG92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtcbiAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICA+IGxpe1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6NXB4O1xuICAgID4gYXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6N3B4IDEwcHggNXB4IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6JGFwcC1jb2xvci1ncmV5LW1lZGl1bTtcbiAgICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmN1cnJlbnQtY2F0LWFuY2VzdG9yLFxuICAgICYuYWN0aXZlLFxuICAgICYuY3VycmVudC1jYXR7XG4gICAgICA+IGF7XG4gICAgICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jLWZpbHRlci1saW5rcy1zdWJ7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOjE1cHggMDtcbiAgbWFyZ2luOjA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6MXB4IHNvbGlkICRhcHAtY29sb3ItZGFya2VuLXRleHR1cmUtZGFya2VyO1xuICBvdmVyZmxvdy14OmF1dG87XG4gIG92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtcbiAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgICA+IGF7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOjZweCAxMHB4IDRweCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6JGFwcC1jb2xvci1ncmV5LW1lZGl1bTtcbiAgICAgIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmN1cnJlbnQtY2F0LWFuY2VzdG9yLFxuICAgICYuY3VycmVudC1jYXR7XG4gICAgICA+IGF7XG4gICAgICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1zdG9yZS1sb2NhdG9yIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDoxMDAlO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEwcHgpO1xuICB9XG59XG5cbi8vUGxhY2Vob2xkZXIgTWFwXG5cbi5wYWdlLXN0b3JlLWxvY2F0b3JfX3N0YXRpY19tYXAge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgbWluLWhlaWdodDo1MDBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2NyZWVuLXNtKSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEwcHgpO1xuICB9XG59XG5cbi5wYWdlLXN0b3JlLWxvY2F0b3JfX3N0YXRpY19tYXBfb3ZlcmxheSB7XG4gIHdpZHRoICA6IDEwMCU7XG4gIGhlaWdodCA6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vL092ZXJsYXkgQ29udGVudFxuXG4uc2wtb3ZlcmxheSB7XG4gIG1heC13aWR0aDogMTE3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgY29sb3I6I2ZmZGE4NTtcbiAgaGVpZ2h0OjEwMCU7XG4gIHdpZHRoOjEwMCU7XG59XG5cbi5zbC1vdmVybGF5LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDExNzBweDtcbiAgd2lkdGg6MTAwJTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uc2wtb3ZlcmxheS1jb250ZW50X19ieWxpbmUge1xuICBmb250LXNpemU6MTJweDtcbiAgbWFyZ2luOjA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOjIwcHg7XG4gIH1cbn1cblxuLnNsLW92ZXJsYXktY29udGVudF9fdGl0bGUge1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nLWFsdDtcbiAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBmb250LXNpemU6NTVweDtcbiAgbWFyZ2luOjAgMCAxMHB4IDA7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZToxMTBweDtcbiAgfVxufVxuXG4uc2wtb3ZlcmxheS1mb3JtIHtcbiAgbWFyZ2luOjAgYXV0byAyMHB4IGF1dG87XG4gIHdpZHRoOjMxNXB4O1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC1hbGlnbjpsZWZ0O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOjM3MHB4O1xuICB9XG59XG5cbi5zbC1vdmVybGF5LWZvcm1fX2NvbXBvbmVudCB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5OmJsb2NrO1xuICBoZWlnaHQ6NjBweDtcbiAgZm9udC1zaXplOjE2cHg7XG4gIGxpbmUtaGVpZ2h0OjYwcHg7XG4gIHBhZGRpbmc6MCAxNXB4O1xuICBjb2xvcjojMDAwMDAwO1xuICAuby1pY29uLWxvY2F0aW9uLFxuICAuby1pY29uLXNlYXJjaCB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDoxO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTFkZmRjO1xuICB9XG59XG5cbi5zbC1vdmVybGF5LWZvcm1fX2NvcHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWF4LWhlaWdodDogNjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggNTVweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDcwcHg7XG4gIH1cbn1cblxuLnNsLW92ZXJsYXktZm9ybV9faW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjpub25lO1xuICBtYXgtaGVpZ2h0OjYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDU1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDYwcHg7XG4gIGxpbmUtaGVpZ2h0Om5vcm1hbDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjhmYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggNzBweDtcbiAgfVxufVxuXG4uc2wtb3ZlcmxheS1mb3JtX19jdXJyZW50LWxvY2F0aW9uIHtcbiAgY3Vyc29yOnBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQsIGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC5vLWljb24tbG9jYXRpb24ge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgLm8taWNvbi1sb2NhdGlvbiB7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uc2wtb3ZlcmxheS1jb250ZW50X191bmRvIHtcbiAgZGlzcGxheTpub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgbWFyZ2luOjAgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgZm9udC1zaXplOjE2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dCwgY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgLm8taWNvbi1sb2NhdGlvbiB7XG4gICAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogMzVweDtcbiAgfVxufVxuXG4uc2wtb3ZlcmxheS1jb250ZW50X19lcnJvciB7XG4gIG1heC13aWR0aDogMzE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi8vTG9hZGVyIFN0eWxlc1xuXG4ucGFnZS1zdG9yZS1sb2NhdG9yX19sb2FkZXIge1xuICBkaXNwbGF5Om5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wYWdlLXN0b3JlLWxvY2F0b3JfX2xvYWRlci13cmFwIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wYWdlLXN0b3JlLWxvY2F0b3JfX2xvYWRlci10ZXh0IHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbn1cblxuLy9NYXAgU3R5bGVzXG5cbi5iaC1zbC1tYXAtY29udGFpbmVyIHtcbiAgZGlzcGxheTpub25lO1xuICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5iaC1zbC1jb250YWluZXIge1xuXG4gIC5iaC1zbC1tYXAge1xuICAgIGZsb2F0Om5vbmU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MzE1cHg7XG4gICAgbWluLWhlaWdodDozMTVweDtcbiAgfVxuICAuYmgtc2wtbG9jLWxpc3Qge1xuICAgIHdpZHRoOjEwMCU7XG4gICAgZmxvYXQ6bm9uZTtcbiAgICBtaW4taGVpZ2h0OjUzMHB4O1xuICAgIGhlaWdodDo1MzBweDtcbiAgICAuc3RvcmUtbGlzdGluZyB7XG4gICAgICBtaW4taGVpZ2h0OjQxNXB4O1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcblxuICAgIC5iaC1zbC1tYXAge1xuICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtaW4taGVpZ2h0OjQ1MHB4O1xuICAgIH1cbiAgICAuYmgtc2wtbG9jLWxpc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC5zdG9yZS1saXN0aW5nIHtcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG5cbiAgICAuYmgtc2wtbWFwIHtcbiAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDM1MHB4KTtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEwcHgpO1xuICAgIH1cbiAgICAuYmgtc2wtbG9jLWxpc3Qge1xuICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICB3aWR0aDozNTBweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDExMHB4KTtcbiAgICAgIC5zdG9yZS1saXN0aW5nIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjA1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLy9MaXN0aW5nIFN0eWxlc1xuXG4uYmgtc2wtbG9jLWxpc3RfX2xvY2F0aW9uIHtcbiAgbGluZS1oZWlnaHQ6NTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOjAgMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuby1pY29uLWxvY2F0aW9uIHtcbiAgICBmb250LXNpemU6MThweDtcbiAgICBsaW5lLWhlaWdodDo1NXB4O1xuICAgIGNvbG9yOiNmZmRhODU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7XG4gICAgZmxvYXQ6bGVmdDtcbiAgfVxuXG59XG5cbi5iaC1zbC1sb2MtbGlzdF9fdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cblxuLmJoLXNsLWxvYy1saXN0X19sb2NhdGlvbi1uYW1lIHtcbiAgbWF4LXdpZHRoOjE4MHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmbG9hdDpsZWZ0O1xuICBAbWVkaWEgKG1pbi13aWR0aDogMzc0cHgpIHtcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikge1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWF4LXdpZHRoOjU1MHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1heC13aWR0aDoyMTVweDtcbiAgfVxuXG59XG5cbi5iaC1zbC1sb2MtbGlzdF9fbG9jYXRpb24tY2hhbmdlIHtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjpwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjojZmZkYTg1O1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gIH1cbn1cblxuLnN0b3JlLWxpc3Rpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFjZGM4O1xufVxuXG4uc3RvcmUtbGlzdGluZyBsaSB7XG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkMWNkYzg7XG4gIGNsZWFyOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgfVxuICAmLmxpc3QtZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgfVxufVxuXG4uc2luZ2xlLXN0b3JlLWxpc3RpbmdfX3dyYXBwZXIge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDoxMDBweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtZ2xvYmFsO1xufVxuXG4uc2luZ2xlLXN0b3JlLWxpc3Rpbmcge1xuICBwYWRkaW5nOiAyNXB4IDE4cHggMjBweCAxOHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiRhcHAtY29sb3Itd2hpdGU7XG4gICAgLmxvYy1uYW1lIHtcbiAgICAgIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgfVxuICB9XG4gIGRpdjpsYXN0LW9mLXR5cGV7XG4gICAgcGFkZGluZy1ib3R0b206MDtcbiAgfVxufVxuXG4ubG9jLW5hbWUge1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWRhcms7XG4gIGZvbnQtc2l6ZToxOHB4O1xuICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gIHRyYW5zaXRpb246Y29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmxvYy1kaXN0IHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBwYWRkaW5nOjRweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtZ2xvYmFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIGNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG59XG5cbi5sb2MtYWRkciwgLmxvYy1hZGRyMiB7XG4gIHBhZGRpbmctYm90dG9tOjVweDtcbn1cblxuLy9QYWdpbmF0aW9uXG5cbi5iaC1zbC1wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIGhlaWdodDo2MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxY2RjODtcbn1cblxuLmJoLXNsLXBhZ2luYXRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxuLy9JbmZvd2luZG93IFN0eWxlc1xuXG4uc2xfaW5mb3dpbmRvd19fbG9jLW5hbWUge1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZy1hbHQ7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LWRhcms7XG4gIGZvbnQtc2l6ZToxNnB4O1xuICBtYXJnaW4tYm90dG9tOjA7XG59XG5cbi8vU2luZ2xlIFN0b3JlIE1hcFxuXG4uc2luZ2xlLXN0b3JlLW1hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwMHB4O1xuICBib3JkZXI6ICNjY2Mgc29saWQgMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbn1cbiIsIi5jLXJld2FyZHMtYXBwIHtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy1yZXdhcmRzLWFwcF9faXRlbXMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q5ZDVjZjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4O1xuICB9XG59XG5cbi5jLXJld2FyZHMtYXBwLWl0ZW0ge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgZm9udC1zaXplOjI0cHg7XG4gIHBhZGRpbmctYm90dG9tOjM1cHg7XG4gIG1hcmdpbi1ib3R0b206MzBweDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q5ZDVjZjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gIH1cbn1cblxuLmMtcmV3YXJkcy1hcHAtaXRlbS0tbGFzdCB7XG4gIG1hcmdpbi1ib3R0b206MDtcbn1cblxuLmMtcmV3YXJkcy1hcHAtaXRlbS0tYm9yZGVyZWQge1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDlkNWNmO1xuICBtYXJnaW4tYm90dG9tOjMwcHg7XG59XG5cbi5jLXJld2FyZHMtYXBwLWl0ZW1fX2ljb24ge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiNjZGExNTc7XG4gIGZvbnQtc2l6ZTozNnB4O1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAjZmZmO1xufVxuXG4uYy1yZXdhcmRzLWFwcC1pdGVtX19jb3B5IHtcbiAgcGFkZGluZy1sZWZ0OjYwcHg7XG4gIG1heC13aWR0aDoyODBweDtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4ICNmZmY7XG59XG5cbi5jLXJld2FyZHMtYXBwX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206MzBweDtcbiAgPiBoMiB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmb250LXNpemU6MjhweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjowIDAgMjBweCAwO1xuICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTozOHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14bCl7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTo0OHB4O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjYwcHg7XG4gIH1cbn1cblxuXG5cbi5jLXJld2FyZHMtcGhvbmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206MDtcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgd2lkdGg6NjAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXhsKXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KDE1MDBweCl7XG4gICAgd2lkdGg6NjkwcHg7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuICBpbWd7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OmF1dG87XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgc2hha2Uge1xuICAxMCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMXB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMCwgMCk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cHgsIDAsIDApO1xuICB9XG5cbiAgNDAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdhdmUge1xuICAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMDBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGluY3JlbWVudFJld2FyZEN1cCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgb3BhY2l0eTogMVxuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xuICAgIG9wYWNpdHk6IC43OyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgIG9wYWNpdHk6IDFcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSlcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgY29sb3I6JGFwcC1jb2xvci13aGl0ZTt9XG59XG5cbkBrZXlmcmFtZXMgY3VwSGVpZ2h0IHtcbiAgMCUge1xuICAgIGhlaWdodDogMDtcbiAgfVxufSIsIi5jLW1lbWJlci1wYWdlX190YWJsZSB7XG4gIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGZvbnQtc2l6ZTppbmhlcml0O1xuICB9XG4gIHRoIHtcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgICBmb250LXNpemU6MjRweDtcbiAgICB9XG4gIH1cbn0iLCJcbi8vIEZvcm1zXG5cbi5jLWZvcm17XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgfVxuXG4gIC8vIEVycm9yIFN0YXRlc1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIGxpbmUtaGVpZ2h0OjYwcHg7XG4gICAgICBjb2xvcjojZmY3ODAwO1xuICAgIH1cbiAgICAmLmhhcy1lcnJvciB7XG4gICAgICAuaGVscC1ibG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBjb2xvcjojZmY3ODAwO1xuICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZV0sIC5tdWx0aXNlbGVjdF9fdGFncyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjojZmY3ODAwO1xuICAgICAgfVxuICAgICAgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1lbXB0eSB7XG4gICAgICAubXVsdGlzZWxlY3RfX3NpbmdsZSB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExhYmVsc1xuXG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZToyNHB4O1xuICB9XG5cbiAgLy8gSW5wdXQgYW5kIFNlbGVjdHMgQmFzZSBTdHlsZXNcblxuICAuYy1mb3JtLWlucHV0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgfVxuXG4gIGlucHV0W3R5cGVdLCBzZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNHB4IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgQGluY2x1ZGUgYXBwLWZvbnQtZ2xvYmFsO1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIGNvbG9yOiMzMDMwMzA7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZGJjZWI3O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgIHdpZHRoIDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgd2lkdGggOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG4gIH1cblxuICAvLyBNdWx0aXNlbGVjdCBDb21wb25lbnRcblxuICAubXVsdGlzZWxlY3RfX3RhZ3Mge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmNlYjc7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X19zZWxlY3Qge1xuICAgIGhlaWdodDogNjBweDtcbiAgICByaWdodDoxMHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogNTUlO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDphZnRlciwgLm11bHRpc2VsZWN0X19zZWxlY3Q6YmVmb3JlIHtcbiAgICB0b3A6IDQ1JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAubXVsdGlzZWxlY3RfX3NlbGVjdDpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX29wdGlvbi0tc2VsZWN0ZWQge1xuICAgIGNvbG9yOmluaGVyaXQ7XG4gICAgJi5tdWx0aXNlbGVjdF9fb3B0aW9uLS1oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIH1cbiAgfVxuXG4gIC5tdWx0aXNlbGVjdF9fb3B0aW9uOmhvdmVyLFxuICAubXVsdGlzZWxlY3RfX29wdGlvbi0taGlnaGxpZ2h0e1xuICAgIGJhY2tncm91bmQ6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X19zaW5nbGUge1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBjb2xvcjojMzAzMDMwO1xuICAgIHBhZGRpbmc6IDRweCAxNXB4O1xuICAgIG1hcmdpbjowO1xuICB9XG5cbiAgLm11bHRpc2VsZWN0X190YWdzIHtcbiAgICBwYWRkaW5nOiAwIDQwcHggMCAwO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXI6MXB4IHNvbGlkICNkYmNlYjc7XG4gIH1cblxuICAubXVsdGlzZWxlY3RfX2NvbnRlbnQge1xuICAgIGJvcmRlcjoxcHggc29saWQgI2RiY2ViNztcbiAgfVxuXG4gIC8vQ2hlY2tib3hlcyBhbmQgUmFkaW8gQnV0dG9uc1xuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOmF1dG87XG4gIH1cblxuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wge1xuICAgIHBvaW50ZXItZXZlbnRzOmluaGVyaXQ7XG4gICAgZm9udC1zaXplOjE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICBtYXJnaW46MDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgb3BhY2l0eTogaW5oZXJpdDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgbGVmdDowO1xuICAgIHRvcDowO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOjE4cHg7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wuaGFzLWVycm9yIGlucHV0IH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3IsXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbC5oYXMtZXJyb3IgaW5wdXQ6Zm9jdXMgfiAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY3ODAwO1xuICB9XG5cbiAgLmMtZm9ybS1jaGVja2JveC1jb250cm9sIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzowO1xuICB9XG5cbiAgLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RiY2ViNztcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMCksIGJvcmRlci1jb2xvciAwLjNzIGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwKSwgYm94LXNoYWRvdyAwLjNzIGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwKSwgYm9yZGVyLWJvdHRvbSAwLjFzIGxpbmVhcjtcbiAgfVxuXG4gIC5jLWZvcm0tY29udHJvbC0tcmFkaW8gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC8qIEhvdmVyIGFuZCBmb2N1cyBzdGF0ZXMgKi9cbiAgLmMtZm9ybS1jaGVja2JveC1jb250cm9sLmMtZm9ybS1jb250cm9sLS1yYWRpbyBpbnB1dDpmb2N1cyAgfiAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjhmYztcbiAgfVxuXG4gIC8qIEhvdmVyIGFuZCBmb2N1cyBzdGF0ZXMgKi9cbiAgLmMtZm9ybS1jaGVja2JveC1jb250cm9sIGlucHV0OmZvY3VzIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmNWY4ZmM7XG4gIH1cblxuICAvKiBDaGVja2VkIHN0YXRlICovXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbCBpbnB1dDpjaGVja2VkIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3Ige1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIH1cblxuICAvKiBEaXNhYmxlZCBzdGF0ZSAqL1xuICAuYy1mb3JtLWNoZWNrYm94LWNvbnRyb2wgaW5wdXQ6ZGlzYWJsZWQgfiAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgfVxuXG4gIC8qIENoZWNrIG1hcmsgKi9cbiAgLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLyogU2hvdyBjaGVjayBtYXJrICovXG4gIC5jLWZvcm0tY2hlY2tib3gtY29udHJvbCBpbnB1dDpjaGVja2VkIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogQ2hlY2tib3ggdGljayAqL1xuICAuYy1mb3JtLWNvbnRyb2wtLWNoZWNrYm94IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgICB0b3A6IDRweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZCAkYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICAgIGJvcmRlci13aWR0aDogMCA0cHggNHB4IDA7XG4gIH1cblxuICAvKiBEaXNhYmxlZCB0aWNrIGNvbG91ciAqL1xuICAuYy1mb3JtLWNvbnRyb2wtLWNoZWNrYm94IGlucHV0OmRpc2FibGVkIH4gLmMtZm9ybS1jb250cm9sX19pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzdiN2I3YjtcbiAgfVxuXG4gIC8qIFJhZGlvIGJ1dHRvbiBpbm5lciBjaXJjbGUgKi9cbiAgLmMtZm9ybS1jb250cm9sLS1yYWRpbyAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvcjphZnRlciB7XG4gICAgdG9wOiA5cHg7XG4gICAgbGVmdDogOXB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICB9XG5cbiAgLmMtZm9ybS1jb250cm9sLS1yYWRpbyBpbnB1dDpmb2N1cyB+IC5jLWZvcm0tY29udHJvbF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgICB0b3A6IDlweDtcbiAgICBsZWZ0OiA5cHg7XG4gIH1cblxuICAvKiBEaXNhYmxlZCBjaXJjbGUgY29sb3VyICovXG4gIC5jLWZvcm0tY29udHJvbC0tcmFkaW8gaW5wdXQ6ZGlzYWJsZWQgfiAuYy1mb3JtLWNvbnRyb2xfX2luZGljYXRvcjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzdiN2I3YjtcbiAgfVxuXG59XG5cblxuLy9TdWJtaXQgQnV0dG9uc1xuXG4uYnRuLXN1Ym1pdCB7XG4gIGhlaWdodDo1MHB4O1xuICB3aWR0aDoxMDAlO1xuICBvdXRsaW5lOm5vbmU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1yZWd1bGFyO1xuICBjb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICBsaW5lLWhlaWdodDoxO1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nO1xuICBmb250LXNpemU6MjBweDtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjFzIGxpbmVhcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXgtd2lkdGg6MTgwcHg7XG4gIH1cbn1cblxuLmJ0bi1zdWJtaXQge1xuICAuaWNvbi1tYi1zcGlubmVyIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBtYXJnaW4tbGVmdDotMTVweDtcbiAgICBhbmltYXRpb246IGxvYWRpbmdDaXJjbGUgMXMgaW5maW5pdGUgbGluZWFyO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXgtd2lkdGg6MTgwcHg7XG4gIH1cbn1cblxuLmJ0bi1zdWJtaXRfX3RleHQge1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgLjNzIGN1YmljLWJlemllciguNjQ1LC4wNDUsLjM1NSwxKTtcbn1cblxuLmJ0bi1zdWJtaXQtLXByb2Nlc3Npbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3ItbWFyb29uLWRhcms7XG4gIC5idG4tc3VibWl0X190ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmdDaXJjbGUge1xuICAwJXtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAle1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuXG4iLCIuYy1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhcHAtY29sb3IteWVsbG93O1xuICBjb2xvcjogJGFwcC1jb2xvci1tYXJvb24tZGFyaztcbiAgcGFkZGluZzogMTBweCAxNHB4IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBib3JkZXI6MXB4IHNvbGlkICRhcHAtY29sb3ItbWFyb29uLWRhcms7XG59XG5cbi5jLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICBjb2xvcjogIzNjNzYzZDtcbiAgYm9yZGVyOjFweCBzb2xpZCAjZDZlOWM2O1xufVxuIiwiLnBhZ2UtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDojMTExO1xuICBtaW4taGVpZ2h0OjM4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucGFnZS1oZXJvX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxNDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gID4gaW1ne1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjM1KTtcbiAgfVxufVxuXG4ucGFnZS1oZXJvX19jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOjkwcHg7XG4gIHBhZGRpbmctYm90dG9tOjkwcHg7XG4gIC8vaGVpZ2h0OjEwMCU7XG59XG5cbi5wYWdlLWhlcm9fX2NvbnRlbnQtaW5uZXJ7XG4gIG1heC13aWR0aDo3MjBweDtcbiAgbWFyZ2luOjAgYXV0bztcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbi5wYWdlLWhlcm9fX3RpdGxle1xuICBAaW5jbHVkZSBhcHAtZm9udC1oZWFkaW5nLWFsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOjA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjojZmZmO1xuICBmb250LXNpemU6IDU1cHg7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgLy9AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCdtZCcpe1xuICAvLyAgZm9udC1zaXplOiA4MHB4O1xuICAvL31cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZm9udC1zaXplOiA4NXB4O1xuICB9XG59XG5cbi5wYWdlLWhlcm9fX2JyZWFkY3J1bWJ7XG4gIGNvbG9yOiAkYXBwLWNvbG9yLXllbGxvdztcbiAgbWFyZ2luOjA7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYXtcbiAgICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIH1cbn1cblxuXG5cbi8qKlxuICBQYWdlIEhlcm8gU2NhbGVkXG4gKi9cblxuXG4ucGFnZS1oZXJvLXNjYWxlZCB7XG4gIG1hcmdpbjowIGF1dG87XG59XG5cbi5wYWdlLWhlcm8tc2NhbGVkX19pbm5lcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6MDtcbiAgYmFja2dyb3VuZDojMTExO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC14cyl7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgcGFkZGluZy1ib3R0b206IDYwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgcGFkZGluZy1ib3R0b206IDI1JTtcbiAgfVxufVxuXG4ucGFnZS1oZXJvLXNjYWxlZF9fcmVzZXR7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG59XG5cbi5wYWdlLWhlcm8tc2NhbGVkX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjojZmZmO1xuICBwYWRkaW5nOjIwcHg7XG59XG4ucGFnZS1oZXJvLXNjYWxlZF9faW1hZ2Uge1xuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGJvdHRvbTowO1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgaGVpZ2h0OiAxMzUlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTBtcyBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiMxMTE7XG4gID4gaW1ne1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxufVxuXG4ucGFnZS1oZXJvLXNjYWxlZF9fdGl0bGV7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmctYWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46MDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcblxuICBmb250LXNpemU6IDYwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZm9udC1zaXplOiAxMDBweDtcbiAgfVxufVxuXG5cbi5wYWdlLWhlcm8tc2NhbGVkX19icmVhZGNydW1ie1xuICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIG1hcmdpbjowO1xuICBmb250LXdlaWdodDpib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGF7XG4gICAgY29sb3I6ICRhcHAtY29sb3IteWVsbG93O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOjVweDtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgICY6aG92ZXJ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgc3BhbntcbiAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxufVxuXG5cblxuLyoqXG4gIFBhZ2UgU3RhdGljIEhlcm9cbiAqL1xuLnBhZ2Utc3RhdGljLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IzExMTtcbiAgbWluLWhlaWdodDozODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnBhZ2Utc3RhdGljLWhlcm9fX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgPiBpbWd7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMzUpO1xuICB9XG59XG5cbi5wYWdlLXN0YXRpYy1oZXJvX19jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOjkwcHg7XG4gIHBhZGRpbmctYm90dG9tOjkwcHg7XG4gIC8vaGVpZ2h0OjEwMCU7XG59XG5cbi5wYWdlLXN0YXRpYy1oZXJvX19jb250ZW50LWlubmVye1xuICBtYXgtd2lkdGg6NzIwcHg7XG4gIG1hcmdpbjowIGF1dG87XG4gIHRleHQtYWxpZ246Y2VudGVyO1xufVxuXG4ucGFnZS1zdGF0aWMtaGVyb19fdGl0bGV7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmctYWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46MDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiNmZmY7XG4gIGZvbnQtc2l6ZTogNTVweDtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggcmdiYSgwLDAsMCwwLjMpO1xuICAvL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJyl7XG4gIC8vICBmb250LXNpemU6IDgwcHg7XG4gIC8vfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBmb250LXNpemU6IDg1cHg7XG4gIH1cbn1cblxuLnBhZ2Utc3RhdGljLWhlcm9fX2JyZWFkY3J1bWJ7XG4gIGNvbG9yOiAkYXBwLWNvbG9yLXllbGxvdztcbiAgbWFyZ2luOjA7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYXtcbiAgICBjb2xvcjogJGFwcC1jb2xvci15ZWxsb3c7XG4gIH1cbn1cblxuXG4vKipcbiAgUGFnZSBTdGF0aWMgSGVybyBTY2FsZWRcbiAqL1xuXG5cblxuXG4ucGFnZS1zdGF0aWMtaGVyby1zY2FsZWQge1xuICBtYXJnaW46MCBhdXRvIDMwcHggMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIG1hcmdpbjowIGF1dG8gNjBweCAwO1xuICB9XG59XG5cbi5wYWdlLXN0YXRpYy1oZXJvLXNjYWxlZF9faW5uZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OjA7XG4gIGJhY2tncm91bmQ6IzExMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgwICRhcHAtYnJlYWtwb2ludC1zbSAtIDEpe1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIHBhZGRpbmctYm90dG9tOiAzMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbn1cblxuLnBhZ2Utc3RhdGljLWhlcm8tc2NhbGVkX19yZXNldHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4ucGFnZS1zdGF0aWMtaGVyby1zY2FsZWRfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiNmZmY7XG4gIHBhZGRpbmc6MjBweDtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG4ucGFnZS1zdGF0aWMtaGVyby1zY2FsZWRfX2ltYWdlIHtcbiAgJjphZnRlcntcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTtcbiAgfVxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zaXRpb246dHJhbnNmb3JtIDEwbXMgbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjojMTExO1xuICA+IGltZ3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL21lbWJlcl9zdW1tYXJ5X2hlcm8uanBnJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5wYWdlLXN0YXRpYy1oZXJvLXNjYWxlZF9fdGl0bGV7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmctYWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46MDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IHJnYmEoMCwwLDAsMC4zKTtcblxuICBmb250LXNpemU6IDU1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbWQpe1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZm9udC1zaXplOiA4NHB4O1xuICB9XG59XG5cblxuLnBhZ2Utc3RhdGljLWhlcm8tc2NhbGVkX19ieWxpbmV7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgY29sb3I6ICRhcHAtY29sb3IteWVsbG93O1xuICBtYXJnaW46MCAwIDIwcHggMDtcbiAgcGFkZGluZzowIDIwcHg7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGxpbmUtaGVpZ2h0OjE7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBzcGFue1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICBjb2xvcjojZmZmO1xuICB9XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGFwcC1mb250LWJyYW5kLWdvb2RpZXM7XG4gICAgdGV4dC10cmFuc2Zvcm06aW5pdGlhbDtcbiAgfVxuICAmOmJlZm9yZXtcbiAgICBsZWZ0OjA7XG4gICAgdG9wOjQwJTtcbiAgICBjb250ZW50Oid0JztcbiAgICBAaW5jbHVkZSBhcHAtZm9udC1icmFuZC1nb29kaWVzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNXB4LCAtNTAlKTtcbiAgfVxuICAmOmFmdGVye1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjQwJTtcbiAgICBjb250ZW50Oid1JztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNXB4LCAtNTAlKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG59XG5cbiIsIi8qKlxuICBNZW1iZXIgTWVudVxuICovXG5cbi5jLW1lbWJlci1tZW51e1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZS1kYXJrZXI7XG4gIGJhY2tncm91bmQ6JGFwcC1jb2xvci1kYXJrZW4tdGV4dHVyZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uYy1tZW1iZXItbWVudV9fY29udGVudHtcbiAgZGlzcGxheTpmbGV4O1xufVxuXG4uYy1tZW1iZXItbWVudV9fbGVmdHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLmMtbWVtYmVyLW1lbnVfX3JpZ2h0e1xuICBmbG9hdDpyaWdodDtcbn1cblxuLmMtbWVtYmVyLW1lbnVfX2xpbmt7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzoxMHB4IDI0cHggOHB4IDE4cHg7XG5cbiAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICBib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgY29sb3I6JGFwcC1jb2xvci1ncmV5LW1lZGl1bTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAmOmZpcnN0LWNoaWxke1xuICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAkYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICB9XG4gID4gc3BhbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgcGFkZGluZy10b3A6NHB4O1xuICB9XG4gICY6aG92ZXJ7XG4gICAgY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgfVxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjokYXBwLWNvbG9yLWJyb3duLWxpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LWxnKXtcbiAgICBwYWRkaW5nOjE4cHggMjRweCAxNnB4IDE4cHg7XG4gIH1cbn0iLCIuYy1yZXdhcmRzLWxvZ2luIHtcbiAgZGlzcGxheTpibG9jaztcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206NjBweDtcbiAgfVxufVxuXG5cbi5jLXJld2FyZHMtdGlsZSB7XG4gIG1hcmdpbi1ib3R0b206NDBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtbGcpe1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLmMtY29udGVudC10aWxlLFxuLmMtbG9naW4tdGlsZSB7XG4gIGhlaWdodDoxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDM1cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi8vIENvbnRlbnQgVGlsZVxuXG4uYy1jb250ZW50LXRpbGUge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgcGFkZGluZzowIDMwcHggMCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRhcHAtY29sb3Itd2hpdGU7XG4gIEBpbmNsdWRlIGFwcC1mb250LWdsb2JhbDtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbi5jLWNvbnRlbnQtdGlsZV9fY29udGVudC0taW5mbyB7XG4gIHBvc2l0aW9uOnN0aWNreTtcbiAgdG9wOjEwMHB4O1xufVxuXG4uYy1jb250ZW50LXRpbGVfX2NvbnRlbnQgaHIge1xuICBib3JkZXItY29sb3I6I2RiY2ViNztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xufVxuXG4uYy1jb250ZW50LXRpbGVfX3RpdGxlIHtcbiAgZGlzcGxheTpibG9jaztcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgZm9udC1zaXplOjQycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OjE7XG59XG5cbi5jLWNvbnRlbnQtdGlsZV9fdGl0bGUtLWxhcmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgZm9udC1zaXplOjk2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OjE7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtZmxhaXIoNTVweCw0MCUsMTVweCk7XG59XG5cbi5jLWNvbnRlbnQtdGlsZV9fYnlsaW5lIHtcbiAgZGlzcGxheTpibG9jaztcbiAgZm9udC1zaXplOjE4cHg7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBwYWRkaW5nLXRvcDo1MHB4O1xuICBtYXJnaW4tYm90dG9tOjEwcHg7XG59XG5cbi5jLWNvbnRlbnQtdGlsZV9fY29udGVudCBwIHtcbiAgbWFyZ2luOjAgYXV0byAyMHB4IGF1dG87XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGZvbnQtc2l6ZToyNHB4O1xuICBtYXgtd2lkdGg6MzgwcHg7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xufVxuXG4uYy1jb250ZW50LXRpbGVfX2xpc3Qge1xuICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICA+IGRpdiB7XG4gICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgPiBkaXYge1xuICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICB9XG4gIH1cbn1cblxuLmMtY29udGVudC10aWxlX19pY29uIHtcbiAgZGlzcGxheTpibG9jaztcbiAgY29sb3I6I2NkYTE1NztcbiAgZm9udC1zaXplOjQ0cHg7XG4gIG1hcmdpbi1ib3R0b206MjBweDtcbn1cblxuLy8gTG9naW4gLyBSZWdpc3RlciBUaWxlXG5cbi5jLWxvZ2luLXRpbGUge1xuXG59XG5cbi5jLWxvZ2luLXRpbGVfX3RhYnMge1xufVxuXG4uYy1sb2dpbi10aWxlX190YWIge1xuICBmbG9hdDpsZWZ0O1xuICB3aWR0aDo1MCU7XG4gIHBhZGRpbmc6MCA1cHggMCA1cHg7XG4gIGN1cnNvcjpwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNlM2UwZGM7XG4gIGxpbmUtaGVpZ2h0OjYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgZm9udC1zaXplOjI0cHg7XG4gIGNvbG9yOiRhcHAtY29sb3ItbWFyb29uLXJlZ3VsYXI7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xufVxuXG4uYy1sb2dpbi10aWxlX190YWItLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6JGFwcC1jb2xvci13aGl0ZTtcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiNGRkY7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4uYy1sb2dpbi10aWxlX19mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOiAzMHB4IDIwcHggMjBweCAyMHB4O1xuICAuYy1mb3JtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTo0NXB4O1xuICAgIC5mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gICAgfVxuICB9XG4gIGhyIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGJvcmRlci1jb2xvcjojZGJjZWI3O1xuICAgIG1hcmdpbjowIDAgMzBweCAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1tZCl7XG4gICAgcGFkZGluZzozMHB4IDQwcHggMjBweCA0MHB4O1xuICAgIGhyIHtcbiAgICAgIG1hcmdpbjowIDAgNjBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uYy1sb2dpbi10aWxlX19yZWNvdmVyIHtcbiAgZm9udC13ZWlnaHQ6NjAwO1xuICBtYXJnaW4tYm90dG9tOjIwcHg7XG4gIGEge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICB9XG4gIGE6Zmlyc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICB9XG4gIH1cbiAgYTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjokYXBwLWNvbG9yLW1hcm9vbi1kYXJrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LXNtKXtcbiAgICBtYXJnaW4tYm90dG9tOjQwcHg7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG4gICAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjIwcHg7XG4gICAgICAgIGNvbnRlbnQ6J3wnO1xuICAgICAgICBjb2xvcjojZWJlOWU2O1xuICAgICAgfVxuICAgIH1cbiAgICBhOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OjIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jLWxvZ2luLXRpbGVfX2Vycm9yIHtcbiAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICAuYy1hbGVydCB7XG4gICAgbWFyZ2luLWJvdHRvbToxNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFwcC1icmVha3BvaW50LW1kKXtcbiAgICBtYXJnaW4tYm90dG9tOjIwcHg7XG4gIH1cbn1cblxuLmMtdGlsZS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBzaGFrZSAwLjgycyBjdWJpYy1iZXppZXIoLjM2LC4wNywuMTksLjk3KSBib3RoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG59IiwiLmMtbWVtYmVyLXBhZ2Ugb2wge1xuICBib3JkZXItdG9wOm5vbmU7XG59XG5cbi5jLXRvcC1saW5rLS1sb2dvdXQge1xuICA+IHNwYW4ge1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLmMtbWVtYmVyLXBhZ2Uge1xuICBAaW5jbHVkZSBhcHAtZm9udC1nbG9iYWw7XG4gIGZvbnQtc2l6ZToxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTozMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1sZyl7XG4gICAgZm9udC1zaXplOjE4cHg7XG4gICAgcGFkZGluZy1ib3R0b206NjBweDtcbiAgfVxufVxuXG4uYy1tZW1iZXItcGFnZV9fdGl0bGUge1xuICBmb250LXNpemU6NDJweDtcbiAgQGluY2x1ZGUgYXBwLWZvbnQtaGVhZGluZztcbiAgY29sb3I6JGFwcC1jb2xvci1tYXJvb24tcmVndWxhcjtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICBmb250LXdlaWdodDo2MDA7XG4gIHBhZGRpbmctYm90dG9tOjMwcHg7XG4gIG1hcmdpbjowIDAgMjVweCAwO1xuICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjY2JjN2JmO1xufVxuXG4uYy1tZW1iZXItcGFnZSBwIHtcbiAgbWFyZ2luLWJvdHRvbTozMHB4O1xufVxuXG4uYy1tZW1iZXItcGFnZV9fbGlzdCBsaSB7XG4gIGxpbmUtaGVpZ2h0OjYwcHg7XG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlN2U1ZTA7XG59XG5cbi5jLXRhYmxlX193cmFwcGVyIHtcbiAgdHIuY29sbGFwc2UgPiB0ZCxcbiAgdHIuY29sbGFwc2luZyA+IHRkIHtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbn1cblxuLmMtbWVtYmVyLXBhZ2VfX3RhYmxlLS1jb2xsYXBzZWQge1xuICBib3JkZXItY29sb3I6I2U3ZTVlMDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U3ZTVlMDtcbiAgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIHdpZHRoOjEwMHB4O1xuICB9XG4gIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYXBwLWNvbG9yLXdoaXRlO1xuICB9XG4gIHRoIHtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNEYyO1xuICB9XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWdyZXktbGlnaHRlcjtcbiAgfVxufVxuXG4uYy10YWJsZV9fY29sbGFwc2Uge1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlXG4gIH1cbiAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuLmMtdGFibGUge1xuICB0ZDpudGgtY2hpbGQoMm4pIHtcbiAgICBiYWNrZ3JvdW5kOiAkYXBwLWNvbG9yLXdoaXRlO1xuICB9XG59XG5cbi5jLXRhYmxlX193cmFwcGVyLS10cmFuc2FjdGlvbnMge1xuICB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojOUExQTM5O1xuICB9XG4gIHRkLFxuICB0ZDpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYXBwLWNvbG9yLXdoaXRlO1xuICB9XG59XG5cbi5jLW1lbWJlci1wYWdlX190YWJsZS0tY29sbGFwc2VkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGgsXG4gIHRoOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYXBwLWNvbG9yLWdyZXktbGlnaHRlcjtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkYXBwLWNvbG9yLWdyZXktbGlnaHQ7XG4gICAgY29sb3I6IzAwMDAwMDtcbiAgfVxuICB0ZCxcbiAgdGQ6bnRoLWNoaWxkKDJuKSxcbiAgdGQ6bnRoLWNoaWxkKDJuICsgMSl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgfVxufVxuXG4uYy1tZW1iZXItcGFnZV9fcmV3YXJkcy1jdXAge1xuICBtYXJnaW46MCBhdXRvO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gIH1cbn1cblxuLmMtbWVtYmVyLXJld2FyZHMtY3VwIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIG1heC13aWR0aDozMDBweDtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIGFwcC1mb250LWhlYWRpbmc7XG4gIGNvbG9yOiNkNWMyYzM7XG4gIGZvbnQtc2l6ZToyNHB4O1xuICBmb250LXdlaWdodDo2MDA7XG59XG5cbi5jLW1lbWJlci1yZXdhcmRzLWN1cF9fYmcge1xuICBtYXgtd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OmF1dG87XG4gIHotaW5kZXg6MTtcbn1cblxuLmMtbWVtYmVyLXJld2FyZHMtY3VwX19vdmVybGF5IHtcbiAgei1pbmRleDotMTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGJvdHRvbTowO1xuICB3aWR0aDo3NSU7XG4gIGhlaWdodDo4MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uYy1tZW1iZXItcmV3YXJkcy1jdXBfX2ZyZWUge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgdG9wOjMwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZToyNHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcHAtYnJlYWtwb2ludC1zbSl7XG4gICAgZm9udC1zaXplOjMwcHg7XG4gIH1cbn1cblxuLmMtbWVtYmVyLXJld2FyZHMtY3VwX19jb3VudCB7XG4gIGxpc3Qtc3R5bGU6bm9uZTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDo4NXB4O1xuICBib3R0b206MzBweDtcbiAgd2lkdGg6MTAwJTtcbiAgcGFkZGluZzowO1xuICBtYXJnaW46IDAgYXV0bztcbiAgei1pbmRleDogLTE7XG4gIGZvbnQtc2l6ZToyMHB4O1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTVweCAwIDIwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbjogaW5jcmVtZW50UmV3YXJkQ3VwIDAuNHMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuNDUsIDAuNjMsIDAuNTMpIDEgO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgICBsaS5pcy1hY3RpdmU6bnRoLWxhc3Qtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6ICgjeyRpKjAuNXN9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXBwLWJyZWFrcG9pbnQtc20pe1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAwIDE0cHggMDtcbiAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jLXJld2FyZHMtY3VwLWxldmVsIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOjA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBhbmltYXRpb246IGN1cEhlaWdodCAxLjVzIGN1YmljLWJlemllcigwLjM2LCAwLjQ1LCAwLjYzLCAwLjUzKSAxO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMjAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMTAwJSwgIzRCMTIyNSA1MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEIxMjI1O1xuXG59XG5cbi5jLXJld2FyZHMtY3VwLWxldmVsX19pbm5lciB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6MTAwJTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDotMTBweDtcbiAgICBsZWZ0OiA1MHB4O1xuICAgIGJhY2tncm91bmQ6dXJsKCcuLi8uLi8uLi9zdmcvcmV3YXJkcy1jdXAtZmlsbC13aWRlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBhbmltYXRpb246IHdhdmUgMnMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuNDUsIDAuNjMsIDAuNTMpIGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2l0aW9uOiB0b3A7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQ0FBOzs7O0dBSUc7QWlDSkgsNEVBQTRFO0FnSEE1RSxPQUFPLENBQUMsdUNBQUk7QWhIUVosQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVTtFQUN2QixvQkFBb0IsRUFBRSxJQUFJO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7Q0FDL0I7O0FBTUQsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQztDQUNWOztBQVlELEFBQUEsT0FBTztBQUNQLEFBQUEsS0FBSztBQUNMLEFBQUEsT0FBTztBQUNQLEFBQUEsVUFBVTtBQUNWLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsSUFBSTtBQUNKLEFBQUEsSUFBSTtBQUNKLEFBQUEsR0FBRztBQUNILEFBQUEsT0FBTztBQUNQLEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFPRCxBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLFFBQVE7QUFDUixBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxRQUFRO0NBQ3pCOztBQU9ELEFBQUEsS0FBSyxBQUFBLElBQUssRUFBQSxBQUFBLEFBQUEsUUFBQyxBQUFBLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQztDQUNWOztDQU9ELEFBQUEsQUFBQSxNQUFDLEFBQUE7QUFDRCxBQUFBLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBU0QsQUFBQSxDQUFDLENBQUM7RUFDQSxnQkFBZ0IsRUFBRSxX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QUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFNBQVMsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsRUFBRSxBQUFBLFVBQVUsQ0FBamhCO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFFbEIsVUFBVSxFQUFFLEdBQUc7RUFFZixZQUFZLEVBQUcsSUFBOEI7RUFDN0MsYUFBYSxFQUFFLElBQStCO0NBQy9DOztBQVNELEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FB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QztHQUM1QztFQUZELEFBQUEsY0FBYyxDQUFnQjtJQUM1QixLQUFLLEVBQUUsWUFBb0M7R0FDNUM7RUFGRCxBQUFBLGNBQWMsQ0FBZ0I7SUFDNUIsS0FBSyxFQUFFLEdBQW9DO0dBQzVDO0VBRkQsQUFBQSxjQUFjLENBQWdCO0lBQzVCLEtBQUssRUFBRSxZQUFvQztHQUM1QztFQUZELEFBQUEsY0FBYyxDQUFnQjtJQUM1QixLQUFLLEVBQUUsWUFBb0M7R0FDNUM7RUFGRCxBQUFBLGNBQWMsQ0FBZ0I7SUFDNUIsS0FBSyxFQUFFLEdBQW9DO0dBQzVDO0VBRkQsQUFBQSxjQUFjLENBQWdCO0lBQzVCLEtBQUssRUFBRSxZQUFvQztHQUM1QztFQUZELEFBQUEsY0FBYyxDQUFnQjtJQUM1QixLQUFLLEVBQUUsWUFBb0M7R0FDNUM7RUFGRCxBQUFBLGNBQWMsQ0FBZ0I7SUFDNUIsS0FBSyxFQUFFLEdBQW9DO0dBQzVDO0VBRkQsQUFBQSxlQUFlLENBQWU7SUFDNUIsS0FBSyxFQUFFLFlBQW9DO0dBQzVDO0VBRkQsQUFBQSxlQUFlLENBQWU7SUFDNUIsS0FBSyxFQUFFLFlBQW9DO0dBQzVDO0VBRkQsQUFBQSxlQUFlLENBQWU7SUFDNUIsS0FBSyxFQUFFLElBQW9DO0dBQzVDO0VBUEQsQUFBQSxjQUFjLENBQVE7SUFDcEIsSUFBSSxFQUFFLElBQUk7R0FDWDtFQVBELEFBQUEsY0FBYyxDQUFnQjtJQUM1QixJQUFJLEVBQUUsV0FBb0M7R0FDM0M7RUFGRCxBQUFBLGNBQWMsQ0FBZ0I7SUFDNUIsSUFBSSxFQUFFLFlBQW9DO0dBQzNDO0VBRkQsQUFBQSxjQUFjLENBQWdCO0lBQzVCLElBQUksRUFBRSxHQUFvQztHQUMzQztFQUZELEFBQUEsY0FBYyxDQUFnQjtJQUM1QixJQUFJLEVBQUUsWUFBb0M7R0FDM0M7RUFGRCxBQUFBLGNBQWMsQ0FBZ0I7SUFDNUIsSUFBSSxFQUFFLFlBQW9DO0dBQzNDO0VBRkQsQUFBQSxjQUFjLENBQWdCO0lBQzVCLElBQUksRUFBRSxHQUFvQztHQUMzQztFQUZELEFBQUEsY0FBYyxD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 */