/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
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 {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

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

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

button {
  overflow: visible; }

button, select {
  text-transform: none; }

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

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

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

input {
  line-height: normal; }

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

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

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

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td, th {
  padding: 0; }

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *, *:before, *:after {
    background: transparent !important;
    color: #000 !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; }
  select {
    background: #fff !important; }
  .navbar {
    display: none; }
  .btn > .caret, .gform_footer input[type=submit] > .caret, .dropup > .btn > .caret, .gform_footer .dropup > input[type=submit] > .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; } }

* {
  box-sizing: border-box; }

*:before, *:after {
  box-sizing: border-box; }

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "adobe-garamond-pro", serif;
  font-size: 20px;
  line-height: 1.42857;
  color: #333333;
  background-color: #fff; }

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

a {
  color: #2b1e16;
  text-decoration: none; }
  a:hover, a:focus {
    color: black;
    text-decoration: underline; }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

figure {
  margin: 0; }

img {
  vertical-align: middle; }

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

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

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

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

hr {
  margin-top: 28px;
  margin-bottom: 28px;
  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; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Knockout 29 A', 'Knockout 29 B', 'Helvetica Neue', helvetica, arial, sans-serif;
  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: 28px;
  margin-bottom: 14px; }
  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: 14px;
  margin-bottom: 14px; }
  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: 52px; }

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

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

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

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

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

p {
  margin: 0 0 14px; }

.lead {
  margin-bottom: 28px;
  font-size: 23px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .lead {
      font-size: 30px; } }

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 {
  text-transform: uppercase; }

.text-capitalize {
  text-transform: capitalize; }

.text-muted {
  color: #777777; }

.text-primary {
  color: #2b1e16; }

a.text-primary:hover {
  color: #090605; }

.text-success {
  color: #3c763d; }

a.text-success:hover {
  color: #2b542c; }

.text-info {
  color: #31708f; }

a.text-info:hover {
  color: #245269; }

.text-warning {
  color: #8a6d3b; }

a.text-warning:hover {
  color: #66512c; }

.text-danger {
  color: #a94442; }

a.text-danger:hover {
  color: #843534; }

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #2b1e16; }

a.bg-primary:hover {
  background-color: #090605; }

.bg-success {
  background-color: #dff0d8; }

a.bg-success:hover {
  background-color: #c1e2b3; }

.bg-info {
  background-color: #d9edf7; }

a.bg-info:hover {
  background-color: #afd9ee; }

.bg-warning {
  background-color: #fcf8e3; }

a.bg-warning:hover {
  background-color: #f7ecb5; }

.bg-danger {
  background-color: #f2dede; }

a.bg-danger:hover {
  background-color: #e4b9b9; }

.page-header {
  padding-bottom: 13px;
  margin: 56px 0 28px;
  border-bottom: 1px solid #eeeeee; }

ul, ol {
  margin-top: 0;
  margin-bottom: 14px; }
  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: 28px; }

dt, dd {
  line-height: 1.42857; }

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%;
  text-transform: uppercase; }

blockquote {
  padding: 14px 28px;
  margin: 0 0 28px;
  font-size: 25px;
  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.42857;
    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: 28px;
  font-style: normal;
  line-height: 1.42857; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .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.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .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.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

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

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 28px;
  font-size: 30px;
  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"] {
  box-sizing: border-box; }

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

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

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

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

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

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

.form-control, .gfield input[type=text], .gfield input[type=email], .gfield input[type=tel], .gfield textarea, .gfield select {
  display: block;
  width: 100%;
  height: 42px;
  padding: 6px 12px;
  font-size: 20px;
  line-height: 1.42857;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }
  .form-control:focus, .gfield input[type=text]:focus, .gfield input[type=email]:focus, .gfield input[type=tel]:focus, .gfield textarea:focus, .gfield select:focus {
    border-color: #66afe9;
    outline: 0;
    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, .gfield input[type=text]::-moz-placeholder, .gfield input[type=email]::-moz-placeholder, .gfield input[type=tel]::-moz-placeholder, .gfield textarea::-moz-placeholder, .gfield select::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder, .gfield input[type=text]:-ms-input-placeholder, .gfield input[type=email]:-ms-input-placeholder, .gfield input[type=tel]:-ms-input-placeholder, .gfield textarea:-ms-input-placeholder, .gfield select:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder, .gfield input[type=text]::-webkit-input-placeholder, .gfield input[type=email]::-webkit-input-placeholder, .gfield input[type=tel]::-webkit-input-placeholder, .gfield textarea::-webkit-input-placeholder, .gfield select::-webkit-input-placeholder {
    color: #999; }
  .form-control[disabled], .gfield input[disabled][type=text], .gfield input[disabled][type=email], .gfield input[disabled][type=tel], .gfield textarea[disabled], .gfield select[disabled], .form-control[readonly], .gfield input[readonly][type=text], .gfield input[readonly][type=email], .gfield input[readonly][type=tel], .gfield textarea[readonly], .gfield select[readonly], fieldset[disabled] .form-control, fieldset[disabled] .gfield input[type=text], .gfield fieldset[disabled] input[type=text], fieldset[disabled] .gfield input[type=email], .gfield fieldset[disabled] input[type=email], fieldset[disabled] .gfield input[type=tel], .gfield fieldset[disabled] input[type=tel], fieldset[disabled] .gfield textarea, .gfield fieldset[disabled] textarea, fieldset[disabled] .gfield select, .gfield fieldset[disabled] select {
    cursor: false;
    background-color: #eeeeee;
    opacity: 1; }

textarea.form-control, .gfield textarea {
  height: auto; }

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] {
    line-height: 42px; }
  input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm {
    line-height: 37px; }
  input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg {
    line-height: 56px; } }

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

.radio, .checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label, .checkbox label {
    min-height: 28px;
    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 {
  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: false; }

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

.radio.disabled label, fieldset[disabled] .radio label, .checkbox.disabled label, fieldset[disabled] .checkbox label {
  cursor: false; }

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0; }
  .form-control-static.input-lg, .form-control-static.input-sm {
    padding-left: 0;
    padding-right: 0; }

.input-sm, .form-group-sm .form-control, .form-group-sm .gfield input[type=text], .gfield .form-group-sm input[type=text], .form-group-sm .gfield input[type=email], .gfield .form-group-sm input[type=email], .form-group-sm .gfield input[type=tel], .gfield .form-group-sm input[type=tel], .form-group-sm .gfield textarea, .gfield .form-group-sm textarea, .form-group-sm .gfield select, .gfield .form-group-sm select {
  height: 37px;
  padding: 5px 10px;
  font-size: 17px;
  line-height: 1.5;
  border-radius: 3px; }

select.input-sm, .form-group-sm .form-control, .form-group-sm .gfield input[type=text], .gfield .form-group-sm input[type=text], .form-group-sm .gfield input[type=email], .gfield .form-group-sm input[type=email], .form-group-sm .gfield input[type=tel], .gfield .form-group-sm input[type=tel], .form-group-sm .gfield textarea, .gfield .form-group-sm textarea, .form-group-sm .gfield select, .gfield .form-group-sm select {
  height: 37px;
  line-height: 37px; }

textarea.input-sm, .form-group-sm .form-control, .form-group-sm .gfield input[type=text], .gfield .form-group-sm input[type=text], .form-group-sm .gfield input[type=email], .gfield .form-group-sm input[type=email], .form-group-sm .gfield input[type=tel], .gfield .form-group-sm input[type=tel], .form-group-sm .gfield textarea, .gfield .form-group-sm textarea, .form-group-sm .gfield select, .gfield .form-group-sm select, select[multiple].input-sm, .form-group-sm .form-control, .form-group-sm .gfield input[type=text], .gfield .form-group-sm input[type=text], .form-group-sm .gfield input[type=email], .gfield .form-group-sm input[type=email], .form-group-sm .gfield input[type=tel], .gfield .form-group-sm input[type=tel], .form-group-sm .gfield textarea, .gfield .form-group-sm textarea, .form-group-sm .gfield select, .gfield .form-group-sm select {
  height: auto; }

.input-lg, .form-group-lg .form-control, .form-group-lg .gfield input[type=text], .gfield .form-group-lg input[type=text], .form-group-lg .gfield input[type=email], .gfield .form-group-lg input[type=email], .form-group-lg .gfield input[type=tel], .gfield .form-group-lg input[type=tel], .form-group-lg .gfield textarea, .gfield .form-group-lg textarea, .form-group-lg .gfield select, .gfield .form-group-lg select {
  height: 56px;
  padding: 10px 16px;
  font-size: 25px;
  line-height: 1.33;
  border-radius: 6px; }

select.input-lg, .form-group-lg .form-control, .form-group-lg .gfield input[type=text], .gfield .form-group-lg input[type=text], .form-group-lg .gfield input[type=email], .gfield .form-group-lg input[type=email], .form-group-lg .gfield input[type=tel], .gfield .form-group-lg input[type=tel], .form-group-lg .gfield textarea, .gfield .form-group-lg textarea, .form-group-lg .gfield select, .gfield .form-group-lg select {
  height: 56px;
  line-height: 56px; }

textarea.input-lg, .form-group-lg .form-control, .form-group-lg .gfield input[type=text], .gfield .form-group-lg input[type=text], .form-group-lg .gfield input[type=email], .gfield .form-group-lg input[type=email], .form-group-lg .gfield input[type=tel], .gfield .form-group-lg input[type=tel], .form-group-lg .gfield textarea, .gfield .form-group-lg textarea, .form-group-lg .gfield select, .gfield .form-group-lg select, select[multiple].input-lg, .form-group-lg .form-control, .form-group-lg .gfield input[type=text], .gfield .form-group-lg input[type=text], .form-group-lg .gfield input[type=email], .gfield .form-group-lg input[type=email], .form-group-lg .gfield input[type=tel], .gfield .form-group-lg input[type=tel], .form-group-lg .gfield textarea, .gfield .form-group-lg textarea, .form-group-lg .gfield select, .gfield .form-group-lg select {
  height: auto; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control, .has-feedback .gfield input[type=text], .gfield .has-feedback input[type=text], .has-feedback .gfield input[type=email], .gfield .has-feedback input[type=email], .has-feedback .gfield input[type=tel], .gfield .has-feedback input[type=tel], .has-feedback .gfield textarea, .gfield .has-feedback textarea, .has-feedback .gfield select, .gfield .has-feedback select {
    padding-right: 52.5px; }

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

.input-lg + .form-control-feedback {
  width: 56px;
  height: 56px;
  line-height: 56px; }

.input-sm + .form-control-feedback {
  width: 37px;
  height: 37px;
  line-height: 37px; }

.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, .has-success .gfield input[type=text], .gfield .has-success input[type=text], .has-success .gfield input[type=email], .gfield .has-success input[type=email], .has-success .gfield input[type=tel], .gfield .has-success input[type=tel], .has-success .gfield textarea, .gfield .has-success textarea, .has-success .gfield select, .gfield .has-success select {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-success .form-control:focus, .has-success .gfield input[type=text]:focus, .gfield .has-success input[type=text]:focus, .has-success .gfield input[type=email]:focus, .gfield .has-success input[type=email]:focus, .has-success .gfield input[type=tel]:focus, .gfield .has-success input[type=tel]:focus, .has-success .gfield textarea:focus, .gfield .has-success textarea:focus, .has-success .gfield select:focus, .gfield .has-success select:focus {
    border-color: #2b542c;
    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, .has-warning .gfield input[type=text], .gfield .has-warning input[type=text], .has-warning .gfield input[type=email], .gfield .has-warning input[type=email], .has-warning .gfield input[type=tel], .gfield .has-warning input[type=tel], .has-warning .gfield textarea, .gfield .has-warning textarea, .has-warning .gfield select, .gfield .has-warning select {
  border-color: #8a6d3b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-warning .form-control:focus, .has-warning .gfield input[type=text]:focus, .gfield .has-warning input[type=text]:focus, .has-warning .gfield input[type=email]:focus, .gfield .has-warning input[type=email]:focus, .has-warning .gfield input[type=tel]:focus, .gfield .has-warning input[type=tel]:focus, .has-warning .gfield textarea:focus, .gfield .has-warning textarea:focus, .has-warning .gfield select:focus, .gfield .has-warning select:focus {
    border-color: #66512c;
    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, .has-error .gfield input[type=text], .gfield .has-error input[type=text], .has-error .gfield input[type=email], .gfield .has-error input[type=email], .has-error .gfield input[type=tel], .gfield .has-error input[type=tel], .has-error .gfield textarea, .gfield .has-error textarea, .has-error .gfield select, .gfield .has-error select {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-error .form-control:focus, .has-error .gfield input[type=text]:focus, .gfield .has-error input[type=text]:focus, .has-error .gfield input[type=email]:focus, .gfield .has-error input[type=email]:focus, .has-error .gfield input[type=tel]:focus, .gfield .has-error input[type=tel]:focus, .has-error .gfield textarea:focus, .gfield .has-error textarea:focus, .has-error .gfield select:focus, .gfield .has-error select:focus {
    border-color: #843534;
    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: 33px; }
.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, .form-inline .gfield input[type=text], .gfield .form-inline input[type=text], .form-inline .gfield input[type=email], .gfield .form-inline input[type=email], .form-inline .gfield input[type=tel], .gfield .form-inline input[type=tel], .form-inline .gfield textarea, .gfield .form-inline textarea, .form-inline .gfield select, .gfield .form-inline select {
    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, .form-inline .input-group .gfield input[type=text], .gfield .form-inline .input-group input[type=text], .form-inline .input-group .gfield input[type=email], .gfield .form-inline .input-group input[type=email], .form-inline .input-group .gfield input[type=tel], .gfield .form-inline .input-group input[type=tel], .form-inline .input-group .gfield textarea, .gfield .form-inline .input-group textarea, .form-inline .input-group .gfield select, .gfield .form-inline .input-group select {
      width: auto; }
  .form-inline .input-group > .form-control, .form-inline .gfield .input-group > input[type=text], .gfield .form-inline .input-group > input[type=text], .form-inline .gfield .input-group > input[type=email], .gfield .form-inline .input-group > input[type=email], .form-inline .gfield .input-group > input[type=tel], .gfield .form-inline .input-group > input[type=tel], .form-inline .gfield .input-group > textarea, .gfield .form-inline .input-group > textarea, .form-inline .gfield .input-group > select, .gfield .form-inline .input-group > select {
    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: 35px; }
.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: 14.3px; } }
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px; } }

.btn, .gform_footer input[type=submit] {
  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: 20px;
  line-height: 1.42857;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .btn:focus, .gform_footer input[type=submit]:focus, .btn.focus, .gform_footer input.focus[type=submit], .btn:active:focus, .gform_footer input[type=submit]:active:focus, .btn:active.focus, .gform_footer input[type=submit]:active.focus, .btn.active:focus, .gform_footer input.active[type=submit]:focus, .btn.active.focus, .gform_footer input.active.focus[type=submit] {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:hover, .gform_footer input[type=submit]:hover, .btn:focus, .gform_footer input[type=submit]:focus, .btn.focus, .gform_footer input.focus[type=submit] {
    color: #333;
    text-decoration: none; }
  .btn:active, .gform_footer input[type=submit]:active, .btn.active, .gform_footer input.active[type=submit] {
    outline: 0;
    background-image: none;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn.disabled, .gform_footer input.disabled[type=submit], .btn[disabled], .gform_footer input[disabled][type=submit], fieldset[disabled] .btn, fieldset[disabled] .gform_footer input[type=submit], .gform_footer fieldset[disabled] input[type=submit] {
    cursor: false;
    pointer-events: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    box-shadow: none; }

.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc; }
  .btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
    background-color: #fff;
    border-color: #ccc; }
  .btn-default .badge {
    color: #fff;
    background-color: #333; }

.btn-primary, .gform_footer input[type=submit] {
  color: #fff;
  background-color: #2b1e16;
  border-color: #1a120d; }
  .btn-primary:hover, .gform_footer input[type=submit]:hover, .btn-primary:focus, .gform_footer input[type=submit]:focus, .btn-primary.focus, .gform_footer input.focus[type=submit], .btn-primary:active, .gform_footer input[type=submit]:active, .btn-primary.active, .gform_footer input.active[type=submit], .open > .btn-primary.dropdown-toggle, .gform_footer .open > input.dropdown-toggle[type=submit] {
    color: #fff;
    background-color: #090605;
    border-color: black; }
  .btn-primary:active, .gform_footer input[type=submit]:active, .btn-primary.active, .gform_footer input.active[type=submit], .open > .btn-primary.dropdown-toggle, .gform_footer .open > input.dropdown-toggle[type=submit] {
    background-image: none; }
  .btn-primary.disabled, .gform_footer input.disabled[type=submit], .btn-primary.disabled:hover, .gform_footer input.disabled[type=submit]:hover, .btn-primary.disabled:focus, .gform_footer input.disabled[type=submit]:focus, .btn-primary.disabled.focus, .gform_footer input.disabled.focus[type=submit], .btn-primary.disabled:active, .gform_footer input.disabled[type=submit]:active, .btn-primary.disabled.active, .gform_footer input.disabled.active[type=submit], .btn-primary[disabled], .gform_footer input[disabled][type=submit], .btn-primary[disabled]:hover, .gform_footer input[disabled][type=submit]:hover, .btn-primary[disabled]:focus, .gform_footer input[disabled][type=submit]:focus, .btn-primary[disabled].focus, .gform_footer input[disabled].focus[type=submit], .btn-primary[disabled]:active, .gform_footer input[disabled][type=submit]:active, .btn-primary[disabled].active, .gform_footer input[disabled].active[type=submit], fieldset[disabled] .btn-primary, fieldset[disabled] .gform_footer input[type=submit], .gform_footer fieldset[disabled] input[type=submit], fieldset[disabled] .btn-primary:hover, fieldset[disabled] .gform_footer input[type=submit]:hover, .gform_footer fieldset[disabled] input[type=submit]:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .gform_footer input[type=submit]:focus, .gform_footer fieldset[disabled] input[type=submit]:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .gform_footer input.focus[type=submit], .gform_footer fieldset[disabled] input.focus[type=submit], fieldset[disabled] .btn-primary:active, fieldset[disabled] .gform_footer input[type=submit]:active, .gform_footer fieldset[disabled] input[type=submit]:active, fieldset[disabled] .btn-primary.active, fieldset[disabled] .gform_footer input.active[type=submit], .gform_footer fieldset[disabled] input.active[type=submit] {
    background-color: #2b1e16;
    border-color: #1a120d; }
  .btn-primary .badge, .gform_footer input[type=submit] .badge {
    color: #2b1e16;
    background-color: #fff; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c; }
  .btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
  .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active {
    background-color: #5cb85c;
    border-color: #4cae4c; }
  .btn-success .badge {
    color: #5cb85c;
    background-color: #fff; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da; }
  .btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
  .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active {
    background-color: #5bc0de;
    border-color: #46b8da; }
  .btn-info .badge {
    color: #5bc0de;
    background-color: #fff; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236; }
  .btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
  .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active {
    background-color: #f0ad4e;
    border-color: #eea236; }
  .btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a; }
  .btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
  .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active {
    background-color: #d9534f;
    border-color: #d43f3a; }
  .btn-danger .badge {
    color: #d9534f;
    background-color: #fff; }

.btn-link {
  color: #2b1e16;
  font-weight: normal;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link {
    background-color: transparent;
    box-shadow: none; }
  .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
    border-color: transparent; }
  .btn-link:hover, .btn-link:focus {
    color: black;
    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 {
  padding: 10px 16px;
  font-size: 25px;
  line-height: 1.33;
  border-radius: 6px; }

.btn-sm {
  padding: 5px 10px;
  font-size: 17px;
  line-height: 1.5;
  border-radius: 3px; }

.btn-xs {
  padding: 1px 5px;
  font-size: 17px;
  line-height: 1.5;
  border-radius: 3px; }

.btn-block {
  display: block;
  width: 100%; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
  width: 100%; }

.fade {
  opacity: 0;
  -webkit-transition: opacity .15s linear;
  transition: opacity .15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none;
  visibility: hidden; }
  .collapse.in {
    display: block;
    visibility: visible; }

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

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: .35s;
  transition-duration: .35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease; }

.navbar {
  position: relative;
  min-height: 61px;
  margin-bottom: 28px;
  border: 1px solid transparent; }
  .navbar:before, .navbar:after {
    content: " ";
    display: table; }
  .navbar:after {
    clear: both; }
  @media (min-width: 768px) {
    .navbar {
      border-radius: 0; } }

.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;
  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;
      box-shadow: none; }
      .navbar-collapse.collapse {
        display: block !important;
        visibility: visible !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 {
      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 {
      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: 16.5px 15px;
  font-size: 25px;
  line-height: 28px;
  height: 61px; }
  .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: 13.5px;
  margin-bottom: 13.5px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px; }
  .navbar-toggle:focus {
    outline: 0; }
  .navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px; }
  .navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 768px) {
    .navbar-toggle {
      display: none; } }

.navbar-nav {
  margin: 8.25px -15px; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 28px; }
  @media (max-width: 767px) {
    .navbar-nav .open .dropdown-menu {
      position: static;
      float: none;
      width: auto;
      margin-top: 0;
      background-color: transparent;
      border: 0;
      box-shadow: none; }
      .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px; }
      .navbar-nav .open .dropdown-menu > li > a {
        line-height: 28px; }
        .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: 16.5px;
          padding-bottom: 16.5px; } }

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 9.5px;
  margin-bottom: 9.5px; }
  @media (min-width: 768px) {
    .navbar-form .form-group {
      display: inline-block;
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .form-control, .navbar-form .gfield input[type=text], .gfield .navbar-form input[type=text], .navbar-form .gfield input[type=email], .gfield .navbar-form input[type=email], .navbar-form .gfield input[type=tel], .gfield .navbar-form input[type=tel], .navbar-form .gfield textarea, .gfield .navbar-form textarea, .navbar-form .gfield select, .gfield .navbar-form select {
      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, .navbar-form .input-group .gfield input[type=text], .gfield .navbar-form .input-group input[type=text], .navbar-form .input-group .gfield input[type=email], .gfield .navbar-form .input-group input[type=email], .navbar-form .input-group .gfield input[type=tel], .gfield .navbar-form .input-group input[type=tel], .navbar-form .input-group .gfield textarea, .gfield .navbar-form .input-group textarea, .navbar-form .input-group .gfield select, .gfield .navbar-form .input-group select {
        width: auto; }
    .navbar-form .input-group > .form-control, .navbar-form .gfield .input-group > input[type=text], .gfield .navbar-form .input-group > input[type=text], .navbar-form .gfield .input-group > input[type=email], .gfield .navbar-form .input-group > input[type=email], .navbar-form .gfield .input-group > input[type=tel], .gfield .navbar-form .input-group > input[type=tel], .navbar-form .gfield .input-group > textarea, .gfield .navbar-form .input-group > textarea, .navbar-form .gfield .input-group > select, .gfield .navbar-form .input-group > select {
      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;
      box-shadow: none; } }

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

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.navbar-btn {
  margin-top: 9.5px;
  margin-bottom: 9.5px; }
  .navbar-btn.btn-sm {
    margin-top: 12px;
    margin-bottom: 12px; }
  .navbar-btn.btn-xs {
    margin-top: 19.5px;
    margin-bottom: 19.5px; }

.navbar-text {
  margin-top: 16.5px;
  margin-bottom: 16.5px; }
  @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: #5e5e5e;
      background-color: transparent; }
  .navbar-default .navbar-text {
    color: #777; }
  .navbar-default .navbar-nav > li > a {
    color: #777; }
    .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
      color: #333;
      background-color: transparent; }
  .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7; }
  .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
    color: #ccc;
    background-color: transparent; }
  .navbar-default .navbar-toggle {
    border-color: #ddd; }
    .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
      background-color: #ddd; }
    .navbar-default .navbar-toggle .icon-bar {
      background-color: #2b1e16; }
  .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; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 28px 0;
  border-radius: 4px; }
  .pagination > li {
    display: inline; }
    .pagination > li > a, .pagination > li > span {
      position: relative;
      float: left;
      padding: 6px 12px;
      line-height: 1.42857;
      text-decoration: none;
      color: #2b1e16;
      background-color: #fff;
      border: 1px solid #ddd;
      margin-left: -1px; }
    .pagination > li:first-child > a, .pagination > li:first-child > span {
      margin-left: 0;
      border-bottom-left-radius: 4px;
      border-top-left-radius: 4px; }
    .pagination > li:last-child > a, .pagination > li:last-child > span {
      border-bottom-right-radius: 4px;
      border-top-right-radius: 4px; }
  .pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > span:hover, .pagination > li > span:focus {
    color: black;
    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: 2;
    color: #fff;
    background-color: #2b1e16;
    border-color: #2b1e16;
    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: false; }

.pagination-lg > li > a, .pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 25px; }
.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px; }
.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px; }

.pagination-sm > li > a, .pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 17px; }
.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }
.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.pager {
  padding-left: 0;
  margin: 28px 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;
      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: false; }

.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;
  border-radius: .25em; }
  .label:empty {
    display: none; }
  .btn .label, .gform_footer input[type=submit] .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: #2b1e16; }
  .label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #090605; }

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

.close {
  float: right;
  font-size: 30px;
  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; }

.clearfix:before, .home-page-showcase:before, .clearfix:after, .home-page-showcase:after {
  content: " ";
  display: table; }
.clearfix:after, .home-page-showcase: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;
  visibility: hidden !important; }

.affix {
  position: fixed; }

@-ms-viewport {
  width: device-width; }

.visible-xs, .visible-sm, .visible-md, .visible-lg {
  display: none !important; }

.visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs, td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm, td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md, td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg, td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important; } }

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

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print, td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after, .mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before, .mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

body, html, #page-wrap {
  height: 100%;
  width: 100%; }

#page-wrap {
  position: relative; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0; }

h2 {
  font-size: 40px;
  font-weight: 500; }

.nav, .nav ul {
  list-style: none;
  margin: 0;
  padding-left: 0; }

.nav > li {
  position: relative; }
  @media screen and (min-width: 768px) {
    .nav > li {
      display: inline-block; } }

.nav a {
  color: #fff;
  display: block; }
  .nav a:focus {
    outline: none; }
  .nav a:focus, .nav a:hover {
    text-decoration: none; }

@media screen and (min-width: 768px) {
  .nav li:hover > ul {
    display: block !important; } }

.nav-primary .dropdown-menu {
  background-color: #1a120d;
  display: none;
  min-width: 100%;
  position: relative;
  white-space: nowrap; }
  .nav-primary .dropdown-menu::before {
    content: '';
    display: none;
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -10px;
    border-bottom: 10px solid #2b1e16;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent; }
  @media screen and (min-width: 768px) {
    .nav-primary .dropdown-menu {
      box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 200;
      text-align: left; } }
  @media screen and (max-width: 767px) {
    .nav-primary .dropdown-menu {
      border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
      .nav-primary .dropdown-menu.visible {
        display: block; } }

.nav-primary .dropdown-menu > li > a {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: block;
  padding: 10px 15px 10px 35px;
  -webkit-transition: 100ms linear background-color;
          transition: 100ms linear background-color; }
  @media screen and (min-width: 768px) {
    .nav-primary .dropdown-menu > li > a {
      padding: 5px 12px; } }

.nav-primary .dropdown-menu > li:first-child > a {
  border-top: 0 none; }

.nav-primary .dropdown-menu > li > a:hover {
  background-color: #241913; }

.nav-primary .dropdown-toggle > .caret {
  display: none; }
  @media screen and (max-width: 767px) {
    .nav-primary .dropdown-toggle > .caret {
      background: transparent;
      border-radius: 2px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      display: block;
      height: 39px;
      position: absolute;
      top: 5px;
      right: 15px;
      z-index: 900;
      width: 50px; }
      .nav-primary .dropdown-toggle > .caret::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        border-top: 5px solid rgba(255, 255, 255, 0.1);
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        position: absolute;
        top: 16px;
        left: 20px;
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
        -webkit-transition: 100ms linear all;
                transition: 100ms linear all; }
      .nav-primary .dropdown-toggle > .caret.open::after {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg); } }

.navbar {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500; }

@media screen and (max-width: 767px) {
  .navbar-collapse {
    clear: both; } }

.navbar-header {
  float: left;
  max-width: 100%;
  margin: 0;
  padding: 15px 15px 15px 0; }
  @media screen and (max-width: 500px) {
    .navbar-header {
      width: 100%; } }
  @media screen and (min-width: 768px) {
    .navbar-header {
      border-right: 1px solid rgba(255, 255, 255, 0.2); } }

@media screen and (max-width: 767px) {
  .container > .navbar-header {
    margin-left: 0;
    margin-right: 0; } }
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .container > .navbar-header {
    margin-left: auto;
    margin-right: auto; } }

.navbar > .container-fluid .navbar-header {
  margin-left: auto;
  margin-right: auto; }

.navbar-brand {
  display: block;
  font-size: 0;
  height: auto;
  line-height: 0;
  max-width: 100%;
  padding: 0;
  text-indent: -9999em;
  width: 220px; }
  .navbar-brand::after {
    background: no-repeat center center;
    background-size: auto;
    content: '';
    display: block;
    height: auto;
    max-width: 100%;
    padding-bottom: 23.93361%;
    width: 100%; }
    .no-svg .navbar-brand::after {
      background-image: url(../img/logo.png); }
      @media screen and (-webkit-min-device-pixel-ratio: 2) {
        .no-svg .navbar-brand::after {
          background-image: url(../img/logo@2x.png); } }
    .svg .navbar-brand::after {
      background-image: url(../img/logo.svg); }
  @media screen and (min-width: 450px) {
    .navbar-brand {
      width: 298px; } }
  @media screen and (min-width: 768px) {
    .navbar-brand {
      float: left; } }

.navbar-brand a {
  display: block; }

.navbar > .container-fluid .navbar-brand {
  margin-left: 0; }

.navbar-toggle {
  background-color: #fff;
  border-radius: 2px;
  position: absolute;
  top: 7px;
  right: 0;
  z-index: 200; }
  @media screen and (min-width: 500px) {
    .navbar-toggle {
      top: 15px; } }

.navbar-toggle .icon-bar {
  background-color: #2b1e16;
  display: block;
  height: 3px; }

.gform_wrapper {
  padding: 30px 0;
  overflow: hidden; }

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

.gfield {
  padding-bottom: 30px;
  position: relative; }
  .gfield label {
    display: block; }

.ginput_complex label {
  font-size: 16px;
  font-weight: normal;
  margin-top: 5px; }

.gform_footer input[type=submit] {
  display: block;
  float: right;
  font-family: 'Knockout 29 A', 'Knockout 29 B', 'Helvetica Neue', helvetica, arial, sans-serif; }

.validation_error {
  color: #e60000;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
  margin-bottom: 15px; }

.gfield_description.validation_message {
  color: #e60000;
  font-size: 14px;
  display: inline-block;
  margin-top: 5px; }

.breadcrumb {
  background: rgba(0, 0, 0, 0.15);
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 16px;
  padding: 5px 15px; }
  @media screen and (min-width: 768px) {
    .breadcrumb {
      padding-top: 15px;
      padding-bottom: 15px; } }

.breadcrumb a {
  color: #fff;
  display: inline-block; }

@media screen and (max-width: 767px) {
  .gallery {
    text-align: center; } }

.gallery .img-thumbnail {
  display: block;
  margin-bottom: 15px; }
  @media screen and (max-width: 767px) {
    .gallery .img-thumbnail {
      display: inline-block;
      vertical-align: top; } }

.gallery .img-thumbnail img {
  display: block;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .gallery .img-thumbnail img {
      width: 100%;
      height: auto; } }

.nav-primary {
  font-size: 20px; }
  @media screen and (max-width: 767px) {
    .nav-primary {
      background-color: #2b1e16;
      border-top: 1px solid rgba(255, 255, 255, 0.2);
      margin: 0 -15px; } }

.nav-primary > li {
  border-bottom: 1px solid transparent;
  -webkit-transition: 100ms linear border-bottom-color;
          transition: 100ms linear border-bottom-color;
  top: 1px; }
  @media screen and (min-width: 768px) {
    .nav-primary > li:hover, .nav-primary > li.active, .nav-primary > li.active-parent {
      border-bottom-color: #fff; } }

.nav-primary > li > a {
  color: #fff;
  display: block;
  line-height: 1; }
  @media screen and (max-width: 767px) {
    .nav-primary > li > a {
      padding: 15px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1); } }
  @media screen and (min-width: 768px) {
    .nav-primary > li > a {
      padding: 40px 4px 40px; } }
  @media screen and (min-width: 992px) {
    .nav-primary > li > a {
      padding-left: 15px;
      padding-right: 15px; } }

@media screen and (max-width: 850px) {
  .nav-primary > li:last-child > ul {
    left: auto;
    right: 0; } }

@media screen and (max-width: 767px) {
  .navbar-collapse {
    max-height: 262px;
    -webkit-overflow-scrolling: auto; } }
@media screen and (min-width: 768px) {
  .navbar-collapse {
    float: left; } }

@media screen and (min-width: 768px) {
  .nav-primary .dropdown-toggle > .caret {
    display: block;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid white;
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -5px;
    height: 0;
    width: 0; } }

.social {
  display: none; }
  @media screen and (min-width: 1077px) {
    .social {
      display: block;
      float: right;
      height: 101px;
      margin-right: -15px; } }

.social__icon-wrap {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  display: inline-block;
  overflow: hidden;
  height: 100%; }

.social__icon {
  background: no-repeat center center;
  background-size: cover;
  display: inline-block;
  height: 22px;
  margin: 37px 20px 36px;
  width: 22px; }

.social__icon.\--facebook {
  background-image: url(../img/social-facebook.svg); }

.social__icon.\--instagram {
  background-image: url(../img/social-instagram.svg); }

.social__icon.\--twitter {
  background-image: url(../img/social-twitter.svg); }

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.main-content-wrap, .page-row-wrapper {
  padding-bottom: 60px;
  padding-top: 60px; }

.page-row-wrapper.\--has-background-image {
  color: #fff;
  padding-bottom: 40px;
  padding-top: 40px; }

.page-row-wrapper.\--dark {
  background-color: #171113;
  color: #fff; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: #888; }

img.alignright {
  float: right; }

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

img.alignleft {
  float: left; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  clear: both; }

.home-page-showcase {
  margin: 60px 0 75px;
  position: relative;
  text-align: center; }

.home-page-showcase__header {
  font-size: 50px;
  line-height: 1;
  margin-bottom: 60px;
  text-transform: uppercase; }

.home-page-showcase__image {
  float: left; }
  @media screen and (max-width: 767px) {
    .home-page-showcase__image {
      margin-top: 30px; }
      .home-page-showcase__header + .home-page-showcase__image {
        margin-top: 0; } }
  @media screen and (min-width: 768px) {
    .home-page-showcase__image {
      width: 33.33333%;
      padding: 0 15px; } }
  @media screen and (min-width: 768px) {
    .home-page-showcase__image {
      width: 20%;
      margin-bottom: 0; } }

.home-page-showcase__image img {
  display: block;
  max-width: 100%;
  height: auto; }

.home-page-showcase__more-link {
  color: #bbb;
  display: inline-block;
  font-size: 18px;
  margin-top: 10px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  -webkit-transition: 150ms linear color;
          transition: 150ms linear color; }
  .home-page-showcase__more-link:hover {
    text-decoration: none;
    color: #aaa; }

.home-page-showcase__more-link span {
  position: relative;
  left: 0;
  -webkit-transition: 150ms ease-in-out left;
          transition: 150ms ease-in-out left; }

.home-page-showcase__more-link:hover span {
  left: 5px; }

.etsy-shop-listing-table {
  width: 100%; }

@media screen and (min-width: 768px) {
  .etsy-shop-listing-table td {
    width: 33.3%; } }

@media screen and (max-width: 767px) {
  .etsy-shop-listing-table, .etsy-shop-listing-table tbody, .etsy-shop-listing-table thead, .etsy-shop-listing-table tr, .etsy-shop-listing-table td, .etsy-shop-listing-table th {
    display: block;
    text-align: left; } }

.etsy-shop-listing {
  margin-bottom: 10px; }

.etsy-shop-listing-maker {
  font-family: 'Helvetica Neue', helvetica, arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase; }
  .etsy-shop-listing-maker, .etsy-shop-listing-maker > a {
    color: #aaa; }

.etsy-shop-listing-title {
  font-size: 20px;
  font-weight: bold;
  margin-top: 10px; }

.barrel-notification-signup {
  background-color: #efefef;
  border-radius: 4px;
  padding: 20px;
  overflow: hidden; }

.barrel-notification-signup .ginput_complex {
  overflow: hidden; }

@media screen and (min-width: 768px) {
  .barrel-notification-signup .ginput_complex .name_first, .barrel-notification-signup .ginput_complex .name_last {
    float: left;
    width: 49%; }
  .barrel-notification-signup .ginput_complex .name_first {
    margin-right: 2%; } }

.post-type-archive .content.hfeed {
  padding-top: 40px;
  padding-bottom: 40px; }

.post-archive-entry {
  margin-bottom: 15px;
  position: relative; }

.post-archive-entry h2 {
  font-size: 24px;
  padding-left: 10px;
  padding-right: 10px; }

.post-archive-entry__link {
  background-color: #333;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  content: '';
  width: 100%;
  height: 350px;
  position: relative; }
  .post-archive-entry__link:hover {
    text-decoration: none; }

.post-archive-entry__image {
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .post-archive-entry__image::before {
    background-color: rgba(0, 0, 0, 0.4);
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    -webkit-transition: 100ms linear background-color;
            transition: 100ms linear background-color; }

.post-archive-entry__link:hover .post-archive-entry__image::before {
  background-color: rgba(0, 0, 0, 0.2); }

.post-archive-entry__title {
  color: #fff;
  position: relative;
  z-index: 100;
  text-align: center;
  width: 100%; }

.hero {
  background: #333 url(../img/banner-default.jpg) no-repeat center center;
  background-size: cover;
  color: #fff;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .hero.\--cover {
      height: 100%; }
    .hero.\--banner {
      max-height: 800px; } }
  @media screen and (max-width: 767px) {
    .hero.\--cover {
      padding-top: 50px;
      padding-bottom: 50px; } }

.hero__spacer {
  background: no-repeat center center;
  background-size: cover;
  content: '';
  display: block;
  height: auto;
  min-height: 250px;
  padding-bottom: 36%;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .hero__spacer {
      min-height: 500px; } }

.hero-content-wrap {
  padding-top: 100px; }
  @media screen and (min-width: 768px) {
    .hero-content-wrap {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100%;
      height: 100%; } }

.hero-content {
  width: 100%; }

.\--banner .hero-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  padding-top: 85px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center; }
  .\--banner .hero-content h1 {
    font-size: 32px;
    margin: 0;
    padding-left: 15px;
    padding-right: 15px; }
  @media screen and (min-width: 768px) {
    .\--banner .hero-content {
      padding-top: 102px;
      text-align: left; }
      .\--banner .hero-content h1 {
        font-size: 65px; } }

.hero-content__title {
  width: 100%;
  margin-left: -15px;
  margin-right: -15px; }
  .hero-content__title h1 {
    font-size: 65px; }

.hero-content-col {
  overflow: hidden;
  padding-bottom: 30px;
  padding-top: 30px;
  text-align: center; }

.hero-content-col__headline {
  clear: both;
  font-family: 'Knockout 29 A', 'Knockout 29 B', 'Helvetica Neue', helvetica, arial, sans-serif;
  font-size: 50px;
  line-height: 0.9;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .hero-content-col__headline {
      font-size: 75px; } }
  @media screen and (min-width: 992px) {
    .hero-content-col__headline {
      font-size: 115px; } }

.hero-content-col__content {
  font-size: 16px;
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .hero-content-col__content {
      font-size: 20px; } }

.hero-content-col__btn {
  color: #fff;
  display: inline-block;
  font-family: 'Knockout 29 A', 'Knockout 29 B', 'Helvetica Neue', helvetica, arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: relative;
  text-transform: uppercase; }
  .hero-content-col__btn:focus, .hero-content-col__btn:hover {
    color: #fff; }
  .hero-content-col__btn:hover {
    text-decoration: none; }
  @media screen and (min-width: 768px) {
    .hero-content-col__btn {
      font-size: 30px; } }
  .hero-content-col__btn::after {
    background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAARCAQAAAASoLZKAAAAtElEQVQ4EaXBO2oCAQAFwHcIzyCIINhYCIJgIYgWnsNiC8FGsLEQkkqwEK2TC3qASSCB/PzsbmZiinlqMsc0iQKz1GCGIh8sMElFJljkiwLjVGCMIj9ZYpSSjLDMX1YYpgRDrHKdNQZ5wADr3GaDfu7Qxyb32aKXG/SwzWN26OYKXexSjid08osOnlOePdr5Rhv7VOOAVj5p4ZDqHNHMO00cU48TGho4pz4nFxen/I8Xr3ngDdGvl0auh5obAAAAAElFTkSuQmCC) center center;
    background-size: cover;
    content: '';
    display: block;
    height: 17px;
    width: 33px;
    position: absolute;
    bottom: -27px;
    left: 50%;
    margin-left: -16.5px;
    -webkit-transition: 100ms linear bottom;
            transition: 100ms linear bottom; }
    @media screen and (-webkit-min-device-pixel-ratio: 2) {
      .hero-content-col__btn::after {
        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAhCAQAAAAo/96pAAAArklEQVRYw8XOuwGAIAwE0EzABBbuP4WFe8gUtmdD4QcVSHJ5EzzBjAxgRRI6JKwAMmYRiYpcEhIUeSQiItUEO/KaYEY+E6zIb4IRaUp4R5oTnpGuhFekO+ERGUpYR4YTJbJZRFQJq4g6YRExSWgjZglNxDQxGjFPjERcEr0Rt0RPxDXRGnFPtEQoib8ILfEVoSbeIvRELRKSuEfCEpfIFJg4RfbQxCkSmyiRRZ84AL7A6rKlVeFLAAAAAElFTkSuQmCC); } }
  .hero-content-col__btn:hover::after {
    bottom: -32px; }

.team-members-wrap {
  padding-left: 0;
  padding-right: 0; }

.member {
  border-bottom: 1px solid #ccc;
  clear: both;
  overflow: hidden;
  padding: 30px 0; }

.member__image {
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .member__image {
      float: left;
      margin-right: 15px; } }

.member__name {
  margin-top: 0; }
  @media screen and (max-width: 767px) {
    .member__name {
      clear: both;
      margin-top: 15px;
      text-align: center; } }

@media screen and (min-width: 768px) {
  .member-content-wrap {
    margin-left: 245px; } }

.member-facts {
  background-color: #eee;
  margin-top: 15px;
  padding: 10px; }

.member-facts__header {
  border-bottom: 1px solid #ccc;
  font-weight: bold;
  padding-bottom: 5px;
  margin-bottom: 5px; }

.announcement {
  background-color: #f2f5fb;
  padding: 15px 0; }
  @media screen and (min-width: 1200px) {
    .announcement {
      background-color: rgba(255, 255, 255, 0.8);
      position: relative;
      margin-top: -130px;
      z-index: 300; } }

.announcement .container, .announcement .container-fluid {
  max-width: 100%;
  width: 1440px; }

.announcement__image {
  display: none;
  height: 100px;
  width: 100px; }
  @media screen and (min-width: 768px) {
    .announcement__image {
      display: block;
      float: left; } }

@media screen and (min-width: 768px) {
  .announcement__title, .announcement__content {
    margin-left: 120px; } }

.announcement__content {
  font-size: 14px;
  font-weight: 400; }
  @media screen and (min-width: 768px) {
    .announcement__content {
      font-size: 14px; } }

.announcement__title {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  margin-top: -5px;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .announcement__title {
      font-size: 36px; } }

.contentinfo {
  background-color: #333;
  color: #7f7873;
  font-size: 13px;
  padding-bottom: 20px;
  padding-top: 20px;
  text-align: center; }

.contentinfo a {
  color: #aaa5a1; }

.day {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  padding-bottom: 3px;
  margin-bottom: 15px; }

.day__name {
  padding-right: 5px;
  padding-bottom: 3px; }

.day__hours {
  float: right; }

.widget-area {
  margin-bottom: 20px; }

.widget_nav_menu ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.widget_nav_menu a {
  border-bottom: 1px solid #474747;
  color: #fff;
  display: block;
  padding: 8px 0;
  -webkit-transition: 150ms linear background-color;
          transition: 150ms linear background-color; }

.widget_nav_menu a:hover {
  background-color: #404040;
  text-decoration: none; }

.nav.nav-footer {
  display: inline-block;
  font-size: 20px;
  margin: 0 15px 25px;
  text-align: left; }

.nav.nav-footer > li {
  display: block; }
  @media screen and (max-width: 767px) {
    .nav.nav-footer > li {
      border-top: 1px solid #404040;
      margin-bottom: 10px; } }
  @media screen and (min-width: 768px) {
    .nav.nav-footer > li {
      display: inline-block;
      vertical-align: top;
      width: 115px; } }

.nav-footer > li > a {
  font-weight: bold; }

.nav-footer .dropdown-menu a {
  font-size: 17px; }

.nav-footer a {
  display: block;
  padding: 5px 8px;
  -webkit-transition: 100ms linear color;
          transition: 100ms linear color; }
  .nav-footer a:hover {
    color: #fff; }


/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ib290c3RyYXAvX25vcm1hbGl6ZS5zY3NzIiwibGliL2Jvb3RzdHJhcC9fcHJpbnQuc2NzcyIsImxpYi9ib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJ2YXJpYWJsZXMvX2ZvbnRzLnNjc3MiLCJsaWIvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsInZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsImxpYi9ib290c3RyYXAvX3R5cGUuc2NzcyIsImxpYi9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImxpYi9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLCJsaWIvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJsaWIvYm9vdHN0cmFwL19mb3Jtcy5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJsaWIvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImxpYi9ib290c3RyYXAvX2NvbXBvbmVudC1hbmltYXRpb25zLnNjc3MiLCJsaWIvYm9vdHN0cmFwL19uYXZiYXIuc2NzcyIsInZhcmlhYmxlcy9fbmF2YmFyLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmFyaWFibGVzL19uYXZiYXItdG9nZ2xlLnNjc3MiLCJsaWIvYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCJsaWIvYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwibGliL2Jvb3RzdHJhcC9fcGFnZXIuc2NzcyIsImxpYi9ib290c3RyYXAvX2xhYmVscy5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX2xhYmVscy5zY3NzIiwibGliL2Jvb3RzdHJhcC9fY2xvc2Uuc2NzcyIsImxpYi9ib290c3RyYXAvX3V0aWxpdGllcy5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwibGliL2Jvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwibGliL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsImxpYi9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImxpYi9tYWduaWZpYy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInBhcnRpYWxzL19zY2FmZm9sZGluZy5zY3NzIiwicGFydGlhbHMvX3R5cGUuc2NzcyIsInBhcnRpYWxzL19uYXZzLnNjc3MiLCJ2YXJpYWJsZXMvX25hdi5zY3NzIiwicGFydGlhbHMvX25hdnMtc3VibmF2LnNjc3MiLCJtaXhpbnMvX21lZGlhLXF1ZXJpZXMuc2NzcyIsInZhcmlhYmxlcy9fei1pbmRleC5zY3NzIiwicGFydGlhbHMvX25hdnMtc3VibmF2LXRvZ2dsZS5zY3NzIiwicGFydGlhbHMvX25hdmJhci5zY3NzIiwicGFydGlhbHMvX25hdmJhci1jb2xsYXBzZS5zY3NzIiwicGFydGlhbHMvX25hdmJhci1oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19uYXZiYXItYnJhbmQuc2NzcyIsInBhcnRpYWxzL19uYXZiYXItdG9nZ2xlLnNjc3MiLCJwYXJ0aWFscy9fZm9ybXMuc2NzcyIsInBhcnRpYWxzL19mb3Jtcy1lcnJvcnMuc2NzcyIsInZhcmlhYmxlcy9fZm9ybXMuc2NzcyIsInBhcnRpYWxzL19icmVhZGNydW1icy5zY3NzIiwicGFydGlhbHMvX2dhbGxlcnkuc2NzcyIsInBhcnRpYWxzL19oZWFkZXItbmF2LnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLXNvY2lhbC5zY3NzIiwicGFydGlhbHMvX3BhZ2Uuc2NzcyIsInBhcnRpYWxzL19wYWdlLWNvbnRlbnQuc2NzcyIsInBhcnRpYWxzL19wYWdlLWhvbWUtc2hvd2Nhc2Uuc2NzcyIsInBhcnRpYWxzL19wYWdlLWV0c3ktc2hvcC5zY3NzIiwicGFydGlhbHMvX3BhZ2UtYmFycmVscy5zY3NzIiwicGFydGlhbHMvX3Nob3djYXNlLWFyY2hpdmUuc2NzcyIsInBhcnRpYWxzL19oZXJvLnNjc3MiLCJwYXJ0aWFscy9faGVyby1jb250ZW50LXdyYXAuc2NzcyIsInBhcnRpYWxzL19oZXJvLWNvbnRlbnQuc2NzcyIsInBhcnRpYWxzL19oZXJvLWNvbnRlbnQtY29sLnNjc3MiLCJwYXJ0aWFscy9fY29udGVudC10ZWFtLW1lbWJlcnMuc2NzcyIsInBhcnRpYWxzL19hbm5vdW5jZW1lbnQuc2NzcyIsIm1peGlucy9fc2NhZmZvbGRpbmcuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInZhcmlhYmxlcy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLWhvdXJzLnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLXdpZGdldC5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci13aWRnZXQtbmF2LnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLW5hdi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTtFQU9FLEFBQWE7RUFDYixBQUFzQjtFQUN0QixBQUEwQjs7QUFHNUI7RUFLRSxBQUFROztBQUdWLEFBQVMsQUFBTyxBQUFTLEFBQVksQUFBUSxBQUFRLEFBQVEsQUFBUSxB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O0VBQ1gsQUFBUTtFQUNSLEFBQVk7O0FBRWQsQUFBSSxBQUFjO0VBQ2hCLEFBQVM7RWpDRFQ7SWlDQUYsQUFBSSxBQUFjO01BSWQsQUFBWTtNQUNaLEFBQWU7RWpDTGpCO0lpQ0FGLEFBQUksQUFBYztNQVNkLEFBQVM7TUFDVCxBQUFnQjtNQUNoQixBQUFPOztBQUdYLEFBQWMsQUFBSztFQUNqQixBQUFhOztBQUVmLEFBQVksQUFBZTtFQUN6QixBQUFXOztBQUViLEFBQVk7RUFDVixBQUFTO0VBQ1QsQUFBUztFQUNULEFBQVk7RUFBZCxBQUFZLEFBQUM7SUFHVCxBQUFPIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4vLyAgICB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbi8vICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgfVxuXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcbiAgICAvL1xuICAgIC8vIENocm9tZSAoT1NYKSBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNDVcbiAgICAvLyBPbmNlIGZpeGVkLCB3ZSBjYW4ganVzdCBzdHJhaWdodCB1cCByZW1vdmUgdGhpcy5cbiAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRmb250LWZhbWlseS1zZXJpZjogXCJhZG9iZS1nYXJhbW9uZC1wcm9cIiwgc2VyaWY7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ0hlbHZldGljYSBOZXVlJywgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1iYXNlOiAkZm9udC1mYW1pbHktc2VyaWY7XG5cbiRmb250LXNpemUtYmFzZTogMjBweDtcblxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAnS25vY2tvdXQgMjkgQScsICdLbm9ja291dCAyOSBCJywgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7IiwiLy8gV2hlbiB0cnVlLCBhc3NldCBwYXRoIGhlbHBlcnMgYXJlIHVzZWQsIG90aGVyd2lzZSB0aGUgcmVndWxhciBDU1MgYHVybCgpYCBpcyB1c2VkLlxuLy8gV2hlbiB0aGVyZSBubyBmdW5jdGlvbiBpcyBkZWZpbmVkLCBgZm4oJycpYCBpcyBwYXJzZWQgYXMgc3RyaW5nIHRoYXQgZXF1YWxzIHRoZSByaWdodCBoYW5kIHNpZGVcbi8vIE5COiBpbiBTYXNzIDMuMyB0aGVyZSBpcyBhIG5hdGl2ZSBmdW5jdGlvbjogZnVuY3Rpb24tZXhpc3RzKHR3YnMtZm9udC1wYXRoKVxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogKHR3YnMtZm9udC1wYXRoKFwiXCIpICE9IHVucXVvdGUoJ3R3YnMtZm9udC1wYXRoKFwiXCIpJykpICFkZWZhdWx0O1xuXG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIEFzc2V0IGhlbHBlcnMgc3VjaCBhcyBTcHJvY2tldHMgYW5kIE5vZGUuanMgTWluY2VyIGRvIG5vdCByZXNvbHZlIHJlbGF0aXZlIHBhdGhzXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIvLyBDb2xvcnMgKGltcG9ydGVkIGZyb20gQm9vdHN0cmFwLiBNb2RpZnkgYXMgeW91IHBsZWFzZS4pXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICMyYjFlMTYgIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbjogMCAwICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuXG4gIHAsXG4gIHVsLFxuICBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCBzbWFsbCBhbmQgLnNtYWxsIGFzIG9mIHYzLjEuMFxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IC8vIG5ic3AsIGVtIGRhc2hcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogICgkZ3V0dGVyIC8gLTIpO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3V0dGVyIC8gLTIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vIFNldCB0aGUgaGVpZ2h0IG9mIGZpbGUgY29udHJvbHMgdG8gbWF0Y2ggdGV4dCBpbnB1dHNcbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICBAaW5jbHVkZSB0YWItZm9jdXM7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXI7XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudFxuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20ge1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LWxnLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LWxnLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtbGcge1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LXNtLCAuZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcsIC5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaCAod2hpY2ggYWxzbyBhdm9pZHNcbiAgICAvLyBhIGJ1ZyBpbiBXZWJLaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk2OSkuXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4uZm9ybS1pbmxpbmUge1xuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcbn1cblxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQtYmFzZSwgJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzXG4gICAgQGluY2x1ZGUgb3BhY2l0eSguNjUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1ib3JkZXIpO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xufVxuLy8gU3VjY2VzcyBhcHBlYXJzIGFzIGdyZWVuXG4uYnRuLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLy8gRGFuZ2VyIGFuZCBlcnJvciBhcHBlYXIgYXMgcmVkXG4uYnRuLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXhzLXZlcnRpY2FsLCAkcGFkZGluZy14cy1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiAje2FscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpfTtcbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAmLmluICAgICAgeyBkaXNwbGF5OiBibG9jazsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdHImLmluIHRvIHRyLmNvbGxhcHNlLmluXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0Ym9keSYuaW4gdG8gdGJvZHkuY29sbGFwc2UuaW5cbn1cblxudHIuY29sbGFwc2UuaW4gICAgeyBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxudGJvZHkuY29sbGFwc2UuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShoZWlnaHQsIHZpc2liaWxpdHkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYCRib3JkZXItcmFkaXVzLWRlZmF1bHRgIHZhbHVlIGZyb20gdGhlIG5hdmJhci5cbiRuYXZiYXItYm9yZGVyLXJhZGl1czogMDtcblxuLy8gQ2hhbmdlIHRoZSBuYXZiYXIgaGVpZ2h0LlxuJG5hdmJhci1oZWlnaHQ6IDYxcHg7XG4kbmF2YmFyLWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsiLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiJG5hdmJhci10b2dnbGUtYm9yZGVyLXJhZGl1czogMnB4O1xuJG5hdmJhci10b2dnbGUtei1pbmRleDogJHotaW5kZXgtMjtcblxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogIzJiMWUxNjsiLCIvL1xuLy8gUGFnaW5hdGlvbiAobXVsdGlwbGUgcGFnZXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIENvbGxhcHNlIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBsaSA+IGEsXG4gID4gbGkgPiBzcGFuIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+IC5kaXNhYmxlZCB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Bhbjpob3ZlcixcbiAgICA+IHNwYW46Zm9jdXMsXG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cblxuLy8gU21hbGxcbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWdlci1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnByZXZpb3VzIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMsXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiAkcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEubGFiZWxcblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBBZGQgaG92ZXIgZWZmZWN0cywgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmxhYmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtcHJpbWFyeS1iZyk7XG59XG5cbi5sYWJlbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtd2FybmluZy1iZyk7XG59XG5cbi5sYWJlbC1kYW5nZXIge1xuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgQGluY2x1ZGUgb3BhY2l0eSguMik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjUpO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGJ1dHRvbiYgdG8gYnV0dG9uLmNsb3NlXG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLmNlbnRlci1ibG9jayB7XG4gIEBpbmNsdWRlIGNlbnRlci1ibG9jaztcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAjezAvMH0gYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIC52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlOyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsIC5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSwgLm1mcC1hcnJvdywgLm1mcC1wcmVsb2FkZXIsIC5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwNDQ7IH1cbi5tZnAtcHJlbG9hZGVyIGEge1xuICBjb2xvcjogI0NDQzsgfVxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSwgYnV0dG9uLm1mcC1hcnJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwNDY7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbi5tZnAtY2xvc2U6aG92ZXIsIC5tZnAtY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSwgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNDQ0M7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1mcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDExMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cbi5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbi5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3c6YWZ0ZXIsIC5tZnAtYXJyb3cgLm1mcC1iLCAubWZwLWFycm93IC5tZnAtYSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxuLm1mcC1hcnJvdzphZnRlciwgLm1mcC1hcnJvdyAubWZwLWEge1xuICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICB0b3A6IDhweDsgfVxuLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3cgLm1mcC1iIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cbi5tZnAtYXJyb3ctbGVmdDphZnRlciwgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYSB7XG4gIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzFweDsgfVxuLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSwgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYiB7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIsIC5tZnAtYXJyb3ctcmlnaHQgLm1mcC1hIHtcbiAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cbi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLCAubWZwLWFycm93LXJpZ2h0IC5tZnAtYiB7XG4gIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbi5tZnAtZmlndXJlOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA0MHB4O1xuICBib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogLTE7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjNDQ0OyB9XG4ubWZwLWZpZ3VyZSBzbWFsbCB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuXG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cblxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuXG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH1cbn1cblxuLm1mcC1pZTcgLm1mcC1pbWcge1xuICBwYWRkaW5nOiAwOyB9XG4ubWZwLWllNyAubWZwLWJvdHRvbS1iYXIge1xuICB3aWR0aDogNjAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMDBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4ubWZwLWllNyAubWZwLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cbi5tZnAtaWU3IC5tZnAtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA0NHB4OyB9XG4ubWZwLWllNyAubWZwLWNsb3NlIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDA7IH0iLCJib2R5LCBodG1sLCAjcGFnZS13cmFwe1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuI3BhZ2Utd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuaDIge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59IiwiLm5hdixcbi5uYXYgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLy8gRmlyc3QtbGV2ZWwgaXRlbSBzdHlsZXMsIGFsb25nIHdpdGggbmF2IHZhcmlhbnRzLlxuLy9cbi8vIERlZmF1bHQgc3R5bGluZyBzaG91bGQgYmUgaW5saW5lLlxuLm5hdiA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vIE5hdiBsaW5rIHN0eWxlc1xuLy9cbi8vIFByZXR0eSBzcGFyc2UsIGFzIHdlIHdhbnQgdGhpcyB0byBpbmNvcnBvcmF0ZSBjb2xvcnMsIGV0Yy4gZnJvbSB0aGUgcGFyZW50IGVsZW1lbnRzLlxuLm5hdiBhIHtcbiAgY29sb3I6ICRuYXYtbGluay1kZWZhdWx0LWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIFNob3cgdGhlIG5hdiBpdGVtIHdoZW4gaXRzIHBhcmVudCBpcyBob3ZlcmVkIG92ZXIuXG4ubmF2IGxpOmhvdmVyID4gdWwge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIE5hdiBsaW5rcy5cbiRuYXYtbGluay1kZWZhdWx0LWNvbG9yOiAjZmZmO1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgIGxpZ2h0ZW4oJG5hdi1saW5rLWRlZmF1bHQtY29sb3IsIDEwJSk7XG5cbi8vIEZvbnQgc2l6ZXNcbiRoZWFkZXItbmF2LWxpbmstZm9udC1zaXplOiAyMHB4O1xuXG4vLyBNb2JpbGUgbmF2IHZhcmlhYmxlcy5cbiRtb2JpbGUtbmF2LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiIsIi5uYXYtcHJpbWFyeSAuZHJvcGRvd24tbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJhbmQtcHJpbWFyeSwgNSUpO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgYm94LXNoYWRvdzogIDAgMCAyNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3ViLW5hdi16LWluZGV4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBzY3JlZW4teHMtbWF4KCkge1xuICAgIGJvcmRlci1ib3R0b206ICRtb2JpbGUtbmF2LWJvcmRlcjtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbi8vIFN1YiBuYXYgcGFkZGluZy5cbi5uYXYtcHJpbWFyeSAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGJvcmRlci10b3A6ICRtb2JpbGUtbmF2LWJvcmRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDM1cHg7XG4gIHRyYW5zaXRpb246IDEwMG1zIGxpbmVhciBiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gIH1cbn1cbi5uYXYtcHJpbWFyeSAuZHJvcGRvd24tbWVudSA+IGxpOmZpcnN0LWNoaWxkID4gYSB7XG4gIGJvcmRlci10b3A6IDAgbm9uZTtcbn1cbi5uYXYtcHJpbWFyeSAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJhbmQtcHJpbWFyeSwgMiUpO1xufVxuIiwiLy8gQmFzaWMgYnJlYWtwb2ludCBtZWRpYSBxdWVyaWVzIHNldCB1cCBoZXJlLlxuLy9cbi8vIFdlIHVzZSB0aGUgZGVmYXVsdCAkc2NyZWVuLXt4cyxzbSxtZCxsZ30gdmFyaWFibGVzIG9mZmVyZWQgYnkgQm9vdHN0cmFwLFxuLy8gYnVpbGQgaW50byBhIGRlZmF1bHQgYGJyZWFrcG9pbnRgIG1peGluLCBzbyB3ZSBjYW4gY3JlYXRlIGN1c3RvbSBicmVha3BvaW50c1xuLy8gaWYgd2UgZmVlbCB0aGUgbmVlZCB0by5cbkBtaXhpbiBicmVha3BvaW50KCRweCwgJHR5cGU6ICdtaW4nLCAkYXhpczogJ3dpZHRoJykge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoI3skdHlwZX0tI3skYXhpc306ICN7JHB4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gc2NyZWVuLXhzLW1heCgpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2NyZWVuLXhzLW1heCwgJ21heCcpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHNjcmVlbi1zbS1taW4oKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNjcmVlbi1zbS1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHNjcmVlbi1zbS1tYXgoKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNjcmVlbi1zbS1tYXgsICdtYXgnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBzY3JlZW4tbWQtbWluKCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzY3JlZW4tbWQtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBzY3JlZW4tbWQtbWF4KCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzY3JlZW4tbWQtbWF4LCAnbWF4Jykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gc2NyZWVuLWxnLW1pbigpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2NyZWVuLWxnLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIkei1pbmRleC1iYXNlOiAwO1xuJHotaW5kZXgtMTogICAgMTAwO1xuJHotaW5kZXgtMjogICAgMjAwO1xuJHotaW5kZXgtMzogICAgMzAwO1xuJHotaW5kZXgtNDogICAgNDAwO1xuJHotaW5kZXgtNTogICAgNTAwO1xuJHotaW5kZXgtNjogICAgNjAwO1xuJHotaW5kZXgtNzogICAgNzAwO1xuJHotaW5kZXgtODogICAgODAwO1xuJHotaW5kZXgtOTogICAgOTAwO1xuIiwiLm5hdi1wcmltYXJ5IC5kcm9wZG93bi10b2dnbGUgPiAuY2FyZXQge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogJG1vYmlsZS1uYXYtYm9yZGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMzlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgei1pbmRleDogJHotaW5kZXgtOTtcbiAgICB3aWR0aDogNTBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcblxuICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgbGVmdDogMjBweDtcblxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IDEwMG1zIGxpbmVhciBhbGw7XG4gICAgfVxuXG4gICAgJi5vcGVuOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cbn0iLCIubmF2YmFyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAkbmF2YmFyLWJvcmRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDA7XG59XG4iLCIubmF2YmFyLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgc2NyZWVuLXhzLW1heCgpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufSIsIi5uYXZiYXItaGVhZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBzY3JlZW4tc20tbWluKCkge1xuICAgIGJvcmRlci1yaWdodDogJG5hdmJhci1ib3JkZXI7XG4gIH1cbn1cbi5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlciB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1oZWFkZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gIHdpZHRoOiAyMjBweDtcblxuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjMuOTMzNjElO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm5vLXN2ZyAmIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbG9nby5wbmcpO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbG9nb0AyeC5wbmcpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3ZnICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLnN2Zyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg0NTBweCkge1xuICAgIHdpZHRoOiAyOThweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG4ubmF2YmFyLWJyYW5kIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiIsIi8vIE5hdmJhciB0b2dnbGUgc3R5bGVzLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItdG9nZ2xlLWJvcmRlci1yYWRpdXM7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6ICRuYXZiYXItdG9nZ2xlLXotaW5kZXg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICB0b3A6IDE1cHg7XG4gIH1cbn1cbi5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDNweDtcbn0iLCIuZ2Zvcm1fd3JhcHBlciB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5nZm9ybV9maWVsZHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZ2ZpZWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbnB1dFt0eXBlPXRleHRdLFxuICBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgaW5wdXRbdHlwZT10ZWxdLFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0IHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5naW5wdXRfY29tcGxleCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmdmb3JtX2Zvb3RlciB7XG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgQGV4dGVuZCAuYnRuO1xuICAgIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIH1cbn1cbiIsIi8vIGZvcm0gdmFsaWRhdGlvbiBlcnJvcnMgc3R5bGluZywgZXRjLlxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICBjb2xvcjogJHZhbGlkYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4uZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGNvbG9yOiAkdmFsaWRhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xufSIsIiR2YWxpZGF0aW9uLW1lc3NhZ2UtY29sb3I6IGRhcmtlbigjZjAwLCA1JSk7IiwiLmJyZWFkY3J1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMTUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbn1cbi5icmVhZGNydW1iIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufSIsIi5nYWxsZXJ5IHtcbiAgQGluY2x1ZGUgc2NyZWVuLXhzLW1heCgpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5nYWxsZXJ5IC5pbWctdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXhzLW1heCgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuLmdhbGxlcnkgLmltZy10aHVtYm5haWwgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn0iLCIubmF2LXByaW1hcnkge1xuICBmb250LXNpemU6ICRoZWFkZXItbmF2LWxpbmstZm9udC1zaXplO1xuXG4gIEBpbmNsdWRlIHNjcmVlbi14cy1tYXgoKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1ib3JkZXI7XG4gICAgbWFyZ2luOiAwIC0xNXB4O1xuICB9XG59XG4ubmF2LXByaW1hcnkgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogMTAwbXMgbGluZWFyIGJvcmRlci1ib3R0b20tY29sb3I7XG4gIHRvcDogMXB4O1xuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZS1wYXJlbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cbi5uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXhzLW1heCgpIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206ICRtb2JpbGUtbmF2LWJvcmRlcjtcbiAgfVxuICBAaW5jbHVkZSBzY3JlZW4tc20tbWluKCkge1xuICAgIHBhZGRpbmc6IDQwcHggNHB4IDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgc2NyZWVuLW1kLW1pbigpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KDg1MHB4LCBtYXgpIHtcbiAgLy8gTWFrZSBzdXJlIHRoZSBsYXN0IGl0ZW0gZHJvcGRvd24gaXMgYWxpZ25lZCB0byB0aGUgcmlnaHQgaW5zdGVhZCBvZiB0aGUgbGVmdC5cbiAgLy8gSXQgbG9va3Mgd2VpcmQsIGJ1dCBpdCdzIGJldHRlciB0aGFuIHRoZSBpdGVtcyBvdmVyZmxvd2luZyBvZmYgc2NyZWVuLlxuICAubmF2LXByaW1hcnkgPiBsaTpsYXN0LWNoaWxkID4gdWwge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gLm5hdmJhci1jb2xsYXBzZSBlbGVtZW50IGlzIHRoZSBlbGVtZW50IGFyb3VuZCB0aGUgLm5hdi1wcmltYXJ5IGVsZW1lbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgc2NyZWVuLXhzLW1heCgpIHtcbiAgICBtYXgtaGVpZ2h0OiAyNjJweDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuICBAaW5jbHVkZSBzY3JlZW4tc20tbWluKCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIGNhcmV0IHNob3VsZCBvbmx5IGJlIHN0eWxlZCBvbiBzY3JlZW4tc20tbWluIGFuZCB1cCAtIG90aGVyd2lzZSxcbi8vIHBvc2l0aW9uaW5nIHRlbmRzIHRvIGdldCB3ZWlyZCBmb3IgbW9iaWxlIG5hdmlnYXRpb24sIGV0Yy5cbkBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gIC5uYXYtcHJpbWFyeSAuZHJvcGRvd24tdG9nZ2xlID4gLmNhcmV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHdoaXRlO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn0iLCIuc29jaWFsIHtcbiAgZGlzcGxheTogbm9uZTtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTA3N3B4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGhlaWdodDogMTAxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxufVxuLnNvY2lhbF9faWNvbi13cmFwIHtcbiAgYm9yZGVyLWxlZnQ6ICRuYXZiYXItYm9yZGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zb2NpYWxfX2ljb24ge1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbjogMzdweCAyMHB4IDM2cHg7XG4gIHdpZHRoOiAyMnB4O1xufVxuLnNvY2lhbF9faWNvbi5cXC0tZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NvY2lhbC1mYWNlYm9vay5zdmcpO1xufVxuLnNvY2lhbF9faWNvbi5cXC0taW5zdGFncmFtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zb2NpYWwtaW5zdGFncmFtLnN2Zyk7XG59XG4uc29jaWFsX19pY29uLlxcLS10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zb2NpYWwtdHdpdHRlci5zdmcpO1xufVxuXG4iLCJpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5tYWluLWNvbnRlbnQtd3JhcCxcbi5wYWdlLXJvdy13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuLnBhZ2Utcm93LXdyYXBwZXIuXFwtLWhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cbi5wYWdlLXJvdy13cmFwcGVyLlxcLS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTExMztcbiAgY29sb3I6ICNmZmY7XG59XG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbmEge1xuICBjb2xvcjogIzg4ODtcbn0iLCJpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbmltZy5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuaW1nLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBjbGVhcjogYm90aDtcbn0iLCIuaG9tZS1wYWdlLXNob3djYXNlIHtcbiAgbWFyZ2luOiA2MHB4IDAgNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGV4dGVuZCAuY2xlYXJmaXg7XG59XG4uaG9tZS1wYWdlLXNob3djYXNlX19oZWFkZXIge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmhvbWUtcGFnZS1zaG93Y2FzZV9faW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcblxuICBAaW5jbHVkZSBzY3JlZW4teHMtbWF4KCkge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAuaG9tZS1wYWdlLXNob3djYXNlX19oZWFkZXIgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gMyk7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5ob21lLXBhZ2Utc2hvd2Nhc2VfX2ltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ob21lLXBhZ2Utc2hvd2Nhc2VfX21vcmUtbGluayB7XG4gIGNvbG9yOiAjYmJiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAxNTBtcyBsaW5lYXIgY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjYWFhO1xuICB9XG59XG4uaG9tZS1wYWdlLXNob3djYXNlX19tb3JlLWxpbmsgc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogMTUwbXMgZWFzZS1pbi1vdXQgbGVmdDtcbn1cbi5ob21lLXBhZ2Utc2hvd2Nhc2VfX21vcmUtbGluazpob3ZlciBzcGFuIHtcbiAgbGVmdDogNXB4O1xufSIsIi5ldHN5LXNob3AtbGlzdGluZy10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmV0c3ktc2hvcC1saXN0aW5nLXRhYmxlIHRkIHtcbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICB3aWR0aDogMzMuMyU7XG4gIH1cbn1cbkBpbmNsdWRlIHNjcmVlbi14cy1tYXgoKSB7XG4gIC5ldHN5LXNob3AtbGlzdGluZy10YWJsZSxcbiAgLmV0c3ktc2hvcC1saXN0aW5nLXRhYmxlIHRib2R5LFxuICAuZXRzeS1zaG9wLWxpc3RpbmctdGFibGUgdGhlYWQsXG4gIC5ldHN5LXNob3AtbGlzdGluZy10YWJsZSB0cixcbiAgLmV0c3ktc2hvcC1saXN0aW5nLXRhYmxlIHRkLFxuICAuZXRzeS1zaG9wLWxpc3RpbmctdGFibGUgdGgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5ldHN5LXNob3AtbGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZXRzeS1zaG9wLWxpc3RpbmctbWFrZXIge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmLCA+IGEge1xuICAgIGNvbG9yOiAjYWFhO1xuICB9XG59XG4uZXRzeS1zaG9wLWxpc3RpbmctdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuIiwiLmJhcnJlbC1ub3RpZmljYXRpb24tc2lnbnVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJhcnJlbC1ub3RpZmljYXRpb24tc2lnbnVwIC5naW5wdXRfY29tcGxleCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gIC5iYXJyZWwtbm90aWZpY2F0aW9uLXNpZ251cCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QsXG4gIC5iYXJyZWwtbm90aWZpY2F0aW9uLXNpZ251cCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxuICAuYmFycmVsLW5vdGlmaWNhdGlvbi1zaWdudXAgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICB9XG59IiwiLnBvc3QtdHlwZS1hcmNoaXZlIC5jb250ZW50LmhmZWVkIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLnBvc3QtYXJjaGl2ZS1lbnRyeSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wb3N0LWFyY2hpdmUtZW50cnkgaDIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cbi5wb3N0LWFyY2hpdmUtZW50cnlfX2xpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5wb3N0LWFyY2hpdmUtZW50cnlfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zaXRpb246IDEwMG1zIGxpbmVhciBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4ucG9zdC1hcmNoaXZlLWVudHJ5X19saW5rOmhvdmVyIC5wb3N0LWFyY2hpdmUtZW50cnlfX2ltYWdlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4ucG9zdC1hcmNoaXZlLWVudHJ5X190aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn0iLCIvLyBXcmFwcGluZyAuaGVybyBlbGVtZW50LlxuLmhlcm8ge1xuICBiYWNrZ3JvdW5kOiAjMzMzIHVybCguLi9pbWcvYmFubmVyLWRlZmF1bHQuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICAmLlxcLS1jb3ZlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5cXC0tYmFubmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNjcmVlbi14cy1tYXgoKSB7XG4gICAgJi5cXC0tY292ZXIge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXV0b21hdGljIGJhbm5lciBoZWlnaHQgc3BhY2VyIGhlcmUuXG4uaGVyb19fc3BhY2VyIHtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDM2JTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgfVxufVxuXG4iLCIuaGVyby1jb250ZW50LXdyYXAge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn0iLCIuaGVyby1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5cXC0tYmFubmVyIC5oZXJvLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA4NXB4O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNjcmVlbi1zbS1taW4oKSB7XG4gICAgcGFkZGluZy10b3A6IDEwMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgfVxuICB9XG59XG4uaGVyby1jb250ZW50X190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgfVxufVxuIiwiLmhlcm8tY29udGVudC1jb2wge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5oZXJvLWNvbnRlbnQtY29sX19oZWFkbGluZSB7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICBmb250LXNpemU6IDc1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBzY3JlZW4tbWQtbWluKCkge1xuICAgIGZvbnQtc2l6ZTogMTE1cHg7XG4gIH1cbn1cbi5oZXJvLWNvbnRlbnQtY29sX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICBAaW5jbHVkZSBzY3JlZW4tc20tbWluKCkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuLmhlcm8tY29udGVudC1jb2xfX2J0biB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICAvLyBkb3duIGFycm93IHNldHVwIG9uIFwiTGVhcm4gbW9yZVwiIGJ1dHRvblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBUkNBUUFBQUFTb0xaS0FBQUF0RWxFUVZRNEVhWEJPMm9DQVFBRndIY0l6eUNJSU5oWUNJSmdJWWdXbnNOaUM4RkdzTEVRa2txd0VLMlRDM3FBU1NDQi9QenNibVppaW5scU1zYzBpUUt6MUdDR0loOHNNRWxGSmxqa2l3TGpWR0NNSWo5WllwU1NqTERNWDFZWXBnUkRySEtkTlFaNXdBRHIzR2FEZnU3UXh5YjMyYUtYRy9Td3pXTjI2T1lLWGV4U2ppZDA4b3NPbmxPZVBkcjVSaHY3Vk9PQVZqNXA0WkRxSE5ITU8wMGNVNDhUR2hvNHB6NG5GeGVuL0k4WHIzbmdEZEd2bDBhdWg1b2JBQUFBQUVsRlRrU3VRbUNDKSBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yN3B4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSgzM3B4IC8gMik7XG4gICAgdHJhbnNpdGlvbjogMTAwbXMgbGluZWFyIGJvdHRvbTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVNQUFBQWhDQVFBQUFBby85NnBBQUFBcmtsRVFWUll3OFhPdXdHQUlBd0UwRXpBQkJidVA0V0ZlOGdVdG1kRDRRY1ZTSEo1RXp6QmpBeGdSUkk2Skt3QU1tWVJpWXBjRWhJVWVTUWlJdFVFTy9LYVlFWStFNnpJYjRJUmFVcDRSNW9UbnBHdWhGZWtPK0VSR1VwWVI0WVRKYkpaUkZRSnE0ZzZZUkV4U1dnalpnbE54RFF4R2pGUGpFUmNFcjBSdDBSUHhEWFJHbkZQdEVRb2liOElMZkVWb1NiZUl2UkVMUktTdUVmQ0VwZklGSmc0UmZiUXhDa1NteWlSUlo4NEFMN0E2cktsVmVGTEFBQUFBRWxGVGtTdVFtQ0MpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXI6OmFmdGVyIHtcbiAgICBib3R0b206IC0zMnB4O1xuICB9XG59XG4iLCIudGVhbS1tZW1iZXJzLXdyYXAge1xuICAvLyBUZW1wb3JhcnlcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubWVtYmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG4ubWVtYmVyX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxufVxuLm1lbWJlcl9fbmFtZSB7XG4gIG1hcmdpbi10b3A6IDA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubWVtYmVyLWNvbnRlbnQtd3JhcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0NXB4O1xuICB9XG59XG4ubWVtYmVyLWZhY3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZzogMTBweDtcbn1cbi5tZW1iZXItZmFjdHNfX2hlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4iLCIuYW5ub3VuY2VtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjZGVlNmY2LCA1JSk7XG4gIHBhZGRpbmc6IDE1cHggMDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTEzMHB4O1xuICAgIHotaW5kZXg6IDMwMDtcbiAgfVxufVxuLmFubm91bmNlbWVudCAuY29udGFpbmVyLFxuLmFubm91bmNlbWVudCAuY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgeC13aWRlO1xufVxuLmFubm91bmNlbWVudF9faW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuLmFubm91bmNlbWVudF9fdGl0bGUsXG4uYW5ub3VuY2VtZW50X19jb250ZW50IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogMTIwcHg7XG4gIH1cbn1cbi5hbm5vdW5jZW1lbnRfX2NvbnRlbnQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbi5hbm5vdW5jZW1lbnRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn0iLCIvLyBVc2VkIGZvciAuY29udGFpbmVycywgb3IgLmNvbnRhaW5lci1mbHVpZCBlbGVtZW50cy5cbi8vIFNvbWV0aW1lcyB3ZSBuZWVkIGEgd2lkZXIgY29udGFpbmVyLCBzbyB3ZSdsbCBvdmVycmlkZSB0aGUgd2lkdGhcbi8vIGFuZCBtYXgtd2lkdGggb2YgdGhlc2UgZWxlbWVudHMgYnkgaW5jbHVkaW5nIHRoaXNcbi8vIHJ1bGUgaW4gd2l0aCBvdXIgcHJvcGVydGllcy5cbkBtaXhpbiB4LXdpZGUoJHdpZHRoOiAxNDQwcHgpIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogI3skd2lkdGh9O1xufVxuIiwiLy8gRm9vdGVyIHN0eWxlc1xuLmNvbnRlbnRpbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZztcbiAgY29sb3I6ICRmb290ZXItZGVmYXVsdC10ZXh0LWNvbG9yO1xuICBmb250LXNpemU6ICRmb290ZXItZm9udC1zaXplO1xuXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogICAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNvbnRlbnRpbmZvIGEge1xuICBjb2xvcjogJGZvb3Rlci1kZWZhdWx0LWxpbmstY29sb3I7XG59IiwiJGZvb3Rlci1iZzogIzMzMztcblxuJGZvb3Rlci1kZWZhdWx0LXRleHQtY29sb3I6IG1peCgjZmZmLCAkYnJhbmQtcHJpbWFyeSwgNDAlKTtcbiRmb290ZXItZGVmYXVsdC1saW5rLWNvbG9yOiBtaXgoI2ZmZiwgJGJyYW5kLXByaW1hcnksIDYwJSk7XG5cbiRmb290ZXItZm9udC1zaXplOiAxM3B4O1xuXG4kZm9vdGVyLW5hdi1saW5rLWJvcmRlcjogbGlnaHRlbigkZm9vdGVyLWJnLCA1JSk7IiwiLmRheSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4uZGF5X19uYW1lIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xufVxuLmRheV9faG91cnMge1xuICBmbG9hdDogcmlnaHQ7XG59XG4iLCIud2lkZ2V0LWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuIiwiLndpZGdldF9uYXZfbWVudSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi53aWRnZXRfbmF2X21lbnUgYSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtaXgoI2ZmZiwgJGZvb3Rlci1iZywgMTAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgdHJhbnNpdGlvbjogMTUwbXMgbGluZWFyIGJhY2tncm91bmQtY29sb3I7XG59XG4ud2lkZ2V0X25hdl9tZW51IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRmb290ZXItYmcsIDUlKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufSIsIi5uYXYubmF2LWZvb3RlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDAgMTVweCAyNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm5hdi5uYXYtZm9vdGVyID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBzY3JlZW4teHMtbWF4KCkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZm9vdGVyLW5hdi1saW5rLWJvcmRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgc2NyZWVuLXNtLW1pbigpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMTE1cHg7XG4gIH1cbn1cbi5uYXYtZm9vdGVyID4gbGkgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubmF2LWZvb3RlciAuZHJvcGRvd24tbWVudSBhIHtcbiAgZm9udC1zaXplOiAxN3B4O1xufVxuLm5hdi1mb290ZXIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICB0cmFuc2l0aW9uOiAxMDBtcyBsaW5lYXIgY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */