﻿@charset "UTF-8";

/*!
 * 
 * Singular - Bootstrap Admin Theme + AngularJS
 * 
 * Author: @geedmo
 * Website: http://geedmo.com
 * License: http://themeforest.net/licenses/standard?license=regular
 * 
 */

/* ========================================================================

[Table of Content]

1. Scaffolding
  1.1 bootstrap (framework)
  1.2 bootstrap-variables (override)
  1.3 bootstrap-reset (override)
  1.4 font

2. Layout
  2.1 layout / .wrapper .content-wrapper
  2.2 topnavbar / .topnavbar
  2.3 sidebar / .sidebar

3. Components
  3.1  button-extra
  3.2  placeholder / .box-placeholder
  3.3  panels
  3.4  progress-extra
  3.5  points / .point
  3.6  timeline / .timeline
  3.7  dropdown-extra
  3.8  row-extra / .row-table .row-flush
  3.10 masonry-grid / .row-masonry
  3.11 typeahead / .typeahead-ctrl
  3.12 animate
  3.13 loading-bar
  3.14 table-grid
  3.15 palette / .palette
  3.16 chat / .chat
  3.17 button switch / .btn-switch
  3.18 feather icons

4. Apps
  4.1 calendar / .fc-*
  4.2 Tasks
  4.3 portlets / .portlet
  4.3 mailbox / .mailbox

5. Charts
  5.1 charts

6. Form components
  6.1 form-extra
  6.2 form-validation
  6.3 form-wizard / .steps-bar
  6.4 form-switch
  6.5 form-input

7. Tables
  7.2 table-responsive
  7.2 table-ngtable

8. Plugins
  8.1 plugins
  8.2 slim-scroll / .slimScrollBar
  8.3 datepicker / .bootstrap-datetimepicker-widget
  8.4 alerts / .alerts
  8.5 toaster / .toast
  8.7 gmap / .gmap
  8.8 vector-map / vector-map

9. Utilities 
  9.1 utils background
  9.2 utils

10. Print CSS
  10.1 print

11. Settings
  11.1 settings

12. Documentation
  12.1 docs

 ========================================================================== */

/*! 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 {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  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;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    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,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }

  .label {
    border: 1px solid #000;
  }

  .table {
    border-collapse: collapse !important;
  }

  .table td,
  .table th {
    background-color: #fff !important;
  }

  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.52857143;
  color: #585f69;
  background-color: #f7f9fb;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  color: #43a8eb;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #1683cc;
  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,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: 4px;
}

.img-thumbnail {
  padding: 2px;
  line-height: 1.52857143;
  background-color: #e1e2e3;
  border: 1px solid #e1e2e3;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

hr {
  margin-top: 19px;
  margin-bottom: 19px;
  border: 0;
  border-top: 1px solid #f4f5f5;
}

.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: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #515d6e;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 19px;
  margin-bottom: 9.5px;
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9.5px;
  margin-bottom: 9.5px;
}

h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}

h1,
.h1 {
  font-size: 33px;
}

h2,
.h2 {
  font-size: 27px;
}

h3,
.h3 {
  font-size: 23px;
}

h4,
.h4 {
  font-size: 17px;
}

h5,
.h5 {
  font-size: 13px;
}

h6,
.h6 {
  font-size: 12px;
}

p {
  margin: 0 0 9.5px;
}

.lead {
  margin-bottom: 19px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}

small,
.small {
  font-size: 92%;
}

mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}

.text-left {
  text-align: right;
}

.text-right {
  text-align: left;
}

.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: #8394a9;
}

.text-primary {
  color: #43a8eb;
}

a.text-primary:hover {
  color: #1892e3;
}

.text-success {
  color: #88bf57;
}

a.text-success:hover {
  color: #6fa43f;
}

.text-info {
  color: #8293b9;
}

a.text-info:hover {
  color: #6177a7;
}

.text-warning {
  color: #fdaf40;
}

a.text-warning:hover {
  color: #fc9a0e;
}

.text-danger {
  color: #eb615f;
}

a.text-danger:hover {
  color: #e53432;
}

.bg-primary {
  color: #fff;
  background-color: #43a8eb;
}

a.bg-primary:hover {
  background-color: #1892e3;
}

.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: 8.5px;
  margin: 38px 0 19px;
  border-bottom: 1px solid #f4f5f5;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 9.5px;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}

.list-unstyled {
  padding-right: 0;
  list-style: none;
}

.list-inline {
  padding-right: 0;
  list-style: none;
  margin-right: -5px;
}

.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}

dl {
  margin-top: 0;
  margin-bottom: 19px;
}

dt,
dd {
  line-height: 1.52857143;
}

dt {
  font-weight: bold;
}

dd {
  margin-right: 0;
}

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: right;
    width: 160px;
    clear: right;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dl-horizontal dd {
    margin-right: 180px;
  }
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #515d6e;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

blockquote {
  padding: 9.5px 19px;
  margin: 0 0 19px;
  font-size: 16.25px;
  border-right: 5px solid #f4f5f5;
}

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.52857143;
  color: #515d6e;
}

blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}

.blockquote-reverse,
blockquote.pull-right {
  padding-left: 15px;
  padding-right: 0;
  border-left: 5px solid #f4f5f5;
  border-right: 0;
  text-align: left;
}

.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}

.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}

address {
  margin-bottom: 19px;
  font-style: normal;
  line-height: 1.52857143;
}

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #259cc7;
  background-color: #f2f7f9;
  border-radius: 3px;
}

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #ffffff;
  background-color: #333333;
  border-radius: 2px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}

pre {
  display: block;
  padding: 9px;
  margin: 0 0 9.5px;
  font-size: 12px;
  line-height: 1.52857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #515d6e;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  border-radius: 3px;
}

pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}

.container {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
}

.row {
  margin-right: -15px;
  margin-left: -15px;
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  float: right;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-1 {
  width: 8.33333333%;
}

.col-xs-pull-12 {
  left: 100%;
}

.col-xs-pull-11 {
  left: 91.66666667%;
}

.col-xs-pull-10 {
  left: 83.33333333%;
}

.col-xs-pull-9 {
  left: 75%;
}

.col-xs-pull-8 {
  left: 66.66666667%;
}

.col-xs-pull-7 {
  left: 58.33333333%;
}

.col-xs-pull-6 {
  left: 50%;
}

.col-xs-pull-5 {
  left: 41.66666667%;
}

.col-xs-pull-4 {
  left: 33.33333333%;
}

.col-xs-pull-3 {
  left: 25%;
}

.col-xs-pull-2 {
  left: 16.66666667%;
}

.col-xs-pull-1 {
  left: 8.33333333%;
}

.col-xs-pull-0 {
  left: auto;
}

.col-xs-push-12 {
  right: 100%;
}

.col-xs-push-11 {
  right: 91.66666667%;
}

.col-xs-push-10 {
  right: 83.33333333%;
}

.col-xs-push-9 {
  right: 75%;
}

.col-xs-push-8 {
  right: 66.66666667%;
}

.col-xs-push-7 {
  right: 58.33333333%;
}

.col-xs-push-6 {
  right: 50%;
}

.col-xs-push-5 {
  right: 41.66666667%;
}

.col-xs-push-4 {
  right: 33.33333333%;
}

.col-xs-push-3 {
  right: 25%;
}

.col-xs-push-2 {
  right: 16.66666667%;
}

.col-xs-push-1 {
  right: 8.33333333%;
}

.col-xs-push-0 {
  right: auto;
}

.col-xs-offset-12 {
  margin-right: 100%;
}

.col-xs-offset-11 {
  margin-right: 91.66666667%;
}

.col-xs-offset-10 {
  margin-right: 83.33333333%;
}

.col-xs-offset-9 {
  margin-right: 75%;
}

.col-xs-offset-8 {
  margin-right: 66.66666667%;
}

.col-xs-offset-7 {
  margin-right: 58.33333333%;
}

.col-xs-offset-6 {
  margin-right: 50%;
}

.col-xs-offset-5 {
  margin-right: 41.66666667%;
}

.col-xs-offset-4 {
  margin-right: 33.33333333%;
}

.col-xs-offset-3 {
  margin-right: 25%;
}

.col-xs-offset-2 {
  margin-right: 16.66666667%;
}

.col-xs-offset-1 {
  margin-right: 8.33333333%;
}

.col-xs-offset-0 {
  margin-right: 0%;
}

@media (min-width: 768px) {
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: right;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }

  .col-sm-pull-12 {
    left: 100%;
  }

  .col-sm-pull-11 {
    left: 91.66666667%;
  }

  .col-sm-pull-10 {
    left: 83.33333333%;
  }

  .col-sm-pull-9 {
    left: 75%;
  }

  .col-sm-pull-8 {
    left: 66.66666667%;
  }

  .col-sm-pull-7 {
    left: 58.33333333%;
  }

  .col-sm-pull-6 {
    left: 50%;
  }

  .col-sm-pull-5 {
    left: 41.66666667%;
  }

  .col-sm-pull-4 {
    left: 33.33333333%;
  }

  .col-sm-pull-3 {
    left: 25%;
  }

  .col-sm-pull-2 {
    left: 16.66666667%;
  }

  .col-sm-pull-1 {
    left: 8.33333333%;
  }

  .col-sm-pull-0 {
    left: auto;
  }

  .col-sm-push-12 {
    right: 100%;
  }

  .col-sm-push-11 {
    right: 91.66666667%;
  }

  .col-sm-push-10 {
    right: 83.33333333%;
  }

  .col-sm-push-9 {
    right: 75%;
  }

  .col-sm-push-8 {
    right: 66.66666667%;
  }

  .col-sm-push-7 {
    right: 58.33333333%;
  }

  .col-sm-push-6 {
    right: 50%;
  }

  .col-sm-push-5 {
    right: 41.66666667%;
  }

  .col-sm-push-4 {
    right: 33.33333333%;
  }

  .col-sm-push-3 {
    right: 25%;
  }

  .col-sm-push-2 {
    right: 16.66666667%;
  }

  .col-sm-push-1 {
    right: 8.33333333%;
  }

  .col-sm-push-0 {
    right: auto;
  }

  .col-sm-offset-12 {
    margin-right: 100%;
  }

  .col-sm-offset-11 {
    margin-right: 91.66666667%;
  }

  .col-sm-offset-10 {
    margin-right: 83.33333333%;
  }

  .col-sm-offset-9 {
    margin-right: 75%;
  }

  .col-sm-offset-8 {
    margin-right: 66.66666667%;
  }

  .col-sm-offset-7 {
    margin-right: 58.33333333%;
  }

  .col-sm-offset-6 {
    margin-right: 50%;
  }

  .col-sm-offset-5 {
    margin-right: 41.66666667%;
  }

  .col-sm-offset-4 {
    margin-right: 33.33333333%;
  }

  .col-sm-offset-3 {
    margin-right: 25%;
  }

  .col-sm-offset-2 {
    margin-right: 16.66666667%;
  }

  .col-sm-offset-1 {
    margin-right: 8.33333333%;
  }

  .col-sm-offset-0 {
    margin-right: 0%;
  }
}

@media (min-width: 992px) {
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12 {
    float: right;
  }

  .col-md-12 {
    width: 100%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-1 {
    width: 8.33333333%;
  }

  .col-md-pull-12 {
    left: 100%;
  }

  .col-md-pull-11 {
    left: 91.66666667%;
  }

  .col-md-pull-10 {
    left: 83.33333333%;
  }

  .col-md-pull-9 {
    left: 75%;
  }

  .col-md-pull-8 {
    left: 66.66666667%;
  }

  .col-md-pull-7 {
    left: 58.33333333%;
  }

  .col-md-pull-6 {
    left: 50%;
  }

  .col-md-pull-5 {
    left: 41.66666667%;
  }

  .col-md-pull-4 {
    left: 33.33333333%;
  }

  .col-md-pull-3 {
    left: 25%;
  }

  .col-md-pull-2 {
    left: 16.66666667%;
  }

  .col-md-pull-1 {
    left: 8.33333333%;
  }

  .col-md-pull-0 {
    left: auto;
  }

  .col-md-push-12 {
    right: 100%;
  }

  .col-md-push-11 {
    right: 91.66666667%;
  }

  .col-md-push-10 {
    right: 83.33333333%;
  }

  .col-md-push-9 {
    right: 75%;
  }

  .col-md-push-8 {
    right: 66.66666667%;
  }

  .col-md-push-7 {
    right: 58.33333333%;
  }

  .col-md-push-6 {
    right: 50%;
  }

  .col-md-push-5 {
    right: 41.66666667%;
  }

  .col-md-push-4 {
    right: 33.33333333%;
  }

  .col-md-push-3 {
    right: 25%;
  }

  .col-md-push-2 {
    right: 16.66666667%;
  }

  .col-md-push-1 {
    right: 8.33333333%;
  }

  .col-md-push-0 {
    right: auto;
  }

  .col-md-offset-12 {
    margin-right: 100%;
  }

  .col-md-offset-11 {
    margin-right: 91.66666667%;
  }

  .col-md-offset-10 {
    margin-right: 83.33333333%;
  }

  .col-md-offset-9 {
    margin-right: 75%;
  }

  .col-md-offset-8 {
    margin-right: 66.66666667%;
  }

  .col-md-offset-7 {
    margin-right: 58.33333333%;
  }

  .col-md-offset-6 {
    margin-right: 50%;
  }

  .col-md-offset-5 {
    margin-right: 41.66666667%;
  }

  .col-md-offset-4 {
    margin-right: 33.33333333%;
  }

  .col-md-offset-3 {
    margin-right: 25%;
  }

  .col-md-offset-2 {
    margin-right: 16.66666667%;
  }

  .col-md-offset-1 {
    margin-right: 8.33333333%;
  }

  .col-md-offset-0 {
    margin-right: 0%;
  }
}

@media (min-width: 1200px) {
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    float: right;
  }

  .col-lg-12 {
    width: 100%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-1 {
    width: 8.33333333%;
  }

  .col-lg-pull-12 {
    left: 100%;
  }

  .col-lg-pull-11 {
    left: 91.66666667%;
  }

  .col-lg-pull-10 {
    left: 83.33333333%;
  }

  .col-lg-pull-9 {
    left: 75%;
  }

  .col-lg-pull-8 {
    left: 66.66666667%;
  }

  .col-lg-pull-7 {
    left: 58.33333333%;
  }

  .col-lg-pull-6 {
    left: 50%;
  }

  .col-lg-pull-5 {
    left: 41.66666667%;
  }

  .col-lg-pull-4 {
    left: 33.33333333%;
  }

  .col-lg-pull-3 {
    left: 25%;
  }

  .col-lg-pull-2 {
    left: 16.66666667%;
  }

  .col-lg-pull-1 {
    left: 8.33333333%;
  }

  .col-lg-pull-0 {
    left: auto;
  }

  .col-lg-push-12 {
    right: 100%;
  }

  .col-lg-push-11 {
    right: 91.66666667%;
  }

  .col-lg-push-10 {
    right: 83.33333333%;
  }

  .col-lg-push-9 {
    right: 75%;
  }

  .col-lg-push-8 {
    right: 66.66666667%;
  }

  .col-lg-push-7 {
    right: 58.33333333%;
  }

  .col-lg-push-6 {
    right: 50%;
  }

  .col-lg-push-5 {
    right: 41.66666667%;
  }

  .col-lg-push-4 {
    right: 33.33333333%;
  }

  .col-lg-push-3 {
    right: 25%;
  }

  .col-lg-push-2 {
    right: 16.66666667%;
  }

  .col-lg-push-1 {
    right: 8.33333333%;
  }

  .col-lg-push-0 {
    right: auto;
  }

  .col-lg-offset-12 {
    margin-right: 100%;
  }

  .col-lg-offset-11 {
    margin-right: 91.66666667%;
  }

  .col-lg-offset-10 {
    margin-right: 83.33333333%;
  }

  .col-lg-offset-9 {
    margin-right: 75%;
  }

  .col-lg-offset-8 {
    margin-right: 66.66666667%;
  }

  .col-lg-offset-7 {
    margin-right: 58.33333333%;
  }

  .col-lg-offset-6 {
    margin-right: 50%;
  }

  .col-lg-offset-5 {
    margin-right: 41.66666667%;
  }

  .col-lg-offset-4 {
    margin-right: 33.33333333%;
  }

  .col-lg-offset-3 {
    margin-right: 25%;
  }

  .col-lg-offset-2 {
    margin-right: 16.66666667%;
  }

  .col-lg-offset-1 {
    margin-right: 8.33333333%;
  }

  .col-lg-offset-0 {
    margin-right: 0%;
  }
}

table {
  background-color: transparent;
}

caption {
  padding-top: 12px 8px;
  padding-bottom: 12px 8px;
  color: #8394a9;
  text-align: right;
}

th {
  text-align: right;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 19px;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 12px 8px;
  line-height: 1.52857143;
  vertical-align: top;
  border-top: 1px solid #eeeeee;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #eeeeee;
}

.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > tbody + tbody {
  border-top: 2px solid #eeeeee;
}

.table .table {
  background-color: #f7f9fb;
}

.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered {
  border: 1px solid #eeeeee;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #eeeeee;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}

.table-striped > tbody > tr:nth-child(odd) {
  background-color: #fafbfc;
}

.table-hover > tbody > tr:hover {
  background-color: #fafbfc;
}

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #e6e9ee;
}

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #d7dce4;
}

.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}

.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}

.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}

.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}

@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 14.25px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #eeeeee;
  }

  .table-responsive > .table {
    margin-bottom: 0;
  }

  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }

  .table-responsive > .table-bordered {
    border: 0;
  }

  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-right: 0;
  }

  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-left: 0;
  }

  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 19px;
  font-size: 19.5px;
  line-height: inherit;
  color: #515d6e;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}

input[type="file"] {
  display: block;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 9px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
}

.form-control {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}

.form-control::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #b7bac9;
}

.form-control::-webkit-input-placeholder {
  color: #b7bac9;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  cursor: not-allowed;
  background-color: #f4f5f5;
  opacity: 1;
}

textarea.form-control {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: none;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  line-height: 37px;
  line-height: 1.52857143 \0;
}

input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm {
  line-height: 30px;
  line-height: 1.5 \0;
}

input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg {
  line-height: 53px;
  line-height: 1.33 \0;
}

_:-ms-fullscreen,
:root input[type="date"],
_:-ms-fullscreen,
:root input[type="time"],
_:-ms-fullscreen,
:root input[type="datetime-local"],
_:-ms-fullscreen,
:root input[type="month"] {
  line-height: 1.52857143;
}

_:-ms-fullscreen.input-sm,
:root input[type="date"].input-sm,
_:-ms-fullscreen.input-sm,
:root input[type="time"].input-sm,
_:-ms-fullscreen.input-sm,
:root input[type="datetime-local"].input-sm,
_:-ms-fullscreen.input-sm,
:root input[type="month"].input-sm {
  line-height: 1.5;
}

_:-ms-fullscreen.input-lg,
:root input[type="date"].input-lg,
_:-ms-fullscreen.input-lg,
:root input[type="time"].input-lg,
_:-ms-fullscreen.input-lg,
:root input[type="datetime-local"].input-lg,
_:-ms-fullscreen.input-lg,
:root input[type="month"].input-lg {
  line-height: 1.33;
}

.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

.radio label,
.checkbox label {
  min-height: 19px;
  padding-right: 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-right: -20px;
  margin-top: 4px \9;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline {
  display: inline-block;
  padding-right: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-right: 10px;
}

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}

.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 9px;
  padding-bottom: 9px;
  margin-bottom: 0;
}

.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-right: 0;
  padding-left: 0;
}

.input-sm,
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}

select.input-sm,
select.form-group-sm .form-control {
  height: 30px;
  line-height: 30px;
}

textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control {
  height: auto;
}

.input-lg,
.form-group-lg .form-control {
  height: 53px;
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}

select.input-lg,
select.form-group-lg .form-control {
  height: 53px;
  line-height: 53px;
}

textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control {
  height: auto;
}

.has-feedback {
  position: relative;
}

.has-feedback .form-control {
  padding-left: 46.25px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 37px;
  height: 37px;
  line-height: 37px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback {
  width: 53px;
  height: 53px;
  line-height: 53px;
}

.input-sm + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #88bf57;
}

.has-success .form-control {
  border-color: #88bf57;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-success .form-control:focus {
  border-color: #6fa43f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #bcdba1;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #bcdba1;
}

.has-success .input-group-addon {
  color: #88bf57;
  border-color: #88bf57;
  background-color: #dff0d8;
}

.has-success .form-control-feedback {
  color: #88bf57;
}

.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: #fdaf40;
}

.has-warning .form-control {
  border-color: #fdaf40;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-warning .form-control:focus {
  border-color: #fc9a0e;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fed9a5;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fed9a5;
}

.has-warning .input-group-addon {
  color: #fdaf40;
  border-color: #fdaf40;
  background-color: #fcf8e3;
}

.has-warning .form-control-feedback {
  color: #fdaf40;
}

.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: #eb615f;
}

.has-error .form-control {
  border-color: #eb615f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-error .form-control:focus {
  border-color: #e53432;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6bbba;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6bbba;
}

.has-error .input-group-addon {
  color: #eb615f;
  border-color: #eb615f;
  background-color: #f2dede;
}

.has-error .form-control-feedback {
  color: #eb615f;
}

.has-feedback label ~ .form-control-feedback {
  top: 24px;
}

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #989fa9;
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .form-inline .form-control-static {
    display: inline-block;
  }

  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }

  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }

  .form-inline .input-group > .form-control {
    width: 100%;
  }

  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-right: 0;
  }

  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-right: 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: 9px;
}

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 28px;
}

.form-horizontal .form-group {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: left;
    margin-bottom: 0;
    padding-top: 9px;
  }
}

.form-horizontal .has-feedback .form-control-feedback {
  left: 15px;
}

@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 19.62px;
  }
}

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  border-radius: 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

.btn:hover,
.btn:focus,
.btn.focus {
  color: #a0aab2;
  text-decoration: none;
}

.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn-default {
  color: #a0aab2 !important;
  background-color: #ffffff;
  border-color: #e6e9ee;
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #a0aab2 !important;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}

.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}

.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #ffffff;
  border-color: #e6e9ee;
}

.btn-default .badge {
  color: #ffffff;
  background-color: #a0aab2;
}

.btn-primary {
  color: #ffffff !important;
  background-color: #43a8eb;
  border-color: #3ea6eb;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #ffffff !important;
  background-color: #319fe9;
  border-color: #1a95e7;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #43a8eb;
  border-color: #3ea6eb;
}

.btn-primary .badge {
  color: #43a8eb;
  background-color: #ffffff;
}

.btn-success {
  color: #ffffff !important;
  background-color: #88bf57;
  border-color: #85be53;
}

.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #ffffff !important;
  background-color: #7eb948;
  border-color: #71a840;
}

.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}

.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #88bf57;
  border-color: #85be53;
}

.btn-success .badge {
  color: #88bf57;
  background-color: #ffffff;
}

.btn-info {
  color: #ffffff !important;
  background-color: #8293b9;
  border-color: #7f90b7;
}

.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #ffffff !important;
  background-color: #7588b2;
  border-color: #657aa9;
}

.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}

.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #8293b9;
  border-color: #7f90b7;
}

.btn-info .badge {
  color: #8293b9;
  background-color: #ffffff;
}

.btn-warning {
  color: #ffffff !important;
  background-color: #fdaf40;
  border-color: #fdad3b;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #ffffff !important;
  background-color: #fda72c;
  border-color: #fd9c13;
}

.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}

.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #fdaf40;
  border-color: #fdad3b;
}

.btn-warning .badge {
  color: #fdaf40;
  background-color: #ffffff;
}

.btn-danger {
  color: #ffffff !important;
  background-color: #eb615f;
  border-color: #ea5d5a;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #ffffff !important;
  background-color: #e94f4d;
  border-color: #e63936;
}

.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}

.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #eb615f;
  border-color: #ea5d5a;
}

.btn-danger .badge {
  color: #eb615f;
  background-color: #ffffff;
}

.btn-link {
  color: #43a8eb;
  font-weight: normal;
  border-radius: 0;
}

.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}

.btn-link:hover,
.btn-link:focus {
  color: #1683cc;
  text-decoration: underline;
  background-color: transparent;
}

.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #e6e9ee;
  text-decoration: none;
}

.btn-lg,
.btn-group-lg > .btn {
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}

.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 5px;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

.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: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 2px;
  vertical-align: middle;
  border-top: 4px solid;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.dropdown {
  position: relative;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  display: none;
  float: right;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: right;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}

.dropdown-menu.pull-right {
  left: 0;
  right: auto;
}

.dropdown-menu .divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.52857143;
  color: #5f5f5f;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #46515f;
  background-color: #fafbfc;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #43a8eb;
}

.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #e6e9ee;
}

.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}

.open > .dropdown-menu {
  display: block;
}

.open > a {
  outline: 0;
}

.dropdown-menu-right {
  right: auto;
  left: 0;
}

.dropdown-menu-left {
  right: 0;
  left: auto;
}

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.52857143;
  color: #e6e9ee;
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}

.pull-right > .dropdown-menu {
  left: 0;
  right: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid;
  content: "";
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: auto;
    left: 0;
  }

  .navbar-right .dropdown-menu-left {
    right: 0;
    left: auto;
  }
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: right;
}

.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}

.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus {
  outline: 0;
}

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-right: -1px;
}

.btn-toolbar {
  margin-right: -5px;
}

.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: right;
}

.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-right: 5px;
}

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}

.btn-group > .btn:first-child {
  margin-right: 0;
}

.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-group > .btn-group {
  float: right;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group > .btn-group:first-child > .btn:last-child,
.btn-group > .btn-group:first-child > .dropdown-toggle {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.btn-group > .btn-group:last-child > .btn:first-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
  padding-right: 8px;
  padding-left: 8px;
}

.btn-group > .btn-lg + .dropdown-toggle {
  padding-right: 12px;
  padding-left: 12px;
}

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn .caret {
  margin-right: 0;
}

.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}

.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}

.btn-group-vertical > .btn-group > .btn {
  float: none;
}

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-right: 0;
}

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-right-radius: 3px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}

.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}

.btn-group-justified > .btn-group .btn {
  width: 100%;
}

.btn-group-justified > .btn-group .dropdown-menu {
  right: auto;
}

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}

.input-group[class*="col-"] {
  float: none;
  padding-right: 0;
  padding-left: 0;
}

.input-group .form-control {
  position: relative;
  z-index: 2;
  float: right;
  width: 100%;
  margin-bottom: 0;
}

.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 53px;
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}

select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 53px;
  line-height: 53px;
}

textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}

.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
  height: 31px;
}

select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}

textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}

.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 8px 24px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #515d6e;
  text-align: center;
  background-color: #f4f5f5;
  border: 1px solid #dbd9d9;
  border-radius: 3px;
}

.input-group-addon.input-sm {
  padding: 5px 18px;
  font-size: 12px;
  border-radius: 2px;
}

.input-group-addon.input-lg {
  padding: 14px 26px;
  font-size: 17px;
  border-radius: 4px;
}

.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}

.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.input-group-addon:first-child {
  border-left: 0;
}

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.input-group-addon:last-child {
  border-right: 0;
}

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}

.input-group-btn > .btn {
  position: relative;
}

.input-group-btn > .btn + .btn {
  margin-right: -1px;
}

.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}

.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-left: -1px;
}

.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-right: -1px;
}

.nav {
  margin-bottom: 0;
  padding-right: 0;
  list-style: none;
}

.nav > li {
  position: relative;
  display: block;
}

.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}

.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: transparent;
}

.nav > li.disabled > a {
  color: #e6e9ee;
}

.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #e6e9ee;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}

.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: transparent;
  border-color: #43a8eb;
}

.nav .nav-divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid #dddddd;
}

.nav-tabs > li {
  float: right;
  margin-bottom: -1px;
}

.nav-tabs > li > a {
  margin-left: 2px;
  line-height: 1.52857143;
  border: 1px solid transparent;
  border-radius: 3px 3px 0 0;
}

.nav-tabs > li > a:hover {
  border-color: #dddddd #dddddd #dddddd;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #a0aab2;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-bottom-color: transparent;
  cursor: default;
}

.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}

.nav-tabs.nav-justified > li {
  float: none;
}

.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}

.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  right: auto;
}

@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs.nav-justified > li > a {
  margin-left: 0;
  border-radius: 3px;
}

.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #dddddd;
}

@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 3px 3px 0 0;
  }

  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #f7f9fb;
  }
}

.nav-pills > li {
  float: right;
}

.nav-pills > li > a {
  border-radius: 3px;
}

.nav-pills > li + li {
  margin-right: 2px;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #43a8eb;
}

.nav-stacked > li {
  float: none;
}

.nav-stacked > li + li {
  margin-top: 2px;
  margin-right: 0;
}

.nav-justified {
  width: 100%;
}

.nav-justified > li {
  float: none;
}

.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}

.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  right: auto;
}

@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }

  .nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified {
  border-bottom: 0;
}

.nav-tabs-justified > li > a {
  margin-left: 0;
  border-radius: 3px;
}

.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #dddddd;
}

@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 3px 3px 0 0;
  }

  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #f7f9fb;
  }
}

.tab-content > .tab-pane {
  display: none;
  visibility: hidden;
}

.tab-content > .active {
  display: block;
  visibility: visible;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.navbar {
  position: relative;
  min-height: 60px;
  margin-bottom: 19px;
  border: 1px solid transparent;
}

@media (min-width: 768px) {
  .navbar {
    border-radius: 3px;
  }
}

@media (min-width: 768px) {
  .navbar-header {
    float: right;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-left: 15px;
  padding-right: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}

.navbar-collapse.in {
  overflow-y: auto;
}

@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }

  .navbar-collapse.collapse {
    display: block !important;
    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-right: 0;
    padding-left: 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-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-left: -15px;
  margin-right: -15px;
}

@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-left: 0;
    margin-right: 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;
  left: 0;
  right: 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: right;
  padding: 20.5px 15px;
  font-size: 17px;
  line-height: 19px;
  height: 60px;
}

.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-right: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: left;
  margin-left: 15px;
  padding: 9px 10px;
  margin-top: 13px;
  margin-bottom: 13px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
}

.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: 10.25px -15px;
}

.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 19px;
}

@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 25px 5px 15px;
  }

  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 19px;
  }

  .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: right;
    margin: 0;
  }

  .navbar-nav > li {
    float: right;
  }

  .navbar-nav > li > a {
    padding-top: 20.5px;
    padding-bottom: 20.5px;
  }
}

.navbar-form {
  margin-right: -15px;
  margin-left: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 11.5px;
  margin-bottom: 11.5px;
}

@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .navbar-form .form-control-static {
    display: inline-block;
  }

  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }

  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }

  .navbar-form .input-group > .form-control {
    width: 100%;
  }

  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }

  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-right: 0;
  }

  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-right: 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-right: 0;
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.navbar-btn {
  margin-top: 11.5px;
  margin-bottom: 11.5px;
}

.navbar-btn.btn-sm {
  margin-top: 15px;
  margin-bottom: 15px;
}

.navbar-btn.btn-xs {
  margin-top: 19px;
  margin-bottom: 19px;
}

.navbar-text {
  margin-top: 20.5px;
  margin-bottom: 20.5px;
}

@media (min-width: 768px) {
  .navbar-text {
    float: right;
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media (min-width: 768px) {
  .navbar-left {
    float: right !important;
    float: right;
  }

  .navbar-right {
    float: left !important;
    float: left;
    margin-left: -15px;
  }

  .navbar-right ~ .navbar-right {
    margin-left: 0;
  }
}

.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}

.navbar-default .navbar-brand {
  color: #ffffff;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #e6e6e6;
  background-color: transparent;
}

.navbar-default .navbar-text {
  color: #777777;
}

.navbar-default .navbar-nav > li > a {
  color: #ffffff;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #dddddd;
  background-color: transparent;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #dddddd;
  background-color: #e7e7e7;
}

.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #cccccc;
  background-color: transparent;
}

.navbar-default .navbar-toggle {
  border-color: #dddddd;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #dddddd;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #888888;
}

.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: #dddddd;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #ffffff;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #dddddd;
    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: #dddddd;
    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: #cccccc;
    background-color: transparent;
  }
}

.navbar-default .navbar-link {
  color: #ffffff;
}

.navbar-default .navbar-link:hover {
  color: #dddddd;
}

.navbar-default .btn-link {
  color: #ffffff;
}

.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #dddddd;
}

.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #cccccc;
}

.navbar-inverse {
  background-color: #222222;
  border-color: #080808;
}

.navbar-inverse .navbar-brand {
  color: #e6e9ee;
}

.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #ffffff;
  background-color: transparent;
}

.navbar-inverse .navbar-text {
  color: #e6e9ee;
}

.navbar-inverse .navbar-nav > li > a {
  color: #e6e9ee;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: transparent;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #080808;
}

.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444444;
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: #333333;
}

.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333333;
}

.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #ffffff;
}

.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: #080808;
  color: #ffffff;
}

@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #e6e9ee;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #ffffff;
    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: #ffffff;
    background-color: #080808;
  }

  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444444;
    background-color: transparent;
  }
}

.navbar-inverse .navbar-link {
  color: #e6e9ee;
}

.navbar-inverse .navbar-link:hover {
  color: #ffffff;
}

.navbar-inverse .btn-link {
  color: #e6e9ee;
}

.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #ffffff;
}

.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444444;
}

.breadcrumb {
  padding: 12px 15px;
  margin-bottom: 19px;
  list-style: none;
  background-color: #fafafa;
  border-radius: 3px;
}

.breadcrumb > li {
  display: inline-block;
}

.breadcrumb > li + li:before {
  content: ">\00a0";
  padding: 0 5px;
  color: #c1c2c3;
}

.breadcrumb > .active {
  color: #585f69;
}

.pagination {
  display: inline-block;
  padding-right: 0;
  margin: 19px 0;
  border-radius: 3px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: right;
  padding: 8px 24px;
  line-height: 1.52857143;
  text-decoration: none;
  color: #585f69;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  margin-right: -1px;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-right: 0;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #1683cc;
  background-color: #fafafa;
  border-color: #eeeeee;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #43a8eb;
  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: #e6e9ee;
  background-color: #ffffff;
  border-color: #eeeeee;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 14px 26px;
  font-size: 17px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 18px;
  font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}

.pager {
  padding-right: 0;
  margin: 19px 0;
  list-style: none;
  text-align: center;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #fafafa;
}

.pager .next > a,
.pager .next > span {
  float: left;
}

.pager .previous > a,
.pager .previous > span {
  float: right;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #e6e9ee;
  background-color: #ffffff;
  cursor: not-allowed;
}

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}

a.label:hover,
a.label:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}

.label:empty {
  display: none;
}

.btn .label {
  position: relative;
  top: -1px;
}

.label-default {
  background-color: #a0aab2;
}

.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #84919b;
}

.label-primary {
  background-color: #43a8eb;
}

.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #1892e3;
}

.label-success {
  background-color: #88bf57;
}

.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #6fa43f;
}

.label-info {
  background-color: #8293b9;
}

.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #6177a7;
}

.label-warning {
  background-color: #fdaf40;
}

.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #fc9a0e;
}

.label-danger {
  background-color: #eb615f;
}

.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #e53432;
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
  text-align: center;
  background-color: #e6e9ee;
  border-radius: 10px;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.btn-xs .badge {
  top: 0;
  padding: 1px 5px;
}

a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}

a.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #43a8eb;
  background-color: #ffffff;
}

.nav-pills > li > a > .badge {
  margin-right: 3px;
}

.jumbotron {
  padding: 30px 15px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #fcfcfc;
}

.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}

.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}

.jumbotron > hr {
  border-top-color: #e3e3e3;
}

.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 4px;
}

.jumbotron .container {
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .jumbotron {
    padding: 48px 0;
  }

  .container .jumbotron {
    padding-right: 60px;
    padding-left: 60px;
  }

  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 58.5px;
  }
}

.thumbnail {
  display: block;
  padding: 2px;
  margin-bottom: 19px;
  line-height: 1.52857143;
  background-color: #e1e2e3;
  border: 1px solid #e1e2e3;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}

.thumbnail > img,
.thumbnail a > img {
  margin-right: auto;
  margin-left: auto;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #43a8eb;
}

.thumbnail .caption {
  padding: 9px;
  color: #585f69;
}

.alert {
  padding: 8px;
  margin-bottom: 19px;
  border: 1px solid transparent;
  border-radius: 2px;
}

.alert h4 {
  margin-top: 0;
  color: inherit;
}

.alert .alert-link {
  font-weight: bold;
}

.alert > p,
.alert > ul {
  margin-bottom: 0;
}

.alert > p + p {
  margin-top: 5px;
}

.alert-dismissable,
.alert-dismissible {
  padding-left: 28px;
}

.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  left: -21px;
  color: inherit;
}

.alert-success {
  background-color: #88bf57;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}

.alert-success hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}

.alert-success .alert-link {
  color: #e6e6e6;
}

.alert-info {
  background-color: #8293b9;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}

.alert-info hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}

.alert-info .alert-link {
  color: #e6e6e6;
}

.alert-warning {
  background-color: #fdaf40;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}

.alert-warning hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}

.alert-warning .alert-link {
  color: #e6e6e6;
}

.alert-danger {
  background-color: #eb615f;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}

.alert-danger hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}

.alert-danger .alert-link {
  color: #e6e6e6;
}

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }

  to {
    background-position: 0 0;
  }
}

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }

  to {
    background-position: 0 0;
  }
}

.progress {
  overflow: hidden;
  height: 19px;
  margin-bottom: 19px;
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.progress-bar {
  float: right;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 19px;
  color: #ffffff;
  text-align: center;
  background-color: #43a8eb;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}

.progress-bar-success {
  background-color: #88bf57;
}

.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-info {
  background-color: #8293b9;
}

.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-warning {
  background-color: #fdaf40;
}

.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-danger {
  background-color: #eb615f;
}

.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.media {
  margin-top: 15px;
}

.media:first-child {
  margin-top: 0;
}

.media-right,
.media > .pull-right {
  padding-right: 10px;
}

.media-left,
.media > .pull-left {
  padding-left: 10px;
}

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}

.media-middle {
  vertical-align: middle;
}

.media-bottom {
  vertical-align: bottom;
}

.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.media-list {
  padding-right: 0;
  list-style: none;
}

.list-group {
  margin-bottom: 20px;
  padding-right: 0;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #ffffff;
  border: 1px solid #f1f2f3;
}

.list-group-item:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.list-group-item > .badge {
  float: left;
}

.list-group-item > .badge + .badge {
  margin-left: 5px;
}

a.list-group-item {
  color: #555555;
}

a.list-group-item .list-group-item-heading {
  color: #333333;
}

a.list-group-item:hover,
a.list-group-item:focus {
  text-decoration: none;
  color: #555555;
  background-color: #fafbfc;
}

.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #f4f5f5;
  color: #e6e9ee;
  cursor: not-allowed;
}

.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}

.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #e6e9ee;
}

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #43a8eb;
}

.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}

.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #fbfdff;
}

.list-group-item-success {
  color: #88bf57;
  background-color: #dff0d8;
}

a.list-group-item-success {
  color: #88bf57;
}

a.list-group-item-success .list-group-item-heading {
  color: inherit;
}

a.list-group-item-success:hover,
a.list-group-item-success:focus {
  color: #88bf57;
  background-color: #d0e9c6;
}

a.list-group-item-success.active,
a.list-group-item-success.active:hover,
a.list-group-item-success.active:focus {
  color: #fff;
  background-color: #88bf57;
  border-color: #88bf57;
}

.list-group-item-info {
  color: #8293b9;
  background-color: #d9edf7;
}

a.list-group-item-info {
  color: #8293b9;
}

a.list-group-item-info .list-group-item-heading {
  color: inherit;
}

a.list-group-item-info:hover,
a.list-group-item-info:focus {
  color: #8293b9;
  background-color: #c4e3f3;
}

a.list-group-item-info.active,
a.list-group-item-info.active:hover,
a.list-group-item-info.active:focus {
  color: #fff;
  background-color: #8293b9;
  border-color: #8293b9;
}

.list-group-item-warning {
  color: #fdaf40;
  background-color: #fcf8e3;
}

a.list-group-item-warning {
  color: #fdaf40;
}

a.list-group-item-warning .list-group-item-heading {
  color: inherit;
}

a.list-group-item-warning:hover,
a.list-group-item-warning:focus {
  color: #fdaf40;
  background-color: #faf2cc;
}

a.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #fdaf40;
  border-color: #fdaf40;
}

.list-group-item-danger {
  color: #eb615f;
  background-color: #f2dede;
}

a.list-group-item-danger {
  color: #eb615f;
}

a.list-group-item-danger .list-group-item-heading {
  color: inherit;
}

a.list-group-item-danger:hover,
a.list-group-item-danger:focus {
  color: #eb615f;
  background-color: #ebcccc;
}

a.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #eb615f;
  border-color: #eb615f;
}

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}

.panel {
  margin-bottom: 19px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body {
  padding: 15px;
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}

.panel-title > a {
  color: inherit;
}

.panel-footer {
  padding: 10px 15px;
  background-color: #f1f1f5;
  border-top: 1px solid #eeeeee;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}

.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}

.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}

.list-group + .panel-footer {
  border-top-width: 0;
}

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}

.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-right: 15px;
  padding-left: 15px;
}

.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-right-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-left-radius: 3px;
}

.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-right-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-left-radius: 3px;
}

.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #eeeeee;
}

.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}

.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}

.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-right: 0;
}

.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-left: 0;
}

.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}

.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 19px;
}

.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}

.panel-group .panel + .panel {
  margin-top: 5px;
}

.panel-group .panel-heading {
  border-bottom: 0;
}

.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #eeeeee;
}

.panel-group .panel-footer {
  border-top: 0;
}

.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #eeeeee;
}

.panel-default {
  border-color: #e6e9ee;
}

.panel-default > .panel-heading {
  color: #444444;
  background-color: #ffffff;
  border-color: #e6e9ee;
}

.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-default > .panel-heading .badge {
  color: #ffffff;
  background-color: #444444;
}

.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-primary {
  border-color: #e6e9ee;
}

.panel-primary > .panel-heading {
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #e6e9ee;
}

.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-primary > .panel-heading .badge {
  color: #43a8eb;
  background-color: #ffffff;
}

.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-success {
  border-color: #e6e9ee;
}

.panel-success > .panel-heading {
  color: #ffffff;
  background-color: #88bf57;
  border-color: #e6e9ee;
}

.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-success > .panel-heading .badge {
  color: #88bf57;
  background-color: #ffffff;
}

.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-info {
  border-color: #e6e9ee;
}

.panel-info > .panel-heading {
  color: #ffffff;
  background-color: #8293b9;
  border-color: #e6e9ee;
}

.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-info > .panel-heading .badge {
  color: #8293b9;
  background-color: #ffffff;
}

.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-warning {
  border-color: #e6e9ee;
}

.panel-warning > .panel-heading {
  color: #ffffff;
  background-color: #fdaf40;
  border-color: #e6e9ee;
}

.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-warning > .panel-heading .badge {
  color: #fdaf40;
  background-color: #ffffff;
}

.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-danger {
  border-color: #e6e9ee;
}

.panel-danger > .panel-heading {
  color: #ffffff;
  background-color: #eb615f;
  border-color: #e6e9ee;
}

.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-danger > .panel-heading .badge {
  color: #eb615f;
  background-color: #ffffff;
}

.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}

.embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive.embed-responsive-4by3 {
  padding-bottom: 75%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid #f4f5f5;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}

.well-lg {
  padding: 24px;
  border-radius: 4px;
}

.well-sm {
  padding: 9px;
  border-radius: 2px;
}

.close {
  float: left;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}

.modal.fade .modal-dialog {
  -webkit-transform: translate(-0, -25%);
  -ms-transform: translate(-0, -25%);
  -o-transform: translate(-0, -25%);
  transform: translate(-0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}

.modal.in .modal-dialog {
  -webkit-transform: translate(-0, 0);
  -ms-transform: translate(-0, 0);
  -o-transform: translate(-0, 0);
  transform: translate(-0, 0);
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}

.modal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #000000;
}

.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}

.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.52857143px;
}

.modal-header .close {
  margin-top: -2px;
}

.modal-title {
  margin: 0;
  line-height: 1.52857143;
}

.modal-body {
  position: relative;
  padding: 15px;
}

.modal-footer {
  padding: 15px;
  text-align: left;
  border-top: 1px solid #e5e5e5;
}

.modal-footer .btn + .btn {
  margin-right: 5px;
  margin-bottom: 0;
}

.modal-footer .btn-group .btn + .btn {
  margin-right: -1px;
}

.modal-footer .btn-block + .btn-block {
  margin-right: 0;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }

  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }

  .modal-sm {
    width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  visibility: visible;
  font-size: 12px;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}

.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}

.tooltip.right {
  margin-right: 3px;
  padding: 0 5px;
}

.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}

.tooltip.left {
  margin-right: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  background-color: #222222;
  border-radius: 3px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  right: 50%;
  margin-right: -5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}

.tooltip.right .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #222222;
}

.tooltip.left .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #222222;
}

.tooltip.bottom .tooltip-arrow {
  top: 0;
  right: 50%;
  margin-right: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}

.popover {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1.52857143;
  text-align: right;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #cccccc;
  border: 1px solid #e1e1e1;
  border-radius: 4px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}

.popover.top {
  margin-top: -10px;
}

.popover.right {
  margin-right: 10px;
}

.popover.bottom {
  margin-top: 10px;
}

.popover.left {
  margin-right: -10px;
}

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #fafafa;
  border-bottom: 1px solid #ededed;
  border-radius: 3px 3px 0 0;
}

.popover-content {
  padding: 9px 14px;
}

.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.popover > .arrow {
  border-width: 11px;
}

.popover > .arrow:after {
  border-width: 10px;
  content: "";
}

.popover.top > .arrow {
  right: 50%;
  margin-right: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: #e1e1e1;
  bottom: -11px;
}

.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-right: -10px;
  border-bottom-width: 0;
  border-top-color: #ffffff;
}

.popover.right > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: #e1e1e1;
}

.popover.right > .arrow:after {
  content: " ";
  right: 1px;
  bottom: -10px;
  border-right-width: 0;
  border-left-color: #ffffff;
}

.popover.bottom > .arrow {
  right: 50%;
  margin-right: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: #e1e1e1;
  top: -11px;
}

.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-right: -10px;
  border-top-width: 0;
  border-bottom-color: #ffffff;
}

.popover.left > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: #e1e1e1;
}

.popover.left > .arrow:after {
  content: " ";
  left: 1px;
  border-left-width: 0;
  border-right-color: #ffffff;
  bottom: -10px;
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}

@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    transition: transform 0.6s ease-in-out;
    backface-visibility: hidden;
    perspective: 1000;
  }

  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    transform: translate3d(-100%, 0, 0);
    right: 0;
  }

  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    transform: translate3d(100%, 0, 0);
    right: 0;
  }

  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    transform: translate3d(-0, 0, 0);
    right: 0;
  }
}

.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}

.carousel-inner > .active {
  right: 0;
}

.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}

.carousel-inner > .next {
  right: 100%;
}

.carousel-inner > .prev {
  right: -100%;
}

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  right: 0;
}

.carousel-inner > .active.left {
  right: -100%;
}

.carousel-inner > .active.right {
  right: 100%;
}

.carousel-control {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}

.carousel-control.right {
  right: auto;
  left: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}

.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}

.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  right: 50%;
  margin-right: -10px;
}

.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  left: 50%;
  margin-left: -10px;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  font-family: serif;
}

.carousel-control .icon-prev:before {
  content: '\2039';
}

.carousel-control .icon-next:before {
  content: '\203a';
}

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  right: 50%;
  z-index: 15;
  width: 60%;
  margin-right: -30%;
  padding-right: 0;
  list-style: none;
  text-align: center;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #ffffff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}

.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  left: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-caption .btn {
  text-shadow: none;
}

@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }

  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-right: -15px;
  }

  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-left: -15px;
  }

  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }

  .carousel-indicators {
    bottom: 20px;
  }
}

.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}

.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.pull-right {
  float: left !important;
}

.pull-left {
  float: right !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;
  }
}

/* ========================================================================
   Component: bootstrap-reset.less
 ========================================================================== */

.glyphicon {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glyphicon.pull-left {
  margin-left: 0.3em;
}

.glyphicon.pull-right {
  margin-right: 0.3em;
}

.glyphicon.glyphicon-chevron-left:before {
  content: "\f053";
}

.glyphicon.glyphicon-chevron-right:before {
  content: "\f054";
}

.glyphicon.glyphicon-chevron-up:before {
  content: "\f077";
}

.glyphicon.glyphicon-chevron-down:before {
  content: "\f078";
}

[ui-sref] {
  cursor: pointer;
}

.nav-pills,
.pagination,
.carousel,
.panel-title a {
  cursor: pointer;
}

[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
  display: none !important;
}

*:focus {
  outline: 0 !important;
}

a {
  outline: none !important;
}

a:hover,
a:focus {
  text-decoration: none;
}

.list-group {
  line-height: 1.3;
}

.list-group .list-group-item {
  padding: 10px;
}

.panel .list-group .list-group-item:first-child {
  border-top: 0;
}

.page-header {
  border-bottom-color: #e6e9ee;
}

.jumbotron {
  border: 1px solid #f4f5f5;
}

.nav-tabs > li > a {
  font-weight: 400;
  color: #585f69;
  background-color: #f4f5f5;
  margin: 0;
  border: 1px solid #e6e9ee;
  border-radius: 0;
  padding: 8px 18px;
  cursor: pointer;
}

.nav-tabs > li.active > a {
  padding: 12px 22px;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: inherit;
  border-bottom-color: #fff;
}

.nav-tabs > li {
  padding: 4px;
}

.nav-tabs > li.active {
  padding: 0;
}

.nav-tabs > li.active + li {
  padding-right: 4px;
}

.nav-tabs > li:first-child {
  padding-right: 0;
}

.tab-content {
  padding: 10px 20px;
  border-style: solid;
  border-width: 0 1px 1px 1px;
  border-color: #e6e9ee;
}

.nav-pills + .tab-content {
  border: 0;
  padding: 0;
}

.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border-bottom: 0;
}

.form-control {
  padding-right: 18px;
  padding-left: 18px;
  box-shadow: 0 0 0 #000 !important;
}

.form-control,
.input-group-addon {
  border-color: #dbd9d9;
}

.input-group-addon {
  background-color: #f8f9fb;
}

.input-sm,
select.input-sm {
  height: 31px;
}

fieldset {
  padding-bottom: 20px;
  border-bottom: 1px dashed #eee;
  margin-bottom: 20px;
}

fieldset.last-child,
fieldset:last-child {
  border-bottom: 0;
}

fieldset .form-group {
  margin-bottom: 0;
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"] {
  -webkit-appearance: none;
}

.table > thead > tr > th {
  border-bottom-width: 1px;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.table > tbody + tbody {
  border-bottom-width: 1px;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 1px;
}

.progress {
  -webkit-box-shadow: 0 0 0 #000000;
  box-shadow: 0 0 0 #000000;
  border-radius: 2px;
  border: 1px solid #f1f1f1;
  background-color: #fff;
}

.progress .progress-bar {
  -webkit-box-shadow: 0 0 0 #000000;
  box-shadow: 0 0 0 #000000;
}

.popover {
  box-shadow: 0 0 0 #000;
  border-color: #eee;
  border-bottom: 2px solid #e6e9ee;
  border-radius: 2px;
}

.popover .popover-title {
  border: 0;
}

.dropdown-menu {
  border-radius: 2px;
}

.dropdown-header {
  color: #a1a2a3;
}

.carousel .carousel-indicators {
  bottom: 0;
}

.carousel .carousel-control.left,
.carousel .carousel-control.right {
  background-image: none;
}

.carousel .carousel-control em {
  position: absolute;
  top: 50%;
  right: 50%;
  z-index: 5;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-right: -10px;
}

.panel > .table-responsive {
  max-width: 100%;
  overflow: auto;
}

.media-heading a {
  text-decoration: none;
}

/* Open Sans @font-face kit */

/* BEGIN Light */

@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.eot');
  src: url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.svg#OpenSansLight') format('svg');
  font-weight: 300;
  font-style: normal;
}

/* END Light */

/* BEGIN Regular */

@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot');
  src: url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg');
  font-weight: 400;
  font-style: normal;
}

/* END Regular */

/* BEGIN Italic */

@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot');
  src: url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.svg#OpenSansItalic') format('svg');
  font-weight: 400;
  font-style: italic;
}

/* END Italic */

/* BEGIN Semibold */

@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot');
  src: url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.svg#OpenSansSemibold') format('svg');
  font-weight: 600;
  font-style: normal;
}

/* END Semibold */

/* ========================================================================
   Component: layout.less
 ========================================================================== */

html {
  /* @replace rtl */
  direction: rtl;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

html,
body {
  width: 100%;
  height: 100%;
}

body {
  overflow-x: hidden;
}

.app-container {
  position: relative;
  width: 100%;
  min-height: 100%;
  height: auto;
  -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  overflow-x: hidden;
}

.app-container.ng-leave {
  display: none;
}

.app-container > header {
  position: relative;
  z-index: 410;
}

.app-container > aside {
  position: absolute;
  top: 60px;
  right: 0;
  bottom: 0;
  width: 220px;
  z-index: 310;
}

.app-container > section {
  position: relative;
  height: 100%;
  margin-right: 0;
  overflow: hidden;
  z-index: 110;
}

.app-container > footer {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 60px;
  padding: 20px;
  border-top: 1px solid #e6e9ee;
  background-color: #f7f9fb;
  z-index: 210;
}

.app-container > footer > p {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .app-container > section,
  .app-container > footer {
    margin-right: 220px;
  }
}

.app {
  padding: 20px;
  padding-bottom: 80px;
  width: 100%;
}

.app > h3 {
  margin: 0;
  margin-bottom: 20px;
  padding: 0;
}

.app > h3:before,
.app > h3:after {
  content: " ";
  display: table;
}

.app > h3:after {
  clear: both;
}

.app > h3:before,
.app > h3:after {
  content: " ";
  display: table;
}

.app > h3:after {
  clear: both;
}

.app > h3 > small {
  display: block;
  font-size: 12px;
  color: #8394a9;
  line-height: 2;
}

.app > button,
.app > .btn {
  margin: 10px 0 0 10px;
}

.app .container,
.app .container-fluid {
  padding-right: 0;
  padding-left: 0;
}

@media only screen and (min-width: 768px) {
  .app > button,
  .app > .btn {
    margin: 0;
  }
}

.app > .unwrap {
  margin: -20px;
}

@media only screen and (max-width: 767px) {
  .no-csstransforms3d .app-container > aside {
    margin-right: -220px;
  }

  .no-csstransforms3d .aside-toggled .app-container > section,
  .no-csstransforms3d .aside-toggled .app-container > footer {
    margin-right: 220px;
  }

  .no-csstransforms3d .aside-toggled .app-container > aside {
    margin-right: 0;
  }

  .csstransforms3d .app-container {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .csstransforms3d .app-container > section,
  .csstransforms3d .app-container > footer {
    -webkit-transform: translate3d(-0, 0, 0);
    transform: translate3d(-0, 0, 0);
    -webkit-transition: -webkit-transform 0.3s ease;
    -moz-transition: -moz-transform 0.3s ease;
    -o-transition: -o-transform 0.3s ease;
    transition: transform 0.3s ease;
  }

  .csstransforms3d .app-container > aside {
    transform-style: preserve-3d;
    -webkit-transform: translate3d(220px, 0, 0);
    transform: translate3d(220px, 0, 0);
    -webkit-transition: -webkit-transform 0.3s ease;
    -moz-transition: -moz-transform 0.3s ease;
    -o-transition: -o-transform 0.3s ease;
    transition: transform 0.3s ease;
  }

  .csstransforms3d .aside-toggled .app-container > section,
  .csstransforms3d .aside-toggled .app-container > footer {
    -webkit-transform: translate3d(-220px, 0, 0);
    transform: translate3d(-220px, 0, 0);
  }

  .csstransforms3d .aside-toggled .app-container > aside {
    -webkit-transform: translate3d(-0, 0, 0);
    transform: translate3d(-0, 0, 0);
  }
}

.aside-collapsed .hidden-collapsed {
  display: none;
}

@media only screen and (min-width: 768px) {
  .aside-collapsed .app-container > aside {
    width: 65px;
  }

  .aside-collapsed .app-container > section,
  .aside-collapsed .app-container > footer {
    margin-right: 65px;
  }
}

@media (max-width: 1140px) {
  .layout-fixed.aside-toggled {
    overflow-y: hidden;
  }
}

.layout-fixed .app-container > aside,
.layout-fixed .app-container > header {
  position: fixed;
}

@media only screen and (min-width: 992px) {
  .layout-fixed .app-container > aside {
    /* safari fix */
    height: 1px;
    min-height: 100%;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

.layout-fixed .app-container > header {
  width: 100%;
}

.layout-fixed .app-container > section {
  padding-top: 60px;
}

.layout-boxed .app-container {
  max-width: 1140px;
  margin: 0 auto;
  overflow: hidden;
}

.layout-boxed .app-container > aside {
  right: inherit;
}

.layout-boxed .app-container > header {
  width: 100%;
  max-width: 1140px;
}

.layout-boxed.in-app .app-container {
  box-shadow: 0 0 13px rgba(0, 0, 0, 0.25);
}

.layout-boxed .hidden-boxed {
  display: none;
}

.layout-boxed .fw-boxed {
  width: 100%;
}

/* ========================================================================
   Component: top-navbar.less
 ========================================================================== */

.topnavbar {
  position: relative;
  -webkit-backface-visibility: hidden;
  /* fixes chrome jump */
  margin-bottom: 0;
  border-radius: 0;
  border: 0;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  -webkit-transition: box-shadow 0.2s ease;
  -o-transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
}

.topnavbar > .navbar-header {
  position: relative;
}

@media only screen and (min-width: 768px) {
  .topnavbar > .navbar-header {
    width: 220px;
    background-image: none;
    z-index: 1;
  }
}

.topnavbar > .navbar-header > .navbar-brand {
  display: block;
  padding: 5px;
  float: none;
  text-align: center;
}

.topnavbar > .navbar-header > .navbar-brand img {
  max-height: 100%;
  width: auto;
}

.topnavbar > .navbar-header .brand-logo {
  display: inline-block;
}

.topnavbar > .navbar-header .brand-logo-collapsed {
  display: none;
}

@media only screen and (min-width: 768px) {
  .aside-collapsed .topnavbar > .navbar-header {
    width: 65px;
  }

  .aside-collapsed .topnavbar > .navbar-header .brand-logo {
    display: none;
  }

  .aside-collapsed .topnavbar > .navbar-header .brand-logo-collapsed {
    display: inline-block;
  }
}

.topnavbar .nav > li > a .point-pin {
  display: inline-block;
}

.topnavbar .nav > li > a .point-pin > .point {
  right: auto;
  left: -5px;
  bottom: auto;
  top: -5px;
}

.topnavbar .mobile-toggles {
  position: absolute !important;
  left: 0;
  right: 0;
  top: 0;
  height: 60px;
  padding: 10px;
}

.topnavbar .mobile-toggles:before,
.topnavbar .mobile-toggles:after {
  content: " ";
  display: table;
}

.topnavbar .mobile-toggles:after {
  clear: both;
}

.topnavbar .mobile-toggles:before,
.topnavbar .mobile-toggles:after {
  content: " ";
  display: table;
}

.topnavbar .mobile-toggles:after {
  clear: both;
}

@media only screen and (min-width: 768px) {
  .topnavbar .mobile-toggles {
    display: none;
  }
}

.topnavbar .sidebar-toggle,
.topnavbar .menu-toggle {
  font-size: 24px;
  color: white;
  z-index: 3001;
}

.topnavbar .sidebar-toggle {
  float: right;
}

.topnavbar .menu-toggle {
  float: left;
}

@media only screen and (min-width: 768px) {
  .topnavbar .nav > li > a:hover,
  .topnavbar .nav > li > a:focus {
    background-color: rgba(54, 60, 71, 0.05);
  }
}

.search-form .form-control {
  border-color: transparent;
}

.search-form .input-group-addon {
  border-color: transparent;
  background-color: transparent;
  padding-right: 0;
  padding-left: 0;
}

.nav-wrapper {
  padding: 0 15px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}

.nav-wrapper.in {
  overflow: visible;
}

.nav-wrapper .navbar-nav .open .dropdown-menu {
  position: absolute;
  right: 0px;
  left: 0px;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}

@media only screen and (min-width: 768px) {
  .nav-wrapper {
    position: relative;
  }

  .nav-wrapper:before,
  .nav-wrapper:after {
    content: " ";
    display: table;
  }

  .nav-wrapper:after {
    clear: both;
  }

  .nav-wrapper:before,
  .nav-wrapper:after {
    content: " ";
    display: table;
  }

  .nav-wrapper:after {
    clear: both;
  }

  .nav-wrapper .navbar-nav .open .dropdown-menu {
    right: auto;
    left: auto;
  }

  .nav-wrapper .navbar-nav.navbar-right .open .dropdown-menu {
    right: auto;
    left: 0;
  }
}

/* ========================================================================
   Component: sidebar.less
 ========================================================================== */

.sidebar-wrapper {
  height: 100%;
  overflow-x: hidden;
  background-color: inherit;
}

.sidebar-wrapper hr {
  margin: 10px 5px;
  border-top-color: rgba(0, 0, 0, 0.15);
}

.sidebar-wrapper .dropdown-backdrop {
  right: 65px;
  z-index: 300;
}

.sidebar {
  position: relative;
  height: 100%;
  margin-left: -17px;
  padding-bottom: 50px;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background-color: inherit;
}

.sidebar:after {
  content: "";
}

.sidebar .nav-heading {
  padding: 12px 15px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .035em;
  pointer-events: none;
  cursor: default;
}

.sidebar .sidebar-buttons {
  float: right;
  padding: 15px;
  padding-top: 25px;
  width: 220px;
}

.sidebar .sidebar-buttons .btn-sidebar {
  cursor: pointer;
}

.sidebar > .sidebar-nav {
  padding-bottom: 20px;
}

.sidebar > .sidebar-nav > .nav {
  position: relative;
}

.sidebar > .sidebar-nav > .nav > li > a {
  padding: 12px 15px;
  letter-spacing: .025em;
  font-weight: bold;
}

.sidebar > .sidebar-nav > .nav > li > a:focus,
.sidebar > .sidebar-nav > .nav > li > a:hover {
  text-decoration: none;
  outline: none;
}

.sidebar > .sidebar-nav > .nav > li > a > .sidebar-item-icon {
  width: 1.7em;
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.sidebar-slide-template {
  display: none;
}

.sidebar-slide-template.nav-slide {
  display: block;
}

.sidebar-subnav > .sidebar-subnav-header {
  display: none;
  padding: 12px 15px;
  cursor: pointer;
}

.sidebar-subnav > .sidebar-subnav-header > a {
  padding: 0 !important;
  background-color: transparent !important;
}

.sidebar-subnav > li > a {
  display: block;
  position: relative;
  padding: 10px 20px;
  padding-right: 40px;
  font-weight: normal;
}

.sidebar-subnav.nav-floating {
  display: block !important;
  height: auto !important;
  visibility: visible;
  right: inherit;
  margin-right: 65px;
  min-width: 190px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  overflow: auto;
  z-index: 301;
}

.sidebar-subnav.nav-floating > .sidebar-subnav-header {
  display: block;
  background-color: transparent !important;
}

.sidebar-subnav.nav-floating > li > a {
  margin-right: 0;
  padding-right: 25px;
}

.sidebar-subnav.nav-floating > li > a > em {
  display: none;
}

.sidebar-subnav.nav-slide {
  height: auto !important;
  display: block !important;
  visibility: visible !important;
}

.sidebar-subnav.nav-slide > li > a {
  padding-right: 45px;
}

.sidebar-subnav.nav-slide .sidebar-subnav-header {
  position: relative;
  display: block;
}

.sidebar {
  margin-right: 0;
  -webkit-transition: margin-right 0.3s ease;
  -o-transition: margin-right 0.3s ease;
  transition: margin-right 0.3s ease;
}

.sidebar.sidebar-slide {
  margin-right: -220px;
}

.sidebar > .sidebar-nav {
  width: 457px;
  margin-left: 0;
}

.sidebar > .sidebar-nav:before,
.sidebar > .sidebar-nav:after {
  content: " ";
  display: table;
}

.sidebar > .sidebar-nav:after {
  clear: both;
}

.sidebar > .sidebar-nav:before,
.sidebar > .sidebar-nav:after {
  content: " ";
  display: table;
}

.sidebar > .sidebar-nav:after {
  clear: both;
}

.sidebar > .sidebar-nav > .nav,
.sidebar > .sidebar-nav .nav-slide {
  float: right;
  width: 220px;
}

.sidebar > .sidebar-nav > .nav {
  clear: right;
}

.sidebar > .sidebar-nav .nav-slide {
  float: left;
  margin-left: 17px;
}

@media only screen and (min-width: 768px) {
  .sidebar > .sidebar-nav > .nav {
    padding-left: 0;
  }

  .sidebar > .sidebar-nav > .nav .label,
  .sidebar > .sidebar-nav > .nav .sidebar-item-caret {
    margin: 2px 0 0 0;
  }

  .sidebar > .sidebar-nav > .nav .sidebar-item-caret + .label {
    margin-left: 5px;
  }

  .aside-collapsed .hidden-sidebar-collapsed,
  .aside-collapsed .sidebar-buttons,
  .aside-collapsed .sidebar-item-caret {
    display: none;
  }

  .aside-collapsed .sidebar > .sidebar-nav > .nav .nav,
  .aside-collapsed .sidebar > .sidebar-nav > .nav > .nav-heading,
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a > span {
    display: none !important;
  }

  .aside-collapsed .sidebar > .sidebar-nav > .nav > li {
    width: 64px;
  }

  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a {
    padding: 20px 0;
    text-align: center;
  }

  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a > .sidebar-item-icon {
    font-size: 1.6em;
    width: auto;
  }

  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a:focus > .sidebar-item-icon {
    color: inherit;
  }

  .aside-collapsed .sidebar .nav .label {
    position: absolute;
    top: 10px;
    left: 5px;
    text-indent: 0;
  }
}

/* ========================================================================
   Component: button-extra.less
 ========================================================================== */

.btn {
  -webkit-appearance: none;
  outline: none !important;
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
}

.btn.btn-link {
  -webkit-box-shadow: 0 0 0 #000000 !important;
  box-shadow: 0 0 0 #000000 !important;
  border: 0;
}

.btn.btn-default {
  border-color: #e6e9ee;
}

.input-group .input-sm + .input-group-btn .btn {
  font-size: 13px;
}

.btn:active,
.btn.active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

.btn-inverse {
  color: #ffffff !important;
  background-color: #363c47;
  border-color: #363c47;
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse.focus,
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  color: #ffffff !important;
  background-color: #2d323b;
  border-color: #242830;
}

.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  background-image: none;
}

.btn-inverse.disabled,
.btn-inverse[disabled],
fieldset[disabled] .btn-inverse,
.btn-inverse.disabled:hover,
.btn-inverse[disabled]:hover,
fieldset[disabled] .btn-inverse:hover,
.btn-inverse.disabled:focus,
.btn-inverse[disabled]:focus,
fieldset[disabled] .btn-inverse:focus,
.btn-inverse.disabled.focus,
.btn-inverse[disabled].focus,
fieldset[disabled] .btn-inverse.focus,
.btn-inverse.disabled:active,
.btn-inverse[disabled]:active,
fieldset[disabled] .btn-inverse:active,
.btn-inverse.disabled.active,
.btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse.active {
  background-color: #363c47;
  border-color: #363c47;
}

.btn-inverse .badge {
  color: #363c47;
  background-color: #ffffff;
}

.btn-turquoise {
  color: #ffffff !important;
  background-color: #2fc8a6;
  border-color: transparent;
}

.btn-turquoise:hover,
.btn-turquoise:focus,
.btn-turquoise.focus,
.btn-turquoise:active,
.btn-turquoise.active,
.open > .dropdown-toggle.btn-turquoise {
  color: #ffffff !important;
  background-color: #2bb798;
  border-color: rgba(0, 0, 0, 0);
}

.btn-turquoise:active,
.btn-turquoise.active,
.open > .dropdown-toggle.btn-turquoise {
  background-image: none;
}

.btn-turquoise.disabled,
.btn-turquoise[disabled],
fieldset[disabled] .btn-turquoise,
.btn-turquoise.disabled:hover,
.btn-turquoise[disabled]:hover,
fieldset[disabled] .btn-turquoise:hover,
.btn-turquoise.disabled:focus,
.btn-turquoise[disabled]:focus,
fieldset[disabled] .btn-turquoise:focus,
.btn-turquoise.disabled.focus,
.btn-turquoise[disabled].focus,
fieldset[disabled] .btn-turquoise.focus,
.btn-turquoise.disabled:active,
.btn-turquoise[disabled]:active,
fieldset[disabled] .btn-turquoise:active,
.btn-turquoise.disabled.active,
.btn-turquoise[disabled].active,
fieldset[disabled] .btn-turquoise.active {
  background-color: #2fc8a6;
  border-color: transparent;
}

.btn-turquoise .badge {
  color: #2fc8a6;
  background-color: #ffffff;
}

.btn-purple {
  color: #ffffff !important;
  background-color: #c29eff;
  border-color: transparent;
}

.btn-purple:hover,
.btn-purple:focus,
.btn-purple.focus,
.btn-purple:active,
.btn-purple.active,
.open > .dropdown-toggle.btn-purple {
  color: #ffffff !important;
  background-color: #b58aff;
  border-color: rgba(0, 0, 0, 0);
}

.btn-purple:active,
.btn-purple.active,
.open > .dropdown-toggle.btn-purple {
  background-image: none;
}

.btn-purple.disabled,
.btn-purple[disabled],
fieldset[disabled] .btn-purple,
.btn-purple.disabled:hover,
.btn-purple[disabled]:hover,
fieldset[disabled] .btn-purple:hover,
.btn-purple.disabled:focus,
.btn-purple[disabled]:focus,
fieldset[disabled] .btn-purple:focus,
.btn-purple.disabled.focus,
.btn-purple[disabled].focus,
fieldset[disabled] .btn-purple.focus,
.btn-purple.disabled:active,
.btn-purple[disabled]:active,
fieldset[disabled] .btn-purple:active,
.btn-purple.disabled.active,
.btn-purple[disabled].active,
fieldset[disabled] .btn-purple.active {
  background-color: #c29eff;
  border-color: transparent;
}

.btn-purple .badge {
  color: #c29eff;
  background-color: #ffffff;
}

.btn-pink {
  color: #ffffff !important;
  background-color: #f963bc;
  border-color: transparent;
}

.btn-pink:hover,
.btn-pink:focus,
.btn-pink.focus,
.btn-pink:active,
.btn-pink.active,
.open > .dropdown-toggle.btn-pink {
  color: #ffffff !important;
  background-color: #f84fb4;
  border-color: rgba(0, 0, 0, 0);
}

.btn-pink:active,
.btn-pink.active,
.open > .dropdown-toggle.btn-pink {
  background-image: none;
}

.btn-pink.disabled,
.btn-pink[disabled],
fieldset[disabled] .btn-pink,
.btn-pink.disabled:hover,
.btn-pink[disabled]:hover,
fieldset[disabled] .btn-pink:hover,
.btn-pink.disabled:focus,
.btn-pink[disabled]:focus,
fieldset[disabled] .btn-pink:focus,
.btn-pink.disabled.focus,
.btn-pink[disabled].focus,
fieldset[disabled] .btn-pink.focus,
.btn-pink.disabled:active,
.btn-pink[disabled]:active,
fieldset[disabled] .btn-pink:active,
.btn-pink.disabled.active,
.btn-pink[disabled].active,
fieldset[disabled] .btn-pink.active {
  background-color: #f963bc;
  border-color: transparent;
}

.btn-pink .badge {
  color: #f963bc;
  background-color: #ffffff;
}

.btn-orange {
  color: #ffffff !important;
  background-color: #f57035;
  border-color: transparent;
}

.btn-orange:hover,
.btn-orange:focus,
.btn-orange.focus,
.btn-orange:active,
.btn-orange.active,
.open > .dropdown-toggle.btn-orange {
  color: #ffffff !important;
  background-color: #f46222;
  border-color: rgba(0, 0, 0, 0);
}

.btn-orange:active,
.btn-orange.active,
.open > .dropdown-toggle.btn-orange {
  background-image: none;
}

.btn-orange.disabled,
.btn-orange[disabled],
fieldset[disabled] .btn-orange,
.btn-orange.disabled:hover,
.btn-orange[disabled]:hover,
fieldset[disabled] .btn-orange:hover,
.btn-orange.disabled:focus,
.btn-orange[disabled]:focus,
fieldset[disabled] .btn-orange:focus,
.btn-orange.disabled.focus,
.btn-orange[disabled].focus,
fieldset[disabled] .btn-orange.focus,
.btn-orange.disabled:active,
.btn-orange[disabled]:active,
fieldset[disabled] .btn-orange:active,
.btn-orange.disabled.active,
.btn-orange[disabled].active,
fieldset[disabled] .btn-orange.active {
  background-color: #f57035;
  border-color: transparent;
}

.btn-orange .badge {
  color: #f57035;
  background-color: #ffffff;
}

.btn-outline {
  background-color: transparent;
  border-color: #fff;
}

.btn-outline:hover,
.btn-outline:focus {
  background-color: #fff;
  color: #43a8eb;
}

.btn-flat {
  border-bottom-width: 1px;
  border-radius: 0;
  box-shadow: 0 0 0 #000;
}

.btn-xl {
  padding: 20px 16px;
  font-size: 18px;
}

.btn-square {
  border-radius: 0;
}

.btn-pill-left,
.btn-oval {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  padding-right: 18px;
}

.btn-pill-right,
.btn-oval {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  padding-left: 18px;
}

.btn-labeled {
  padding-top: 0;
  padding-bottom: 0;
}

.btn-label {
  position: relative;
  display: inline-block;
  min-width: 30px;
  background: transparent;
  padding: 8px 18px;
  right: -24px;
  border-radius: 0 2px 2px 0;
}

.btn-label.btn-label-right {
  right: auto;
  left: -24px;
  border-radius: 2px 0 0 2px;
}

.btn-label:after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 1px;
  background: rgba(0, 0, 0, 0.1);
}

.btn-lg .btn-label {
  padding: 14px 18px;
  right: -26px;
  border-radius: 0 3px 3px 0;
}

.btn-lg .btn-label.btn-label-right {
  right: auto;
  left: -26px;
  border-radius: 3px 0 0 3px;
}

.btn-sm .btn-label {
  padding: 5px 18px;
  right: -18px;
  border-radius: 0 1px 1px 0;
}

.btn-sm .btn-label.btn-label-right {
  right: auto;
  left: -18px;
  border-radius: 1px 0 0 1px;
}

.btn-xs .btn-label {
  padding: 1px 18px;
  right: -5px;
  border-radius: 0 1px 1px 0;
}

.btn-xs .btn-label.btn-label-right {
  right: auto;
  left: -5px;
  border-radius: 1px 0 0 1px;
}

.btn-fw {
  min-width: 120px;
}

.btn-fw.btn-sm {
  min-width: 80px;
}

.btn-fw.btn-lg {
  min-width: 150px;
}

/* ========================================================================
   Component: placeholder.less
 ========================================================================== */

.box-placeholder {
  margin-bottom: 12px;
  padding: 15px;
  border: 1px dashed #a0aab2;
  background: #f4f5f5;
  color: #444444;
}

.box-placeholder > :last-child {
  margin-bottom: 0;
}

.box-placeholder-lg {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* ========================================================================
   Component: panels.less
 ========================================================================== */

.panel {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}

.panel .panel-heading {
  border-bottom-width: 0;
}

.panel .panel-heading a {
  text-decoration: none !important;
}

.panel.panel-default .panel-heading {
  border-bottom-width: 1px;
}

.panel.panel-transparent {
  border: 0;
  background-color: transparent;
  box-shadow: 0 0 0 #000;
}

.panel.panel-transparent .panel-heading,
.panel.panel-transparent .panel-body {
  background-color: transparent;
  padding-right: 0;
  padding-left: 0;
}

.panel .table {
  margin-bottom: 0;
  border: 0;
}

.panel-flat {
  margin: 0 !important;
  border: 0;
}

.panel-group .panel-flat {
  box-shadow: 0 0 0 #000;
}

.panel-group .panel-flat:first-child {
  border-radius: 4px 4px 0 0;
}

.panel-group .panel-flat:last-child {
  border-radius: 0 0 4px 4px;
}

.panel-heading > .btn,
.panel-heading > .btn-group {
  margin-top: -5px;
}

.panel-heading > .btn-sm,
.panel-heading > .btn-group-sm {
  margin-top: -3px;
}

.panel-heading > .btn-xs,
.panel-heading > .btn-group-xs {
  margin-top: -1px;
}

.panel-heading > .label.pull-right {
  margin-top: 3px;
}

.panel-heading > .label.pull-right + .label.pull-right {
  margin-left: 10px;
}

.panel-footer .pagination {
  margin: 0;
}

.panel-footer .radial-bar {
  margin-bottom: 0;
}

.panel-footer p {
  margin-bottom: 0;
}

.panel-heading-active {
  background-color: #88bf57 !important;
  font-weight: bold;
  font-size: 16px;
}

.panel-heading-active > a {
  padding: 15px 0;
  color: #fff !important;
  -webkit-transition: padding 0.5s ease;
  -o-transition: padding 0.5s ease;
  transition: padding 0.5s ease;
}

.panel-heading-active + .panel-collapse:after {
  content: "";
  display: block;
  width: 60%;
  margin: 0 auto;
  height: 0;
  border-bottom: 1px solid #e1e2e3;
}

.panel-inverse {
  border-color: #e6e9ee;
}

.panel-inverse > .panel-heading {
  color: #ffffff;
  background-color: #363c47;
  border-color: #363c47;
}

.panel-inverse > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-inverse > .panel-heading .badge {
  color: #363c47;
  background-color: #ffffff;
}

.panel-inverse > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-turquoise {
  border-color: #e6e9ee;
}

.panel-turquoise > .panel-heading {
  color: #ffffff;
  background-color: #2fc8a6;
  border-color: #2fc8a6;
}

.panel-turquoise > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-turquoise > .panel-heading .badge {
  color: #2fc8a6;
  background-color: #ffffff;
}

.panel-turquoise > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-pink {
  border-color: #e6e9ee;
}

.panel-pink > .panel-heading {
  color: #ffffff;
  background-color: #f963bc;
  border-color: #f963bc;
}

.panel-pink > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-pink > .panel-heading .badge {
  color: #f963bc;
  background-color: #ffffff;
}

.panel-pink > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-purple {
  border-color: #e6e9ee;
}

.panel-purple > .panel-heading {
  color: #ffffff;
  background-color: #c29eff;
  border-color: #c29eff;
}

.panel-purple > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-purple > .panel-heading .badge {
  color: #c29eff;
  background-color: #ffffff;
}

.panel-purple > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

.panel-orange {
  border-color: #e6e9ee;
}

.panel-orange > .panel-heading {
  color: #ffffff;
  background-color: #f57035;
  border-color: #f57035;
}

.panel-orange > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}

.panel-orange > .panel-heading .badge {
  color: #f57035;
  background-color: #ffffff;
}

.panel-orange > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}

/* ========================================================================
   Component: progress-extra.less
 ========================================================================== */

.progress-sm {
  height: 15px;
}

.progress-xs {
  height: 8px;
}

.progress-bar-purple {
  background-color: #c29eff;
}

.progress-striped .progress-bar-purple {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-inverse {
  background-color: #363c47;
}

.progress-striped .progress-bar-inverse {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-turquoise {
  background-color: #2fc8a6;
}

.progress-striped .progress-bar-turquoise {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-pink {
  background-color: #f963bc;
}

.progress-striped .progress-bar-pink {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-0 {
  width: 0%;
}

.progress-10 {
  width: 10%;
}

.progress-20 {
  width: 20%;
}

.progress-30 {
  width: 30%;
}

.progress-40 {
  width: 40%;
}

.progress-50 {
  width: 50%;
}

.progress-60 {
  width: 60%;
}

.progress-70 {
  width: 70%;
}

.progress-80 {
  width: 80%;
}

.progress-90 {
  width: 90%;
}

.progress-100 {
  width: 100%;
}

/* ========================================================================
   Component: points.less
 ========================================================================== */

.point {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 500px;
  margin: 0 .5em;
  background-color: #a0aab2;
  vertical-align: baseline;
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.point.text-left {
  margin-right: 0;
}

.point.text-right {
  margin-left: 0;
}

.point-primary {
  background-color: #43a8eb;
}

.point-success {
  background-color: #88bf57;
}

.point-info {
  background-color: #8293b9;
}

.point-warning {
  background-color: #fdaf40;
}

.point-danger {
  background-color: #eb615f;
}

.point-turquoise {
  background-color: #2fc8a6;
}

.point-pink {
  background-color: #f963bc;
}

.point-inverse {
  background-color: #363c47;
}

.point-purple {
  background-color: #c29eff;
}

.point-sm {
  width: 5px;
  height: 5px;
}

.point-lg {
  width: 11px;
  height: 11px;
}

.point-xl {
  width: 18px;
  height: 18px;
}

.point-outline {
  background-color: transparent;
}

.point-outline.point-primary {
  border: 1px solid #43a8eb;
}

.point-outline.point-success {
  border: 1px solid #88bf57;
}

.point-outline.point-info {
  border: 1px solid #8293b9;
}

.point-outline.point-warning {
  border: 1px solid #fdaf40;
}

.point-outline.point-danger {
  border: 1px solid #eb615f;
}

.point-pin {
  position: relative;
}

.point-pin > .point {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
}

/* ========================================================================
   Component: timeline.less
 ========================================================================== */

.timeline,
.timeline-alt {
  list-style: none;
  padding: 0 0 10px;
  position: relative;
  margin: 0;
}

.timeline:before,
.timeline-alt:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 1px;
  background-color: #e6e9ee;
  right: 20px;
}

.timeline > li,
.timeline-alt > li {
  margin-bottom: 20px;
  position: relative;
  margin-top: 30px;
}

.timeline > li:before,
.timeline-alt > li:before,
.timeline > li:after,
.timeline-alt > li:after {
  content: " ";
  display: table;
}

.timeline > li:after,
.timeline-alt > li:after {
  clear: both;
}

.timeline > li:before,
.timeline-alt > li:before,
.timeline > li:after,
.timeline-alt > li:after {
  content: " ";
  display: table;
}

.timeline > li:after,
.timeline-alt > li:after {
  clear: both;
}

.timeline > li:first-child,
.timeline-alt > li:first-child {
  margin-top: 0;
}

.timeline > li.timeline-separator,
.timeline-alt > li.timeline-separator {
  position: relative;
}

.timeline > li.timeline-separator:before,
.timeline-alt > li.timeline-separator:before {
  content: attr(data-datetime);
  display: inline-block;
  min-width: 40px;
  text-align: center;
  padding: 0 18px;
  line-height: 28px;
  font-size: 11px;
  background-color: #e6e9ee;
  border-radius: 30px;
  margin-right: 40px;
}

.timeline > li.timeline-separator:after,
.timeline-alt > li.timeline-separator:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -5px;
  background-color: #e6e9ee;
  border-radius: 50%;
}

.timeline > li > .timeline-panel,
.timeline-alt > li > .timeline-panel {
  position: relative;
  margin-right: 50px;
}

.timeline > li > .timeline-panel .popover,
.timeline-alt > li > .timeline-panel .popover {
  position: relative;
  display: block;
  margin: 0;
  width: 100%;
  max-width: none;
}

.timeline > li > .timeline-panel .popover .arrow,
.timeline-alt > li > .timeline-panel .popover .arrow {
  display: none;
}

.timeline > li > .timeline-panel .popover .popover-content .popover-title,
.timeline-alt > li > .timeline-panel .popover .popover-content .popover-title {
  background-color: transparent;
  border: 0;
  padding-right: 0;
  padding-top: 0;
}

.timeline > li > .timeline-date,
.timeline-alt > li > .timeline-date {
  float: left;
  margin: -20px 0 0;
  display: block;
  height: 20px;
  line-height: 20px;
  font-size: 11px;
  color: #8394a9;
}

.timeline > li > .timeline-date > time:after,
.timeline-alt > li > .timeline-date > time:after {
  content: attr(datetime);
}

.timeline > li > .timeline-badge,
.timeline-alt > li > .timeline-badge {
  position: absolute;
  top: 0;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 500px;
  margin-right: -25px;
  line-height: 50px;
  font-size: 20px;
  text-align: center;
  color: #fff;
  z-index: 100;
}

.timeline > li > .timeline-badge.timeline-badge-sm,
.timeline-alt > li > .timeline-badge.timeline-badge-sm {
  width: 30px;
  height: 30px;
  margin-right: -15px;
  line-height: 30px;
  font-size: 12px;
}

.timeline-title {
  margin-top: 0;
  color: inherit;
}

.timeline-body > p,
.timeline-body > ul {
  margin-bottom: 0;
}

.timeline-body > p + p {
  margin-top: 5px;
}

@media only screen and (min-width: 992px) {
  .timeline:before {
    right: 50%;
    margin-right: 25px;
  }

  .timeline > li.timeline-separator {
    margin-right: 25px;
    text-align: center;
  }

  .timeline > li.timeline-separator:before {
    margin-right: 25px;
  }

  .timeline > li.timeline-separator:after {
    display: none;
  }

  .timeline > li > .timeline-badge {
    right: 50%;
    margin-right: 0;
  }

  .timeline > li > .timeline-date {
    float: none;
    position: absolute;
    width: 40%;
    right: 50%;
    top: 25px;
    margin-right: 75px;
    margin-top: -10px;
  }

  .timeline > li > .timeline-panel {
    float: right;
    margin: 0;
    width: 48%;
  }

  .timeline > li > .timeline-panel:before {
    border-right-width: 15px;
    border-left-width: 0;
    top: 26px;
    left: -15px;
    right: auto;
  }

  .timeline > li > .timeline-panel:after {
    border-right-width: 14px;
    border-left-width: 0;
    top: 27px;
    left: -14px;
    right: auto;
  }

  .timeline > li > .timeline-panel .popover .arrow {
    top: 25px;
    display: block;
  }

  .timeline > li.timeline-inverted > .timeline-panel {
    float: left;
    padding-right: 50px;
  }

  .timeline > li.timeline-inverted .timeline-date {
    right: auto;
    left: 50%;
    width: auto;
    margin-right: 0;
    margin-left: 50px;
  }
}

/* ========================================================================
   Component: dropdown-extras.less
 ========================================================================== */

.dropdown-lg > .dropdown-menu {
  min-width: 200px;
}

.navbar-nav .open .dropdown-menu {
  background-color: #fff;
}

.dropdown-list > .dropdown-menu {
  padding: 0;
  min-width: 220px;
}

.dropdown-list .list-group {
  margin: 0;
}

.dropdown-list .list-group-item {
  border-radius: 0;
  border-right: 0;
  border-left: 0;
}

.dropdown-list .list-group-item:first-child {
  border-top: 0;
}

.dropdown-list .list-group-item:last-child {
  border-bottom: 0;
}

.dropdown > a {
  position: relative;
}

.dropdown > a > .label {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 2px 5px;
}

@media only screen and (min-width: 768px) {
  .dropdown > a > .label {
    left: 0;
  }
}

.dropdown-menu-header {
  padding: 10px 15px;
  background-color: #fafafa;
  border-bottom: 1px solid #e1e1e1;
}

.dropdown-menu[offcanvas-dropdown] {
  position: relative;
  overflow: hidden;
}

.dropdown-menu[offcanvas-dropdown] .offcanvas-content {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  -webkit-transform: translate3d(-0, 0, 0);
  transform: translate3d(-0, 0, 0);
  background-color: #fff;
  overflow-y: auto;
  transition: all ease .2s;
  -webkit-transition: all ease .2s;
  z-index: 1;
  color: #585f69;
}

.dropdown-menu[offcanvas-dropdown] .offcanvas-content.ng-hide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.offcanvas-toggle {
  font-weight: bold;
  cursor: pointer;
}

/* ========================================================================
   Component: row-extra.less
 ========================================================================== */

.row-table {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
  margin: 0;
}

.row-table > [class*="col-"] {
  display: table-cell;
  float: none;
  table-layout: fixed;
  vertical-align: middle;
}

.row-flush > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

/* ========================================================================
   Component: masonry-grid.less
 ========================================================================== */

.row-masonry {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}

.row-masonry > .col-masonry {
  display: inline-block;
  width: 100%;
  min-height: 1em;
  margin-bottom: 15px;
}

/* Columns definition by devices */

@media only screen and (min-width: 480px) {
  .row-masonry-sm-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }

  .no-csscolumns .row-masonry-sm-1 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }

  .row-masonry-sm-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }

  .no-csscolumns .row-masonry-sm-2 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }

  .row-masonry-sm-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }

  .no-csscolumns .row-masonry-sm-3 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }

  .row-masonry-sm-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }

  .no-csscolumns .row-masonry-sm-4 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }

  .row-masonry-sm-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }

  .no-csscolumns .row-masonry-sm-5 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }

  .row-masonry-sm-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }

  .no-csscolumns .row-masonry-sm-6 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }

  .row-masonry-sm-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }

  .no-csscolumns .row-masonry-sm-7 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }

  .row-masonry-sm-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }

  .no-csscolumns .row-masonry-sm-8 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }

  .row-masonry-sm-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }

  .no-csscolumns .row-masonry-sm-9 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }

  .row-masonry-sm-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }

  .no-csscolumns .row-masonry-sm-10 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }

  .row-masonry-sm-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }

  .no-csscolumns .row-masonry-sm-11 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }

  .row-masonry-sm-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }

  .no-csscolumns .row-masonry-sm-12 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-sm-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-sm-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}

@media only screen and (min-width: 768px) {
  .row-masonry-md-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }

  .no-csscolumns .row-masonry-md-1 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }

  .row-masonry-md-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }

  .no-csscolumns .row-masonry-md-2 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }

  .row-masonry-md-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }

  .no-csscolumns .row-masonry-md-3 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }

  .row-masonry-md-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }

  .no-csscolumns .row-masonry-md-4 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }

  .row-masonry-md-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }

  .no-csscolumns .row-masonry-md-5 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }

  .row-masonry-md-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }

  .no-csscolumns .row-masonry-md-6 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }

  .row-masonry-md-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }

  .no-csscolumns .row-masonry-md-7 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }

  .row-masonry-md-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }

  .no-csscolumns .row-masonry-md-8 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }

  .row-masonry-md-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }

  .no-csscolumns .row-masonry-md-9 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }

  .row-masonry-md-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }

  .no-csscolumns .row-masonry-md-10 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }

  .row-masonry-md-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }

  .no-csscolumns .row-masonry-md-11 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }

  .row-masonry-md-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }

  .no-csscolumns .row-masonry-md-12 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-md-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-md-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}

@media only screen and (min-width: 992px) {
  .row-masonry-lg-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }

  .no-csscolumns .row-masonry-lg-1 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }

  .row-masonry-lg-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }

  .no-csscolumns .row-masonry-lg-2 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }

  .row-masonry-lg-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }

  .no-csscolumns .row-masonry-lg-3 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }

  .row-masonry-lg-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }

  .no-csscolumns .row-masonry-lg-4 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }

  .row-masonry-lg-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }

  .no-csscolumns .row-masonry-lg-5 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }

  .row-masonry-lg-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }

  .no-csscolumns .row-masonry-lg-6 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }

  .row-masonry-lg-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }

  .no-csscolumns .row-masonry-lg-7 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }

  .row-masonry-lg-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }

  .no-csscolumns .row-masonry-lg-8 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }

  .row-masonry-lg-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }

  .no-csscolumns .row-masonry-lg-9 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }

  .row-masonry-lg-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }

  .no-csscolumns .row-masonry-lg-10 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }

  .row-masonry-lg-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }

  .no-csscolumns .row-masonry-lg-11 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }

  .row-masonry-lg-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }

  .no-csscolumns .row-masonry-lg-12 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-lg-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-lg-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}

@media only screen and (min-width: 1200px) {
  .row-masonry-xl-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }

  .no-csscolumns .row-masonry-xl-1 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }

  .row-masonry-xl-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }

  .no-csscolumns .row-masonry-xl-2 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }

  .row-masonry-xl-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }

  .no-csscolumns .row-masonry-xl-3 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }

  .row-masonry-xl-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }

  .no-csscolumns .row-masonry-xl-4 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }

  .row-masonry-xl-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }

  .no-csscolumns .row-masonry-xl-5 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }

  .row-masonry-xl-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }

  .no-csscolumns .row-masonry-xl-6 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }

  .row-masonry-xl-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }

  .no-csscolumns .row-masonry-xl-7 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }

  .row-masonry-xl-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }

  .no-csscolumns .row-masonry-xl-8 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }

  .row-masonry-xl-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }

  .no-csscolumns .row-masonry-xl-9 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }

  .row-masonry-xl-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }

  .no-csscolumns .row-masonry-xl-10 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }

  .row-masonry-xl-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }

  .no-csscolumns .row-masonry-xl-11 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }

  .row-masonry-xl-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }

  .no-csscolumns .row-masonry-xl-12 {
    text-align: justify;
  }

  .no-csscolumns .row-masonry-xl-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }

  .no-csscolumns .row-masonry-xl-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}

/* ========================================================================
   Component: typeahead.less
 ========================================================================== */

.typeahead-ctrl .dropdown-menu {
  max-height: 300px;
  overflow: auto;
}

/* ========================================================================
   Component: animate.less
 ========================================================================== */

[ui-view].ng-leave {
  display: none;
}

[ui-view].ng-leave.ng-fluid {
  display: block;
}

.ng-fluid.ng-animate {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ng-fadeInLeft2.ng-enter {
  -webkit-animation: fadeInLeft2 0.35s;
  -o-animation: fadeInLeft2 0.35s;
  animation: fadeInLeft2 0.35s;
}

.ng-fadeInLeft2.ng-leave {
  -webkit-animation: fadeOutRight 0.35s;
  -o-animation: fadeOutRight 0.35s;
  animation: fadeOutRight 0.35s;
}

.ng-fadeIn.ng-enter {
  -webkit-animation: fadeIn 0.35s;
  -o-animation: fadeIn 0.35s;
  animation: fadeIn 0.35s;
}

.ng-fadeIn.ng-leave {
  -webkit-animation: fadeOut 0.35s;
  -o-animation: fadeOut 0.35s;
  animation: fadeOut 0.35s;
}

.ng-fadeInUp.ng-enter {
  -webkit-animation: fadeInUp 0.35s;
  -o-animation: fadeInUp 0.35s;
  animation: fadeInUp 0.35s;
}

.ng-fadeInUp.ng-leave {
  -webkit-animation: fadeOutDown 0.35s;
  -o-animation: fadeOutDown 0.35s;
  animation: fadeOutDown 0.35s;
}

.ng-fadeInDown.ng-enter {
  -webkit-animation: fadeInDown 0.35s;
  -o-animation: fadeInDown 0.35s;
  animation: fadeInDown 0.35s;
}

.ng-fadeInDown.ng-leave {
  -webkit-animation: fadeOutUp 0.35s;
  -o-animation: fadeOutUp 0.35s;
  animation: fadeOutUp 0.35s;
}

.ng-fadeInRight.ng-enter {
  -webkit-animation: fadeInRight 0.35s;
  -o-animation: fadeInRight 0.35s;
  animation: fadeInRight 0.35s;
}

.ng-fadeInRight.ng-leave {
  -webkit-animation: fadeOutLeft 0.35s;
  -o-animation: fadeOutLeft 0.35s;
  animation: fadeOutLeft 0.35s;
}

.ng-fadeInLeft.ng-enter {
  -webkit-animation: fadeInLeft 0.35s;
  -o-animation: fadeInLeft 0.35s;
  animation: fadeInLeft 0.35s;
}

.ng-fadeInLeft.ng-leave {
  -webkit-animation: fadeOutRight 0.35s;
  -o-animation: fadeOutRight 0.35s;
  animation: fadeOutRight 0.35s;
}

.ng-fadeInUpBig.ng-enter {
  -webkit-animation: fadeInDownBig 0.35s;
  -o-animation: fadeInDownBig 0.35s;
  animation: fadeInDownBig 0.35s;
}

.ng-fadeInUpBig.ng-leave {
  -webkit-animation: fadeOutDownBig 0.35s;
  -o-animation: fadeOutDownBig 0.35s;
  animation: fadeOutDownBig 0.35s;
}

.ng-fadeInDownBig.ng-enter {
  -webkit-animation: fadeInUpBig 0.35s;
  -o-animation: fadeInUpBig 0.35s;
  animation: fadeInUpBig 0.35s;
}

.ng-fadeInDownBig.ng-leave {
  -webkit-animation: fadeOutUpBig 0.35s;
  -o-animation: fadeOutUpBig 0.35s;
  animation: fadeOutUpBig 0.35s;
}

.ng-fadeInRightBig.ng-enter {
  -webkit-animation: fadeInRightBig 0.35s;
  -o-animation: fadeInRightBig 0.35s;
  animation: fadeInRightBig 0.35s;
}

.ng-fadeInRightBig.ng-leave {
  -webkit-animation: fadeOutLeftBig 0.35s;
  -o-animation: fadeOutLeftBig 0.35s;
  animation: fadeOutLeftBig 0.35s;
}

.ng-fadeInLeftBig.ng-enter {
  -webkit-animation: fadeInLeftBig 0.35s;
  -o-animation: fadeInLeftBig 0.35s;
  animation: fadeInLeftBig 0.35s;
}

.ng-fadeInLeftBig.ng-leave {
  -webkit-animation: fadeOutRightBig 0.35s;
  -o-animation: fadeOutRightBig 0.35s;
  animation: fadeOutRightBig 0.35s;
}

.ng-fadeOutZoom.ng-enter {
  -webkit-animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
  animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.ng-fadeOutZoom.ng-leave {
  -webkit-animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
  animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.fadeInLeft2 {
  -webkit-animation-name: fadeInLeft2;
  animation-name: fadeInLeft2;
}

@-webkit-keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: ;
    transform: ;
  }
}

@keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    -ms-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: ;
    -ms-transform: ;
    transform: ;
  }
}

/* ========================================================================
   Component: loading-bar.less
 ========================================================================== */

/*
 * angular-loading-bar v0.6.0 * https://chieffancypants.github.io/angular-loading-bar
 * Copyright (c) 2014 Wes Cruver * License: MIT
 */

#loading-bar {
  position: absolute;
  z-index: 90002;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
}

.layout-fixed #loading-bar {
  top: 60px;
}

/* Make clicks pass-through */

#loading-bar,
#loading-bar-spinner {
  pointer-events: none;
  -webkit-pointer-events: none;
  -webkit-transition: 350ms linear all;
  -moz-transition: 350ms linear all;
  -o-transition: 350ms linear all;
  transition: 350ms linear all;
}

#loading-bar.ng-enter,
#loading-bar.ng-leave.ng-leave-active,
#loading-bar-spinner.ng-enter,
#loading-bar-spinner.ng-leave.ng-leave-active {
  opacity: 0;
}

#loading-bar.ng-enter.ng-enter-active,
#loading-bar.ng-leave,
#loading-bar-spinner.ng-enter.ng-enter-active,
#loading-bar-spinner.ng-leave {
  opacity: 1;
}

#loading-bar .bar {
  height: 100%;
  width: 100%;
  -webkit-transition: width 350ms;
  -moz-transition: width 350ms;
  -o-transition: width 350ms;
  transition: width 350ms;
  background: #8293b9;
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}

/* Fancy blur effect */

#loading-bar .peg {
  position: absolute;
  width: 70px;
  left: 0;
  top: 0;
  height: 2px;
  opacity: .45;
  -moz-box-shadow: #8293b9 1px 0 6px 1px;
  -ms-box-shadow: #8293b9 1px 0 6px 1px;
  -webkit-box-shadow: #8293b9 1px 0 6px 1px;
  box-shadow: #8293b9 1px 0 6px 1px;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
}

#loading-bar-spinner {
  display: block;
  position: fixed;
  z-index: 90002;
  top: 10px;
  right: 10px;
}

#loading-bar-spinner .spinner-icon {
  width: 14px;
  height: 14px;
  border: solid 2px transparent;
  border-top-color: #8293b9;
  border-right-color: #8293b9;
  border-radius: 10px;
  -webkit-animation: loading-bar-spinner 400ms linear infinite;
  -moz-animation: loading-bar-spinner 400ms linear infinite;
  -ms-animation: loading-bar-spinner 400ms linear infinite;
  -o-animation: loading-bar-spinner 400ms linear infinite;
  animation: loading-bar-spinner 400ms linear infinite;
}

@-webkit-keyframes loading-bar-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes loading-bar-spinner {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-o-keyframes loading-bar-spinner {
  0% {
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-ms-keyframes loading-bar-spinner {
  0% {
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading-bar-spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* ========================================================================
   Component: form-validation.less
   (http://mdo.github.io/table-grid)
 ========================================================================== */

@media only screen and (min-width: 768px) {
  .table-grid {
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
  }

  .col {
    display: table-cell;
    vertical-align: top;
    height: 100%;
  }

  .col.col-full-center {
    vertical-align: middle;
  }

  .col-1 {
    width: 8.333333%;
  }

  .col-2 {
    width: 16.666667%;
  }

  .col-3 {
    width: 25%;
  }

  .col-4 {
    width: 33.333333%;
  }

  .col-5 {
    width: 41.666667%;
  }

  .col-6 {
    width: 50%;
  }

  .col-7 {
    width: 58.333333%;
  }

  .col-8 {
    width: 66.666667%;
  }

  .col-9 {
    width: 75%;
  }

  .col-10 {
    width: 83.333333%;
  }

  .col-11 {
    width: 91.666667%;
  }

  .col-12 {
    width: 100%;
  }

  .table-grid-padded {
    margin-right: -1rem;
    margin-left: -1rem;
  }

  .table-grid-padded .table-grid {
    border-spacing: 1rem 0;
  }

  .table-grid-align-middle .col {
    vertical-align: middle;
  }
}

.palette {
  background-color: #fff;
  padding: 10px 10px 15px 10px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0px 2px 0px #e2e8eb;
  -moz-box-shadow: 0px 2px 0px #e2e8eb;
  -ms-box-shadow: 0px 2px 0px #e2e8eb;
  -o-box-shadow: 0px 2px 0px #e2e8eb;
  box-shadow: 0px 2px 0px #e2e8eb;
  margin: 30px 0;
  max-width: 100%;
}

.color {
  height: 140px;
}

.info {
  margin-right: 0;
  margin-top: 10px;
  margin-bottom: -5px;
  font-size: 15px;
  font-weight: bold;
  font-family: "AvenirNextLTProBold", "Lucida Grande", Arial, sans-serif;
  position: relative;
}

.info li {
  list-style: none;
  display: block;
}

.info span {
  font-size: 24px;
  position: absolute;
  top: 50%;
  margin-top: -17px;
  color: #839199;
}

.info .clipboard {
  left: 0;
  cursor: pointer;
}

.info .icon-globe {
  left: 30px;
}

.info li:nth-child(1) {
  text-transform: uppercase;
  color: #414b55;
}

.info li:nth-child(2) {
  text-transform: lowercase;
  color: #839199;
}

/* ========================================================================
   Component: chat.less
 ========================================================================== */

.chat {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 6px;
}

.chat li {
  margin-bottom: 10px;
  padding-bottom: 5px;
}

.chat li .chat-body {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  border: 1px solid #e6e9ee;
}

.chat li .chat-body p {
  margin: 0;
  color: #8394a9;
}

.chat li .chat-header {
  padding: 10px;
}

.chat li .chat-msg {
  padding: 10px;
  border-radius: 2px;
}

.chat li.left .chat-body {
  margin-right: 60px;
}

.chat li.right .chat-body {
  margin-left: 60px;
}

.panel .slidedown .glyphicon,
.chat .glyphicon {
  margin-left: 5px;
}

.btn-switch {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.btn-switch > input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  right: -100%;
  top: -100%;
}

.btn-switch > input[type="checkbox"] + .btn {
  background-color: transparent;
  border-color: #43a8eb;
  color: #43a8eb;
  text-align: right;
}

.btn-switch > input[type="checkbox"] + .btn > em {
  position: relative;
  top: -1px;
  margin-left: 2px;
  display: inline-block;
  border: 1px solid #43a8eb;
  border-radius: 50%;
  padding: 2.5px;
  margin: 0 0 0 4px;
  font-size: 10px;
  text-align: center;
}

.btn-switch > input[type="checkbox"] + .btn > em:before {
  position: relative;
  top: 1px;
  opacity: 0;
}

.btn-switch > input[type="checkbox"]:checked + .btn {
  background-color: #43a8eb;
  color: #fff;
}

.btn-switch > input[type="checkbox"]:checked + .btn > em {
  background-color: #fff;
  color: #43a8eb;
}

.btn-switch > input[type="checkbox"]:checked + .btn > em:before {
  opacity: 1;
}

.btn-switch-primary > input[type="checkbox"] + .btn {
  border-color: #43a8eb;
  color: #43a8eb !important;
}

.btn-switch-primary > input[type="checkbox"] + .btn > em {
  border-color: #43a8eb;
}

.btn-switch-primary > input[type="checkbox"]:checked + .btn {
  background-color: #43a8eb;
  color: #fff !important;
}

.btn-switch-primary > input[type="checkbox"]:checked + .btn > em {
  color: #43a8eb !important;
}

.btn-switch-success > input[type="checkbox"] + .btn {
  border-color: #88bf57;
  color: #88bf57 !important;
}

.btn-switch-success > input[type="checkbox"] + .btn > em {
  border-color: #88bf57;
}

.btn-switch-success > input[type="checkbox"]:checked + .btn {
  background-color: #88bf57;
  color: #fff !important;
}

.btn-switch-success > input[type="checkbox"]:checked + .btn > em {
  color: #88bf57 !important;
}

.btn-switch-info > input[type="checkbox"] + .btn {
  border-color: #8293b9;
  color: #8293b9 !important;
}

.btn-switch-info > input[type="checkbox"] + .btn > em {
  border-color: #8293b9;
}

.btn-switch-info > input[type="checkbox"]:checked + .btn {
  background-color: #8293b9;
  color: #fff !important;
}

.btn-switch-info > input[type="checkbox"]:checked + .btn > em {
  color: #8293b9 !important;
}

.btn-switch-warning > input[type="checkbox"] + .btn {
  border-color: #fdaf40;
  color: #fdaf40 !important;
}

.btn-switch-warning > input[type="checkbox"] + .btn > em {
  border-color: #fdaf40;
}

.btn-switch-warning > input[type="checkbox"]:checked + .btn {
  background-color: #fdaf40;
  color: #fff !important;
}

.btn-switch-warning > input[type="checkbox"]:checked + .btn > em {
  color: #fdaf40 !important;
}

.btn-switch-danger > input[type="checkbox"] + .btn {
  border-color: #eb615f;
  color: #eb615f !important;
}

.btn-switch-danger > input[type="checkbox"] + .btn > em {
  border-color: #eb615f;
}

.btn-switch-danger > input[type="checkbox"]:checked + .btn {
  background-color: #eb615f;
  color: #fff !important;
}

.btn-switch-danger > input[type="checkbox"]:checked + .btn > em {
  color: #eb615f !important;
}

.btn-switch-inverse > input[type="checkbox"] + .btn {
  border-color: #363c47;
  color: #363c47 !important;
}

.btn-switch-inverse > input[type="checkbox"] + .btn > em {
  border-color: #363c47;
}

.btn-switch-inverse > input[type="checkbox"]:checked + .btn {
  background-color: #363c47;
  color: #fff !important;
}

.btn-switch-inverse > input[type="checkbox"]:checked + .btn > em {
  color: #363c47 !important;
}

.btn-switch-turquoise > input[type="checkbox"] + .btn {
  border-color: #2fc8a6;
  color: #2fc8a6 !important;
}

.btn-switch-turquoise > input[type="checkbox"] + .btn > em {
  border-color: #2fc8a6;
}

.btn-switch-turquoise > input[type="checkbox"]:checked + .btn {
  background-color: #2fc8a6;
  color: #fff !important;
}

.btn-switch-turquoise > input[type="checkbox"]:checked + .btn > em {
  color: #2fc8a6 !important;
}

.btn-switch-pink > input[type="checkbox"] + .btn {
  border-color: #f963bc;
  color: #f963bc !important;
}

.btn-switch-pink > input[type="checkbox"] + .btn > em {
  border-color: #f963bc;
}

.btn-switch-pink > input[type="checkbox"]:checked + .btn {
  background-color: #f963bc;
  color: #fff !important;
}

.btn-switch-pink > input[type="checkbox"]:checked + .btn > em {
  color: #f963bc !important;
}

.btn-switch-purple > input[type="checkbox"] + .btn {
  border-color: #c29eff;
  color: #c29eff !important;
}

.btn-switch-purple > input[type="checkbox"] + .btn > em {
  border-color: #c29eff;
}

.btn-switch-purple > input[type="checkbox"]:checked + .btn {
  background-color: #c29eff;
  color: #fff !important;
}

.btn-switch-purple > input[type="checkbox"]:checked + .btn > em {
  color: #c29eff !important;
}

.btn-switch-orange > input[type="checkbox"] + .btn {
  border-color: #f57035;
  color: #f57035 !important;
}

.btn-switch-orange > input[type="checkbox"] + .btn > em {
  border-color: #f57035;
}

.btn-switch-orange > input[type="checkbox"]:checked + .btn {
  background-color: #f57035;
  color: #fff !important;
}

.btn-switch-orange > input[type="checkbox"]:checked + .btn > em {
  color: #f57035 !important;
}

/* ========================================================================
   Component: feather-icons.less
 ========================================================================== */

.icon-eye,
.icon-paper-clip,
.icon-mail,
.icon-toggle,
.icon-layout,
.icon-link,
.icon-bell,
.icon-lock,
.icon-unlock,
.icon-ribbon,
.icon-image,
.icon-signal,
.icon-target,
.icon-clipboard,
.icon-clock,
.icon-clock,
.icon-watch,
.icon-air-play,
.icon-camera,
.icon-video,
.icon-disc,
.icon-printer,
.icon-monitor,
.icon-server,
.icon-cog,
.icon-heart,
.icon-paragraph,
.icon-align-justify,
.icon-align-left,
.icon-align-center,
.icon-align-right,
.icon-book,
.icon-layers,
.icon-stack,
.icon-stack-2,
.icon-paper,
.icon-paper-stack,
.icon-search,
.icon-zoom-in,
.icon-zoom-out,
.icon-reply,
.icon-circle-plus,
.icon-circle-minus,
.icon-circle-check,
.icon-circle-cross,
.icon-square-plus,
.icon-square-minus,
.icon-square-check,
.icon-square-cross,
.icon-microphone,
.icon-record,
.icon-skip-back,
.icon-rewind,
.icon-play,
.icon-pause,
.icon-stop,
.icon-fast-forward,
.icon-skip-forward,
.icon-shuffle,
.icon-repeat,
.icon-folder,
.icon-umbrella,
.icon-moon,
.icon-thermometer,
.icon-drop,
.icon-sun,
.icon-cloud,
.icon-cloud-upload,
.icon-cloud-download,
.icon-upload,
.icon-download,
.icon-location,
.icon-location-2,
.icon-map,
.icon-battery,
.icon-head,
.icon-briefcase,
.icon-speech-bubble,
.icon-anchor,
.icon-globe,
.icon-box,
.icon-reload,
.icon-share,
.icon-marquee,
.icon-marquee-plus,
.icon-marquee-minus,
.icon-tag,
.icon-power,
.icon-command,
.icon-alt,
.icon-esc,
.icon-bar-graph,
.icon-bar-graph-2,
.icon-pie-graph,
.icon-star,
.icon-arrow-left,
.icon-arrow-right,
.icon-arrow-up,
.icon-arrow-down,
.icon-volume,
.icon-mute,
.icon-content-right,
.icon-content-left,
.icon-grid,
.icon-grid-2,
.icon-columns,
.icon-loader,
.icon-bag,
.icon-ban,
.icon-flag,
.icon-trash,
.icon-expand,
.icon-contract,
.icon-maximize,
.icon-minimize,
.icon-plus,
.icon-minus,
.icon-check,
.icon-cross,
.icon-move,
.icon-delete,
.icon-menu,
.icon-archive,
.icon-inbox,
.icon-outbox,
.icon-file,
.icon-file-add,
.icon-file-subtract,
.icon-help,
.icon-open,
.icon-ellipsis {
  font-size: 15px;
  text-rendering: auto;
}

/* ========================================================================
   Component: calendar.less
 ========================================================================== */

.calendar-app .fc-button {
  color: #a0aab2 !important;
  background-color: #ffffff;
  border-color: #e6e9ee;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
  height: auto;
  background-image: none;
}

.calendar-app .fc-button:hover,
.calendar-app .fc-button:focus,
.calendar-app .fc-button.focus,
.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.open > .dropdown-toggle.calendar-app .fc-button {
  color: #a0aab2 !important;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}

.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.open > .dropdown-toggle.calendar-app .fc-button {
  background-image: none;
}

.calendar-app .fc-button.disabled,
.calendar-app .fc-button[disabled],
fieldset[disabled] .calendar-app .fc-button,
.calendar-app .fc-button.disabled:hover,
.calendar-app .fc-button[disabled]:hover,
fieldset[disabled] .calendar-app .fc-button:hover,
.calendar-app .fc-button.disabled:focus,
.calendar-app .fc-button[disabled]:focus,
fieldset[disabled] .calendar-app .fc-button:focus,
.calendar-app .fc-button.disabled.focus,
.calendar-app .fc-button[disabled].focus,
fieldset[disabled] .calendar-app .fc-button.focus,
.calendar-app .fc-button.disabled:active,
.calendar-app .fc-button[disabled]:active,
fieldset[disabled] .calendar-app .fc-button:active,
.calendar-app .fc-button.disabled.active,
.calendar-app .fc-button[disabled].active,
fieldset[disabled] .calendar-app .fc-button.active {
  background-color: #ffffff;
  border-color: #e6e9ee;
}

.calendar-app .fc-button .badge {
  color: #ffffff;
  background-color: #a0aab2;
}

.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.calendar-app .fc-button.fc-state-active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.calendar-app .fc-event {
  border: 1px solid #8293b9;
  background-color: #8293b9;
  color: #fff;
}

.calendar-app .fc-button .fc-icon {
  margin: 0 .1em;
  font-size: inherit;
  font-family: FontAwesome !important;
  vertical-align: baseline;
  color: #555;
}

.calendar-app .fc-button .fc-icon:after {
  display: none;
}

.calendar-app .fc-button .fc-icon.fc-icon-right-single-arrow:before {
  content: "\f105";
}

.calendar-app .fc-button .fc-icon.fc-icon-left-single-arrow:before {
  content: "\f104";
}

.calendar-app .fc-state-highlight,
.calendar-app .fc-day:hover,
.calendar-app .fc-unthemed .fc-today {
  background-color: #f4f5f5;
}

.calendar-app .fc-cell-overlay {
  background-color: rgba(67, 168, 235, 0.7);
}

.calendar-app .fc-day-number {
  font-size: 18px;
  font-weight: bold;
  color: #a1a2a3;
}

.calendar-app .fc-view {
  overflow: visible;
}

.calendar-app .external-events {
  margin: 0;
}

.calendar-app .external-events > div {
  display: inline-block;
  margin-left: 5px;
  margin-bottom: 5px;
  padding: 6px 10px;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
}

.calendar-app .external-events:empty {
  content: "EMRTPUY";
}

.calendar-app .external-events-trash {
  position: relative;
  min-height: 120px;
}

.calendar-app .external-events-trash:after {
  content: "\f00d";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: #363c47;
  opacity: 0;
  font-family: FontAwesome;
  color: #fff;
  text-align: center;
  font-size: 50px;
  padding: 8%;
  max-height: 100%;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: -1;
}

.calendar-app .external-events-trash.active:after {
  opacity: 1;
  z-index: 1;
}

.calendar-app .external-events-trash.hovered:after {
  background-color: #fb797e;
}

.calendar-app .external-event-color-selector .circle.selected {
  border: 3px solid rgba(255, 255, 255, 0.5);
}

/* ========================================================================
   Component: portlets.less
 ========================================================================== */

[portlet] {
  min-height: 30px;
}

[portlet].portlet-handler,
[portlet] .portlet-handler {
  cursor: move;
}

.portlets-wrapper {
  margin-left: auto;
  margin-right: auto;
  padding-right: 15px;
  padding-left: 15px;
  overflow: auto;
}

.portlet.box-placeholder {
  padding: 0;
}

/* ========================================================================
   Component: tasks.less
 ========================================================================== */

.task .task-item-list {
  position: relative;
}

.task .task-item {
  -webkit-transition: color 0.6s, background-color 0.3s;
  -o-transition: color 0.6s, background-color 0.3s;
  transition: color 0.6s, background-color 0.3s;
}

.task .task-item .panel-heading {
  padding: 20px 10px;
}

.task .task-item.ng-enter {
  -webkit-animation: fadeInLeft 1s;
  -o-animation: fadeInLeft 1s;
  animation: fadeInLeft 1s;
}

.task .task-item.ng-leave {
  position: absolute;
  right: 0;
  left: 0;
  -webkit-animation: fadeOutRightBig 0.5s;
  -o-animation: fadeOutRightBig 0.5s;
  animation: fadeOutRightBig 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.task .task-item .task-edit {
  display: none;
  cursor: pointer;
}

.task .task-item:hover .task-edit {
  display: inline;
}

.task .task-item.task-complete .task-edit {
  display: none;
}

.task textarea {
  resize: none;
  max-width: 100%;
  min-width: 100%;
}

.task .task-complete {
  background: #f4f5f5;
  opacity: .6;
  color: #2b3d51;
}

.task .task-complete .task-title {
  text-decoration: line-through;
}

.task .panel-group > .panel {
  border: 1px;
  margin: 0;
}

.task .panel-group > .panel .panel-body {
  border-bottom: 1px solid #f4f5f5;
}

/* ========================================================================
   Component: mailbox.less
 ========================================================================== */

.mb-boxes {
  height: 0;
  overflow: hidden;
  margin: 0;
  padding-bottom: 20px;
}

@media only screen and (min-width: 1200px) {
  .mb-boxes {
    height: auto !important;
    display: block;
    visibility: visible;
  }
}

.mb-boxes a {
  border-radius: 0;
  color: #a0aab2;
  background-color: transparent;
  border-right: 2px solid transparent;
}

.mb-boxes a:hover,
.mb-boxes a:focus {
  background-color: #f4f5f5;
  color: #515d6e;
  border-right: 2px solid #f4f5f5;
}

.mb-boxes a.active,
.mb-boxes a.active:hover,
.mb-boxes a.active:focus {
  color: #515d6e;
  border-color: transparent;
  background-color: transparent;
}

.mb-mails-responsive {
  max-width: 100%;
  overflow: auto;
}

.mb-mails > tbody > tr > td {
  border-top: 1px solid #e6e9ee;
}

.mb-mails .mb-mail-active {
  background-color: #f7f8f9 !important;
}

.mb-mails .mb-mail-date {
  display: block;
  float: left;
  color: #8394a9;
  font-size: 12px;
  font-weight: bold;
}

.mb-mails .mb-mail-from {
  display: block;
  color: #2b3d51;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
}

.mb-mails .mb-mail-subject {
  color: #2b3d51;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.8;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 .2em;
  overflow: hidden;
  vertical-align: bottom;
  padding: 0;
  max-width: 28ch;
}

.mb-mails .mb-mail-preview {
  clear: both;
  margin-top: 10px;
  color: #8394a9;
}

.mb-mails .mb-unread {
  background-color: #f4f5f5;
}

.mb-panel {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mb-panel > .mb-panel-inner {
  position: relative;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(-0, 0, 0);
  transform: translate3d(-0, 0, 0);
  -webkit-transition: -webkit-transform 0.3s ease;
  -moz-transition: -moz-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
}

.mb-panel > .mb-panel-inner:before,
.mb-panel > .mb-panel-inner:after {
  content: " ";
  display: table;
}

.mb-panel > .mb-panel-inner:after {
  clear: both;
}

.mb-panel > .mb-panel-inner:before,
.mb-panel > .mb-panel-inner:after {
  content: " ";
  display: table;
}

.mb-panel > .mb-panel-inner:after {
  clear: both;
}

.mb-panel > .mb-panel-inner > .mb-panel-content {
  position: absolute;
  top: 0;
  right: 100%;
  left: 0;
}

@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-content {
    position: static;
    padding-right: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-list {
    border-left: 1px solid #e6e9ee;
    padding-left: 15px;
    border-right: 1px solid #e6e9ee;
    padding-right: 15px;
  }
}

.mb-panel > .mb-panel-inner > .mb-panel-list,
.mb-panel > .mb-panel-inner > .mb-panel-content {
  float: right;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-list {
    width: 40%;
  }

  .mb-panel > .mb-panel-inner > .mb-panel-content {
    width: 60%;
  }
}

.mb-panel > .mb-panel-inner.mb-content-open {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.mb-panel .mb-panel-back {
  display: inline-block;
  margin: 10px 0 20px 0;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  color: #8394a9;
}

@media only screen and (min-width: 768px) {
  .mb-panel .mb-panel-back {
    display: none;
  }
}

.mb-panel-content > h3 {
  font-weight: 600;
  margin-top: 0;
  font-size: 30px;
}

.mb-panel-content .mb-panel-form .mb-panel-form-reply {
  min-height: 120px;
  border-color: transparent;
  -webkit-transition: border-color 0.3s ease;
  -o-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}

.mb-panel-content .mb-panel-form .mb-panel-form-reply:focus {
  border-color: #a0aab2;
}

.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open {
  -webkit-transform: translate3d(-0, 0, 0);
  transform: translate3d(-0, 0, 0);
}

.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open > .mb-panel-content {
  right: 0;
}

.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open > .mb-panel-list {
  position: relative;
  visibility: hidden;
  z-index: -1;
}

/* ========================================================================
   Component: chart-flot.less
 ========================================================================== */

flot {
  display: block;
  width: 100%;
}

flot .legend > table {
  top: 0 !important;
}

flot .legend > table tr td {
  padding: 3px;
}

flot .legend > table tr td:first-child {
  padding-right: 3px;
}

flot .legend > table tr td:last-child {
  padding-left: 3px;
}

flot .legend > table tr + tr td {
  padding-top: 0;
}

flot .legend > div:first-child {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

flot .legend .legendColorBox > div {
  border-radius: 50%;
  padding: 0 !important;
}

flot .legend .legendColorBox > div > div {
  width: 5px !important;
  border-width: 6px !important;
  opacity: .35;
  border-radius: 50%;
}

.flot-chart-content {
  width: 100%;
  height: 100%;
}

.flot-pie-label {
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  color: #fff;
}

#flotTip {
  position: relative;
  padding: 5px;
  font-size: 12px !important;
  border-radius: 2px !important;
  border-color: transparent !important;
  background-color: rgba(0, 0, 0, 0.75) !important;
  color: #f1f1f1;
  z-index: 5;
}

/* ========================================================================
   Component: form-extras.less
 ========================================================================== */

/**
 * Custom form element
 *    - Rounded inputs
 */

.form-control-rounded {
  border-radius: 100px;
}

.form-control-feedback {
  top: 10px;
}

.input-sm + .form-control-feedback {
  top: 0;
}

.input-md {
  width: 260px;
}

/* ========================================================================
   Component: form-validation.less
 ========================================================================== */

.form-validate .form-control.ng-dirty.ng-invalid {
  border-color: #eb615f;
}

.form-validate .form-control.ng-dirty.ng-valid,
.form-validate .form-control.ng-dirty.ng-valid:focus {
  border-color: #88bf57;
}

/* ========================================================================
   Component: form-wizard.less
 ========================================================================== */

.steps-bar {
  margin-bottom: 30px;
  overflow: hidden;
  counter-reset: step;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.steps-bar > li {
  display: table-cell;
  list-style-type: none;
  text-transform: uppercase;
  font-size: 10px;
  position: relative;
  text-align: center;
  /* paint the steps progress */
}

.steps-bar > li > span {
  cursor: pointer;
}

.steps-bar > li:before {
  content: counter(step);
  position: relative;
  counter-increment: step;
  width: 30px;
  line-height: 30px;
  display: block;
  font-size: 14px;
  color: #333;
  background: white;
  border-radius: 3px;
  margin: 0 auto 5px auto;
  z-index: 2;
}

.steps-bar > li:after {
  content: '';
  width: 0;
  height: 2px;
  background: white;
  position: absolute;
  right: -50%;
  top: 14px;
  z-index: 1;
  /*put it behind the numbers*/
  -webkit-transition: width 0.3s ease-out;
  -o-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}

.steps-bar > li:first-child:after {
  content: none;
}

.steps-bar > li.active:before,
.steps-bar > li.active:after {
  background: #43a8eb;
  color: white;
}

.steps-bar > li.active:after {
  width: 100%;
}

/* ========================================================================
   Component: form-switch.less
 ========================================================================== */

/**
 * Custom form elements
 *    - Switch
 */

.switch .form-control {
  padding-top: 7px;
  margin-bottom: 0;
}

.switch * {
  cursor: pointer;
}

.switch input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.switch span {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  background-color: transparent;
  border-radius: 100px;
  transition: all .5s;
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.25) inset;
}

.switch span:after {
  content: "";
  position: absolute;
  background-color: #fff;
  top: 1px;
  right: 0;
  height: 18px;
  width: 18px;
  border: 1px solid #ddd;
  border-radius: 400px;
  box-shadow: -1px 1px 3px rgba(0, 0, 0, 0.4);
  -webkit-transition: all .2s;
}

.switch.switch-lg span {
  width: 50px;
  height: 25px;
}

.switch.switch-lg span:after {
  height: 23px;
  width: 23px;
}

.switch.switch-sm span {
  width: 30px;
  height: 15px;
}

.switch.switch-sm span:after {
  height: 13px;
  width: 13px;
}

.switch input:checked + span {
  background-color: #43a8eb;
  border-color: #43a8eb;
  transition: all .5s;
}

.switch input:checked + span:after {
  right: 50%;
  transition: all .2s;
}

.switch-primary.switch input:checked + span {
  background-color: #43a8eb;
  border-color: #43a8eb;
}

.switch-success.switch input:checked + span {
  background-color: #88bf57;
  border-color: #88bf57;
}

.switch-info.switch input:checked + span {
  background-color: #8293b9;
  border-color: #8293b9;
}

.switch-warning.switch input:checked + span {
  background-color: #fdaf40;
  border-color: #fdaf40;
}

.switch-danger.switch input:checked + span {
  background-color: #eb615f;
  border-color: #eb615f;
}

.switch-inverse.switch input:checked + span {
  background-color: #363c47;
  border-color: #363c47;
}

.switch-turquoise.switch input:checked + span {
  background-color: #2fc8a6;
  border-color: #2fc8a6;
}

.switch-pink.switch input:checked + span {
  background-color: #f963bc;
  border-color: #f963bc;
}

.switch-purple.switch input:checked + span {
  background-color: #c29eff;
  border-color: #c29eff;
}

.switch-orange.switch input:checked + span {
  background-color: #f57035;
  border-color: #f57035;
}

/* ========================================================================
   Component: form-input.less
 ========================================================================== */

/**
 * Custom form elements
 *    - Checkbox 
 *    - Radios
 */

.c-checkbox,
.c-radio {
  margin-left: 4px;
}

.c-checkbox *,
.c-radio * {
  cursor: pointer;
}

.c-checkbox input,
.c-radio input {
  opacity: 0;
  position: absolute;
  margin-right: 0 !important;
}

.c-checkbox span,
.c-radio span {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-right: -20px;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  border: 1px solid #ccc;
  margin-left: 5px;
  text-align: center;
}

.c-checkbox span:before,
.c-radio span:before {
  margin-right: 1px;
  color: #fff;
}

.c-checkbox:hover span,
.c-radio:hover span {
  border-color: #43a8eb;
}

.form-inline .c-checkbox span,
.form-inline .c-radio span {
  margin-right: 0;
}

.c-checkbox.c-checkbox-rounded span,
.c-radio.c-checkbox-rounded span,
.c-checkbox.c-radio-rounded span,
.c-radio.c-radio-rounded span {
  border-radius: 500px;
}

/* override for radio */

.c-radio span {
  border-radius: 500px;
}

/* the icon */

.c-checkbox span:before,
.c-radio span:before {
  position: absolute;
  top: 0;
  right: -1px;
  left: 0;
  bottom: 0;
  opacity: 0;
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  -o-transform: scale(0.2);
  transform: scale(0.2);
  text-align: center !important;
  font-size: 12px;
  line-height: 19px;
  vertical-align: middle;
}

/* Checked state */

.c-checkbox,
.c-radio {
  /* override for radio */
  /* Disable state */
  /* override for radio */
}

.c-checkbox input[type=checkbox]:checked + span:before,
.c-radio input[type=checkbox]:checked + span:before,
.c-checkbox input[type=radio]:checked + span:before,
.c-radio input[type=radio]:checked + span:before {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  -moz-transition: -moz-transform 0.2s ease-out;
  -o-transition: -o-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
}

.c-checkbox input[type=checkbox]:checked + span,
.c-radio input[type=checkbox]:checked + span,
.c-checkbox input[type=radio]:checked + span,
.c-radio input[type=radio]:checked + span {
  border-color: #43a8eb;
  background-color: #43a8eb;
}

.c-checkbox input[type=radio]:checked + span,
.c-radio input[type=radio]:checked + span {
  background-color: #fff;
}

.c-checkbox input[type=radio]:checked + span:before,
.c-radio input[type=radio]:checked + span:before {
  color: #43a8eb;
}

.c-checkbox input[type=checkbox]:disabled + span,
.c-radio input[type=checkbox]:disabled + span,
.c-checkbox input[type=radio]:disabled + span,
.c-radio input[type=radio]:disabled + span {
  border-color: #dddddd !important;
  background-color: #dddddd !important;
}

.c-checkbox input[type=radio]:disabled + span,
.c-radio input[type=radio]:disabled + span {
  background-color: #fff !important;
}

.c-checkbox input[type=radio]:disabled + span:before,
.c-radio input[type=radio]:disabled + span:before {
  color: #dddddd;
}

/* ========================================================================
   Component: table-extras.less
 ========================================================================== */

.table > thead > tr > th {
  padding: 14px 8px;
  color: #888;
}

.table > tbody > tr > td {
  vertical-align: middle;
}

.table > tbody > tr > td > .media img {
  width: 36px;
  height: 36px;
  margin: 0 auto;
}

.table .checkbox {
  margin: 0 auto;
  width: 20px;
}

.table .progress {
  margin-bottom: 0;
}

.table .radial-bar {
  margin-bottom: 0;
  margin: 0 auto;
}

.jqstooltip {
  box-sizing: content-box;
}

#table-res-1 th:nth-child(1) {
  width: 3%;
}

#table-res-1 th:nth-child(2) {
  width: 5%;
}

#table-res-1 th:nth-child(7) {
  width: 5%;
}

#table-res-1 th:nth-child(9) {
  width: 5%;
}

#table-res-2 th:nth-child(1) {
  width: 5%;
}

#table-res-2 th:nth-child(3) {
  width: 10%;
}

/* ========================================================================
   Component: table-ngtable.less
 ========================================================================== */

body .ng-table th.sortable.sort-desc,
body .ng-table th.sortable.sort-asc {
  background-color: #fff;
  text-shadow: 0 0 0 rgba(255, 255, 255, 0);
}

body .ng-table th.sortable div:after,
body .ng-table th.sortable div:before {
  border-color: #515d6e transparent;
}

body .ng-table th.sortable div:before {
  border-top-color: #515d6e;
}

body .ng-table th.sortable.sort-desc div:after {
  border-top-color: #515d6e;
}

body [ng-table-pagination] {
  padding: 15px 5px;
}

body [ng-table-pagination] .ng-table-pagination {
  margin: 0;
}

body .ng-table .plus,
body .ng-table .minus {
  font-weight: bold;
  padding-right: 18px;
  position: relative;
}

body .ng-table .plus:before,
body .ng-table .minus:before {
  content: "";
  border-width: 4px;
  border-style: solid;
  right: 8px;
  top: 50%;
  position: absolute;
  margin-top: -2px;
}

body .ng-table .plus {
  color: green;
}

body .ng-table .plus:before {
  border-color: green;
  border-top: none;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

body .ng-table .minus {
  color: red;
}

body .ng-table .minus:before {
  border-color: red;
  border-bottom: none;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

body .ng-table-rowselected tr {
  cursor: pointer;
}

body .ng-table-pager:before,
body .ng-table-pager:after {
  content: " ";
  display: table;
}

body .ng-table-pager:after {
  clear: both;
}

body .ng-table-pager:before,
body .ng-table-pager:after {
  content: " ";
  display: table;
}

body .ng-table-pager:after {
  clear: both;
}

/* ========================================================================
   Component: plugins.less
   - User this stylesheet to include single css styles and fixes 
     for plugins
 ========================================================================== */

/**
 * Bootstrap Slider
 */

body .slider-handle,
body .slider-track,
body .slider-selection {
  background-image: none;
  box-shadow: 0 0 0 #000;
}

body .slider-handle {
  background-color: #fff;
  border: 1px solid #43a8eb;
  box-shadow: 0 0 3px #43a8eb inset;
  opacity: 1;
}

body .slider-track {
  background-color: #fff;
  border: 1px solid #43a8eb;
}

body .slider-selection {
  background-color: #43a8eb;
}

body .slider .tooltip.top .tooltip-arrow {
  border-top-color: #2c3037;
}

body .slider .tooltip.right .tooltip-arrow {
  border-left-color: #2c3037;
}

body .slider .tooltip-inner {
  background-color: #2c3037;
}

body .slider.slider-vertical .slider-track {
  width: 6px;
}

body .slider.slider-vertical .slider-handle {
  margin-right: -8px;
}

body .slider.slider-horizontal .slider-handle {
  margin-top: -8px;
}

body .slider.slider-horizontal .slider-track {
  height: 6px;
}

body .slider-lg {
  width: 380px;
}

body .chosen-container-multi .chosen-choices {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  padding-right: 18px;
  padding-left: 18px;
  box-shadow: 0 0 0 #000 !important;
  border-color: #dbd9d9;
}

body .chosen-container-multi .chosen-choices:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}

body .chosen-container-multi .chosen-choices::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}

body .chosen-container-multi .chosen-choices:-ms-input-placeholder {
  color: #b7bac9;
}

body .chosen-container-multi .chosen-choices::-webkit-input-placeholder {
  color: #b7bac9;
}

body .chosen-container-multi .chosen-choices[disabled],
body .chosen-container-multi .chosen-choices[readonly],
fieldset[disabled] body .chosen-container-multi .chosen-choices {
  cursor: not-allowed;
  background-color: #f4f5f5;
  opacity: 1;
}

textareabody .chosen-container-multi .chosen-choices {
  height: auto;
}

body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  height: auto;
  padding: 0;
}

body .chosen-container-multi .chosen-choices li.search-choice {
  margin: 0 0 3px 5px;
  background-color: #f5f6f7;
  border: 1px solid #e7e9ec;
  background-image: none;
}

body .chosen-container .chosen-results li.highlighted {
  background-color: #a1a2a3;
  background-image: none;
}

body .chosen-container .chosen-drop {
  border-color: #ddd;
}

body .chosen-container .chosen-results li.group-result {
  color: #747576;
  letter-spacing: 0.02em;
}

body .chosen-container-single .chosen-single,
body .chosen-container-active.chosen-with-drop .chosen-single {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  padding-right: 18px;
  padding-left: 18px;
  box-shadow: 0 0 0 #000 !important;
  border-color: #dbd9d9;
}

body .chosen-container-single .chosen-single:focus,
body .chosen-container-active.chosen-with-drop .chosen-single:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}

body .chosen-container-single .chosen-single::-moz-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}

body .chosen-container-single .chosen-single:-ms-input-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single:-ms-input-placeholder {
  color: #b7bac9;
}

body .chosen-container-single .chosen-single::-webkit-input-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single::-webkit-input-placeholder {
  color: #b7bac9;
}

body .chosen-container-single .chosen-single[disabled],
body .chosen-container-active.chosen-with-drop .chosen-single[disabled],
body .chosen-container-single .chosen-single[readonly],
body .chosen-container-active.chosen-with-drop .chosen-single[readonly],
fieldset[disabled] body .chosen-container-single .chosen-single,
fieldset[disabled] body .chosen-container-active.chosen-with-drop .chosen-single {
  cursor: not-allowed;
  background-color: #f4f5f5;
  opacity: 1;
}

textareabody .chosen-container-single .chosen-single,
textareabody .chosen-container-active.chosen-with-drop .chosen-single {
  height: auto;
}

body .chosen-container-single .chosen-drop {
  margin-top: -3px;
}

body .chosen-container-single .chosen-single div {
  top: 6px;
  left: 5px;
}

body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  color: #b7bac9;
}

/* ========================================================================
   Component: slim-scroll.less
 ========================================================================== */

scrollable {
  display: block;
}

.slimScrollBar {
  opacity: 0 !important;
  background-color: rgba(0, 0, 0, 0.35) !important;
  border: 0 !important;
  border-radius: 1px !important;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.slimScrollDiv:hover .slimScrollBar {
  opacity: 0.4 !important;
}

.slimScrollRail {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.15) !important;
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0;
}

/* ========================================================================
   Component: datepicker.less
 ========================================================================== */

[datepicker-popup] + ul .btn-info > span {
  color: #fff;
}

.datepicker {
  max-width: 100%;
  overflow-y: auto;
}

.datepicker table {
  width: 100%;
}

/* ========================================================================
   Component: alerts.less
 ========================================================================== */

.alerts {
  position: fixed;
  top: 60px;
  right: 60px;
  z-index: 9090;
  width: 350px;
  right: auto;
  left: 60px;
}

.alerts:hover .alert .close {
  opacity: 1;
  visibility: visible;
}

.alerts-top-right,
.alerts-bottom-right {
  right: auto;
  left: 60px;
}

.alerts-top-center,
.alerts-bottom-center {
  right: 50%;
  margin-right: -175px;
}

.alerts-bottom-left,
.alerts-bottom-right,
.alerts-bottom-center {
  top: auto;
  bottom: 60px;
}

@media (max-width: 480px) {
  .alerts {
    right: 10px;
    left: 10px;
    width: auto;
    margin: 0;
  }
}

/* ========================================================================
   Component: toaster.less
 ========================================================================== */

body #toast-container {
  top: 65px !important;
}

body .toast {
  background-color: #43a8eb;
}

body .toast-success {
  background-color: #88bf57;
}

body .toast-error {
  background-color: #eb615f;
}

body .toast-info {
  background-color: #8293b9;
}

body .toast-wait {
  background-color: #c29eff;
}

body .toast-warning {
  background-color: #fdaf40;
}

/* ========================================================================
   Component: gmap.less
 ========================================================================== */

.gmap {
  height: 300px;
  /* 
  Fixes Bootstrap issues with Google Maps
  see http://stackoverflow.com/a/9170756 
  */
}

.gmap img {
  max-width: none;
}

/* ========================================================================
   Component: vector-map.less
 ========================================================================== */

vector-map {
  display: block;
}

body .jvectormap-label {
  position: absolute;
  display: none;
  border: solid 1px #2b3d51;
  border-radius: 2px;
  background: #2b3d51;
  color: white;
  padding: 3px 6px;
  opacity: 0.9;
  z-index: 11;
}

body .jvectormap-zoomin,
body .jvectormap-zoomout {
  position: absolute;
  right: 10px;
  width: 22px;
  height: 22px;
  border-radius: 2px;
  background: #e6e9ee;
  padding: 5px;
  color: #a0aab2;
  cursor: pointer;
  line-height: 10px;
  text-align: center;
}

body .jvectormap-zoomin {
  top: 10px;
}

body .jvectormap-zoomout {
  top: 30px;
}

/* ========================================================================
   Component: utils-background.less
 ========================================================================== */

.bg-gray {
  background-color: #a0aab2 !important;
  color: #ffffff;
}

.bg-gray a {
  color: #e3e6e8;
}

.bg-gray a:focus,
.bg-gray a:hover {
  color: #ffffff;
}

.bg-gray .nav > li > a {
  color: #f2f2f2;
}

.bg-gray .nav > li:hover > a,
.bg-gray .nav > li.active > a {
  color: #ffffff;
}

.bg-gray .nav > li.active > a {
  background-color: #8996a0;
}

.bg-gray .sidebar-subnav {
  background-color: #95a0a9;
}

.bg-gray .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-gray .navbar-form .form-control {
  background-color: #a0aab2;
  color: #ffffff;
}

.bg-gray .navbar-form .form-control::-moz-placeholder {
  color: #e9eced;
  opacity: 1;
}

.bg-gray .navbar-form .form-control:-ms-input-placeholder {
  color: #e9eced;
}

.bg-gray .navbar-form .form-control::-webkit-input-placeholder {
  color: #e9eced;
}

.ie9 .bg-gray .navbar-form .form-control {
  border-bottom: 1px solid rgba(233, 236, 237, 0.15);
}

.bg-gray .navbar-form .form-control-feedback,
.bg-gray .navbar-form .input-group-addon {
  color: #e9eced;
}

.bg-gray .text-muted {
  color: #e9eced;
}

.bg-gray .text-loud {
  color: #ffffff;
}

.bg-gray small {
  color: inherit;
}

@media print {
  .bg-gray {
    color: #000 !important;
  }
}

.bg-gray-darker {
  background-color: #2b3d51 !important;
  color: #92aac5;
}

.bg-gray-darker a {
  color: #889aad;
}

.bg-gray-darker a:focus,
.bg-gray-darker a:hover {
  color: #b0c2d5;
}

.bg-gray-darker .nav > li > a {
  color: #9fb5cc;
}

.bg-gray-darker .nav > li:hover > a,
.bg-gray-darker .nav > li.active > a {
  color: #c1cfde;
}

.bg-gray-darker .nav > li.active > a {
  background-color: #1d2936;
}

.bg-gray-darker .sidebar-subnav {
  background-color: #243344;
}

.bg-gray-darker .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-gray-darker .navbar-form .form-control {
  background-color: #2b3d51;
  color: #92aac5;
}

.bg-gray-darker .navbar-form .form-control::-moz-placeholder {
  color: #597ea7;
  opacity: 1;
}

.bg-gray-darker .navbar-form .form-control:-ms-input-placeholder {
  color: #597ea7;
}

.bg-gray-darker .navbar-form .form-control::-webkit-input-placeholder {
  color: #597ea7;
}

.ie9 .bg-gray-darker .navbar-form .form-control {
  border-bottom: 1px solid rgba(89, 126, 167, 0.15);
}

.bg-gray-darker .navbar-form .form-control-feedback,
.bg-gray-darker .navbar-form .input-group-addon {
  color: #597ea7;
}

.bg-gray-darker .text-muted {
  color: #597ea7;
}

.bg-gray-darker .text-loud {
  color: #b0c2d5;
}

.bg-gray-darker small {
  color: inherit;
}

@media print {
  .bg-gray-darker {
    color: #000 !important;
  }
}

.bg-gray-dark {
  background-color: #515d6e !important;
  color: #c6ccd5;
}

.bg-gray-dark a {
  color: #b5bbc4;
}

.bg-gray-dark a:focus,
.bg-gray-dark a:hover {
  color: #e0e3e8;
}

.bg-gray-dark .nav > li > a {
  color: #d1d6dd;
}

.bg-gray-dark .nav > li:hover > a,
.bg-gray-dark .nav > li.active > a {
  color: #eff0f3;
}

.bg-gray-dark .nav > li.active > a {
  background-color: #404957;
}

.bg-gray-dark .sidebar-subnav {
  background-color: #485362;
}

.bg-gray-dark .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-gray-dark .navbar-form .form-control {
  background-color: #515d6e;
  color: #c6ccd5;
}

.bg-gray-dark .navbar-form .form-control::-moz-placeholder {
  color: #949fb0;
  opacity: 1;
}

.bg-gray-dark .navbar-form .form-control:-ms-input-placeholder {
  color: #949fb0;
}

.bg-gray-dark .navbar-form .form-control::-webkit-input-placeholder {
  color: #949fb0;
}

.ie9 .bg-gray-dark .navbar-form .form-control {
  border-bottom: 1px solid rgba(148, 159, 176, 0.15);
}

.bg-gray-dark .navbar-form .form-control-feedback,
.bg-gray-dark .navbar-form .input-group-addon {
  color: #949fb0;
}

.bg-gray-dark .text-muted {
  color: #949fb0;
}

.bg-gray-dark .text-loud {
  color: #e0e3e8;
}

.bg-gray-dark small {
  color: inherit;
}

@media print {
  .bg-gray-dark {
    color: #000 !important;
  }
}

.bg-gray-light {
  background-color: #e6e9ee !important;
  color: #585f69;
}

.bg-gray-light a {
  color: #abacae;
}

.bg-gray-light a:focus,
.bg-gray-light a:hover {
  color: #919293;
}

.bg-gray-light .nav > li > a {
  color: #848586;
}

.bg-gray-light .nav > li:hover > a,
.bg-gray-light .nav > li.active > a {
  color: #9e9fa0;
}

.bg-gray-light .nav > li.active > a {
  background-color: #ffffff;
}

.bg-gray-light .sidebar-subnav {
  background-color: #f3f4f7;
}

.bg-gray-light .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-gray-light .navbar-form .form-control {
  background-color: #e6e9ee;
  color: #585f69;
}

.bg-gray-light .navbar-form .form-control::-moz-placeholder {
  color: #a0aab2;
  opacity: 1;
}

.bg-gray-light .navbar-form .form-control:-ms-input-placeholder {
  color: #a0aab2;
}

.bg-gray-light .navbar-form .form-control::-webkit-input-placeholder {
  color: #a0aab2;
}

.ie9 .bg-gray-light .navbar-form .form-control {
  border-bottom: 1px solid rgba(160, 170, 178, 0.15);
}

.bg-gray-light .navbar-form .form-control-feedback,
.bg-gray-light .navbar-form .input-group-addon {
  color: #a0aab2;
}

.bg-gray-light .text-muted {
  color: #a0aab2;
}

.bg-gray-light .text-loud {
  color: #e9eced;
}

.bg-gray-light small {
  color: inherit;
}

@media print {
  .bg-gray-light {
    color: #000 !important;
  }
}

.bg-gray-lighter {
  background-color: #f4f5f5 !important;
  color: #585f69;
}

.bg-gray-lighter a {
  color: #afb0b0;
}

.bg-gray-lighter a:focus,
.bg-gray-lighter a:hover {
  color: #919293;
}

.bg-gray-lighter .nav > li > a {
  color: #848586;
}

.bg-gray-lighter .nav > li:hover > a,
.bg-gray-lighter .nav > li.active > a {
  color: #9e9fa0;
}

.bg-gray-lighter .nav > li.active > a {
  background-color: #ffffff;
}

.bg-gray-lighter .sidebar-subnav {
  background-color: #fafafa;
}

.bg-gray-lighter .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-gray-lighter .navbar-form .form-control {
  background-color: #f4f5f5;
  color: #585f69;
}

.bg-gray-lighter .navbar-form .form-control::-moz-placeholder {
  color: #a0aab2;
  opacity: 1;
}

.bg-gray-lighter .navbar-form .form-control:-ms-input-placeholder {
  color: #a0aab2;
}

.bg-gray-lighter .navbar-form .form-control::-webkit-input-placeholder {
  color: #a0aab2;
}

.ie9 .bg-gray-lighter .navbar-form .form-control {
  border-bottom: 1px solid rgba(160, 170, 178, 0.15);
}

.bg-gray-lighter .navbar-form .form-control-feedback,
.bg-gray-lighter .navbar-form .input-group-addon {
  color: #a0aab2;
}

.bg-gray-lighter .text-muted {
  color: #a0aab2;
}

.bg-gray-lighter .text-loud {
  color: #e9eced;
}

.bg-gray-lighter small {
  color: inherit;
}

@media print {
  .bg-gray-lighter {
    color: #000 !important;
  }
}

.bg-white {
  background-color: #ffffff !important;
  color: #585f69;
}

.bg-white a {
  color: #858e9a;
}

.bg-white a:focus,
.bg-white a:hover {
  color: #515d6e;
}

.bg-white .nav > li > a {
  color: #46515f;
}

.bg-white .nav > li:hover > a,
.bg-white .nav > li.active > a {
  color: #5c697d;
}

.bg-white .nav > li.active > a {
  background-color: #f1f2f3;
}

.bg-white .sidebar-subnav {
  background-color: #f8f9f9;
}

.bg-white .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-white .navbar-form .form-control {
  background-color: #ffffff;
  color: #585f69;
}

.bg-white .navbar-form .form-control::-moz-placeholder {
  color: #8394a9;
  opacity: 1;
}

.bg-white .navbar-form .form-control:-ms-input-placeholder {
  color: #8394a9;
}

.bg-white .navbar-form .form-control::-webkit-input-placeholder {
  color: #8394a9;
}

.ie9 .bg-white .navbar-form .form-control {
  border-bottom: 1px solid rgba(131, 148, 169, 0.15);
}

.bg-white .navbar-form .form-control-feedback,
.bg-white .navbar-form .input-group-addon {
  color: #8394a9;
}

.bg-white .text-muted {
  color: #8394a9;
}

.bg-white .text-loud {
  color: #d1d8df;
}

.bg-white small {
  color: inherit;
}

@media print {
  .bg-white {
    color: #000 !important;
  }
}

.bg-primary {
  background-color: #43a8eb !important;
  color: #ffffff;
}

.bg-primary a {
  color: #c7e5f9;
}

.bg-primary a:focus,
.bg-primary a:hover {
  color: #ffffff;
}

.bg-primary .nav > li > a {
  color: #f2f2f2;
}

.bg-primary .nav > li:hover > a,
.bg-primary .nav > li.active > a {
  color: #ffffff;
}

.bg-primary .nav > li.active > a {
  background-color: #1e97e7;
}

.bg-primary .sidebar-subnav {
  background-color: #319fe9;
}

.bg-primary .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-primary .navbar-form .form-control {
  background-color: #43a8eb;
  color: #ffffff;
}

.bg-primary .navbar-form .form-control::-moz-placeholder {
  color: #bbdff8;
  opacity: 1;
}

.bg-primary .navbar-form .form-control:-ms-input-placeholder {
  color: #bbdff8;
}

.bg-primary .navbar-form .form-control::-webkit-input-placeholder {
  color: #bbdff8;
}

.ie9 .bg-primary .navbar-form .form-control {
  border-bottom: 1px solid rgba(187, 223, 248, 0.15);
}

.bg-primary .navbar-form .form-control-feedback,
.bg-primary .navbar-form .input-group-addon {
  color: #bbdff8;
}

.bg-primary .text-muted {
  color: #bbdff8;
}

.bg-primary .text-loud {
  color: #ffffff;
}

.bg-primary small {
  color: inherit;
}

@media print {
  .bg-primary {
    color: #000 !important;
  }
}

.bg-primary.bg-light {
  background-color: #5fb5ee !important;
}

.bg-primary.bg-dark {
  background-color: #279be8 !important;
}

.bg-success {
  background-color: #88bf57 !important;
  color: #f8fbf6;
}

.bg-success a {
  color: #dbeccd;
}

.bg-success a:focus,
.bg-success a:hover {
  color: #ffffff;
}

.bg-success .nav > li > a {
  color: #f2f2f2;
}

.bg-success .nav > li:hover > a,
.bg-success .nav > li.active > a {
  color: #ffffff;
}

.bg-success .nav > li.active > a {
  background-color: #74ac41;
}

.bg-success .sidebar-subnav {
  background-color: #7eb54c;
}

.bg-success .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-success .navbar-form .form-control {
  background-color: #88bf57;
  color: #f8fbf6;
}

.bg-success .navbar-form .form-control::-moz-placeholder {
  color: #cce4b7;
  opacity: 1;
}

.bg-success .navbar-form .form-control:-ms-input-placeholder {
  color: #cce4b7;
}

.bg-success .navbar-form .form-control::-webkit-input-placeholder {
  color: #cce4b7;
}

.ie9 .bg-success .navbar-form .form-control {
  border-bottom: 1px solid rgba(204, 228, 183, 0.15);
}

.bg-success .navbar-form .form-control-feedback,
.bg-success .navbar-form .input-group-addon {
  color: #cce4b7;
}

.bg-success .text-muted {
  color: #cce4b7;
}

.bg-success .text-loud {
  color: #ffffff;
}

.bg-success small {
  color: inherit;
}

@media print {
  .bg-success {
    color: #000 !important;
  }
}

.bg-success.bg-light {
  background-color: #98c76d !important;
}

.bg-success.bg-dark {
  background-color: #79b344 !important;
}

.bg-info {
  background-color: #8293b9 !important;
  color: #ffffff;
}

.bg-info a {
  color: #dadfea;
}

.bg-info a:focus,
.bg-info a:hover {
  color: #ffffff;
}

.bg-info .nav > li > a {
  color: #f2f2f2;
}

.bg-info .nav > li:hover > a,
.bg-info .nav > li.active > a {
  color: #ffffff;
}

.bg-info .nav > li.active > a {
  background-color: #687caa;
}

.bg-info .sidebar-subnav {
  background-color: #7588b2;
}

.bg-info .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-info .navbar-form .form-control {
  background-color: #8293b9;
  color: #ffffff;
}

.bg-info .navbar-form .form-control::-moz-placeholder {
  color: #d7dce9;
  opacity: 1;
}

.bg-info .navbar-form .form-control:-ms-input-placeholder {
  color: #d7dce9;
}

.bg-info .navbar-form .form-control::-webkit-input-placeholder {
  color: #d7dce9;
}

.ie9 .bg-info .navbar-form .form-control {
  border-bottom: 1px solid rgba(215, 220, 233, 0.15);
}

.bg-info .navbar-form .form-control-feedback,
.bg-info .navbar-form .input-group-addon {
  color: #d7dce9;
}

.bg-info .text-muted {
  color: #d7dce9;
}

.bg-info .text-loud {
  color: #ffffff;
}

.bg-info small {
  color: inherit;
}

@media print {
  .bg-info {
    color: #000 !important;
  }
}

.bg-info.bg-light {
  background-color: #96a4c4 !important;
}

.bg-info.bg-dark {
  background-color: #6e82ae !important;
}

.bg-warning {
  background-color: #fdaf40 !important;
  color: #ffffff;
}

.bg-warning a {
  color: #fee7c6;
}

.bg-warning a:focus,
.bg-warning a:hover {
  color: #ffffff;
}

.bg-warning .nav > li > a {
  color: #e5e5ff;
}

.bg-warning .nav > li:hover > a,
.bg-warning .nav > li.active > a {
  color: #ffffff;
}

.bg-warning .nav > li.active > a {
  background-color: #fd9e18;
}

.bg-warning .sidebar-subnav {
  background-color: #fda72c;
}

.bg-warning .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-warning .navbar-form .form-control {
  background-color: #fdaf40;
  color: #ffffff;
}

.bg-warning .navbar-form .form-control::-moz-placeholder {
  color: #fee6c3;
  opacity: 1;
}

.bg-warning .navbar-form .form-control:-ms-input-placeholder {
  color: #fee6c3;
}

.bg-warning .navbar-form .form-control::-webkit-input-placeholder {
  color: #fee6c3;
}

.ie9 .bg-warning .navbar-form .form-control {
  border-bottom: 1px solid rgba(254, 230, 195, 0.15);
}

.bg-warning .navbar-form .form-control-feedback,
.bg-warning .navbar-form .input-group-addon {
  color: #fee6c3;
}

.bg-warning .text-muted {
  color: #fee6c3;
}

.bg-warning .text-loud {
  color: #ffffff;
}

.bg-warning small {
  color: inherit;
}

@media print {
  .bg-warning {
    color: #000 !important;
  }
}

.bg-warning.bg-light {
  background-color: #fdbc5e !important;
}

.bg-warning.bg-dark {
  background-color: #fda222 !important;
}

.bg-danger {
  background-color: #eb615f !important;
  color: #ffffff;
}

.bg-danger a {
  color: #f9d0cf;
}

.bg-danger a:focus,
.bg-danger a:hover {
  color: #ffffff;
}

.bg-danger .nav > li > a {
  color: #f2f2f2;
}

.bg-danger .nav > li:hover > a,
.bg-danger .nav > li.active > a {
  color: #ffffff;
}

.bg-danger .nav > li.active > a {
  background-color: #e63d3b;
}

.bg-danger .sidebar-subnav {
  background-color: #e94f4d;
}

.bg-danger .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-danger .navbar-form .form-control {
  background-color: #eb615f;
  color: #ffffff;
}

.bg-danger .navbar-form .form-control::-moz-placeholder {
  color: #fad5d5;
  opacity: 1;
}

.bg-danger .navbar-form .form-control:-ms-input-placeholder {
  color: #fad5d5;
}

.bg-danger .navbar-form .form-control::-webkit-input-placeholder {
  color: #fad5d5;
}

.ie9 .bg-danger .navbar-form .form-control {
  border-bottom: 1px solid rgba(250, 213, 213, 0.15);
}

.bg-danger .navbar-form .form-control-feedback,
.bg-danger .navbar-form .input-group-addon {
  color: #fad5d5;
}

.bg-danger .text-muted {
  color: #fad5d5;
}

.bg-danger .text-loud {
  color: #ffffff;
}

.bg-danger small {
  color: inherit;
}

@media print {
  .bg-danger {
    color: #000 !important;
  }
}

.bg-danger.bg-light {
  background-color: #ee7c7a !important;
}

.bg-danger.bg-dark {
  background-color: #e84644 !important;
}

.bg-turquoise {
  background-color: #2fc8a6 !important;
  color: #dcf7f1;
}

.bg-turquoise a {
  color: #c1efe4;
}

.bg-turquoise a:focus,
.bg-turquoise a:hover {
  color: #ffffff;
}

.bg-turquoise .nav > li > a {
  color: #f2f2f2;
}

.bg-turquoise .nav > li:hover > a,
.bg-turquoise .nav > li.active > a {
  color: #ffffff;
}

.bg-turquoise .nav > li.active > a {
  background-color: #27a78b;
}

.bg-turquoise .sidebar-subnav {
  background-color: #2bb798;
}

.bg-turquoise .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-turquoise .navbar-form .form-control {
  background-color: #2fc8a6;
  color: #dcf7f1;
}

.bg-turquoise .navbar-form .form-control::-moz-placeholder {
  color: #95e6d4;
  opacity: 1;
}

.bg-turquoise .navbar-form .form-control:-ms-input-placeholder {
  color: #95e6d4;
}

.bg-turquoise .navbar-form .form-control::-webkit-input-placeholder {
  color: #95e6d4;
}

.ie9 .bg-turquoise .navbar-form .form-control {
  border-bottom: 1px solid rgba(149, 230, 212, 0.15);
}

.bg-turquoise .navbar-form .form-control-feedback,
.bg-turquoise .navbar-form .input-group-addon {
  color: #95e6d4;
}

.bg-turquoise .text-muted {
  color: #95e6d4;
}

.bg-turquoise .text-loud {
  color: #ffffff;
}

.bg-turquoise small {
  color: inherit;
}

@media print {
  .bg-turquoise {
    color: #000 !important;
  }
}

.bg-turquoise.bg-light {
  background-color: #43d3b3 !important;
}

.bg-turquoise.bg-dark {
  background-color: #29af91 !important;
}

.bg-pink {
  background-color: #f963bc !important;
  color: #ffffff;
}

.bg-pink a {
  color: #fdd0eb;
}

.bg-pink a:focus,
.bg-pink a:hover {
  color: #ffffff;
}

.bg-pink .nav > li > a {
  color: #f2f2f2;
}

.bg-pink .nav > li:hover > a,
.bg-pink .nav > li.active > a {
  color: #ffffff;
}

.bg-pink .nav > li.active > a {
  background-color: #f73cab;
}

.bg-pink .sidebar-subnav {
  background-color: #f84fb4;
}

.bg-pink .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-pink .navbar-form .form-control {
  background-color: #f963bc;
  color: #ffffff;
}

.bg-pink .navbar-form .form-control::-moz-placeholder {
  color: #fee3f3;
  opacity: 1;
}

.bg-pink .navbar-form .form-control:-ms-input-placeholder {
  color: #fee3f3;
}

.bg-pink .navbar-form .form-control::-webkit-input-placeholder {
  color: #fee3f3;
}

.ie9 .bg-pink .navbar-form .form-control {
  border-bottom: 1px solid rgba(254, 227, 243, 0.15);
}

.bg-pink .navbar-form .form-control-feedback,
.bg-pink .navbar-form .input-group-addon {
  color: #fee3f3;
}

.bg-pink .text-muted {
  color: #fee3f3;
}

.bg-pink .text-loud {
  color: #ffffff;
}

.bg-pink small {
  color: inherit;
}

@media print {
  .bg-pink {
    color: #000 !important;
  }
}

.bg-pink.bg-light {
  background-color: #fa80c9 !important;
}

.bg-pink.bg-dark {
  background-color: #f846af !important;
}

.bg-purple {
  background-color: #c29eff !important;
  color: #ffffff;
}

.bg-purple a {
  color: #ede2ff;
}

.bg-purple a:focus,
.bg-purple a:hover {
  color: #ffffff;
}

.bg-purple .nav > li > a {
  color: #f2f2f2;
}

.bg-purple .nav > li:hover > a,
.bg-purple .nav > li.active > a {
  color: #ffffff;
}

.bg-purple .nav > li.active > a {
  background-color: #a875ff;
}

.bg-purple .sidebar-subnav {
  background-color: #b58aff;
}

.bg-purple .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-purple .navbar-form .form-control {
  background-color: #c29eff;
  color: #ffffff;
}

.bg-purple .navbar-form .form-control::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}

.bg-purple .navbar-form .form-control:-ms-input-placeholder {
  color: #ffffff;
}

.bg-purple .navbar-form .form-control::-webkit-input-placeholder {
  color: #ffffff;
}

.ie9 .bg-purple .navbar-form .form-control {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.bg-purple .navbar-form .form-control-feedback,
.bg-purple .navbar-form .input-group-addon {
  color: #ffffff;
}

.bg-purple .text-muted {
  color: #ffffff;
}

.bg-purple .text-loud {
  color: #ffffff;
}

.bg-purple small {
  color: inherit;
}

@media print {
  .bg-purple {
    color: #000 !important;
  }
}

.bg-purple.bg-light {
  background-color: #d5bdff !important;
}

.bg-purple.bg-dark {
  background-color: #af7fff !important;
}

.bg-inverse {
  background-color: #363c47 !important;
  color: #a1a9b7;
}

.bg-inverse a {
  color: #9399a4;
}

.bg-inverse a:focus,
.bg-inverse a:hover {
  color: #bbc1cb;
}

.bg-inverse .nav > li > a {
  color: #acb3c0;
}

.bg-inverse .nav > li:hover > a,
.bg-inverse .nav > li.active > a {
  color: #c9ced6;
}

.bg-inverse .nav > li.active > a {
  background-color: #242830;
}

.bg-inverse .sidebar-subnav {
  background-color: #2d323b;
}

.bg-inverse .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-inverse .navbar-form .form-control {
  background-color: #363c47;
  color: #a1a9b7;
}

.bg-inverse .navbar-form .form-control::-moz-placeholder {
  color: #707c92;
  opacity: 1;
}

.bg-inverse .navbar-form .form-control:-ms-input-placeholder {
  color: #707c92;
}

.bg-inverse .navbar-form .form-control::-webkit-input-placeholder {
  color: #707c92;
}

.ie9 .bg-inverse .navbar-form .form-control {
  border-bottom: 1px solid rgba(112, 124, 146, 0.15);
}

.bg-inverse .navbar-form .form-control-feedback,
.bg-inverse .navbar-form .input-group-addon {
  color: #707c92;
}

.bg-inverse .text-muted {
  color: #707c92;
}

.bg-inverse .text-loud {
  color: #bbc1cb;
}

.bg-inverse small {
  color: inherit;
}

@media print {
  .bg-inverse {
    color: #000 !important;
  }
}

.bg-inverse.bg-light {
  background-color: #434b58 !important;
}

.bg-inverse.bg-dark {
  background-color: #292d36 !important;
}

.bg-orange {
  background-color: #f57035 !important;
  color: #ffffff;
}

.bg-orange a {
  color: #fcd4c2;
}

.bg-orange a:focus,
.bg-orange a:hover {
  color: #ffffff;
}

.bg-orange .nav > li > a {
  color: #f2f2f2;
}

.bg-orange .nav > li:hover > a,
.bg-orange .nav > li.active > a {
  color: #ffffff;
}

.bg-orange .nav > li.active > a {
  background-color: #f3540e;
}

.bg-orange .sidebar-subnav {
  background-color: #f46222;
}

.bg-orange .sidebar-subnav > li.active > a {
  background-color: transparent;
}

.bg-orange .navbar-form .form-control {
  background-color: #f57035;
  color: #ffffff;
}

.bg-orange .navbar-form .form-control::-moz-placeholder {
  color: #fbc9b3;
  opacity: 1;
}

.bg-orange .navbar-form .form-control:-ms-input-placeholder {
  color: #fbc9b3;
}

.bg-orange .navbar-form .form-control::-webkit-input-placeholder {
  color: #fbc9b3;
}

.ie9 .bg-orange .navbar-form .form-control {
  border-bottom: 1px solid rgba(251, 201, 179, 0.15);
}

.bg-orange .navbar-form .form-control-feedback,
.bg-orange .navbar-form .input-group-addon {
  color: #fbc9b3;
}

.bg-orange .text-muted {
  color: #fbc9b3;
}

.bg-orange .text-loud {
  color: #ffffff;
}

.bg-orange small {
  color: inherit;
}

@media print {
  .bg-orange {
    color: #000 !important;
  }
}

.bg-orange.bg-light {
  background-color: #f68552 !important;
}

.bg-orange.bg-dark {
  background-color: #f45b18 !important;
}

/* ========================================================================
   Component: utils.less
 ========================================================================== */

.m0 {
  margin: 0 !important;
}

.ml0 {
  margin-right: 0 !important;
}

.mr0 {
  margin-left: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.m {
  margin: 10px !important;
}

.ml,
.mh {
  margin-right: 10px !important;
}

.mr,
.mh {
  margin-left: 10px !important;
}

.mt,
.mv {
  margin-top: 10px !important;
}

.mb,
.mv {
  margin-bottom: 10px !important;
}

.m-sm {
  margin: 5px !important;
}

.ml-sm,
.mh-sm {
  margin-right: 5px !important;
}

.mr-sm,
.mh-sm {
  margin-left: 5px !important;
}

.mt-sm,
.mv-sm {
  margin-top: 5px !important;
}

.mb-sm,
.mv-sm {
  margin-bottom: 5px !important;
}

.m-lg {
  margin: 15px !important;
}

.ml-lg,
.mh-lg {
  margin-right: 15px !important;
}

.mr-lg,
.mh-lg {
  margin-left: 15px !important;
}

.mt-lg,
.mv-lg {
  margin-top: 15px !important;
}

.mb-lg,
.mv-lg {
  margin-bottom: 15px !important;
}

.m-xl {
  margin: 30px !important;
}

.ml-xl {
  margin-right: 30px !important;
}

.mr-xl {
  margin-left: 30px !important;
}

.mt-xl {
  margin-top: 30px !important;
}

.mb-xl {
  margin-bottom: 30px !important;
}

.p0 {
  padding: 0 !important;
}

.pl0,
.ph0 {
  padding-right: 0 !important;
}

.pr0,
.ph0 {
  padding-left: 0 !important;
}

.pt0,
.pv0 {
  padding-top: 0 !important;
}

.pb0,
.pv0 {
  padding-bottom: 0 !important;
}

.p {
  padding: 10px !important;
}

.pl,
.ph {
  padding-right: 10px !important;
}

.pr,
.ph {
  padding-left: 10px !important;
}

.pt,
.pv {
  padding-top: 10px !important;
}

.pb,
.pv {
  padding-bottom: 10px !important;
}

.p-sm {
  padding: 5px !important;
}

.pl-sm,
.ph-sm {
  padding-right: 5px !important;
}

.pr-sm,
.ph-sm {
  padding-left: 5px !important;
}

.pt-sm,
.pv-sm {
  padding-top: 5px !important;
}

.pb-sm,
.pv-sm {
  padding-bottom: 5px !important;
}

.p-lg {
  padding: 15px !important;
}

.pl-lg,
.ph-lg {
  padding-right: 15px !important;
}

.pr-lg,
.ph-lg {
  padding-left: 15px !important;
}

.pt-lg,
.pv-lg {
  padding-top: 15px !important;
}

.pb-lg,
.pv-lg {
  padding-bottom: 15px !important;
}

.p-xl {
  padding: 20px !important;
}

.pl-xl,
.ph-xl {
  padding-right: 20px !important;
}

.pr-xl,
.ph-xl {
  padding-left: 20px !important;
}

.pt-xl,
.pv-xl {
  padding-top: 20px !important;
}

.pb-xl,
.pv-xl {
  padding-bottom: 20px !important;
}

.b0 {
  border-width: 0 !important;
}

.bl0 {
  border-right-width: 0 !important;
}

.br0 {
  border-left-width: 0 !important;
}

.bt0 {
  border-top-width: 0 !important;
}

.bb0 {
  border-bottom-width: 0 !important;
}

.br,
.b {
  border-left: 1px solid #e6e9ee;
}

.bl,
.b {
  border-right: 1px solid #e6e9ee;
}

.bt,
.b {
  border-top: 1px solid #e6e9ee;
}

.bb,
.b {
  border-bottom: 1px solid #e6e9ee;
}

.br-primary {
  border-left: 1px solid #43a8eb;
}

.bl-primary {
  border-right: 1px solid #43a8eb;
}

.bt-primary {
  border-top: 1px solid #43a8eb;
}

.bb-primary {
  border-bottom: 1px solid #43a8eb;
}

.br-success {
  border-left: 1px solid #88bf57;
}

.bl-success {
  border-right: 1px solid #88bf57;
}

.bt-success {
  border-top: 1px solid #88bf57;
}

.bb-success {
  border-bottom: 1px solid #88bf57;
}

.br-info {
  border-left: 1px solid #8293b9;
}

.bl-info {
  border-right: 1px solid #8293b9;
}

.bt-info {
  border-top: 1px solid #8293b9;
}

.bb-info {
  border-bottom: 1px solid #8293b9;
}

.br-warning {
  border-left: 1px solid #fdaf40;
}

.bl-warning {
  border-right: 1px solid #fdaf40;
}

.bt-warning {
  border-top: 1px solid #fdaf40;
}

.bb-warning {
  border-bottom: 1px solid #fdaf40;
}

.br-danger {
  border-left: 1px solid #eb615f;
}

.bl-danger {
  border-right: 1px solid #eb615f;
}

.bt-danger {
  border-top: 1px solid #eb615f;
}

.bb-danger {
  border-bottom: 1px solid #eb615f;
}

.br-turquoise {
  border-left: 1px solid #2fc8a6;
}

.bl-turquoise {
  border-right: 1px solid #2fc8a6;
}

.bt-turquoise {
  border-top: 1px solid #2fc8a6;
}

.bb-turquoise {
  border-bottom: 1px solid #2fc8a6;
}

.br-pink {
  border-left: 1px solid #f963bc;
}

.bl-pink {
  border-right: 1px solid #f963bc;
}

.bt-pink {
  border-top: 1px solid #f963bc;
}

.bb-pink {
  border-bottom: 1px solid #f963bc;
}

.br-purple {
  border-left: 1px solid #c29eff;
}

.bl-purple {
  border-right: 1px solid #c29eff;
}

.bt-purple {
  border-top: 1px solid #c29eff;
}

.bb-purple {
  border-bottom: 1px solid #c29eff;
}

.br-inverse {
  border-left: 1px solid #363c47;
}

.bl-inverse {
  border-right: 1px solid #363c47;
}

.bt-inverse {
  border-top: 1px solid #363c47;
}

.bb-inverse {
  border-bottom: 1px solid #363c47;
}

.br-orange {
  border-left: 1px solid #f57035;
}

.bl-orange {
  border-right: 1px solid #f57035;
}

.bt-orange {
  border-top: 1px solid #f57035;
}

.bb-orange {
  border-bottom: 1px solid #f57035;
}

.br-gray-darker {
  border-left: 1px solid #2b3d51;
}

.bl-gray-darker {
  border-right: 1px solid #2b3d51;
}

.bt-gray-darker {
  border-top: 1px solid #2b3d51;
}

.bb-gray-darker {
  border-bottom: 1px solid #2b3d51;
}

.br-gray-dark {
  border-left: 1px solid #515d6e;
}

.bl-gray-dark {
  border-right: 1px solid #515d6e;
}

.bt-gray-dark {
  border-top: 1px solid #515d6e;
}

.bb-gray-dark {
  border-bottom: 1px solid #515d6e;
}

.br-gray {
  border-left: 1px solid #a0aab2;
}

.bl-gray {
  border-right: 1px solid #a0aab2;
}

.bt-gray {
  border-top: 1px solid #a0aab2;
}

.bb-gray {
  border-bottom: 1px solid #a0aab2;
}

.br-gray-light {
  border-left: 1px solid #e6e9ee;
}

.bl-gray-light {
  border-right: 1px solid #e6e9ee;
}

.bt-gray-light {
  border-top: 1px solid #e6e9ee;
}

.bb-gray-light {
  border-bottom: 1px solid #e6e9ee;
}

.br-gray-lighter {
  border-left: 1px solid #f4f5f5;
}

.bl-gray-lighter {
  border-right: 1px solid #f4f5f5;
}

.bt-gray-lighter {
  border-top: 1px solid #f4f5f5;
}

.bb-gray-lighter {
  border-bottom: 1px solid #f4f5f5;
}

.br-muted {
  border-left: 1px solid #8394a9;
}

.bl-muted {
  border-right: 1px solid #8394a9;
}

.bt-muted {
  border-top: 1px solid #8394a9;
}

.bb-muted {
  border-bottom: 1px solid #8394a9;
}

.radius-clear {
  border-radius: 0 !important;
}

.circle {
  border-radius: 50% !important;
}

.rounded {
  border-radius: 3px !important;
}

.shadow-clear,
.no-shadow {
  box-shadow: 0 0 0 #000 !important;
}

.smoothy {
  position: relative;
}

.smoothy:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  height: 30px;
  width: 100%;
  background: 100px;
  box-shadow: 0 -15px 15px #ffffff inset;
  z-index: 9999;
  overflow: visible;
}

.text-primary {
  color: #43a8eb;
}

.text-success {
  color: #88bf57;
}

.text-warning {
  color: #fdaf40;
}

.text-danger {
  color: #eb615f;
}

.text-info {
  color: #8293b9;
}

.text-white {
  color: #fff;
}

.text-inverse {
  color: #363c47;
}

.text-alpha {
  color: rgba(255, 255, 255, 0.5);
}

.text-pink {
  color: #f963bc;
}

.text-purple {
  color: #c29eff;
}

.text-alpha-inverse {
  color: rgba(0, 0, 0, 0.5);
}

.text-turquoise {
  color: #2fc8a6;
}

.text-orange {
  color: #f57035;
}

.text-gray-darker {
  color: #2b3d51;
}

.text-gray-dark {
  color: #515d6e;
}

.text-gray {
  color: #a0aab2;
}

.text-gray-light {
  color: #e6e9ee;
}

.text-gray-lighter {
  color: #f4f5f5;
}

.text-xs {
  font-size: 7.8px !important;
}

.text-sm {
  font-size: 11.05px !important;
}

.text-md {
  font-size: 24.7px !important;
}

.text-lg {
  font-size: 39px !important;
}

.text-hg {
  font-size: 52px !important;
}

.text-left {
  text-align: right !important;
}

.text-right {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-justify {
  text-align: justify !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-nowrap {
  white-space: nowrap;
}

.text-thin {
  font-weight: 100 !important;
}

.text-normal {
  font-weight: normal !important;
}

.text-bold {
  font-weight: bold !important;
}

.text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 .2em;
  overflow: hidden;
  vertical-align: bottom;
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

.block {
  display: block !important;
}

.thumb8 {
  width: 8px !important;
  height: 8px !important;
}

.thumb16 {
  width: 16px !important;
  height: 16px !important;
}

.thumb32 {
  width: 32px !important;
  height: 32px !important;
}

.thumb40 {
  width: 40px !important;
  height: 40px !important;
}

.thumb48 {
  width: 48px !important;
  height: 48px !important;
}

.thumb64 {
  width: 64px !important;
  height: 64px !important;
}

.thumb80 {
  width: 80px !important;
  height: 80px !important;
}

.thumb96 {
  width: 96px !important;
  height: 96px !important;
}

.thumb128 {
  width: 128px !important;
  height: 128px !important;
}

.align-middle {
  vertical-align: middle;
}

.align-top {
  vertical-align: top;
}

.align-bottom {
  vertical-align: bottom;
}

.bg-center {
  background-position: center center;
  background-size: cover;
}

.list-icon em {
  font-size: 14px;
  width: 40px;
  margin: 0;
  display: inline-block;
  text-align: center;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  line-height: 30px;
}

.list-icon div:hover {
  background-color: #8293b9;
  color: #fff;
}

.list-table {
  padding-right: 0;
  list-style: none;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.list-table > li {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
}

.list-block {
  padding-right: 0;
  list-style: none;
}

.list-block > li {
  display: block;
}

.wd-tiny {
  width: 50px;
}

.wd-xxs {
  width: 60px;
}

.wd-xs {
  width: 90px;
}

.wd-sm {
  width: 150px;
}

.wd-sd {
  width: 200px;
}

.wd-md {
  width: 240px;
}

.wd-lg {
  width: 280px;
}

.wd-xl {
  width: 320px;
}

.wd-xxl {
  width: 360px;
}

.wd-wide {
  width: 100%;
}

.wd-auto {
  width: auto;
}

.label-inverse {
  background-color: #363c47;
}

.label-inverse[href]:hover,
.label-inverse[href]:focus {
  background-color: #20242a;
}

.label-turquoise {
  background-color: #2fc8a6;
}

.label-turquoise[href]:hover,
.label-turquoise[href]:focus {
  background-color: #259f84;
}

.label-pink {
  background-color: #f963bc;
}

.label-pink[href]:hover,
.label-pink[href]:focus {
  background-color: #f732a7;
}

.label-purple {
  background-color: #c29eff;
}

.label-purple[href]:hover,
.label-purple[href]:focus {
  background-color: #a26bff;
}

.label-orange {
  background-color: #f57035;
}

.label-orange[href]:hover,
.label-orange[href]:focus {
  background-color: #eb500c;
}

.alert-purple {
  background-color: #c29eff;
  border-color: #c29eff;
  color: #ffffff;
}

.alert-purple hr {
  border-top-color: #b284ff;
}

.alert-purple .alert-link {
  color: #e6e6e6;
}

.alert-turquoise {
  background-color: #2fc8a6;
  border-color: #2fc8a6;
  color: #ffffff;
}

.alert-turquoise hr {
  border-top-color: #2ab395;
}

.alert-turquoise .alert-link {
  color: #e6e6e6;
}

.alert-pink {
  background-color: #f963bc;
  border-color: #f963bc;
  color: #ffffff;
}

.alert-pink hr {
  border-top-color: #f84ab1;
}

.alert-pink .alert-link {
  color: #e6e6e6;
}

.alert-inverse {
  background-color: #363c47;
  border-color: #363c47;
  color: #ffffff;
}

.alert-inverse hr {
  border-top-color: #2b3039;
}

.alert-inverse .alert-link {
  color: #e6e6e6;
}

.alert-orange {
  background-color: #f57035;
  border-color: #f57035;
  color: #ffffff;
}

.alert-orange hr {
  border-top-color: #f45f1d;
}

.alert-orange .alert-link {
  color: #e6e6e6;
}

.abs-center-container {
  position: relative;
}

.abs-center {
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.abs-center.abs-fixed {
  position: fixed;
  z-index: 999;
}

.abs-center.abs-right {
  right: auto;
  left: 20px;
  text-align: left;
}

.abs-center.abs-left {
  left: auto;
  right: 20px;
  text-align: right;
}

.clickable {
  cursor: pointer;
}

/* ========================================================================
   Component: print.less
 ========================================================================== */

@media print {
  .sidebar,
  .topnavbar,
  .settings,
  .btn {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .app-container,
  .app-container > section,
  .app {
    margin: 0 !important;
    /* remove margin used for sidebar and expand the content */
    width: 100% !important;
  }

  .app-container > aside,
  .app-container > footer {
    display: none;
  }

  .app {
    overflow: hidden !important;
  }

  .text-muted {
    color: #e6e9ee !important;
  }
}

.setting-color {
  padding: 0 5px;
}

.setting-color > label {
  display: block;
  position: relative;
  height: 40px;
  margin: 0 10px;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  border: 1px solid #a0aab2;
}

.setting-color > label:first-child {
  margin-right: 0;
}

.setting-color > label:last-child {
  margin-left: 0;
}

.setting-color > label .list-table {
  height: 100%;
  margin: 0;
}

.setting-color > label > .color {
  display: block;
  height: 18px;
}

.setting-color > label > .split {
  display: block;
}

.setting-color > label > .split:before,
.setting-color > label > .split:after {
  content: " ";
  display: table;
}

.setting-color > label > .split:after {
  clear: both;
}

.setting-color > label > .split:before,
.setting-color > label > .split:after {
  content: " ";
  display: table;
}

.setting-color > label > .split:after {
  clear: both;
}

.setting-color > label > .split > .color {
  display: block;
  height: 37.5px;
}

.setting-color > label > .split > .color:first-child {
  float: right;
  width: 70%;
}

.setting-color > label > .split > .color:last-child {
  float: left;
  width: 30%;
}

.setting-color > label > .icon-check {
  position: absolute;
  display: block;
  right: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-right: -10px;
  text-align: center;
  font-size: 1.33333333em;
  vertical-align: -15%;
  color: #fff;
  opacity: 0;
}

.setting-color > label > input[type="radio"] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.setting-color > label > input[type="radio"]:checked + .icon-check {
  opacity: 1 !important;
}

/* ========================================================================
   Component: documentation.less
 ========================================================================== */

flatdoc {
  display: block;
}

[role~="flatdoc"] {
  position: relative;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  [role~="flatdoc"]:before,
  [role~="flatdoc"]:after {
    content: " ";
    display: table;
  }

  [role~="flatdoc"]:after {
    clear: both;
  }

  [role~="flatdoc"]:before,
  [role~="flatdoc"]:after {
    content: " ";
    display: table;
  }

  [role~="flatdoc"]:after {
    clear: both;
  }
}

[role~="flatdoc-menu"] {
  position: relative;
  font-size: 14px;
}

[role~="flatdoc-menu"] ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

[role~="flatdoc-menu"] ul.level-1 > li > a,
[role~="flatdoc-menu"] ul.level-2 > li > a {
  text-transform: uppercase;
  font-weight: bold;
}

[role~="flatdoc-menu"] ul.level-1 > li + li > a,
[role~="flatdoc-menu"] ul.level-2 > li + li > a {
  border-bottom: 1px solid #e6e9ee;
}

[role~="flatdoc-menu"] ul a {
  position: relative;
  display: block;
  padding: 6px;
  border-left: 2px solid transparent;
}

[role~="flatdoc-menu"] ul a,
[role~="flatdoc-menu"] ul a:visited {
  color: #515d6e;
}

[role~="flatdoc-menu"] ul a:hover {
  color: #414a58;
  background-color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}

[role~="flatdoc-menu"] ul a.level-1,
[role~="flatdoc-menu"] ul a.level-2 {
  font-weight: 600;
}

[role~="flatdoc-menu"] ul a.level-3 {
  font-weight: normal;
  font-size: 12px;
  padding-right: 15px;
}

[role~="flatdoc-menu"] ul a.active {
  border-left-color: #515d6e;
  font-weight: bold !important;
}

[role~="flatdoc-menu"] ul a.active,
[role~="flatdoc-menu"] ul a.active:visited,
[role~="flatdoc-menu"] ul a.active:hover {
  color: #505050 !important;
}

@media only screen and (min-width: 768px) {
  [role~="flatdoc-menu"] {
    float: right;
    width: 180px;
    height: auto;
    padding-right: 10px;
  }

  [role~="flatdoc-menu"] > ul {
    padding-top: 10px;
    max-height: 100%;
    overflow: auto;
    padding-bottom: 60px;
    width: inherit;
  }
}

[role~="flatdoc-content"] {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  padding-top: 1px;
  padding-bottom: 50px;
  background-color: #fff;
}

@media only screen and (min-width: 768px) {
  [role~="flatdoc-content"] {
    padding-right: 200px;
    height: 100%;
  }
}

[role~="flatdoc-content"] pre {
  background-color: #f4f5f5;
  border: 1px solid #e6e9ee;
}

[role~="flatdoc-content"] pre code {
  display: inline-block;
  white-space: pre;
}

[role~="flatdoc-content"] pre code .string,
[role~="flatdoc-content"] pre code .number {
  color: #79b344;
}

[role~="flatdoc-content"] pre code .init {
  color: #79b344;
}

[role~="flatdoc-content"] pre code .keyword {
  color: #515d6e;
  font-weight: bold;
}

[role~="flatdoc-content"] pre code .comment {
  color: #8394a9;
}

[role~="flatdoc-content"] > h1 {
  padding: 12px 0;
  margin: 0;
  line-height: 1;
}

[role~="flatdoc-content"] > h2 {
  padding: 20px;
  border-top: 1px solid #e6e9ee;
  margin: 0 -20px;
  font-weight: bold;
}

[role~="flatdoc-content"] > h2:first-child {
  border-top: 0;
}

[role~="flatdoc-content"] .button {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  border-radius: 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  outline: none !important;
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
  color: #ffffff !important;
  background-color: #43a8eb;
  border-color: #3ea6eb;
}

[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button:active:focus,
[role~="flatdoc-content"] .button.active:focus,
[role~="flatdoc-content"] .button.focus,
[role~="flatdoc-content"] .button:active.focus,
[role~="flatdoc-content"] .button.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

[role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.focus {
  color: #a0aab2;
  text-decoration: none;
}

[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

[role~="flatdoc-content"] .button.disabled,
[role~="flatdoc-content"] .button[disabled],
fieldset[disabled] [role~="flatdoc-content"] .button {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}

[role~="flatdoc-content"] .button.btn-link {
  -webkit-box-shadow: 0 0 0 #000000 !important;
  box-shadow: 0 0 0 #000000 !important;
  border: 0;
}

[role~="flatdoc-content"] .button.btn-default {
  border-color: #e6e9ee;
}

.input-group .input-sm + .input-group-btn [role~="flatdoc-content"] .button {
  font-size: 13px;
}

[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

[role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.focus,
[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active,
.open > .dropdown-toggle[role~="flatdoc-content"] .button {
  color: #ffffff !important;
  background-color: #319fe9;
  border-color: #1a95e7;
}

[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active,
.open > .dropdown-toggle[role~="flatdoc-content"] .button {
  background-image: none;
}

[role~="flatdoc-content"] .button.disabled,
[role~="flatdoc-content"] .button[disabled],
fieldset[disabled] [role~="flatdoc-content"] .button,
[role~="flatdoc-content"] .button.disabled:hover,
[role~="flatdoc-content"] .button[disabled]:hover,
fieldset[disabled] [role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button.disabled:focus,
[role~="flatdoc-content"] .button[disabled]:focus,
fieldset[disabled] [role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.disabled.focus,
[role~="flatdoc-content"] .button[disabled].focus,
fieldset[disabled] [role~="flatdoc-content"] .button.focus,
[role~="flatdoc-content"] .button.disabled:active,
[role~="flatdoc-content"] .button[disabled]:active,
fieldset[disabled] [role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.disabled.active,
[role~="flatdoc-content"] .button[disabled].active,
fieldset[disabled] [role~="flatdoc-content"] .button.active {
  background-color: #43a8eb;
  border-color: #3ea6eb;
}

[role~="flatdoc-content"] .button .badge {
  color: #43a8eb;
  background-color: #ffffff;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9hbmltYXRlLmxlc3MiLCJib290c3RyYXAvbm9ybWFsaXplLmxlc3MiLCJib290c3RyYXAvcHJpbnQubGVzcyIsImJvb3RzdHJhcC9zY2FmZm9sZGluZy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy92ZW5kb3ItcHJlZml4ZXMubGVzcyIsImFwcC9ib290c3RyYXAtdmFyaWFibGVzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL3RhYi1mb2N1cy5sZXNzIiwiYm9vdHN0cmFwL3RodW1ibmFpbHMubGVzcyIsImJvb3RzdHJhcC9jYXJvdXNlbC5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9pbWFnZS5sZXNzIiwiYm9vdHN0cmFwL3R5cGUubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGV4dC1lbXBoYXNpcy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnQubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGV4dC1vdmVyZmxvdy5sZXNzIiwiYm9vdHN0cmFwL2NvZGUubGVzcyIsImJvb3RzdHJhcC9ncmlkLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2dyaWQubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvZ3JpZC1mcmFtZXdvcmsubGVzcyIsImJvb3RzdHJhcC90YWJsZXMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGFibGUtcm93Lmxlc3MiLCJib290c3RyYXAvZm9ybXMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvZm9ybXMubGVzcyIsImJvb3RzdHJhcC9idXR0b25zLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2J1dHRvbnMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvb3BhY2l0eS5sZXNzIiwiYm9vdHN0cmFwL2J1dHRvbi1ncm91cHMubGVzcyIsImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9ucy5sZXNzIiwiYm9vdHN0cmFwL2Ryb3Bkb3ducy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9uYXYtZGl2aWRlci5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9yZXNldC1maWx0ZXIubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvYm9yZGVyLXJhZGl1cy5sZXNzIiwiYm9vdHN0cmFwL2lucHV0LWdyb3Vwcy5sZXNzIiwiYXBwL2Jvb3RzdHJhcC1yZXNldC5sZXNzIiwiYm9vdHN0cmFwL25hdnMubGVzcyIsImJvb3RzdHJhcC9uYXZiYXIubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduLmxlc3MiLCJib290c3RyYXAvdXRpbGl0aWVzLmxlc3MiLCIuLi8uLi9hcHAvdmVuZG9yL2ZvbnRhd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIsImJvb3RzdHJhcC9icmVhZGNydW1icy5sZXNzIiwiYm9vdHN0cmFwL3BhZ2luYXRpb24ubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvcGFnaW5hdGlvbi5sZXNzIiwiYm9vdHN0cmFwL3BhZ2VyLmxlc3MiLCJib290c3RyYXAvbGFiZWxzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2xhYmVscy5sZXNzIiwiYm9vdHN0cmFwL2JhZGdlcy5sZXNzIiwiYm9vdHN0cmFwL2p1bWJvdHJvbi5sZXNzIiwiYm9vdHN0cmFwL2FsZXJ0cy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9hbGVydHMubGVzcyIsImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2dyYWRpZW50cy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9wcm9ncmVzcy1iYXIubGVzcyIsImJvb3RzdHJhcC9tZWRpYS5sZXNzIiwiYm9vdHN0cmFwL2xpc3QtZ3JvdXAubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvbGlzdC1ncm91cC5sZXNzIiwiYm9vdHN0cmFwL3BhbmVscy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9wYW5lbHMubGVzcyIsImJvb3RzdHJhcC9yZXNwb25zaXZlLWVtYmVkLmxlc3MiLCJib290c3RyYXAvd2VsbHMubGVzcyIsImJvb3RzdHJhcC9jbG9zZS5sZXNzIiwiYm9vdHN0cmFwL21vZGFscy5sZXNzIiwiYm9vdHN0cmFwL3Rvb2x0aXAubGVzcyIsImJvb3RzdHJhcC9wb3BvdmVycy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9jbGVhcmZpeC5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9jZW50ZXItYmxvY2subGVzcyIsImJvb3RzdHJhcC9taXhpbnMvaGlkZS10ZXh0Lmxlc3MiLCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5Lmxlc3MiLCJhcHAvZm9udC5sZXNzIiwiYXBwL2xheW91dC5sZXNzIiwiYXBwL3RvcG5hdmJhci5sZXNzIiwiYXBwL3NpZGViYXIubGVzcyIsImFwcC9idXR0b24tZXh0cmEubGVzcyIsImFwcC9wbGFjZWhvbGRlci5sZXNzIiwiYXBwL3BhbmVscy1leHRyYS5sZXNzIiwiYXBwL3Byb2dyZXNzLWV4dHJhLmxlc3MiLCJhcHAvcG9pbnRzLmxlc3MiLCJhcHAvdGltZWxpbmUubGVzcyIsImFwcC9kcm9wZG93bi1leHRyYS5sZXNzIiwiYXBwL3Jvdy1leHRyYS5sZXNzIiwiYXBwL21hc29ucnktZ3JpZC5sZXNzIiwiYXBwL3R5cGVhaGVhZC5sZXNzIiwiYXBwL2xvYWRpbmctYmFyLmxlc3MiLCJhcHAvZ3JpZC10YWJsZS5sZXNzIiwiYXBwL3BhbGV0dGUubGVzcyIsImFwcC9jaGF0Lmxlc3MiLCJhcHAvYnV0dG9uLXN3aXRjaC5sZXNzIiwiYXBwL2ZlYXRoZXItaWNvbnMubGVzcyIsImFwcC9jYWxlbmRhci5sZXNzIiwiYXBwL3BvcnRsZXRzLmxlc3MiLCJhcHAvdGFza3MubGVzcyIsImFwcC9tYWlsYm94Lmxlc3MiLCJhcHAvdXRpbHMubGVzcyIsImFwcC9jaGFydHMubGVzcyIsImFwcC9mb3JtLWV4dHJhcy5sZXNzIiwiYXBwL2Zvcm0tdmFsaWRhdGlvbi5sZXNzIiwiYXBwL2Zvcm0td2l6YXJkLmxlc3MiLCJhcHAvZm9ybS1zd2l0Y2gubGVzcyIsImFwcC9mb3JtLWlucHV0Lmxlc3MiLCJhcHAvdGFibGUtcmVzcG9uc2l2ZS5sZXNzIiwiYXBwL3RhYmxlLW5ndGFibGUubGVzcyIsImFwcC9wbHVnaW5zLmxlc3MiLCJhcHAvc2xpbS1zY3JvbGwubGVzcyIsImFwcC9kYXRlcGlja2VyLmxlc3MiLCJhcHAvYWxlcnRzLmxlc3MiLCJhcHAvdG9hc3Rlci5sZXNzIiwiYXBwL2dtYXAubGVzcyIsImFwcC92ZWN0b3ItbWFwLmxlc3MiLCJhcHAvdXRpbHMtYmFja2dyb3VuZC5sZXNzIiwiYXBwL3ByaW50Lmxlc3MiLCJhcHAvc2V0dGluZ3MubGVzcyIsImFwcC9kb2NzLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0lUO0VBQ0UsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLDhCQUFBOztBQU9GO0VBQ0UsU0FBQTs7QUFhRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLGNBQUE7O0FBUUY7QUFDQTtBQUNBO0FBQ0E7RUFDRSxxQkFBQTtFQUNBLHdCQUFBOztBQVFGLEtBQUssSUFBSTtFQUNQLGFBQUE7RUFDQSxTQUFBOztBQVFGO0FBQ0E7RUFDRSxhQUFBOztBQVVGO0VBQ0UsNkJBQUE7O0FBT0YsQ0FBQztBQUNELENBQUM7RUFDQyxVQUFBOztBQVVGLElBQUk7RUFDRix5QkFBQTs7QUFPRjtBQUNBO0VBQ0UsaUJBQUE7O0FBT0Y7RUFDRSxrQkFBQTs7QUFRRjtFQUNFLGNBQUE7RUFDQSxnQkFBQTs7QUFPRjtFQUNFLGdCQUFBO0VBQ0EsV0FBQTs7QUFPRjtFQUNFLGNBQUE7O0FBT0Y7QUFDQTtFQUNFLGNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTs7QUFHRjtFQUNFLFdBQUE7O0FBR0Y7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SkgsVStDS0c7QS9DZUgsZ0IrQ2hCRztBL0NnQkgsZ0IrQ2ZHO0EvQ3dCSCxJK0N6Qkc7QS9DeUJILEkrQ3hCRztBMUNtZUgsZ0JBcUJFLFkwQ3pmQztBMUNvZUgsZ0JBcUJFLFkwQ3hmQztBckN3QkgsWXFDekJHO0FyQ3lCSCxZcUN4Qkc7QXJDb0lILG1CQVdFLGFxQ2hKQztBckNxSUgsbUJBV0UsYXFDL0lDO0E3Qk5ILEk2QktHO0E3QkxILEk2Qk1HO0E1QkpILE80QkdHO0E1QkhILE80QklHO0E1QmdCSCxjNEJqQkc7QTVCaUJILGM0QmhCRztBNUJtQ0gsZ0I0QnBDRztBNUJvQ0gsZ0I0Qm5DRztBckJUSCxNcUJRRztBckJSSCxNcUJTRztBUkNILFdRRkc7QVJFSCxXUURHO0FIdUZILGFHeEZHO0FId0ZILGFHdkZHO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixTQUFDO0FwRDhMSCxjQUNFLEdvRC9MQztBL0NUSCxVK0NTRztBL0NXSCxnQitDWEc7QS9Db0JILEkrQ3BCRztBMUMrZEgsZ0JBcUJFLFkwQ3BmQztBckNvQkgsWXFDcEJHO0FyQ2dJSCxtQkFXRSxhcUMzSUM7QTdCVkgsSTZCVUc7QTVCUkgsTzRCUUc7QTVCWUgsYzRCWkc7QTVCK0JILGdCNEIvQkc7QXJCYkgsTXFCYUc7QVJISCxXUUdHO0FIbUZILGFHbkZHO0VBQ0MsV0FBQTs7QTFCUko7RTJCUkUsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0EzQlNGO0VBQ0UsdUJBQUE7O0FBRUY7RUFDRSxzQkFBQTs7QUFRRjtFQUNFLHdCQUFBOztBQUVGO0VBQ0UseUJBQUE7O0FBRUY7RUFDRSxrQkFBQTs7QUFFRjtFNEJ6QkUsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7O0E1QjhCRjtFQUNFLHdCQUFBO0VBQ0EsNkJBQUE7O0FBT0Y7RUFDRSxlQUFBOztBNkJsQ0Y7RUFDRSxtQkFBQTs7QUFNRjtBQUNBO0FBQ0E7QUFDQTtFQ2pCRSx3QkFBQTs7QURxQkY7QUFDQTtBQUNBO0FBQ0E7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QUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgs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bGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogYW5pbWF0ZS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQGFuaW1hdGUtZmFkZS1kaXN0YW5jZTogMThweDtcclxuXHJcbkBhbmltYXRlLWRlZmF1bHQtZHVyYXRpb246IC41cztcclxuQGFuaW1hdGUtdmlldy1kdXJhdGlvbjogLjM1cztcclxuXHJcbi8vIEFuZ3VsYXIgc3RhbmRhcmQgYW5pbWF0aW9uIHN0YXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5bdWktdmlld10ubmctbGVhdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYubmctZmx1aWQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm5nLWZsdWlkLm5nLWFuaW1hdGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuXHJcbn1cclxuXHJcbi8vIEFuaW1hdGlvbnMgYWRhcHRlZCBmb3IgbmdBbmltYXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLm5nLWZhZGVJbkxlZnQyIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5MZWZ0MiBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJbiB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyAgfVxyXG4gICYubmctbGVhdmUgeyAuYW5pbWF0aW9uKGZhZGVPdXQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblVwIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5VcCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0RG93biBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluRG93biB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluRG93biBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0VXAgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblJpZ2h0IHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5SaWdodCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0TGVmdCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluTGVmdCB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluTGVmdCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblVwQmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5Eb3duQmlnIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyAgfVxyXG4gICYubmctbGVhdmUgeyAuYW5pbWF0aW9uKGZhZGVPdXREb3duQmlnIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyB9XHJcbn1cclxuXHJcbi5uZy1mYWRlSW5Eb3duQmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5VcEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0VXBCaWcgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblJpZ2h0QmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5SaWdodEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0TGVmdEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluTGVmdEJpZyB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluTGVmdEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHRCaWcgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVPdXRab29tIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbih6b29tSW4gMXMgQGVhc2VPdXRRdWludCk7ICB9XHJcbiAgJi5uZy1sZWF2ZSB7IC5hbmltYXRpb24oZmFkZU91dCAxcyBAZWFzZU91dFF1aW50KTsgfVxyXG59XHJcblxyXG5cclxuLy8gQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlICBcclxuLy8gYW5pbW8gc3VwcG9ydFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi5hbmltYXRlZCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRlLWRlZmF1bHQtZHVyYXRpb247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAYW5pbWF0ZS1kZWZhdWx0LWR1cmF0aW9uO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4uZmFkZUluTGVmdDIge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQyO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0MjtcclxufSAgXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdDIge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQGFuaW1hdGUtZmFkZS1kaXN0YW5jZSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdDIge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQGFuaW1hdGUtZmFkZS1kaXN0YW5jZSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaW1pbmcgZnVuY3Rpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLy8gQ3ViaWNcclxuQGVhc2VJbkN1YmljOiAgY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuQGVhc2VPdXRDdWJpYzogIGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRDdWJpYyA6ICBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG5cclxuLy8gQ2lyY1xyXG5AZWFzZUluQ2lyYzogIGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcbkBlYXNlT3V0Q2lyYzogIGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRDaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbi8vIEV4cG9cclxuQGVhc2VJbkV4cG86ICBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG5AZWFzZU91dEV4cG86ICBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG5AZWFzZUluT3V0RXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcblxyXG4vLyBRdWFkXHJcbkBlYXNlSW5RdWFkOiAgY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuQGVhc2VPdXRRdWFkOiAgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuQGVhc2VJbk91dFF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG5cclxuLy8gUXVhcnRcclxuQGVhc2VJblF1YXJ0OiAgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuQGVhc2VPdXRRdWFydDogIGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRRdWFydCA6ICBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG5cclxuLy8gUXVpbnRcclxuQGVhc2VJblF1aW50OiAgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuQGVhc2VPdXRRdWludDogIGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRRdWludCA6ICBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG5cclxuLy8gU2luZVxyXG5AZWFzZUluU2luZTogIGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbkBlYXNlT3V0U2luZTogIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRTaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuXHJcbi8vIEJhY2tcclxuQGVhc2VJbkJhY2s6ICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcclxuQGVhc2VPdXRCYWNrOiAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XHJcbkBlYXNlSW5PdXRCYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4vLyAgICB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbi8vICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgfVxuXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcbiAgICAvL1xuICAgIC8vIENocm9tZSAoT1NYKSBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNDVcbiAgICAvLyBPbmNlIGZpeGVkLCB3ZSBjYW4ganVzdCBzdHJhaWdodCB1cCByZW1vdmUgdGhpcy5cbiAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IEBsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIC50YWItZm9jdXMoKTtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICAuaW1nLXJlc3BvbnNpdmUoKTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IEB0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICAudHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgLmltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XG59XG5cbi8vIFBlcmZlY3QgY2lyY2xlXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gc2V0IHJhZGl1cyBpbiBwZXJjZW50c1xufVxuXG5cbi8vIEhvcml6b250YWwgcnVsZXNcblxuaHIge1xuICBtYXJnaW4tdG9wOiAgICBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQGhyLWJvcmRlcjtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbn1cbi5hbmltYXRpb24tbmFtZShAbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogQG5hbWU7XG59XG4uYW5pbWF0aW9uLWR1cmF0aW9uKEBkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xufVxuLmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oQHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi5hbmltYXRpb24tZGVsYXkoQGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG59XG4uYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChAaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xufVxuLmFuaW1hdGlvbi1kaXJlY3Rpb24oQGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbn1cbi5hbmltYXRpb24tZmlsbC1tb2RlKEBmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IEBmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW4tY291bnQ7IEBjb2x1bW4tZ2FwOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbi5oeXBoZW5zKEBtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiBAbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiBAbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG59XG4uc2NhbGUoQHJhdGlvWDsgQHJhdGlvWSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG59XG4uc2NhbGVYKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG59XG4uc2NhbGVZKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG59XG4uc2tldyhAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xufVxuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVYKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVZKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbn1cbi5wZXJzcGVjdGl2ZShAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbn1cbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG59XG4udHJhbnNmb3JtLW9yaWdpbihAb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnRyYW5zaXRpb24tcHJvcGVydHkoQHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbi50cmFuc2l0aW9uLWRlbGF5KEB0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG59XG4udHJhbnNpdGlvbi1kdXJhdGlvbihAdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQGltcG9ydCB1cmwoaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDQwMGl0YWxpYyk7XG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4vLyBSZWRlZmluZWQgR3JheSBjb2xvcnMgZm9yIHRoZW1lXG5AZ3JheS1kYXJrZXI6ICAgICAgICAgICAgIzJiM2Q1MTtcbkBncmF5LWRhcms6ICAgICAgICAgICAgICAjNTE1ZDZlO1xuQGdyYXk6ICAgICAgICAgICAgICAgICAgICNBMEFBQjI7XG5AZ3JheS1saWdodDogICAgICAgICAgICAgI2U2ZTllZTtcbkBncmF5LWxpZ2h0ZXI6ICAgICAgICAgICAjZjRmNWY1O1xuXG4vLyBDbGFzc2ljIGJyYW5kIGNvbG9yc1xuXG5AYnJhbmQtcHJpbWFyeTogICAgICAgICAgIzQzYThlYjtcbkBicmFuZC1zdWNjZXNzOiAgICAgICAgICAjODhiZjU3O1xuQGJyYW5kLWluZm86ICAgICAgICAgICAgICM4MjkzYjk7XG5AYnJhbmQtd2FybmluZzogICAgICAgICAgI2ZkYWY0MDtcbkBicmFuZC1kYW5nZXI6ICAgICAgICAgICAjZWI2MTVmO1xuXG4vLyBOZXcgYnJhbmQgY29sb3JzXG5cbkBicmFuZC1pbnZlcnNlOiAgICAgICAgICAjMzYzQzQ3O1xuQGJyYW5kLXR1cnF1b2lzZTogICAgICAgICMyRkM4QTY7XG5AYnJhbmQtcGluazogICAgICAgICAgICAgI2Y5NjNiYztcbkBicmFuZC1wdXJwbGU6ICAgICAgICAgICAjYzI5ZWZmOyBcbkBicmFuZC1vcmFuZ2U6ICAgICAgICAgICAjRjU3MDM1O1xuQGJyYW5kLW5vaXI6ICAgICAgICAgICAgICNkOWQ5ZTQ7XG5AYnJhbmQtd2hpdGU6ICAgICAgICAgICAgI2ZmZjtcblxuLy8gQnJhbmQgY29sb3IgVmFyaWFudHNcblxuQGFtb3VudE9mTGlnaHQ6IDYlO1xuXG5AYnJhbmQtcHJpbWFyeS1saWdodDogICAgICAgICAgbGlnaHRlbihAYnJhbmQtcHJpbWFyeSwgQGFtb3VudE9mTGlnaHQpO1xuQGJyYW5kLXN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLXN1Y2Nlc3MsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1pbmZvLWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKEBicmFuZC1pbmZvLCBAYW1vdW50T2ZMaWdodCk7XG5AYnJhbmQtd2FybmluZy1saWdodDogICAgICAgICAgbGlnaHRlbihAYnJhbmQtd2FybmluZywgQGFtb3VudE9mTGlnaHQpO1xuQGJyYW5kLWRhbmdlci1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLWRhbmdlciwgQGFtb3VudE9mTGlnaHQpO1xuQGJyYW5kLWludmVyc2UtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLWludmVyc2UsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC10dXJxdW9pc2UtbGlnaHQ6ICAgICAgICBsaWdodGVuKEBicmFuZC10dXJxdW9pc2UsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1waW5rLWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKEBicmFuZC1waW5rLCBAYW1vdW50T2ZMaWdodCk7XG5AYnJhbmQtcHVycGxlLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbihAYnJhbmQtcHVycGxlLCBAYW1vdW50T2ZMaWdodCk7XG5AYnJhbmQtb3JhbmdlLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbihAYnJhbmQtb3JhbmdlLCBAYW1vdW50T2ZMaWdodCk7XG5cbkBicmFuZC1wcmltYXJ5LWRhcms6ICAgICAgICAgICBkYXJrZW4oQGJyYW5kLXByaW1hcnksIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1zdWNjZXNzLWRhcms6ICAgICAgICAgICBkYXJrZW4oQGJyYW5kLXN1Y2Nlc3MsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1pbmZvLWRhcms6ICAgICAgICAgICAgICBkYXJrZW4oQGJyYW5kLWluZm8sIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC13YXJuaW5nLWRhcms6ICAgICAgICAgICBkYXJrZW4oQGJyYW5kLXdhcm5pbmcsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1kYW5nZXItZGFyazogICAgICAgICAgICBkYXJrZW4oQGJyYW5kLWRhbmdlciwgQGFtb3VudE9mTGlnaHQpO1xuQGJyYW5kLWludmVyc2UtZGFyazogICAgICAgICAgIGRhcmtlbihAYnJhbmQtaW52ZXJzZSwgQGFtb3VudE9mTGlnaHQpO1xuQGJyYW5kLXR1cnF1b2lzZS1kYXJrOiAgICAgICAgIGRhcmtlbihAYnJhbmQtdHVycXVvaXNlLCBAYW1vdW50T2ZMaWdodCk7XG5AYnJhbmQtcGluay1kYXJrOiAgICAgICAgICAgICAgZGFya2VuKEBicmFuZC1waW5rLCBAYW1vdW50T2ZMaWdodCk7XG5AYnJhbmQtcHVycGxlLWRhcms6ICAgICAgICAgICAgZGFya2VuKEBicmFuZC1wdXJwbGUsIEBhbW91bnRPZkxpZ2h0KTtcbkBicmFuZC1vcmFuZ2UtZGFyazogICAgICAgICAgICBkYXJrZW4oQGJyYW5kLW9yYW5nZSwgQGFtb3VudE9mTGlnaHQpO1xuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuQGJvZHktYmc6ICAgICAgICAgICAgICAgI2Y3ZjlmYjtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG5AdGV4dC1jb2xvcjogICAgICAgICAgICAjNTg1ZjY5O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG5AbGluay1jb2xvcjogICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG5AbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oQGxpbmstY29sb3IsIDE1JSk7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuQGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbkBmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5AZm9udC1mYW1pbHktYmFzZTogICAgICAgIEBmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG5AZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDEzcHg7XG5AZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMjUpKTsgLy8gfjE4cHhcbkBmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMC44NSkpOyAvLyB+MTJweFxuXG5AZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKChAZm9udC1zaXplLWJhc2UgKiAyLjYpKTsgLy8gfjM2cHhcbkBmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDIuMTUpKTsgLy8gfjMwcHhcbkBmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS43KSk7IC8vIH4yNHB4XG5AZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMjUpKTsgLy8gfjE4cHhcbkBmb250LXNpemUtaDU6ICAgICAgICAgICAgQGZvbnQtc2l6ZS1iYXNlO1xuQGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAwLjg1KSk7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbkBsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS41Mjg1NzE0Mjk7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogQGxpbmUtaGVpZ2h0LWJhc2UpKTsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0O1xuQGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDA7XG5AaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMTtcbkBoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cbkBpY29uLWZvbnQtcGF0aDogICAgICAgICAgXCIuLi9mb250cy9cIjtcbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbkBpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCI7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG5AaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCI7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbkBwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA4cHg7XG5AcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMjRweDtcblxuQHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDE0cHg7XG5AcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMjZweDtcblxuQHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweDtcbkBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxOHB4O1xuXG5AcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4O1xuQHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweDtcblxuQGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzM7XG5AbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41O1xuXG5AYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgM3B4O1xuQGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDRweDtcbkBib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAycHg7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbkBjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmO1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG5AY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgQGJyYW5kLXByaW1hcnk7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG5AY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG5AY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbkB0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgMTJweCA4cHg7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbkB0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuQHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuQHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZmFmYmZjO1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuQHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZmFmYmZjO1xuQHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICBAZ3JheS1saWdodDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXG5AdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlZWU7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG5AYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBub3JtYWw7XG5cbkBidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIEBncmF5O1xuQGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcbkBidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG5AYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xuQGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5AYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1wcmltYXJ5LWJnLCAxJSk7XG5cbkBidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG5AYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtc3VjY2VzcztcbkBidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihAYnRuLXN1Y2Nlc3MtYmcsIDElKTtcblxuQGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcbkBidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgIEBicmFuZC1pbmZvO1xuQGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKEBidG4taW5mby1iZywgMSUpO1xuXG5AYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xuQGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XG5AYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oQGJ0bi13YXJuaW5nLWJnLCAxJSk7XG5cbkBidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmY7XG5AYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xuQGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKEBidG4tZGFuZ2VyLWJnLCAxJSk7XG5cbkBidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgIEBncmF5LWxpZ2h0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbkBpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG5AaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbkBpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgIEBncmF5LWRhcms7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbkBpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICNkYmQ5ZDk7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgcmFkaXVzXG5AaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbkBpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbkBpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICNiN2JhYzk7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG5AaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpO1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG5AaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbChAZm9udC1zaXplLWxhcmdlICogQGxpbmUtaGVpZ2h0LWxhcmdlKSArIChAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMik7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbkBpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcihAZm9udC1zaXplLXNtYWxsICogQGxpbmUtaGVpZ2h0LXNtYWxsKSArIChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMik7XG5cbkBsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgIEBncmF5LWRhcms7XG5AbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG5AaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG5AaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiBAaW5wdXQtYm9yZGVyO1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG5AZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuQGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgI2UxZTFlMTtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbkBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2M7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG5AZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbkBkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICM1ZjVmNWY7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbkBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbihAZ3JheS1kYXJrLCA1JSk7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuQGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2ZhZmJmYztcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG5AZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuQGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG5AZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICBAZ3JheS1saWdodDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbkBkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYEBkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG5AZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwO1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG5AemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwO1xuQHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMDtcbkB6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjA7XG5AemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwO1xuQHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMDtcbkB6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDA7XG5AemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwO1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4O1xuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG5Ac2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4teHM7XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICBAc2NyZWVuLXhzLW1pbjtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweDtcbkBzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgQHNjcmVlbi1zbTtcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICBAc2NyZWVuLXNtLW1pbjtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4O1xuQHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICBAc2NyZWVuLW1kO1xuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICBAc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHg7XG5Ac2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4tbGc7XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgIEBzY3JlZW4tbGctbWluO1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbkBzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKEBzY3JlZW4tc20tbWluIC0gMSk7XG5Ac2NyZWVuLXNtLW1heDogICAgICAgICAgICAgIChAc2NyZWVuLW1kLW1pbiAtIDEpO1xuQHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoQHNjcmVlbi1sZy1taW4gLSAxKTtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuQGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyO1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbkBncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICBAc2NyZWVuLXNtLW1pbjtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoQGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbkBjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoKDcyMHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKSk7XG4vLyoqIEZvciBgQHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbkBjb250YWluZXItc206ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLXRhYmxldDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbkBjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoKDk0MHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKSk7XG4vLyoqIEZvciBgQHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbkBjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLWRlc2t0b3A7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuQGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgoMTE0MHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKSk7XG4vLyoqIEZvciBgQHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbkBjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLWxhcmdlLWRlc2t0b3A7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuQG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA2MHB4O1xuQG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5AbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG5AbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoQG5hdmJhci1oZWlnaHQgLSBAbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMik7XG5AbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4O1xuXG5AbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3Nzc7XG5AbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4Zjg7XG5AbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xuXG4vLyBOYXZiYXIgbGlua3NcbkBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjZmZmO1xuQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICNkZGQ7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgI2RkZDtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oQG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjO1xuQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpO1xuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZDtcbkBuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4O1xuQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQ7XG5cblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG5AbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuQG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyO1xuQG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpO1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbkBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG5AbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmY7XG5AbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgMTAlKTtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NDtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuQG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZjtcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMztcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZjtcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMztcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG5AbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweDtcbkBuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5cbkBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG5AbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG5AbmF2LW9wZW4tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICNmZmY7XG5cbi8vPT0gVGFic1xuQG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkO1xuXG5AbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICNkZGQ7XG5cbkBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgI2ZmZjtcbkBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgQGdyYXk7XG5AbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQ7XG5cbkBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZDtcbkBuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgQGJvZHktYmc7XG5cbi8vPT0gUGlsbHNcbkBuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgQGJvcmRlci1yYWRpdXMtYmFzZTtcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XG5AbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIEBjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuQHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgQHRleHQtY29sb3I7XG5AcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuQHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2VlZTtcblxuQHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgQGxpbmstaG92ZXItY29sb3I7XG5AcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAjZmFmYWZhO1xuQHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2VlZTtcblxuQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcbkBwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xuQHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5cbkBwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuQHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZjtcbkBwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNlZWU7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuQHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tYmc7XG5AcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ib3JkZXI7XG5AcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4O1xuXG5AcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ob3Zlci1iZztcblxuQHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuQHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuXG5AcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuQGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweDtcbkBqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQ7XG5AanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xuQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdDtcbkBqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuNSkpO1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbkBzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgIEBicmFuZC1zdWNjZXNzO1xuQHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkODtcbkBzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSk7XG5cbkBzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgIEBicmFuZC1pbmZvOyBcbkBzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjc7XG5Ac3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpO1xuXG5Ac3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICBAYnJhbmQtd2FybmluZztcbkBzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTM7XG5Ac3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpO1xuXG5Ac3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xuQHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZTtcbkBzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKTtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG5AdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG5AdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbkB0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMyMjI7XG5AdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOTtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG5AdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHg7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbkB0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgIEB0b29sdGlwLWJnO1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbkBwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG5AcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuQHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAjZTFlMWUxO1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjO1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuQHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbkBwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuQHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbkBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKEBwb3BvdmVyLWFycm93LXdpZHRoICsgMSk7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbkBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgQHBvcG92ZXItYm9yZGVyLWNvbG9yOztcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpO1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuQGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgQGdyYXk7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuQGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuQGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgQGJyYW5kLXN1Y2Nlc3M7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuQGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgQGJyYW5kLWluZm87XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuQGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuQGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG5AbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmO1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuQG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG5AbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgQGxpbmUtaGVpZ2h0LWJhc2U7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbkBtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbkBtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMik7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG5AbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTk7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuQG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuQG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjU7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbkBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTU7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbkBtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgIEBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG5AbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweDtcbkBtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4O1xuQG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHg7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG5AYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICA4cHg7XG5AYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbkBhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQ7XG5cbkBhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgIEBicmFuZC1zdWNjZXNzO1xuQGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgI2ZmZjtcbkBhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgIHJnYmEoMCwwLDAsLjEpO1xuXG5AYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICBAYnJhbmQtaW5mbztcbkBhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICNmZmY7XG5AYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICByZ2JhKDAsMCwwLC4xKTtcblxuQGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XG5AYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAjZmZmO1xuQGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgcmdiYSgwLDAsMCwuMSk7XG5cbkBhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XG5AYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAjZmZmO1xuQGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgcmdiYSgwLDAsMCwuMSk7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuQHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2YxZjFmMTtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbkBwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmY7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbkBwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuQHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgQGJyYW5kLXN1Y2Nlc3M7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG5AcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICBAYnJhbmQtd2FybmluZztcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuQHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgQGJyYW5kLWRhbmdlcjtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbkBwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgIEBicmFuZC1pbmZvO1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuQGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG5AbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNmMWYyZjM7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbkBsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2ZhZmJmYztcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuQGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuQGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICBAY29tcG9uZW50LWFjdGl2ZS1iZztcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG5AbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgIEBsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbkBsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbihAbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSk7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG5AbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICBAZ3JheS1saWdodDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG5AbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICBAZ3JheS1saWdodGVyO1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG5AbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcblxuQGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1O1xuQGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICBAbGlzdC1ncm91cC1saW5rLWNvbG9yO1xuQGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzO1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuQHBhbmVsLWdsb2JhbC1ib3JkZXI6ICAgICAgICAgQGdyYXktbGlnaHQ7XG5cbkBwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmY7XG5AcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4O1xuQHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4O1xuQHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbkBwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgIEBib3JkZXItcmFkaXVzLWxhcmdlO1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuQHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2VlZTtcbkBwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmMWYxZjU7XG5cbkBwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICM0NDQ7XG5AcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcbkBwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmZmY7XG5cbkBwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmY7XG5AcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcbkBwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgIEBicmFuZC1wcmltYXJ5O1xuXG5AcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAjZmZmO1xuQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgQHBhbmVsLWdsb2JhbC1ib3JkZXI7XG5AcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICBAYnJhbmQtc3VjY2VzcztcblxuQHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgI2ZmZjtcbkBwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgIEBwYW5lbC1nbG9iYWwtYm9yZGVyO1xuQHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgQGJyYW5kLWluZm87XG5cbkBwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICNmZmY7XG5AcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcbkBwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgIEBicmFuZC13YXJuaW5nO1xuXG5AcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAjZmZmO1xuQHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgQHBhbmVsLWdsb2JhbC1ib3JkZXI7XG5AcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICBAYnJhbmQtZGFuZ2VyO1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG5AdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAycHg7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG5AdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAjZTFlMmUzO1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG5AdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZTFlMmUzO1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgQGJvcmRlci1yYWRpdXMtc21hbGw7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuQHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgQHRleHQtY29sb3I7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbkB3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5Ad2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG5AYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuQGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZjtcbkBiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG5AYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICBAbGluay1jb2xvcjtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbkBiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmY7XG5cbkBiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQ7XG5AYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxO1xuQGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG5AYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDEycHg7XG5AYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHg7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuQGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZmFmYWZhO1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbkBicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2MxYzJjMztcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbkBicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgQHRleHQtY29sb3I7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbkBicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCI+XCI7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuQGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KTtcblxuQGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5AY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlO1xuQGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41O1xuQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHg7XG5cbkBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmO1xuQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmY7XG5cbkBjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbkBjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQ7XG5AY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwO1xuQGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmO1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuQGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgIzI1OUNDNztcbkBjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNGMkY3Rjk7XG5cbkBrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmY7XG5Aa2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzO1xuXG5AcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1O1xuQHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgQGdyYXktZGFyaztcbkBwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2M7XG5AcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbkBjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG5AdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjODM5NGE5O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbkBhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgIEBncmF5LWRhcms7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG5AaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICBAZ3JheS1kYXJrO1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG5AYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICBAZ3JheS1kYXJrO1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuQGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKEBmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgQGdyYXktbGlnaHRlcjtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG5AcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICBAZ3JheS1saWdodGVyO1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG5AZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICBAY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsO1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG5AaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuXG5cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG4udGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAvLyBXZWJLaXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyxcbiAgYSYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IEB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiBAdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgcGVyc3BlY3RpdmU6IDEwMDA7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYucHJldixcbiAgICAgICYuYWN0aXZlLmxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIC5vcGFjaXR5KEBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6IEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIC8vIFdlIGNhbid0IGhhdmUgdGhpcyB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBTZXQgZ3JhZGllbnRzIGZvciBiYWNrZ3JvdW5kc1xuICAmLmxlZnQge1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAub3BhY2l0eSguOSk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1uZXh0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogIDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgfVxuXG5cbiAgLmljb24tcHJldiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzOSc7Ly8gU0lOR0xFIExFRlQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzOSlcbiAgICB9XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzYSc7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tbGVmdDogLTMwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogIDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMXB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTgtOSBoYWNrIGZvciBldmVudCBoYW5kbGluZ1xuICAgIC8vXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgOC05IGRvZXMgbm90IHN1cHBvcnQgY2xpY2tzIG9uIGVsZW1lbnRzIHdpdGhvdXQgYSBzZXRcbiAgICAvLyBgYmFja2dyb3VuZC1jb2xvcmAuIFdlIGNhbm5vdCB1c2UgYGZpbHRlcmAgc2luY2UgdGhhdCdzIG5vdCB2aWV3ZWQgYXMgYVxuICAgIC8vIGJhY2tncm91bmQgY29sb3IgYnkgdGhlIGJyb3dzZXIuIFRodXMsIGEgaGFjayBpcyBuZWVkZWQuXG4gICAgLy9cbiAgICAvLyBGb3IgSUU4LCB3ZSBzZXQgc29saWQgYmxhY2sgYXMgaXQgZG9lc24ndCBzdXBwb3J0IGByZ2JhKClgLiBGb3IgSUU5LCB3ZVxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcXDk7IC8vIElFOFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICB9XG4gIC5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiBAY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogQGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICAgIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAgIC5pY29uLXByZXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIH1cbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6IEBmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6IEBmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6IEBmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6IEBmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6IEBmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6IEBmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogQGZvbnQtc2l6ZS1zbWFsbCAvIEBmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xufVxuLnRleHQtcHJpbWFyeSB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLnRleHQtc3VjY2VzcyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG59XG4udGV4dC1pbmZvIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtaW5mby10ZXh0KTtcbn1cbi50ZXh0LXdhcm5pbmcge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLXRleHQpO1xufVxuLnRleHQtZGFuZ2VyIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtZGFuZ2VyLXRleHQpO1xufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xuICAuYmctdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4uYmctc3VjY2VzcyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5iZy1pbmZvIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWluZm8tYmcpO1xufVxuLmJnLXdhcm5pbmcge1xuICAuYmctdmFyaWFudChAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uYmctZGFuZ2VyIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgLmxpc3QtdW5zdHlsZWQoKTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoQGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIC50ZXh0LW92ZXJmbG93KCk7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogQGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4uYmctdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG4udGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvL1xuLy8gQ29kZSAoaW5saW5lIGFuZCBibG9jaylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSW5saW5lIGFuZCBibG9jayBjb2RlIHN0eWxlc1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbn1cblxuLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBjb2RlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29kZS1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogQGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGtiZC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAtIDEpIC8gMik7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlIC0gMSk7IC8vIDE0cHggdG8gMTNweFxuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogQHByZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByZS1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHByZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IEBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICAubWFrZS1yb3coKTtcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKTtcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbi5tYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAubWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5tYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbi5tYWtlLXJvdyhAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoQGd1dHRlciAvIC0yKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQGd1dHRlciAvIC0yKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG4ubWFrZS14cy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xufVxuLm1ha2UteHMtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG4ubWFrZS1zbS1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuLm1ha2UtbWQtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuLm1ha2UtbGctY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGBAZ3JpZC1jb2x1bW5zYC5cblxuLm1ha2UtZ3JpZC1jb2x1bW5zKCkge1xuICAvLyBDb21tb24gc3R5bGVzIGZvciBhbGwgc2l6ZXMgb2YgZ3JpZCBjb2x1bW5zLCB3aWR0aHMgMS0xMlxuICAuY29sKEBpbmRleCkgd2hlbiAoQGluZGV4ID0gMSkgeyAvLyBpbml0aWFsXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgQGl0ZW0pO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbDsgXCI9PFwiIGlzbid0IGEgdHlwb1xuICAgIEBpdGVtOiB+XCIuY29sLXhzLUB7aW5kZXh9LCAuY29sLXNtLUB7aW5kZXh9LCAuY29sLW1kLUB7aW5kZXh9LCAuY29sLWxnLUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPiBAZ3JpZC1jb2x1bW5zKSB7IC8vIHRlcm1pbmFsXG4gICAgQHtsaXN0fSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmZsb2F0LWdyaWQtY29sdW1ucyhAY2xhc3MpIHtcbiAgLmNvbChAaW5kZXgpIHdoZW4gKEBpbmRleCA9IDEpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LUB7aW5kZXh9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC1Ae2luZGV4fSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIGFuZCAoQGluZGV4ID0gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBvZmZzZXQpIHtcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gQmFzaWMgbG9vcGluZyBpbiBMRVNTXG4ubG9vcC1ncmlkLWNvbHVtbnMoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAaW5kZXggPj0gMCkge1xuICAuY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpO1xuICAvLyBuZXh0IGl0ZXJhdGlvblxuICAubG9vcC1ncmlkLWNvbHVtbnMoKEBpbmRleCAtIDEpLCBAY2xhc3MsIEB0eXBlKTtcbn1cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG4ubWFrZS1ncmlkKEBjbGFzcykge1xuICAuZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcyk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHdpZHRoKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVsbCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHB1c2gpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiBAdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS8xMCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTkvMTAgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG4udGFibGUtcm93LXZhcmlhbnQoYWN0aXZlOyBAdGFibGUtYmctYWN0aXZlKTtcbi50YWJsZS1yb3ctdmFyaWFudChzdWNjZXNzOyBAc3RhdGUtc3VjY2Vzcy1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQoaW5mbzsgQHN0YXRlLWluZm8tYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KHdhcm5pbmc7IEBzdGF0ZS13YXJuaW5nLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChkYW5nZXI7IEBzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWluLWhlaWdodDogMC4wMSU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAqIDAuNzUpO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgLy8gVGlnaHRlbiB1cCBzcGFjaW5nXG4gICAgPiAudGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gRW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3Qgd3JhcFxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBvdmVycmlkZXMgZm9yIHRoZSBib3JkZXJlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT25seSBudWtlIHRoZSBsYXN0IHJvdydzIGJvdHRvbS1ib3JkZXIgaW4gYHRib2R5YCBhbmQgYHRmb290YCBzaW5jZVxuICAgICAgLy8gY2hhbmNlcyBhcmUgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBgdHJgIGluIGEgYHRoZWFkYCBhbmQgdGhhdCB3b3VsZFxuICAgICAgLy8gcmVtb3ZlIHRoZSBib3JkZXIgYWx0b2dldGhlci5cbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbi50YWJsZS1yb3ctdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuQHtzdGF0ZX0sXG4gICAgPiB0aC5Ae3N0YXRlfSxcbiAgICAmLkB7c3RhdGV9ID4gdGQsXG4gICAgJi5Ae3N0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuQHtzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC5Ae3N0YXRlfTpob3ZlcixcbiAgICAmLkB7c3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC5Ae3N0YXRlfSxcbiAgICAmLkB7c3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBAbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vLyBOb3JtYWxpemUgZm9ybSBjb250cm9sc1xuLy9cbi8vIFdoaWxlIG1vc3Qgb2Ygb3VyIGZvcm0gc3R5bGVzIHJlcXVpcmUgZXh0cmEgY2xhc3Nlcywgc29tZSBiYXNpYyBub3JtYWxpemF0aW9uXG4vLyBpcyByZXF1aXJlZCB0byBlbnN1cmUgb3B0aW11bSBkaXNwbGF5IHdpdGggb3Igd2l0aG91dCB0aG9zZSBjbGFzc2VzIHRvIGJldHRlclxuLy8gYWRkcmVzcyBicm93c2VyIGluY29uc2lzdGVuY2llcy5cblxuLy8gT3ZlcnJpZGUgY29udGVudC1ib3ggaW4gTm9ybWFsaXplICgqIGlzbid0IHNwZWNpZmljIGVub3VnaClcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vLyBTZXQgdGhlIGhlaWdodCBvZiBmaWxlIGNvbnRyb2xzIHRvIG1hdGNoIHRleHQgaW5wdXRzXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgLnRhYi1mb2N1cygpO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXM7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcbiAgLnRyYW5zaXRpb24oflwiYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1c1wiKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIC5mb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAucGxhY2Vob2xkZXIoKTtcblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgZm9yIGB0ZXh0YXJlYWBzXG4gIHRleHRhcmVhJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cblxuLy8gU2VhcmNoIGlucHV0cyBpbiBpT1Ncbi8vXG4vLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLy8gU3BlY2lhbCBzdHlsZXMgZm9yIGlPUyB0ZW1wb3JhbCBpbnB1dHNcbi8vXG4vLyBJbiBNb2JpbGUgU2FmYXJpLCBzZXR0aW5nIGBkaXNwbGF5OiBibG9ja2Agb24gdGVtcG9yYWwgaW5wdXRzIGNhdXNlcyB0aGVcbi8vIHRleHQgd2l0aGluIHRoZSBpbnB1dCB0byBiZWNvbWUgdmVydGljYWxseSBtaXNhbGlnbmVkLlxuLy8gQXMgYSB3b3JrYXJvdW5kLCB3ZSBzZXQgYSBwaXhlbCBsaW5lLWhlaWdodCB0aGF0IG1hdGNoZXMgdGhlXG4vLyBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LiBTaW5jZSB0aGlzIGZ1Y2tzIHVwIGV2ZXJ5dGhpbmcgZWxzZSwgd2UgaGF2ZSB0b1xuLy8gYXBwcm9wcmlhdGVseSByZXNldCBpdCBmb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIHRoZSBzaXplIHZhcmlhdGlvbnMuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICAvLyBJRTgrIG1pc2FsaWducyB0aGUgdGV4dCB3aXRoaW4gZGF0ZSBpbnB1dHMsIHNvIHdlIHJlc2V0XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZSB+XCJcXDBcIjtcblxuICAmLmlucHV0LXNtIHtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LXNtYWxsIH5cIlxcMFwiO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtbGFyZ2UgflwiXFwwXCI7XG4gIH1cbn1cblxuLy8gSUUgMTEgaGFjayB0byByZXZlcnNlIHRoZSBpT1MgdGVtcG9yYWwgaW5wdXQgaGFjay5cbl86LW1zLWZ1bGxzY3JlZW4sIDpyb290IGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuXzotbXMtZnVsbHNjcmVlbiwgOnJvb3QgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5fOi1tcy1mdWxsc2NyZWVuLCA6cm9vdCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5fOi1tcy1mdWxsc2NyZWVuLCA6cm9vdCBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiAgJi5pbnB1dC1zbSB7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cblxuLmlucHV0LXNtLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtc21hbGw7IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuLmlucHV0LWxnLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtbGFyZ2U7IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGlucHV0LWhlaWdodC1iYXNlICogMS4yNSk7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci10ZXh0OyBAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbihAdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoICh3aGljaCBhbHNvIGF2b2lkc1xuICAgIC8vIGEgYnVnIGluIFdlYktpdDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTY5KS5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIC5tYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogQGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG4uZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHRleHQtY29sb3I6ICM1NTU7IEBib3JkZXItY29sb3I6ICNjY2M7IEBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgQGNvbG9yLXJnYmE6IHJnYmEocmVkKEBjb2xvciksIGdyZWVuKEBjb2xvciksIGJsdWUoQGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IEB7Y29sb3ItcmdiYX1cIik7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4uaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0OyBAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG5cbiAgc2VsZWN0JiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEmLFxuICBzZWxlY3RbbXVsdGlwbGVdJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBmb250LXdlaWdodDogQGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbDsgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWJhc2U7IEBsaW5lLWhlaWdodC1iYXNlOyBAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC50YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrc1xuICAgIC5vcGFjaXR5KC42NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZzsgQGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXN1Y2Nlc3MtY29sb3I7IEBidG4tc3VjY2Vzcy1iZzsgQGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXdhcm5pbmctY29sb3I7IEBidG4td2FybmluZy1iZzsgQGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGFuZ2VyLWNvbG9yOyBAYnRuLWRhbmdlci1iZzsgQGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWxnIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBldmVuLW51bWJlcmVkIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBsYXJnZSBpbnB1dFxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cblxuLy8gQmxvY2sgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3IgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGNvbG9yOiBAY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDQlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgOCUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi5idXR0b24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gT3BhY2l0eVxuXG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICBAb3BhY2l0eS1pZTogKEBvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eS1pZX0pXCI7XG59XG4iLCIvL1xuLy8gQnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgd2hlbiBkcm9wZG93biBKUyBhZGRzIGl0IGFmdGVyIGNsb3NpbmcgdGhlIG1lbnVcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbi5idG4tZ3JvdXAge1xuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAgKyAuYnRuLFxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi14cyk7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1zbSk7IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1sZyk7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCBAY2FyZXQtd2lkdGgtbGFyZ2UgQGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuXG5cbi8vIEp1c3RpZmllZCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtanVzdGlmaWVkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgPiAuYnRuLWdyb3VwIC5idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLnRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG4gICYuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRyJi5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0Ym9keSYuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnRyYW5zaXRpb24tcHJvcGVydHkoflwiaGVpZ2h0LCB2aXNpYmlsaXR5XCIpO1xuICAudHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICAgQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQ7XG4gIGJvcmRlci1yaWdodDogQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFByZXZlbnQgdGhlIGZvY3VzIG9uIHRoZSBkcm9wZG93biB0b2dnbGUgd2hlbiBjbG9zaW5nIGRyb3Bkb3duc1xuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLy8gQWxpZ25zIHRoZSBkcm9wZG93biBtZW51IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIERlcHJlY2F0ZWQgYXMgb2YgMy4xLjAgaW4gZmF2b3Igb2YgYC5kcm9wZG93bi1tZW51LVtkaXJdYFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4gIC5kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoQGRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICB9XG5cbiAgLy8gTGlua3Mgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIC5yZXNldC1maWx0ZXIoKTtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICByaWdodDogMDtcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IChAemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVpdGVyYXRlIHBlciBuYXZiYXIubGVzcyBhbmQgdGhlIG1vZGlmaWVkIGNvbXBvbmVudCBhbGlnbm1lbnQgdGhlcmUuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIC5kcm9wZG93bi1tZW51LXJpZ2h0KCk7XG4gICAgfVxuICAgIC8vIE5lY2Vzc2FyeSBmb3Igb3ZlcnJpZGVzIG9mIHRoZSBkZWZhdWx0IHJpZ2h0IGFsaWduZWQgbWVudS5cbiAgICAvLyBXaWxsIHJlbW92ZSBjb21lIHY0IGluIGFsbCBsaWtlbGlob29kLlxuICAgIC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgICAgLmRyb3Bkb3duLW1lbnUtbGVmdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG4ubmF2LWRpdmlkZXIoQGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi5ib3JkZXItdG9wLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4iLCIvL1xuLy8gSW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZHJvcGRvd25zXG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBwcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW4gcGxhY2VkIHdpdGhpbiBhIHRhYmxlXG5cbiAgLy8gVW5kbyBwYWRkaW5nIGFuZCBmbG9hdCBvZiBncmlkIGNsYXNzZXNcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgLy8gc2VsZWN0IGVsZW1lbnRzIGluIGlucHV0IGdyb3Vwcy4gVG8gZml4IGl0LCB3ZSBmbG9hdCB0aGUgaW5wdXQuIERldGFpbHM6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIC5pbnB1dC1sZygpO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LXNtKCk7XG59XG5cblxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLy8gQWRkb24gYW5kIGFkZG9uIHdyYXBwZXIgZm9yIGJ1dHRvbnNcbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBib290c3RyYXAtcmVzZXQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vXHJcbi8vIFVzZSB0aGlzIGZpbGUgdG8gcmVzZXQgc2ltcGxlIGJvb3RzdHJhcCBzdHlsZXNcclxuLy8gaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIGNvcmUgZmlsZXNcclxuLy8gTWFrZXMgZWFzeSB0byB1cGRhdGUgbmV3IGZyYW1ld29yayB2ZXJzaW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbkBpbXBvcnQgKGxlc3MsIHJlZmVyZW5jZSkgXCIuLi8uLi8uLi9hcHAvdmVuZG9yL2ZvbnRhd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiO1xyXG5cclxuXHJcbi8vIHRyZWF0IHVpIGxpbmsgYXMgbm9ybWFsIGxpbmtzXHJcblt1aS1zcmVmXSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vLyByZXF1aXJlZCBmb3IgQW5ndWxhciBVSS5Cb290c3RyYXBcclxuLm5hdi1waWxscywgXHJcbi5wYWdpbmF0aW9uLCBcclxuLmNhcm91c2VsLCBcclxuLnBhbmVsLXRpdGxlIGEgeyBcclxuICBjdXJzb3I6IHBvaW50ZXI7IFxyXG59XHJcblxyXG5bbmdcXDpjbG9ha10sIFxyXG5bbmctY2xvYWtdLCBcclxuW2RhdGEtbmctY2xvYWtdLCBcclxuW3gtbmctY2xvYWtdLCBcclxuLm5nLWNsb2FrLCBcclxuLngtbmctY2xvYWsge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuKjpmb2N1cyB7XHJcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5hIHtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAubGlzdC1ncm91cC1pdGVtIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAucGFuZWwgJiB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGdyYXktbGlnaHQ7XHJcbn1cclxuXHJcbi5qdW1ib3Ryb24ge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5LWxpZ2h0ZXI7XHJcbn1cclxuXHJcbi8vIE5hdiBUYWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLm5hdi10YWJzID4gbGkgPiBhIHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodGVyO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIHBhZGRpbmc6IDhweCAxOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbn1cclxuXHJcbi5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEge1xyXG4gIHBhZGRpbmc6IDEycHggMjJweDtcclxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXYtdGFicyA+IGxpIHtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICsgbGkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuICAgIH1cclxuICB9XHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IFxyXG4gIH1cclxufVxyXG5cclxuLnRhYi1jb250ZW50IHtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiBAZ3JheS1saWdodDtcclxuICAubmF2LXBpbGxzICsgJiB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgXHJcbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsIFxyXG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcblxyXG4vLyBGb3Jtc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi5mb3JtLWNvbnRyb2wge1xyXG4gIHBhZGRpbmctbGVmdDogMThweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZvcm0tY29udHJvbCxcclxuLmlucHV0LWdyb3VwLWFkZG9uIHtcclxuICBib3JkZXItY29sb3I6ICNkYmQ5ZDk7XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYjtcclxufVxyXG5cclxuLmlucHV0LXNtLFxyXG5zZWxlY3QuaW5wdXQtc20ge1xyXG4gIGhlaWdodDogMzFweDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2VlZTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICYubGFzdC1jaGlsZCxcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICB9XHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIGtlZXAgc2FtZSBhcHBlYXJhbmNlIG9uIGlvcyBkZXZpY2VzXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59ICBcclxuXHJcbi8vIFRhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi50YWJsZSB7XHJcblxyXG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXHJcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcclxuICA+IHRib2R5ICsgdGJvZHkge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi50YWJsZS1ib3JkZXJlZCB7XHJcbiAgPiB0aGVhZCA+IHRyIHtcclxuICAgID4gdGgsXHJcbiAgICA+IHRkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gUHJvZ3Jlc3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcblxyXG4ucHJvZ3Jlc3Mge1xyXG4gIC5ib3gtc2hhZG93KDAgMCAwICMwMDApO1xyXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwcm9ncmVzcy1iZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgLmJveC1zaGFkb3coMCAwIDAgIzAwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQb3BvdmVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucG9wb3ZlciB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xyXG4gIC5wb3BvdmVyLXRpdGxlIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIERST1BET1dOXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWhlYWRlciB7XHJcbiAgY29sb3I6ICNhMWEyYTM7XHJcbn1cclxuXHJcbi8vIENBUk9VU0VMXHJcblxyXG4uY2Fyb3VzZWwge1xyXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgIGJvdHRvbTogMDtcclxuICB9XHJcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xyXG4gICAgJi5sZWZ0LFxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAvLyBBZGQgc3VwcG9ydCBmb3IgZm9udCBhd2Vzb21lXHJcbiAgICBlbSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gbWFrZSBnbHlwaGljb24gdXNlcyBmb250IGF3ZXNvbWUgc3R5bGVzXHJcbi5nbHlwaGljb246ZXh0ZW5kKC5mYSBhbGwpIHtcclxuICAmLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmV4dGVuZCguZmEtY2hldnJvbi1yaWdodCBhbGwpIHt9O1xyXG4gICYuZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpleHRlbmQoLmZhLWNoZXZyb24tbGVmdCBhbGwpIHt9O1xyXG4gICYuZ2x5cGhpY29uLWNoZXZyb24tdXA6ZXh0ZW5kKC5mYS1jaGV2cm9uLXVwIGFsbCkge307XHJcbiAgJi5nbHlwaGljb24tY2hldnJvbi1kb3duOmV4dGVuZCguZmEtY2hldnJvbi1kb3duIGFsbCkge307XHJcbn1cclxuXHJcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGF1dG87ICBcclxuICAvLyBwYWRkaW5nOiAwIDRweDtcclxuICAvLyBtYXJnaW46IDAgLTRweDtcclxufVxyXG5cclxuXHJcbi5tZWRpYS1oZWFkaW5nIHtcclxuICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbn0iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IEBuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcigpO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICAubmF2LWp1c3RpZmllZCgpO1xuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQoKTtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gTmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBAbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXG4gIG1hcmdpbi1ib3R0b206IEBuYXZiYXItbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogQG5hdmJhci1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGhlYWRpbmdcbi8vXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XG4vLyBzdHlsaW5nIG9mIHJlc3BvbnNpdmUgYXNwZWN0cy5cblxuLm5hdmJhci1oZWFkZXIge1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxuLy9cbi8vIEdyb3VwIHlvdXIgbmF2YmFyIGNvbnRlbnQgaW50byB0aGlzIGZvciBlYXN5IGNvbGxhcHNpbmcgYW5kIGV4cGFuZGluZyBhY3Jvc3Ncbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcbi8vIHdpbGwgZXhwYW5kIHBhc3QgdGhhdCBmb3IgYSBob3Jpem9udGFsIGRpc3BsYXkuXG4vL1xuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcbi8vIHZlcnRpY2FsbHkgYW5kIGluY2x1ZGUgYSBgbWF4LWhlaWdodGAgdG8gb3ZlcmZsb3cgaW4gY2FzZSB5b3UgaGF2ZSB0b28gbXVjaFxuLy8gY29udGVudCBmb3IgdGhlIHVzZXIncyB2aWV3cG9ydC5cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIHBhZGRpbmctcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nLWxlZnQ6ICBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICYuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmluIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcbiAgICAvLyBhbGlnbm1lbnQgb2YgcmlnaHQtYWxpZ25lZCBjb250ZW50cy5cbiAgICAubmF2YmFyLWZpeGVkLXRvcCAmLFxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IEBuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDtcblxuICAgIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogQHNjcmVlbi14cy1taW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm90aCBuYXZiYXIgaGVhZGVyIGFuZCBjb2xsYXBzZVxuLy9cbi8vIFdoZW4gYSBjb250YWluZXIgaXMgcHJlc2VudCwgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgaGVhZGVyIGFuZCBjb2xsYXBzZS5cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICA+IC5uYXZiYXItaGVhZGVyLFxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1sZWZ0OiAgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1uYXZiYXItZml4ZWQ7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCcmFuZC9wcm9qZWN0IG5hbWVcblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWwgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgaGVpZ2h0OiBAbmF2YmFyLWhlaWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyICYsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0b2dnbGVcbi8vXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxuLy8gSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDM0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBXZSByZW1vdmUgdGhlIGBvdXRsaW5lYCBoZXJlLCBidXQgbGF0ZXIgY29tcGVuc2F0ZSBieSBhdHRhY2hpbmcgYDpob3ZlcmBcbiAgLy8gc3R5bGVzIHRvIGA6Zm9jdXNgLlxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gQmFyc1xuICAuaWNvbi1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgfVxuICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXYgbGlua3Ncbi8vXG4vLyBCdWlsZHMgb24gdG9wIG9mIHRoZSBgLm5hdmAgY29tcG9uZW50cyB3aXRoIGl0cyBvd24gbW9kaWZpZXIgY2xhc3MgdG8gbWFrZVxuLy8gdGhlIG5hdiB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGhvcml6b250YWwgbmF2IChhYm92ZSA3NjhweCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiAoQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIC8gMikgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG5cbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxuICAuZm9ybS1pbmxpbmUoKTtcblxuICAuZm9ybS1ncm91cCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gZXhwYW5kZWQsIGhvcml6b250YWwgbmF2YmFyXG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbn1cblxuXG4vLyBCdXR0b25zIGluIG5hdmJhcnNcbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBhIGJ1dHRvbiB3aXRoaW4gYSBuYXZiYXIgKHdoZW4gKm5vdCogaW4gYSBmb3JtKS5cblxuLm5hdmJhci1idG4ge1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1zbWFsbCk7XG4gIH1cbiAgJi5idG4teHMge1xuICAgIC5uYXZiYXItdmVydGljYWwtYWxpZ24oMjIpO1xuICB9XG59XG5cblxuLy8gVGV4dCBpbiBuYXZiYXJzXG4vL1xuLy8gQWRkIGEgY2xhc3MgdG8gbWFrZSBhbnkgZWxlbWVudCBwcm9wZXJseSBhbGlnbiBpdHNlbGYgdmVydGljYWxseSB3aXRoaW4gdGhlIG5hdmJhcnMuXG5cbi5uYXZiYXItdGV4dCB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCAgeyAucHVsbC1sZWZ0KCk7IH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLnB1bGwtcmlnaHQoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIH4gLm5hdmJhci1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIG5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgbmF2YmFyXG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYmc7XG4gIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIG1lbnUgaXRlbXNcbiAgLm5hdmJhci1uYXYge1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBMaW5rcyBpbiBuYXZiYXJzXG4gIC8vXG4gIC8vIEFkZCBhIGNsYXNzIHRvIGVuc3VyZSBsaW5rcyBvdXRzaWRlIHRoZSBuYXZiYXIgbmF2IGFyZSBjb2xvcmVkIGNvcnJlY3RseS5cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW52ZXJzZSBuYXZiYXJcblxuLm5hdmJhci1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJnO1xuICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEYXJrZW4gdGhlIHJlc3BvbnNpdmUgbmF2IHRvZ2dsZVxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDclKTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAubmF2YmFyLW5hdiB7XG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheVxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbi5uYXZiYXItdmVydGljYWwtYWxpZ24oQGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICAuY2xlYXJmaXgoKTtcbn1cbi5jZW50ZXItYmxvY2sge1xuICAuY2VudGVyLWJsb2NrKCk7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICAudGV4dC1oaWRlKCk7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjIuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuMi4wJyk7c3JjOnVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC4yLjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjIuMCcpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjIuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC4yLjAjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9LmZhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtcmVuZGVyaW5nOmF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmZhLWxne2ZvbnQtc2l6ZToxLjMzMzMzMzMzZW07bGluZS1oZWlnaHQ6Ljc1ZW07dmVydGljYWwtYWxpZ246LTE1JX0uZmEtMnh7Zm9udC1zaXplOjJlbX0uZmEtM3h7Zm9udC1zaXplOjNlbX0uZmEtNHh7Zm9udC1zaXplOjRlbX0uZmEtNXh7Zm9udC1zaXplOjVlbX0uZmEtZnd7d2lkdGg6MS4yODU3MTQyOWVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS11bHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDoyLjE0Mjg1NzE0ZW07bGlzdC1zdHlsZS10eXBlOm5vbmV9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0yLjE0Mjg1NzE0ZW07d2lkdGg6Mi4xNDI4NTcxNGVtO3RvcDouMTQyODU3MTRlbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtbGkuZmEtbGd7bGVmdDotMS44NTcxNDI4NmVtfS5mYS1ib3JkZXJ7cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtO2JvcmRlcjpzb2xpZCAuMDhlbSAjZWVlO2JvcmRlci1yYWRpdXM6LjFlbX0ucHVsbC1yaWdodHtmbG9hdDpyaWdodH0ucHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLnB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEucHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcn1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19QGtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX0uZmEtcm90YXRlLTkwe2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS5mYS1mbGlwLWhvcml6b250YWx7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7dHJhbnNmb3JtOnNjYWxlKC0xLCAxKX0uZmEtZmxpcC12ZXJ0aWNhbHtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTt0cmFuc2Zvcm06c2NhbGUoMSwgLTEpfTpyb290IC5mYS1yb3RhdGUtOTAsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzAsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbHtmaWx0ZXI6bm9uZX0uZmEtc3RhY2t7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MmVtO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLWdsYXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMDAwXCJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OlwiXFxmMDAxXCJ9LmZhLXNlYXJjaDpiZWZvcmV7Y29udGVudDpcIlxcZjAwMlwifS5mYS1lbnZlbG9wZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDAzXCJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDA0XCJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDVcIn0uZmEtc3Rhci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDA2XCJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDdcIn0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDpcIlxcZjAwOFwifS5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDpcIlxcZjAwOVwifS5mYS10aDpiZWZvcmV7Y29udGVudDpcIlxcZjAwYVwifS5mYS10aC1saXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMDBiXCJ9LmZhLWNoZWNrOmJlZm9yZXtjb250ZW50OlwiXFxmMDBjXCJ9LmZhLXJlbW92ZTpiZWZvcmUsLmZhLWNsb3NlOmJlZm9yZSwuZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGRcIn0uZmEtc2VhcmNoLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGVcIn0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDEwXCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZjAxMVwifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTJcIn0uZmEtZ2VhcjpiZWZvcmUsLmZhLWNvZzpiZWZvcmV7Y29udGVudDpcIlxcZjAxM1wifS5mYS10cmFzaC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDE0XCJ9LmZhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTVcIn0uZmEtZmlsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDE2XCJ9LmZhLWNsb2NrLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTdcIn0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjAxOFwifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjAxOVwifS5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDFhXCJ9LmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMDFiXCJ9LmZhLWluYm94OmJlZm9yZXtjb250ZW50OlwiXFxmMDFjXCJ9LmZhLXBsYXktY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWRcIn0uZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwuZmEtcmVwZWF0OmJlZm9yZXtjb250ZW50OlwiXFxmMDFlXCJ9LmZhLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjFcIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjJcIn0uZmEtbG9jazpiZWZvcmV7Y29udGVudDpcIlxcZjAyM1wifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OlwiXFxmMDI0XCJ9LmZhLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjVcIn0uZmEtdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZjAyNlwifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjAyN1wifS5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjhcIn0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OlwiXFxmMDI5XCJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMmFcIn0uZmEtdGFnOmJlZm9yZXtjb250ZW50OlwiXFxmMDJiXCJ9LmZhLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMmNcIn0uZmEtYm9vazpiZWZvcmV7Y29udGVudDpcIlxcZjAyZFwifS5mYS1ib29rbWFyazpiZWZvcmV7Y29udGVudDpcIlxcZjAyZVwifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDpcIlxcZjAyZlwifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzBcIn0uZmEtZm9udDpiZWZvcmV7Y29udGVudDpcIlxcZjAzMVwifS5mYS1ib2xkOmJlZm9yZXtjb250ZW50OlwiXFxmMDMyXCJ9LmZhLWl0YWxpYzpiZWZvcmV7Y29udGVudDpcIlxcZjAzM1wifS5mYS10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjAzNFwifS5mYS10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OlwiXFxmMDM1XCJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzZcIn0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMDM3XCJ9LmZhLWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMDM4XCJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzlcIn0uZmEtbGlzdDpiZWZvcmV7Y29udGVudDpcIlxcZjAzYVwifS5mYS1kZWRlbnQ6YmVmb3JlLC5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDNiXCJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDpcIlxcZjAzY1wifS5mYS12aWRlby1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwM2RcIn0uZmEtcGhvdG86YmVmb3JlLC5mYS1pbWFnZTpiZWZvcmUsLmZhLXBpY3R1cmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjAzZVwifS5mYS1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDBcIn0uZmEtbWFwLW1hcmtlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA0MVwifS5mYS1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDJcIn0uZmEtdGludDpiZWZvcmV7Y29udGVudDpcIlxcZjA0M1wifS5mYS1lZGl0OmJlZm9yZSwuZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ0XCJ9LmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ1XCJ9LmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ2XCJ9LmZhLWFycm93czpiZWZvcmV7Y29udGVudDpcIlxcZjA0N1wifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ4XCJ9LmZhLWZhc3QtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDlcIn0uZmEtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNGFcIn0uZmEtcGxheTpiZWZvcmV7Y29udGVudDpcIlxcZjA0YlwifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDpcIlxcZjA0Y1wifS5mYS1zdG9wOmJlZm9yZXtjb250ZW50OlwiXFxmMDRkXCJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNGVcIn0uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDUwXCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA1MVwifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDpcIlxcZjA1MlwifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTNcIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjA1NFwifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1NVwifS5mYS1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTZcIn0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDU3XCJ9LmZhLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1OFwifS5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTlcIn0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNWFcIn0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDpcIlxcZjA1YlwifS5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA1Y1wifS5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA1ZFwifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNWVcIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MFwifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MVwifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDpcIlxcZjA2MlwifS5mYS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDYzXCJ9LmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsLmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMDY0XCJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDpcIlxcZjA2NVwifS5mYS1jb21wcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZjA2NlwifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDY3XCJ9LmZhLW1pbnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMDY4XCJ9LmZhLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OlwiXFxmMDY5XCJ9LmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA2YVwifS5mYS1naWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDZiXCJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNmNcIn0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA2ZFwifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNmVcIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMDcwXCJ9LmZhLXdhcm5pbmc6YmVmb3JlLC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA3MVwifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDpcIlxcZjA3MlwifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDpcIlxcZjA3M1wifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzRcIn0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDpcIlxcZjA3NVwifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzZcIn0uZmEtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDpcIlxcZjA3N1wifS5mYS1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzhcIn0uZmEtcmV0d2VldDpiZWZvcmV7Y29udGVudDpcIlxcZjA3OVwifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDdhXCJ9LmZhLWZvbGRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA3YlwifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDpcIlxcZjA3Y1wifS5mYS1hcnJvd3MtdjpiZWZvcmV7Y29udGVudDpcIlxcZjA3ZFwifS5mYS1hcnJvd3MtaDpiZWZvcmV7Y29udGVudDpcIlxcZjA3ZVwifS5mYS1iYXItY2hhcnQtbzpiZWZvcmUsLmZhLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjA4MFwifS5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA4MVwifS5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODJcIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OlwiXFxmMDgzXCJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDpcIlxcZjA4NFwifS5mYS1nZWFyczpiZWZvcmUsLmZhLWNvZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODVcIn0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODZcIn0uZmEtdGh1bWJzLW8tdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODdcIn0uZmEtdGh1bWJzLW8tZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjA4OFwifS5mYS1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODlcIn0uZmEtaGVhcnQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA4YVwifS5mYS1zaWduLW91dDpiZWZvcmV7Y29udGVudDpcIlxcZjA4YlwifS5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOGNcIn0uZmEtdGh1bWItdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZjA4ZFwifS5mYS1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxmMDhlXCJ9LmZhLXNpZ24taW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTBcIn0uZmEtdHJvcGh5OmJlZm9yZXtjb250ZW50OlwiXFxmMDkxXCJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTJcIn0uZmEtdXBsb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMDkzXCJ9LmZhLWxlbW9uLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTRcIn0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTVcIn0uZmEtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTZcIn0uZmEtYm9va21hcmstbzpiZWZvcmV7Y29udGVudDpcIlxcZjA5N1wifS5mYS1waG9uZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOThcIn0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjA5OVwifS5mYS1mYWNlYm9vazpiZWZvcmV7Y29udGVudDpcIlxcZjA5YVwifS5mYS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOWJcIn0uZmEtdW5sb2NrOmJlZm9yZXtjb250ZW50OlwiXFxmMDljXCJ9LmZhLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDlkXCJ9LmZhLXJzczpiZWZvcmV7Y29udGVudDpcIlxcZjA5ZVwifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBhMFwifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDpcIlxcZjBhMVwifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OlwiXFxmMGYzXCJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OlwiXFxmMGEzXCJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjBhNFwifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjBhNVwifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTZcIn0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTdcIn0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYThcIn0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMGE5XCJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZjBhYVwifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjBhYlwifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDpcIlxcZjBhY1wifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYWRcIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYWVcIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMGIwXCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDpcIlxcZjBiMVwifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMGIyXCJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzBcIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxmMGMxXCJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxmMGMyXCJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OlwiXFxmMGMzXCJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OlwiXFxmMGM0XCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGM1XCJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDpcIlxcZjBjNlwifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzdcIn0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMGM4XCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDpcIlxcZjBjOVwifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OlwiXFxmMGNhXCJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwY2JcIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDpcIlxcZjBjY1wifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwY2RcIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwY2VcIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDBcIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDFcIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMGQyXCJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDNcIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMGQ0XCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxmMGQ1XCJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OlwiXFxmMGQ2XCJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDdcIn0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDhcIn0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjBkOVwifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjBkYVwifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OlwiXFxmMGRiXCJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDpcIlxcZjBkY1wifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGRcIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMGRlXCJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OlwiXFxmMGUwXCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OlwiXFxmMGUxXCJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDpcIlxcZjBlMlwifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OlwiXFxmMGUzXCJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTRcIn0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGU1XCJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTZcIn0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OlwiXFxmMGU3XCJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZThcIn0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTlcIn0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZWFcIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZWJcIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZWNcIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZWRcIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMGVlXCJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjBcIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjFcIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjJcIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGEyXCJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDpcIlxcZjBmNFwifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OlwiXFxmMGY1XCJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGY2XCJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjdcIn0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBmOFwifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjlcIn0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OlwiXFxmMGZhXCJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OlwiXFxmMGZiXCJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZmNcIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZmRcIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZmVcIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDBcIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTAxXCJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZjEwMlwifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjEwM1wifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTA0XCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTA1XCJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTA2XCJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDdcIn0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDpcIlxcZjEwOFwifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDlcIn0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OlwiXFxmMTBhXCJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDpcIlxcZjEwYlwifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjEwY1wifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTBkXCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTBlXCJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTBcIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMTExXCJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDpcIlxcZjExMlwifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMTEzXCJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTE0XCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTVcIn0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjExOFwifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTE5XCJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTFhXCJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMWJcIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjExY1wifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMWRcIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMWVcIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjBcIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDpcIlxcZjEyMVwifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDpcIlxcZjEyMlwifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTIzXCJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OlwiXFxmMTI0XCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjVcIn0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OlwiXFxmMTI2XCJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDpcIlxcZjEyN1wifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZjEyOFwifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OlwiXFxmMTI5XCJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMTJhXCJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxmMTJiXCJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDpcIlxcZjEyY1wifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMmRcIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OlwiXFxmMTJlXCJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzBcIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZjEzMVwifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzJcIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDpcIlxcZjEzM1wifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDpcIlxcZjEzNFwifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzVcIn0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OlwiXFxmMTM2XCJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzdcIn0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzhcIn0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzlcIn0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjEzYVwifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDpcIlxcZjEzYlwifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OlwiXFxmMTNjXCJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDpcIlxcZjEzZFwifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMTNlXCJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OlwiXFxmMTQwXCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDFcIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDpcIlxcZjE0MlwifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTQzXCJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMTQ0XCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDpcIlxcZjE0NVwifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDZcIn0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDdcIn0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDhcIn0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjE0OVwifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNGFcIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0YlwifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0Y1wifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNGRcIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDpcIlxcZjE0ZVwifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTBcIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTFcIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTJcIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDpcIlxcZjE1M1wifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTRcIn0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OlwiXFxmMTU1XCJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OlwiXFxmMTU2XCJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDpcIlxcZjE1N1wifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDpcIlxcZjE1OFwifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTlcIn0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDpcIlxcZjE1YVwifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTViXCJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDpcIlxcZjE1Y1wifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE1ZFwifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNWVcIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTYwXCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjFcIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2MlwifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2M1wifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjRcIn0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjVcIn0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjZcIn0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDpcIlxcZjE2N1wifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OlwiXFxmMTY4XCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTY5XCJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDpcIlxcZjE2YVwifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OlwiXFxmMTZiXCJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OlwiXFxmMTZjXCJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDpcIlxcZjE2ZFwifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNmVcIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OlwiXFxmMTcwXCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDpcIlxcZjE3MVwifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTcyXCJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDpcIlxcZjE3M1wifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTc0XCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjE3NVwifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTc2XCJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjE3N1wifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTc4XCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTc5XCJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxN2FcIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDpcIlxcZjE3YlwifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDpcIlxcZjE3Y1wifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE3ZFwifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDpcIlxcZjE3ZVwifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTgwXCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDpcIlxcZjE4MVwifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODJcIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE4M1wifS5mYS1naXR0aXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODRcIn0uZmEtc3VuLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODVcIn0uZmEtbW9vbi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTg2XCJ9LmZhLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODdcIn0uZmEtYnVnOmJlZm9yZXtjb250ZW50OlwiXFxmMTg4XCJ9LmZhLXZrOmJlZm9yZXtjb250ZW50OlwiXFxmMTg5XCJ9LmZhLXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxmMThhXCJ9LmZhLXJlbnJlbjpiZWZvcmV7Y29udGVudDpcIlxcZjE4YlwifS5mYS1wYWdlbGluZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGNcIn0uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGRcIn0uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGVcIn0uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjE5MFwifS5mYS10b2dnbGUtbGVmdDpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTFcIn0uZmEtZG90LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTkyXCJ9LmZhLXdoZWVsY2hhaXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTNcIn0uZmEtdmltZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTk0XCJ9LmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsLmZhLXRyeTpiZWZvcmV7Y29udGVudDpcIlxcZjE5NVwifS5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTk2XCJ9LmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTdcIn0uZmEtc2xhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOThcIn0uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTk5XCJ9LmZhLXdvcmRwcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZjE5YVwifS5mYS1vcGVuaWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWJcIn0uZmEtaW5zdGl0dXRpb246YmVmb3JlLC5mYS1iYW5rOmJlZm9yZSwuZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDpcIlxcZjE5Y1wifS5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLC5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmV7Y29udGVudDpcIlxcZjE5ZFwifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDpcIlxcZjE5ZVwifS5mYS1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTBcIn0uZmEtcmVkZGl0OmJlZm9yZXtjb250ZW50OlwiXFxmMWExXCJ9LmZhLXJlZGRpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTJcIn0uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMWEzXCJ9LmZhLXN0dW1ibGV1cG9uOmJlZm9yZXtjb250ZW50OlwiXFxmMWE0XCJ9LmZhLWRlbGljaW91czpiZWZvcmV7Y29udGVudDpcIlxcZjFhNVwifS5mYS1kaWdnOmJlZm9yZXtjb250ZW50OlwiXFxmMWE2XCJ9LmZhLXBpZWQtcGlwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTdcIn0uZmEtcGllZC1waXBlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYThcIn0uZmEtZHJ1cGFsOmJlZm9yZXtjb250ZW50OlwiXFxmMWE5XCJ9LmZhLWpvb21sYTpiZWZvcmV7Y29udGVudDpcIlxcZjFhYVwifS5mYS1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZjFhYlwifS5mYS1mYXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWNcIn0uZmEtYnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWRcIn0uZmEtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWVcIn0uZmEtcGF3OmJlZm9yZXtjb250ZW50OlwiXFxmMWIwXCJ9LmZhLXNwb29uOmJlZm9yZXtjb250ZW50OlwiXFxmMWIxXCJ9LmZhLWN1YmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjJcIn0uZmEtY3ViZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjNcIn0uZmEtYmVoYW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNFwifS5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNVwifS5mYS1zdGVhbTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNlwifS5mYS1zdGVhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjdcIn0uZmEtcmVjeWNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiOFwifS5mYS1hdXRvbW9iaWxlOmJlZm9yZSwuZmEtY2FyOmJlZm9yZXtjb250ZW50OlwiXFxmMWI5XCJ9LmZhLWNhYjpiZWZvcmUsLmZhLXRheGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmFcIn0uZmEtdHJlZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiYlwifS5mYS1zcG90aWZ5OmJlZm9yZXtjb250ZW50OlwiXFxmMWJjXCJ9LmZhLWRldmlhbnRhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmRcIn0uZmEtc291bmRjbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZjFiZVwifS5mYS1kYXRhYmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZjFjMFwifS5mYS1maWxlLXBkZi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWMxXCJ9LmZhLWZpbGUtd29yZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWMyXCJ9LmZhLWZpbGUtZXhjZWwtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjM1wifS5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjNFwifS5mYS1maWxlLXBob3RvLW86YmVmb3JlLC5mYS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjNVwifS5mYS1maWxlLXppcC1vOmJlZm9yZSwuZmEtZmlsZS1hcmNoaXZlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzZcIn0uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSwuZmEtZmlsZS1hdWRpby1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWM3XCJ9LmZhLWZpbGUtbW92aWUtbzpiZWZvcmUsLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjOFwifS5mYS1maWxlLWNvZGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjOVwifS5mYS12aW5lOmJlZm9yZXtjb250ZW50OlwiXFxmMWNhXCJ9LmZhLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2JcIn0uZmEtanNmaWRkbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2NcIn0uZmEtbGlmZS1ib3V5OmJlZm9yZSwuZmEtbGlmZS1idW95OmJlZm9yZSwuZmEtbGlmZS1zYXZlcjpiZWZvcmUsLmZhLXN1cHBvcnQ6YmVmb3JlLC5mYS1saWZlLXJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2RcIn0uZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2VcIn0uZmEtcmE6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDpcIlxcZjFkMFwifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFkMVwifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWQyXCJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDpcIlxcZjFkM1wifS5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDpcIlxcZjFkNFwifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxmMWQ1XCJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OlwiXFxmMWQ2XCJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDpcIlxcZjFkN1wifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDhcIn0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFkOVwifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OlwiXFxmMWRhXCJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OlwiXFxmMWRiXCJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjFkY1wifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZGRcIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDpcIlxcZjFkZVwifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTBcIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFlMVwifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OlwiXFxmMWUyXCJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFlM1wifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTRcIn0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDpcIlxcZjFlNVwifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OlwiXFxmMWU2XCJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTdcIn0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWU4XCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTlcIn0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZWFcIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDpcIlxcZjFlYlwifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OlwiXFxmMWVjXCJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZjFlZFwifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OlwiXFxmMWVlXCJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjBcIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjFmMVwifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZjFmMlwifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OlwiXFxmMWYzXCJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZjFmNFwifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjVcIn0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZjFmNlwifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjdcIn0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjhcIn0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMWY5XCJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OlwiXFxmMWZhXCJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZmJcIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZmNcIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDpcIlxcZjFmZFwifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMWZlXCJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjIwMFwifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMjAxXCJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDpcIlxcZjIwMlwifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMjAzXCJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDRcIn0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OlwiXFxmMjA1XCJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDZcIn0uZmEtYnVzOmJlZm9yZXtjb250ZW50OlwiXFxmMjA3XCJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDhcIn0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMjA5XCJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OlwiXFxmMjBhXCJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDpcIlxcZjIwYlwifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDpcIlxcZjIwY1wifSIsIi8vXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IEBicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWwgQGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicmVhZGNydW1iLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICsgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQHticmVhZGNydW1iLXNlcGFyYXRvcn1cXDAwYTBcIjsgLy8gVW5pY29kZSBzcGFjZSBhZGRlZCBzaW5jZSBpbmxpbmUtYmxvY2sgbWVhbnMgbm9uLWNvbGxhcHNpbmcgd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6IEBicmVhZGNydW1iLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgY29sb3I6IEBicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBsaSA+IGEsXG4gID4gbGkgPiBzcGFuIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+IC5kaXNhYmxlZCB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Bhbjpob3ZlcixcbiAgICA+IHNwYW46Zm9jdXMsXG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGcge1xuICAucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogQHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogQHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGxhYmVsLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1wcmltYXJ5LWJnKTtcbn1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC13YXJuaW5nLWJnKTtcbn1cblxuLmxhYmVsLWRhbmdlciB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbi5sYWJlbC12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiBAYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiBAYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBiYWRnZS1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5IChub3QgYXZhaWxhYmxlIGluIElFOClcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbiAgLmJ0biAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG4gIC5idG4teHMgJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG4gIGEmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+ICYsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+ICYge1xuICAgIGNvbG9yOiBAYmFkZ2UtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWRnZS1hY3RpdmUtYmc7XG4gIH1cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBKdW1ib3Ryb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IEBqdW1ib3Ryb24tcGFkZGluZyAoQGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6IEBqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBqdW1ib3Ryb24tYmc7XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgY29sb3I6IEBqdW1ib3Ryb24taGVhZGluZy1jb2xvcjtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gICAgZm9udC1zaXplOiBAanVtYm90cm9uLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG5cbiAgPiBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBqdW1ib3Ryb24tYmcsIDEwJSk7XG4gIH1cblxuICAuY29udGFpbmVyICYsXG4gIC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7IC8vIE9ubHkgcm91bmQgY29ybmVycyBhdCBoaWdoZXIgcmVzb2x1dGlvbnMgaWYgY29udGFpbmVkIGluIGEgY29udGFpbmVyXG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHBhZGRpbmc6IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpIDA7XG5cbiAgICAuY29udGFpbmVyICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKEBqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKEBqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgIH1cblxuICAgIGgxLFxuICAgIC5oMSB7XG4gICAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiA0LjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiBAYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQGFsZXJ0LWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLy8gU3BlY2lmaWVkIGZvciB0aGUgaDQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgQGhlYWRpbmdzLWNvbG9yXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoQGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICAuYWxlcnQtdmFyaWFudChAYWxlcnQtc3VjY2Vzcy1iZzsgQGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOyBAYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cbi5hbGVydC1pbmZvIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWluZm8tYmc7IEBhbGVydC1pbmZvLWJvcmRlcjsgQGFsZXJ0LWluZm8tdGV4dCk7XG59XG4uYWxlcnQtd2FybmluZyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC13YXJuaW5nLWJnOyBAYWxlcnQtd2FybmluZy1ib3JkZXI7IEBhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1kYW5nZXItYmc7IEBhbGVydC1kYW5nZXItYm9yZGVyOyBAYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbi5hbGVydC12YXJpYW50KEBiYWNrZ3JvdW5kOyBAYm9yZGVyOyBAdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbihAYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oQHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhciBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdlYktpdFxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLy8gU3BlYyBhbmQgSUUxMCtcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vIEJhciBpdHNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gT3V0ZXIgY29udGFpbmVyXG4ucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJvZ3Jlc3MtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSkpO1xufVxuXG4vLyBCYXIgb2YgcHJvZ3Jlc3Ncbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgY29sb3I6IEBwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByb2dyZXNzLWJhci1iZztcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgLnRyYW5zaXRpb24od2lkdGggLjZzIGVhc2UpO1xufVxuXG4vLyBTdHJpcGVkIGJhcnNcbi8vXG4vLyBgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci1zdHJpcGVkYCBjbGFzcywgd2hpY2ggeW91IGp1c3QgYWRkIHRvIGFuIGV4aXN0aW5nXG4vLyBgLnByb2dyZXNzLWJhcmAuXG4ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG59XG5cbi8vIENhbGwgYW5pbWF0aW9uIGZvciB0aGUgYWN0aXZlIG9uZVxuLy9cbi8vIGAucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXIuYWN0aXZlYCBhcHByb2FjaC5cbi5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXIuYWN0aXZlIHtcbiAgLmFuaW1hdGlvbihwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGUpO1xufVxuXG5cbi8vIFZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLWluZm8tYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXdhcm5pbmcge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1kYW5nZXIge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbiNncmFkaWVudCB7XG5cbiAgLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLnZlcnRpY2FsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICB9XG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAudmVydGljYWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpOyBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG4ucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgLy8gUHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBpbnN0YW5jZXMgb2YgLm1lZGlhXG4gIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEgPiAucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tZWRpYS1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWVkaWEtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBoZWFkaW5ncyBmb3IgdGlnaHRlciBkZWZhdWx0IHNwYWNpbmdcbi5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cbi8vIFVuZG8gZGVmYXVsdCB1bC9vbCBzdHlsZXNcbi5tZWRpYS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy9cbi8vIExpc3QgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAbGlzdC1ncm91cC1ib3JkZXI7XG5cbiAgLy8gUm91bmQgdGhlIGZpcnN0IGFuZCBsYXN0IGl0ZW1zXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cyhAbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKEBsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLy8gQWxpZ24gYmFkZ2VzIHdpdGhpbiBsaXN0IGl0ZW1zXG4gID4gLmJhZGdlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgPiAuYmFkZ2UgKyAuYmFkZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG59XG5cblxuLy8gTGlua2VkIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBsaW5rZWQgbGlzdCBpdGVtcy5cbi8vIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2hvd2luZyBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQ6aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSxcbiAgJi5hY3RpdmU6aG92ZXIsXG4gICYuYWN0aXZlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChzdWNjZXNzOyBAc3RhdGUtc3VjY2Vzcy1iZzsgQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbzsgQHN0YXRlLWluZm8tYmc7IEBzdGF0ZS1pbmZvLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmc7IEBzdGF0ZS13YXJuaW5nLWJnOyBAc3RhdGUtd2FybmluZy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChkYW5nZXI7IEBzdGF0ZS1kYW5nZXItYmc7IEBzdGF0ZS1kYW5nZXItdGV4dCk7XG5cblxuLy8gQ3VzdG9tIGNvbnRlbnQgb3B0aW9uc1xuLy9cbi8vIEV4dHJhIGNsYXNzZXMgZm9yIGNyZWF0aW5nIHdlbGwtZm9ybWF0dGVkIGNvbnRlbnQgd2l0aGluIGAubGlzdC1ncm91cC1pdGVtYHMuXG5cbi5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoQHN0YXRlOyBAYmFja2dyb3VuZDsgQGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tQHtzdGF0ZX0ge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG5cbiAgICBhJiB7XG4gICAgICBjb2xvcjogQGNvbG9yO1xuXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBwYW5lbC1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdygwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbn1cblxuLy8gUGFuZWwgY29udGVudHNcbi5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIE9wdGlvbmFsIGhlYWRpbmdcbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBmb290ZXIgKHN0YXlzIGdyYXkgaW4gZXZlcnkgbW9kaWZpZXIgY2xhc3MpXG4ucGFuZWwtZm9vdGVyIHtcbiAgcGFkZGluZzogQHBhbmVsLWZvb3Rlci1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtZm9vdGVyLWJnO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbn1cblxuXG4vLyBMaXN0IGdyb3VwcyBpbiBwYW5lbHNcbi8vXG4vLyBCeSBkZWZhdWx0LCBzcGFjZSBvdXQgbGlzdCBncm91cCBjb250ZW50IGZyb20gcGFuZWwgaGVhZGluZ3MgdG8gYWNjb3VudCBmb3Jcbi8vIGFueSBraW5kIG9mIGN1c3RvbSBjb250ZW50IGJldHdlZW4gdGhlIHR3by5cblxuLnBhbmVsIHtcbiAgPiAubGlzdC1ncm91cCxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciB0b3AgcmFkaXVzIGZvciBmaXJzdCBvbmVcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBDb2xsYXBzZSBzcGFjZSBiZXR3ZWVuIHdoZW4gdGhlcmUncyBubyBhZGRpdGlvbmFsIGNvbnRlbnQuXG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLy8gVGFibGVzIGluIHBhbmVsc1xuLy9cbi8vIFBsYWNlIGEgbm9uLWJvcmRlcmVkIGAudGFibGVgIHdpdGhpbiBhIHBhbmVsIChub3Qgd2l0aGluIGEgYC5wYW5lbC1ib2R5YCkgYW5kXG4vLyB3YXRjaCBpdCBnbyBmdWxsIHdpZHRoLlxuXG4ucGFuZWwge1xuICA+IC50YWJsZSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBjYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0aGVhZDpmaXJzdC1jaGlsZCxcbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgPiAudGFibGU6bGFzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2FibGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGVmYXVsdC1ib3JkZXI7IEBwYW5lbC1kZWZhdWx0LXRleHQ7IEBwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc7IEBwYW5lbC1kZWZhdWx0LWJvcmRlcik7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1wcmltYXJ5LWJvcmRlcjsgQHBhbmVsLXByaW1hcnktdGV4dDsgQHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzsgQHBhbmVsLXByaW1hcnktYm9yZGVyKTtcbn1cbi5wYW5lbC1zdWNjZXNzIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOyBAcGFuZWwtc3VjY2Vzcy10ZXh0OyBAcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOyBAcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtaW5mby1ib3JkZXI7IEBwYW5lbC1pbmZvLXRleHQ7IEBwYW5lbC1pbmZvLWhlYWRpbmctYmc7IEBwYW5lbC1pbmZvLWJvcmRlcik7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC13YXJuaW5nLWJvcmRlcjsgQHBhbmVsLXdhcm5pbmctdGV4dDsgQHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzsgQHBhbmVsLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5wYW5lbC1kYW5nZXIge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGFuZ2VyLWJvcmRlcjsgQHBhbmVsLWRhbmdlci10ZXh0OyBAcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc7IEBwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG4ucGFuZWwtdmFyaWFudChAYm9yZGVyOyBAaGVhZGluZy10ZXh0LWNvbG9yOyBAaGVhZGluZy1iZy1jb2xvcjsgQGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIE1vZGlmaWVyIGNsYXNzIGZvciAxNjo5IGFzcGVjdCByYXRpb1xuICAmLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIH1cblxuICAvLyBNb2RpZmllciBjbGFzcyBmb3IgNDozIGFzcGVjdCByYXRpb1xuICAmLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgfVxufVxuIiwiLy9cbi8vIFdlbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdlbGwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB3ZWxsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcbiAgfVxufVxuXG4vLyBTaXplc1xuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cbi53ZWxsLXNtIHtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbn1cbiIsIi8vXG4vLyBDbG9zZSBpY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiBAY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGNsb3NlLXRleHQtc2hhZG93O1xuICAub3BhY2l0eSguMik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5vcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbiAgLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4gIC8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuICBidXR0b24mIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG4iLCIvL1xuLy8gTW9kYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc2hpdFxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1tb2RhbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICAudHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC50cmFuc2l0aW9uLXRyYW5zZm9ybSh+XCIwLjNzIGVhc2Utb3V0XCIpO1xuICB9XG4gICYuaW4gLm1vZGFsLWRpYWxvZyB7IC50cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICAuYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLWJhY2tkcm9wLWJnO1xuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyAub3BhY2l0eSgwKTsgfVxuICAmLmluIHsgLm9wYWNpdHkoQG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpOyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogQG1vZGFsLXRpdGxlLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgbWluLWhlaWdodDogKEBtb2RhbC10aXRsZS1wYWRkaW5nICsgQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBAbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IEBtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgLmJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogQG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogQG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IEB6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgLm9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyAub3BhY2l0eShAdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gUG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IEBwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogMXB4O1xuICAvLyBSZXNldCBmb250IGFuZCB0ZXh0IHByb3BlcnRlcyBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCBAcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuICAvLyBPdmVycmlkZXMgZm9yIHByb3BlciBpbnNlcnRpb25cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiBAcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiBAcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKEBwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIGJvcmRlci1yYWRpdXM6IChAYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIChAYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIDAgMDtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICYsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wb3BvdmVyIHtcbiAgJi50b3AgPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIGJvdHRvbTogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYucmlnaHQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB0b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG4uY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuLmhpZGUtdGV4dCgpIHtcbiAgZm9udDogflwiMC8wXCIgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbi50ZXh0LWhpZGUoKSB7XG4gIC5oaWRlLXRleHQoKTtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXhzLFxuLnZpc2libGUtc20sXG4udmlzaWJsZS1tZCxcbi52aXNpYmxlLWxnIHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG59XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4teHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXByaW50IHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRhYmxlJiAgeyBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ciYgICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgmLFxuICB0ZCYgICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLyogT3BlbiBTYW5zIEBmb250LWZhY2Uga2l0ICovXHJcblxyXG5AZm9udC1wYXRoOiAgICAgJy4uL3ZlbmRvci9vcGVuLXNhbnMtZm9udGZhY2UvZm9udHMnO1xyXG5cclxuLyogQkVHSU4gTGlnaHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vTGlnaHQvT3BlblNhbnMtTGlnaHQuZW90Jyk7XHJcbiAgc3JjOiB1cmwoJ0B7Zm9udC1wYXRofS9MaWdodC9PcGVuU2Fucy1MaWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vTGlnaHQvT3BlblNhbnMtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vTGlnaHQvT3BlblNhbnMtTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vTGlnaHQvT3BlblNhbnMtTGlnaHQuc3ZnI09wZW5TYW5zTGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbi8qIEVORCBMaWdodCAqL1xyXG5cclxuLyogQkVHSU4gUmVndWxhciAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XHJcbiAgc3JjOiB1cmwoJ0B7Zm9udC1wYXRofS9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIuZW90Jyk7XHJcbiAgc3JjOiB1cmwoJ0B7Zm9udC1wYXRofS9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L1JlZ3VsYXIvT3BlblNhbnMtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICB1cmwoJ0B7Zm9udC1wYXRofS9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLnN2ZyNPcGVuU2Fuc1JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbi8qIEVORCBSZWd1bGFyICovXHJcblxyXG4vKiBCRUdJTiBJdGFsaWMgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vSXRhbGljL09wZW5TYW5zLUl0YWxpYy5lb3QnKTtcclxuICBzcmM6IHVybCgnQHtmb250LXBhdGh9L0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vSXRhbGljL09wZW5TYW5zLUl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICB1cmwoJ0B7Zm9udC1wYXRofS9JdGFsaWMvT3BlblNhbnMtSXRhbGljLnN2ZyNPcGVuU2Fuc0l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLyogRU5EIEl0YWxpYyAqL1xyXG5cclxuLyogQkVHSU4gU2VtaWJvbGQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQuZW90Jyk7XHJcbiAgc3JjOiB1cmwoJ0B7Zm9udC1wYXRofS9TZW1pYm9sZC9PcGVuU2Fucy1TZW1pYm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQuc3ZnI09wZW5TYW5zU2VtaWJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbi8qIEVORCBTZW1pYm9sZCAqL1xyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0Lmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy9cclxuLy8gVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBwcmVzZW50YXRpb24gb2YgYWxsIGNvbXBvbmVudHNcclxuLy8gUHJvcG9zZWQgbWFya3VwIFxyXG4vLyAgLmFwcC1jb250YWluZXJcclxuLy8gICAgPiBoZWFkZXJcclxuLy8gICAgICAjIHRvcG5hdmJhclxyXG4vLyAgICA+IGFzaWRlXHJcbi8vICAgICAgIyBzaWRlYmFyXHJcbi8vICAgID4gc2VjdGlvblxyXG4vLyAgICAgID4gLmFwcFxyXG4vLyAgICA+IGZvb3RlclxyXG4vL1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AYXNpZGUtd2Q6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMjBweDtcclxuQGFzaWRlLXdkLWNvbGxhcHNlZDogICAgICAgICAgICAgICAgICAgICAgNjVweDtcclxuXHJcbkBoZWFkZXItaGc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBuYXZiYXItaGVpZ2h0O1xyXG5AZm9vdGVyLWhnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MHB4O1xyXG5AY29udGVudC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4O1xyXG5cclxuQGJveGVkLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4O1xyXG5cclxuQHotaW5kZXgtc2VjdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgMTEwO1xyXG5Aei1pbmRleC1oZWFkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICBAei1pbmRleC1zZWN0aW9uICsgMzAwO1xyXG5Aei1pbmRleC1hc2lkZTogICAgICAgICAgICAgICAgICAgICAgICAgICBAei1pbmRleC1zZWN0aW9uICsgMjAwO1xyXG5Aei1pbmRleC1mb290ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICBAei1pbmRleC1zZWN0aW9uICsgMTAwO1xyXG5cclxuaHRtbCB7XHJcbiAgLyogQHJlcGxhY2UgcnRsICovIGRpcmVjdGlvbjogbHRyO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLy8gaHR0cDovL3VwZGF0ZXMuaHRtbDVyb2Nrcy5jb20vMjAxMy8xMi8zMDBtcy10YXAtZGVsYXktZ29uZS1hd2F5XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbn1cclxuXHJcbmh0bWwsIGJvZHkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5ib2R5IHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIE1haW4gd3JhcHBlclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uYXBwLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIC50cmFuc2l0aW9uKGFsbCAuM3MgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKSk7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIFxyXG4gICYubmctbGVhdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgPiBoZWFkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogQHotaW5kZXgtaGVhZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29udGFpbnMgdGhlIG1haW4gc2lkZWJhclxyXG4gID4gYXNpZGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBAaGVhZGVyLWhnO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiBAYXNpZGUtd2Q7XHJcbiAgICAvLyBwYWRkaW5nLXRvcDogQGhlYWRlci1oZztcclxuICAgIHotaW5kZXg6IEB6LWluZGV4LWFzaWRlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29udGFpbnMgdGhlIG1haW4gY29udGVudFxyXG4gID4gc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiBAei1pbmRleC1zZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgLy8gUGFnZSBGb290ZXJcclxuICA+IGZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBoZWlnaHQ6IEBmb290ZXItaGc7XHJcbiAgICBwYWRkaW5nOiBAY29udGVudC1wYWRkaW5nO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XHJcbiAgICB6LWluZGV4OiBAei1pbmRleC1mb290ZXI7XHJcbiAgICA+IHAge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAvLyBtb3ZlIGFsbCB0byBwbGFjZSB0aGUgc2lkZWJhclxyXG4gICAgPiBzZWN0aW9uLFxyXG4gICAgPiBmb290ZXIge1xyXG4gICAgICBtYXJnaW4tbGVmdDogQGFzaWRlLXdkO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBBcHAgbWFpbiBjb250ZW50ICh3aGVyZSB0aGUgdmlldyBsb2FkcylcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmFwcCB7XHJcbiAgcGFkZGluZzogQGNvbnRlbnQtcGFkZGluZztcclxuICBwYWRkaW5nLWJvdHRvbTogQGZvb3Rlci1oZyArIDIwOyAvLyBlbnN1cmUgYSBzcGFjZSBmb3IgdGhlIGZvb3RlclxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIFxyXG4gID4gaDMge1xyXG4gICAgLmNsZWFyZml4O1xyXG4gICAgLy8gY29sb3I6IEBicmFuZC1pbmZvO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAvLyBmb250LXdlaWdodDogMzAwO1xyXG4gICAgPiBzbWFsbCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGNvbG9yOiBAdGV4dC1tdXRlZDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICB9XHJcbiAgfVxyXG4gID4gYnV0dG9uLCA+IC5idG4ge1xyXG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMCAwO1xyXG4gIH1cclxuICBcclxuICAuY29udGFpbmVyLFxyXG4gIC5jb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBAdGFibGV0IHtcclxuICAgID4gYnV0dG9uLCA+IC5idG4ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIGV4cGFuZCBvdmVyIHdyYXBwZXIgcGFkZGluZ1xyXG4gID4gLnVud3JhcCB7XHJcbiAgICBtYXJnaW46IC1AY29udGVudC1wYWRkaW5nOyBcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBBc2lkZSB0b2dnbGVkIGxheW91dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQG1lZGlhIEB1cHRvLXRhYmxldCB7XHJcbiAgXHJcbiAgLm5vLWNzc3RyYW5zZm9ybXMzZCB7XHJcbiAgICAuYXBwLWNvbnRhaW5lciB7XHJcbiAgICAgID4gYXNpZGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtQGFzaWRlLXdkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFzaWRlLXRvZ2dsZWQge1xyXG4gICAgICAuYXBwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgPiBzZWN0aW9uLFxyXG4gICAgICAgID4gZm9vdGVyIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAYXNpZGUtd2Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYXNpZGUge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3NzdHJhbnNmb3JtczNkICB7XHJcblxyXG4gICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xyXG4gICAgICAvLyA+IGhlYWRlcixcclxuICAgICAgPiBzZWN0aW9uLFxyXG4gICAgICA+IGZvb3RlciB7XHJcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oLjNzIGVhc2UpO1xyXG4gICAgICB9XHJcbiAgICAgID4gYXNpZGUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgICAgICAgLnRyYW5zbGF0ZTNkKC1AYXNpZGUtd2QsMCwwKTtcclxuICAgICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oLjNzIGVhc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFzaWRlLXRvZ2dsZWQge1xyXG4gICAgICAuYXBwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gPiBoZWFkZXIsXHJcbiAgICAgICAgPiBzZWN0aW9uLFxyXG4gICAgICAgID4gZm9vdGVyIHtcclxuICAgICAgICAgIC50cmFuc2xhdGUzZChAYXNpZGUtd2QsMCwwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhc2lkZSB7XHJcbiAgICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQXNpZGUgdG9nZ2xlZCBsYXlvdXRcclxuLy8gT24gZGVza3RvcCBhY3RzIGxpa2UgY29uZGVuc2VkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEFzaWRlIHN0YXR1cyB0b2dnbGVkIHZpYSBKU1xyXG4uYXNpZGUtY29sbGFwc2VkIHtcclxuICAuaGlkZGVuLWNvbGxhcHNlZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICA+IGFzaWRlIHtcclxuICAgICAgICB3aWR0aDogQGFzaWRlLXdkLWNvbGxhcHNlZDtcclxuICAgICAgfVxyXG4gICAgICA+IHNlY3Rpb24sXHJcbiAgICAgID4gZm9vdGVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogQGFzaWRlLXdkLWNvbGxhcHNlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRml4ZWQgbGF5b3V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5sYXlvdXQtZml4ZWQge1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogQGJveGVkLW1heC13aWR0aCkge1xyXG4gICAgJi5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFwcC1jb250YWluZXIge1xyXG4gICAgPiBhc2lkZSxcclxuICAgID4gaGVhZGVyIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAZGVza3RvcCB7XHJcbiAgICAgID4gYXNpZGUge1xyXG4gICAgICAgIC8qIHNhZmFyaSBmaXggKi9cclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGhlYWRlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgPiBzZWN0aW9uIHtcclxuICAgICAgcGFkZGluZy10b3A6IEBoZWFkZXItaGc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCb3hlZCBsYXlvdXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmxheW91dC1ib3hlZCB7XHJcbiAgLmFwcC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiBAYm94ZWQtbWF4LXdpZHRoO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgXHJcblxyXG4gICAgPiBhc2lkZSB7XHJcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICA+IGhlYWRlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IEBib3hlZC1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHN0eWxlIGNvbnRhaW5lciB3aGVuIGRpc3BsYXkgb25seSBhcHAgdmlld3NcclxuICAvLyBkb2Vucyd0IGFmZmVjdCBwYWdlIHN0eWxlIChsb2dpbiwgbG9jaywgZXRjKVxyXG4gICYuaW4tYXBwIC5hcHAtY29udGFpbmVyIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAxM3B4IHJnYmEoMCwwLDAsLjI1KTtcclxuICB9XHJcblxyXG4gIC5oaWRkZW4tYm94ZWQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmZ3LWJveGVkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuQG5hdi1oZWFkZXItd2Q6ICAgICAgICAgICAgICAgICBAYXNpZGUtd2Q7XHJcbkBuYXYtaGVhZGVyLXdkLWNvbGxhcHNlZDogICAgICAgQGFzaWRlLXdkLWNvbGxhcHNlZDtcclxuXHJcblxyXG4vLyBOYXZiYXIgTW9iaWxlIEdlbmVyYWwgc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnRvcG5hdmJhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXhlcyBjaHJvbWUganVtcCAqL1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsMCwwLDApO1xyXG4gIC50cmFuc2l0aW9uKGJveC1zaGFkb3cgLjJzIGVhc2UpO1xyXG5cclxuICAvLyBOYXZiYXIgSGVhZGVyIChsb2dvKVxyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG4gID4gLm5hdmJhci1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgd2lkdGg6IEBuYXYtaGVhZGVyLXdkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICB6LWluZGV4OiAxOyAvLyBvdmVybGFwcyB3cmFwcGVyXHJcbiAgICB9XHJcblxyXG4gICAgPiAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDVweDsgXHJcbiAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBEaWZmZXJlbnQgTG9nbyBzaXplIGRlcGVuZHMgb24gdGhlIG5hdmJhciBzdGF0ZVxyXG4gICAgLmJyYW5kLWxvZ28geyBcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcclxuICAgICAgJi1jb2xsYXBzZWQgeyBcclxuICAgICAgICBkaXNwbGF5OiBub25lOyBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgLmFzaWRlLWNvbGxhcHNlZCAmIHtcclxuICAgICAgICB3aWR0aDogQG5hdi1oZWFkZXItd2QtY29sbGFwc2VkO1xyXG4gICAgICAgIC5icmFuZC1sb2dvIHsgXHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyBcclxuICAgICAgICAgICYtY29sbGFwc2VkIHsgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gcmVsb2NhdGUgcG9pbnRzIGZvciBzaW5nbGUgbm90aWZpY2F0aW9uc1xyXG5cclxuICAubmF2ID4gbGkgPiBhIC5wb2ludC1waW4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgPiAucG9pbnQge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICByaWdodDogLTVweDtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICB0b3A6IC01cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2JpbGUgYnV0dG9uIHRvZ2dsZXNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuICAubW9iaWxlLXRvZ2dsZXMge1xyXG4gICAgLmNsZWFyZml4KCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGhlaWdodDogQGhlYWRlci1oZztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcblxyXG4gICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBPZmZjYW52YXMgc2lkZWJhciAmXHJcbiAgLy8gc2xpZGUgZG93biBtZW51IHRvZ2dsZSBidXR0b25cclxuICAuc2lkZWJhci10b2dnbGUsXHJcbiAgLm1lbnUtdG9nZ2xlIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDMwMDE7XHJcbiAgfVxyXG4gIC5zaWRlYmFyLXRvZ2dsZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICB9XHJcbiAgLm1lbnUtdG9nZ2xlIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcblxyXG4gIC8vIE5hdmJhciBpdGVtcyBzaGFkb3cgc3R5bGVcclxuICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAubmF2ID4gbGkgPiBhIHtcclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZShAYnJhbmQtaW52ZXJzZSwgNSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxufVxyXG4vLyBTZWFyY2ggZm9ybVxyXG4uc2VhcmNoLWZvcm0ge1xyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIC5pZTkgJiB7XHJcbiAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGNvbnRhaW5zIGVsZW1lbnRzIGJlbG93IGhlYWRlclxyXG4ubmF2LXdyYXBwZXIge1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7XHJcblxyXG4gIC8vIHdoZW4gY29sbGFwc2UgaXMgb3BlbmVkXHJcbiAgJi5pbiB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8vIGZ1bGx3aWR0aCBkcm9wZG93bnNcclxuICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBAdGFibGV0IHtcclxuICAgIC5jbGVhcmZpeCgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC8vIHJlc3RvcmUgb3BlbmVkIGRyb3Bkb3duIFxyXG4gICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIC5uYXZiYXItbmF2Lm5hdmJhci1yaWdodCAub3BlbiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuQHN1Ym1lbnUtaGVhZGVyLWhnOiAgICAgICAgICAgICAgIDQwcHg7ICAgLy8gU3VibWVudSBoZWFkZXIgd2hlbiBob3ZlciBjb2xsYXBzZSBzaWRlYmFyXHJcbkBzY3JvbGxiYXItd2Q6ICAgICAgICAgICAgICAgICAgICAxN3B4O1xyXG5cclxuQHotaW5kZXgtYmFja2Ryb3A6ICAgICAgICAgICAgICAgIEB6LWluZGV4LWFzaWRlIC0gMTA7XHJcbkB6LWluZGV4LWZsb2F0LW5hdjogICAgICAgICAgICAgICBAei1pbmRleC1iYWNrZHJvcCArIDE7XHJcblxyXG4uc2lkZWJhci13cmFwcGVyIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7ICBcclxuICBociB7XHJcbiAgICBtYXJnaW46IDEwcHggNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLWJhY2tkcm9wIHtcclxuICAgIGxlZnQ6IEBhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICB6LWluZGV4OiBAei1pbmRleC1iYWNrZHJvcDtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbi1yaWdodDogLUBzY3JvbGxiYXItd2Q7ICAvLyBoaWRlcyB0aGUgc2Nyb2xsYmFyXHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAmOmFmdGVyIHsgY29udGVudDogXCJcIjt9XHJcbiAgLm5hdi1oZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLjAzNWVtO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci1idXR0b25zIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgd2lkdGg6IEBhc2lkZS13ZDtcclxuXHJcblxyXG5cclxuICAgIC5idG4tc2lkZWJhciB7XHJcbiAgICAgIC8vIEBzejogNDBweDtcclxuICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAvLyBoZWlnaHQ6IEBzejtcclxuICAgICAgLy8gd2lkdGg6IEBzejtcclxuICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICAgIC8vIGxpbmUtaGVpZ2h0OiBAc3o7XHJcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA+IC5zaWRlYmFyLW5hdiB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIC8vIGxldmVsIDFcclxuICAgID4gLm5hdiB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XHJcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgID4gLnNpZGViYXItaXRlbS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEuN2VtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IC8vIHNpZGViYXItbmF2IFxyXG59XHJcblxyXG5cclxuLnNpZGViYXItc2xpZGUtdGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgJi5uYXYtc2xpZGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTdWIgTGV2ZWxzXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiBcclxuICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgID4gYSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgPiBsaSAge1xyXG4gICAgPiBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgfSAvLyBsaVxyXG5cclxuICAvLyBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIHNpZGViYXIgaXMgY29sbGFwc2VkIGFuZCB0aGUgc3VibWVudVxyXG4gIC8vIHZpc2liaWxpdHkgaXMgdG9nZ2xlZCB2aWEganNcclxuICAmLm5hdi1mbG9hdGluZyB7XHJcbiAgICAvLyBwb3NpdGlvbjogaGFuZGxlZCBmcm9tIGRpcmVjdGl2ZVxyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICBtYXJnaW4tbGVmdDogQGFzaWRlLXdkLWNvbGxhcHNlZDtcclxuICAgIG1pbi13aWR0aDogMTkwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTUpO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB6LWluZGV4OiBAei1pbmRleC1mbG9hdC1uYXY7XHJcblxyXG4gICAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgID4gZW0ge1xyXG4gICAgICAgIC8vIGhpZGUgaGVhZGVyIGljb24gd2hlbiBjb2xsYXBzZWRcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIHNpZGViYXIgaGFzIHNsaWRlIG1vZGUgb25cclxuICAmLm5hdi1zbGlkZSB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgIH1cclxuICAgIC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gU2lkZWJhciBzbGlkZSBhbmltYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcblxyXG4uc2lkZWJhciB7XHJcblxyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIC50cmFuc2l0aW9uKG1hcmdpbi1sZWZ0IC4zcyBlYXNlKTtcclxuXHJcbiAgJi5zaWRlYmFyLXNsaWRlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtQGFzaWRlLXdkO1xyXG4gIH1cclxuXHJcbiAgPiAuc2lkZWJhci1uYXYge1xyXG4gICAgLmNsZWFyZml4KCk7XHJcbiAgICB3aWR0aDogKEBhc2lkZS13ZCAqIDIpICsgKEBzY3JvbGxiYXItd2QpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgPiAubmF2LFxyXG4gICAgLm5hdi1zbGlkZSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogQGFzaWRlLXdkO1xyXG4gICAgfVxyXG4gICAgPiAubmF2IHtcclxuICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAubmF2LXNsaWRlIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IEBzY3JvbGxiYXItd2Q7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRGVza3RvcCBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AbWVkaWEgQHRhYmxldCB7XHJcbiAgXHJcbiAgLnNpZGViYXIgPiAuc2lkZWJhci1uYXYgPiAubmF2IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAubGFiZWwsXHJcbiAgICAuc2lkZWJhci1pdGVtLWNhcmV0IHtcclxuICAgICAgbWFyZ2luOiAycHggMCAwIDA7XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1pdGVtLWNhcmV0ICsgLmxhYmVsIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBcclxuICAvLyBDb2xsYXBzZWQgc3RhdGUgc3R5bGVzXHJcbiAgLmFzaWRlLWNvbGxhcHNlZCB7XHJcblxyXG4gICAgLmhpZGRlbi1zaWRlYmFyLWNvbGxhcHNlZCxcclxuICAgIC5zaWRlYmFyLWJ1dHRvbnMsXHJcbiAgICAuc2lkZWJhci1pdGVtLWNhcmV0IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZWJhciB7XHJcbiAgICAgIC8vIEFwcGxpZXMgdG8gZmlyc3QgbGV2ZWwgaXRlbXNcclxuICAgICAgPiAuc2lkZWJhci1uYXYgPiAubmF2IHtcclxuICAgICAgICBcclxuICAgICAgICAubmF2LCBcclxuICAgICAgICA+IC5uYXYtaGVhZGluZyxcclxuICAgICAgICA+IGxpID4gYSA+IHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICB3aWR0aDogQGFzaWRlLXdkLWNvbGxhcHNlZCAtIDE7XHJcbiAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gLnNpZGViYXItaXRlbS1pY29uIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNmVtOyAvLyBpbmNyZWFzZSBpY29ucyBzaXplXHJcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpmb2N1cyB7IC8vIGFjY2Vzc2liaWxpdHlcclxuICAgICAgICAgICAgICA+IC5zaWRlYmFyLWl0ZW0taWNvbiB7IFxyXG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7IFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbGFiZWxzIGluIG1lbnUgaXRlbXNcclxuICAgICAgLm5hdiB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogMTBweDsgXHJcbiAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfSAvLyAuc2lkZWJhclxyXG4gIH0gLy8gLmFzaWRlLWNvbGxhcHNlZFxyXG59IC8vIEBtZWRpYSBAZGVza3RvcFxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogYnV0dG9uLWV4dHJhLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBTdGFuZGFyZCBidXR0b25zIHJlZGVzaWduXHJcblxyXG4uYnRuIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC50cmFuc2l0aW9uKGFsbCAuMXMpO1xyXG5cclxuICAmLmJ0bi1saW5rIHtcclxuICAgIC5ib3gtc2hhZG93KDAgMCAwICMwMDApICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG4gICYuYnRuLWRlZmF1bHQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAYnRuLWRlZmF1bHQtYm9yZGVyO1xyXG4gIH1cclxuIFxyXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtc20gKyAuaW5wdXQtZ3JvdXAtYnRuICYge1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gIH1cclxuICAmOmFjdGl2ZSxcclxuICAmLmFjdGl2ZSB7XHJcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xyXG59XHJcblxyXG5cclxuLy8gXHJcbi8vIEV4dGVuc2lvbiBmb3IgQm9vdHN0cmFwIGJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBOZXcgY29sb3JzXHJcblxyXG4uYnRuLWludmVyc2UgICB7IC5idXR0b24tdmFyaWFudCgjZmZmOyBAYnJhbmQtaW52ZXJzZTsgQGJyYW5kLWludmVyc2UpOyB9XHJcbi5idG4tdHVycXVvaXNlIHsgLmJ1dHRvbi12YXJpYW50KCNmZmY7IEBicmFuZC10dXJxdW9pc2U7IHRyYW5zcGFyZW50Oyk7IH1cclxuLmJ0bi1wdXJwbGUgICAgeyAuYnV0dG9uLXZhcmlhbnQoI2ZmZjsgQGJyYW5kLXB1cnBsZTsgdHJhbnNwYXJlbnQ7KTsgICAgfVxyXG4uYnRuLXBpbmsgICAgICB7IC5idXR0b24tdmFyaWFudCgjZmZmOyBAYnJhbmQtcGluazsgdHJhbnNwYXJlbnQ7KTsgICAgICB9XHJcbi5idG4tb3JhbmdlICAgIHsgLmJ1dHRvbi12YXJpYW50KCNmZmY7IEBicmFuZC1vcmFuZ2U7IHRyYW5zcGFyZW50Oyk7ICAgIH1cclxuXHJcbi5idG4tb3V0bGluZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4gICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsYXQgc3F1YXJlIGJ1dHRvblxyXG5cclxuLmJ0bi1mbGF0IHtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG59XHJcblxyXG4vLyBFeHRyYSBzaXplXHJcblxyXG4uYnRuLXhsIHtcclxuICBwYWRkaW5nOiAyMHB4IDE2cHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4vLyBCdXR0b24gc3F1YXJlIFxyXG5cclxuLmJ0bi1zcXVhcmUge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcblxyXG4vLyBCdXR0b24gcGlsbFxyXG5cclxuLmJ0bi1waWxsLWxlZnQge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbn1cclxuXHJcbi5idG4tcGlsbC1yaWdodCB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMThweDtcclxufVxyXG5cclxuLy8gUm91bmRlZCBidXR0b25zXHJcblxyXG4uYnRuLW92YWwge1xyXG4gICY6ZXh0ZW5kKC5idG4tcGlsbC1yaWdodCk7XHJcbiAgJjpleHRlbmQoLmJ0bi1waWxsLWxlZnQpO1xyXG59XHJcblxyXG4vLyBMYWJlbHMgZm9yIGJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5idG4tbGFiZWxlZCB7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcbiAgcGFkZGluZy1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5idG4tbGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWluLXdpZHRoOiAzMHB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIC5idXR0b24tbGFiZWwtc2l6ZShAcGFkZGluZy1iYXNlLXZlcnRpY2FsOyBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7IEBib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgYm90dG9tOiAycHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYnRuLWxnIC5idG4tbGFiZWwge1xyXG4gIC5idXR0b24tbGFiZWwtc2l6ZShAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xyXG59XHJcbi5idG4tc20gLmJ0bi1sYWJlbCB7XHJcbiAgLmJ1dHRvbi1sYWJlbC1zaXplKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbn1cclxuLmJ0bi14cyAuYnRuLWxhYmVsIHtcclxuICAuYnV0dG9uLWxhYmVsLXNpemUoMXB4OyA1cHg7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcclxufVxyXG5cclxuLy8gQlVUVE9OUyBMQUJFTCBtaXhpblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ1dHRvbi1sYWJlbC1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAYm9yZGVyLXJhZGl1cykge1xyXG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XHJcbiAgbGVmdDogKC0xICogQHBhZGRpbmctaG9yaXpvbnRhbCk7XHJcbiAgYm9yZGVyLXJhZGl1czogKEBib3JkZXItcmFkaXVzIC0gMXB4KSAwIDAgKEBib3JkZXItcmFkaXVzIC0gMXB4KTtcclxuXHJcbiAgJi5idG4tbGFiZWwtcmlnaHQge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAoLTEgKiBAcGFkZGluZy1ob3Jpem9udGFsKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgKEBib3JkZXItcmFkaXVzIC0gMXB4KSAoQGJvcmRlci1yYWRpdXMgLSAxcHgpIDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGaXhlZCB3aWR0aCBidXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AYnRuLWZ3LXNtOiAgICAgICA4MHB4O1xyXG5AYnRuLWZ3OiAgICAgICAgICAxMjBweDtcclxuQGJ0bi1mdy1sZzogICAgICAgMTUwcHg7XHJcblxyXG4uYnRuLWZ3IHtcclxuICBtaW4td2lkdGg6IEBidG4tZnc7XHJcbiAgJi5idG4tc20ge1xyXG4gICAgbWluLXdpZHRoOiBAYnRuLWZ3LXNtO1xyXG4gIH1cclxuICAmLmJ0bi1sZyB7XHJcbiAgICBtaW4td2lkdGg6IEBidG4tZnctbGc7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwbGFjZWhvbGRlci5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vIERlZmluZXMgc3R5bGVzIGZvciBwbGFjZWhvbGRlciBib3hlc1xyXG4vLyBDcmVhdGUgYSBwbGFjZWhvbGRlciBzcGFjZSB0aGF0IGNhbiBiZSB1c2VkIGZvciB1cGxvYWRpbmcgZmlsZXMgdmlhIGRyYWcgYW5kIGRyb3AuXHJcbi8vIEJhc2VkIG9uIHVpa2l0IHBsYWNlaG9sZGVyIGFkZG9uXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuXHJcbi8vIFZhcmlhYmxlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDEycHg7XHJcbkBwbGFjZWhvbGRlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHg7XHJcbkBwbGFjZWhvbGRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncmF5O1xyXG5AcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG5AcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNDQ0O1xyXG5cclxuQHBsYWNlaG9sZGVyLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgODBweDtcclxuXHJcblxyXG4vLyBQbGFjZWhvbGRlciBjb250YWluZXJcclxuLmJveC1wbGFjZWhvbGRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBAcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsO1xyXG4gICAgcGFkZGluZzogQHBsYWNlaG9sZGVyLXBhZGRpbmc7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgQHBsYWNlaG9sZGVyLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6IEBwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IEBwbGFjZWhvbGRlci1jb2xvcjtcclxufVxyXG5cclxuXHJcbi8vIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZCBcclxuXHJcbi5ib3gtcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcbi8vIFZhcmlhbnRcclxuXHJcbi5ib3gtcGxhY2Vob2xkZXItbGcge1xyXG4gICAgcGFkZGluZy10b3A6IEBwbGFjZWhvbGRlci1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xyXG4gICAgcGFkZGluZy1ib3R0b206IEBwbGFjZWhvbGRlci1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xyXG59XHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwYW5lbHMubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuIFxyXG5cclxuLy8gQ3VzdG9taXplZCBwYW5lbCBzdHlsZXNcclxuLnBhbmVsIHtcclxuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwwLDAsLjEpO1xyXG4gIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICAucGFuZWwtdGl0bGUge1xyXG4gICAgICAvLyBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnBhbmVsLWRlZmF1bHQge1xyXG4gICAgLy8gYm94LXNoYWRvdzogMCAwIDFweCBAYnJhbmQtbm9pcjtcclxuICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5wYW5lbC10cmFuc3BhcmVudCB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICAucGFuZWwtaGVhZGluZyxcclxuICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy9cclxuLy8gQWRkcyBzdXBwb3J0IHRvIHVzZSBtb3JlIGNvbXBvbmVudHMgaW5zaWRlIHBhbmVsc1xyXG4vL1xyXG5cclxuLnBhbmVsIHtcclxuICAudGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbC1mbGF0IHtcclxuICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi5wYW5lbC1ncm91cCB7XHJcbiAgLnBhbmVsLWZsYXQge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhbmVsLWhlYWRpbmcge1xyXG4gIFxyXG4gID4gLmJ0biwgPiAuYnRuLWdyb3VwIHtcclxuICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgfVxyXG4gID4gLmJ0bi1zbSwgPiAuYnRuLWdyb3VwLXNtIHtcclxuICAgIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgfVxyXG4gID4gLmJ0bi14cywgPiAuYnRuLWdyb3VwLXhzIHtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgfSAgXHJcbiAgLy8gcmlnaHQgZmxvYXRlZCBsYWJlbHMgYWRqdXN0IHBvc2l0aW9uXHJcbiAgPiAubGFiZWwucHVsbC1yaWdodCB7XHJcbiAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICArIC5sYWJlbC5wdWxsLXJpZ2h0IHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhbmVsLWZvb3RlciB7XHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICAucmFkaWFsLWJhciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBY3RpdmUgY2xhc3MgZm9yIGNvbGxhcHNlIGVsZW1lbnRzIFxyXG4ucGFuZWwtaGVhZGluZy1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1zdWNjZXNzICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gID4gYSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDA7ICAvLyBBZGRpbmcgcGFkZGluZyBoZXJlIGltcHJvdmVzIG1vYmlsZSB0b3VjaFxyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIC50cmFuc2l0aW9uKHBhZGRpbmcgLjVzIGVhc2UpO1xyXG4gIH1cclxuICArIC5wYW5lbC1jb2xsYXBzZTphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTJlMztcclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbC1pbnZlcnNlIHtcclxuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZ2xvYmFsLWJvcmRlcjsgI2ZmZjsgQGJyYW5kLWludmVyc2U7IEBicmFuZC1pbnZlcnNlKTtcclxufVxyXG5cclxuLnBhbmVsLXR1cnF1b2lzZSB7XHJcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWdsb2JhbC1ib3JkZXI7ICNmZmY7IEBicmFuZC10dXJxdW9pc2U7IEBicmFuZC10dXJxdW9pc2UpO1xyXG59XHJcblxyXG4ucGFuZWwtcGluayB7XHJcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWdsb2JhbC1ib3JkZXI7ICNmZmY7IEBicmFuZC1waW5rOyBAYnJhbmQtcGluayk7XHJcbn1cclxuXHJcbi5wYW5lbC1wdXJwbGUge1xyXG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1nbG9iYWwtYm9yZGVyOyAjZmZmOyBAYnJhbmQtcHVycGxlOyBAYnJhbmQtcHVycGxlKTtcclxufVxyXG5cclxuLnBhbmVsLW9yYW5nZSB7XHJcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWdsb2JhbC1ib3JkZXI7ICNmZmY7IEBicmFuZC1vcmFuZ2U7IEBicmFuZC1vcmFuZ2UpO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHByb2dyZXNzLWV4dHJhLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy8gRGlmZmVyZW50IHNpemUgb2YgUHJvZ3Jlc3MgYmFyc1xyXG5cclxuQHByb2dyZXNzLWhlaWdodC1zbTogMTVweDtcclxuQHByb2dyZXNzLWhlaWdodC14czogOHB4O1xyXG5cclxuLnByb2dyZXNzLXNtIHtcclxuICBoZWlnaHQ6IEBwcm9ncmVzcy1oZWlnaHQtc207XHJcbn1cclxuXHJcbi5wcm9ncmVzcy14cyB7XHJcbiAgaGVpZ2h0OiBAcHJvZ3Jlc3MtaGVpZ2h0LXhzO1xyXG59XHJcblxyXG4vLyBQcm9ncmVzcyBjb2xvciB2YXJpYW50c1xyXG5cclxuLnByb2dyZXNzLWJhci1wdXJwbGUge1xyXG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAYnJhbmQtcHVycGxlKTtcclxufVxyXG4ucHJvZ3Jlc3MtYmFyLWludmVyc2Uge1xyXG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAYnJhbmQtaW52ZXJzZSk7XHJcbn1cclxuLnByb2dyZXNzLWJhci10dXJxdW9pc2Uge1xyXG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAYnJhbmQtdHVycXVvaXNlKTtcclxufVxyXG4ucHJvZ3Jlc3MtYmFyLXBpbmsge1xyXG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAYnJhbmQtcGluayk7XHJcbn1cclxuXHJcbi8vIHByb2dyZXNzLSUgY2xhc3NlcyBmb3Igc2ltcGxlIHVzYWdlXHJcblxyXG5AbnVtLXN0ZXBzOiAxMDtcclxuQHN0ZXBzOiByb3VuZCgxMDAgLyBAbnVtLXN0ZXBzKTtcclxuXHJcbi5wcm9ncmVzcy1zdGVwcyAoQGluZGV4KSB3aGVuIChAaW5kZXggPj0gMTAwKSB7XHJcbiAgLnByb2dyZXNzLTEwMCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1zdGVwcyAoQGluZGV4KSB3aGVuIChAaW5kZXggPCAxMDApIHtcclxuICAucHJvZ3Jlc3MtQHtpbmRleH0ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoQGluZGV4LzEwMCk7XHJcbiAgfVxyXG4gIC5wcm9ncmVzcy1zdGVwcyAoQGluZGV4ICsgQHN0ZXBzKTtcclxufVxyXG5cclxuLnByb2dyZXNzLXN0ZXBzICgwKTtcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogcG9pbnRzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy9cclxuLy8gQ29sb3JlZCBwb2ludCBmb3IgaW5kaWNhdGlvbiBwdXJwb3Nlc1xyXG4vLyBcclxuXHJcbkBwb2ludC1zei1zbTogICAgICAgNXB4O1xyXG5AcG9pbnQtc3o6ICAgICAgICAgIDdweDtcclxuQHBvaW50LXN6LWxnOiAgICAgICAxMXB4O1xyXG5AcG9pbnQtc3oteGw6ICAgICAgIDE4cHg7XHJcblxyXG4ucG9pbnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogQHBvaW50LXN6O1xyXG4gIGhlaWdodDogQHBvaW50LXN6O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gIG1hcmdpbjogMCAuNWVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBncmF5O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuICAmLnRleHQtbGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbiAgJi50ZXh0LXJpZ2h0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5wb2ludC1wcmltYXJ5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxufVxyXG4ucG9pbnQtc3VjY2VzcyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXN1Y2Nlc3M7XHJcbn1cclxuLnBvaW50LWluZm8ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1pbmZvO1xyXG59XHJcbi5wb2ludC13YXJuaW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtd2FybmluZztcclxufVxyXG4ucG9pbnQtZGFuZ2VyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xyXG59XHJcbi5wb2ludC10dXJxdW9pc2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC10dXJxdW9pc2U7XHJcbn1cclxuLnBvaW50LXBpbmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1waW5rO1xyXG59XHJcbi5wb2ludC1pbnZlcnNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtaW52ZXJzZTtcclxufVxyXG4ucG9pbnQtcHVycGxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtcHVycGxlO1xyXG59XHJcblxyXG5cclxuLnBvaW50LXNtIHtcclxuICB3aWR0aDogQHBvaW50LXN6LXNtO1xyXG4gIGhlaWdodDogQHBvaW50LXN6LXNtO1xyXG59XHJcblxyXG4ucG9pbnQtbGcge1xyXG4gIHdpZHRoOiBAcG9pbnQtc3otbGc7XHJcbiAgaGVpZ2h0OiBAcG9pbnQtc3otbGc7XHJcbn1cclxuXHJcbi5wb2ludC14bCB7XHJcbiAgd2lkdGg6IEBwb2ludC1zei14bDtcclxuICBoZWlnaHQ6IEBwb2ludC1zei14bDtcclxufVxyXG5cclxuLnBvaW50LW91dGxpbmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICYucG9pbnQtcHJpbWFyeSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAYnJhbmQtcHJpbWFyeTtcclxuICB9XHJcbiAgJi5wb2ludC1zdWNjZXNzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBicmFuZC1zdWNjZXNzO1xyXG4gIH1cclxuICAmLnBvaW50LWluZm8ge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLWluZm87XHJcbiAgfVxyXG4gICYucG9pbnQtd2FybmluZyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAYnJhbmQtd2FybmluZztcclxuICB9XHJcbiAgJi5wb2ludC1kYW5nZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLWRhbmdlcjtcclxuICB9XHJcbn1cclxuXHJcbi5wb2ludC1waW4ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICA+IC5wb2ludCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRpbWVsaW5lLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuQHRpbWVsaW5lLWJhZGdlLXNpemU6ICAgICAgICAgICA1MHB4O1xyXG5AdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbTogICAgICAgIDMwcHg7XHJcbkB0aW1lbGluZS1kYXRldGltZS1oZWlnaHQ6ICAgICAgMjBweDtcclxuQHRpbWVsaW5lLXNlcGFyYXRvci13aWR0aDogICAgICA0MHB4O1xyXG5cclxuLy8gVGltZWxpbmUgY29udGFpbmVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi50aW1lbGluZSxcclxuLnRpbWVsaW5lLWFsdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIFxyXG4gIC8vIFRpbWVsaW5lIGNlbnRyYWwgbGluZVxyXG4gICY6YmVmb3JlIHtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgd2lkdGg6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0O1xyXG4gICAgbGVmdDogQHRpbWVsaW5lLXNlcGFyYXRvci13aWR0aCAvIDI7XHJcbiAgfVxyXG5cclxuICAvLyBUaW1lbGluZSBsaXN0IGl0bWVzXHJcbiAgPiBsaSB7XHJcbiAgICAuY2xlYXJmaXgoKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi50aW1lbGluZS1zZXBhcmF0b3Ige1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtZGF0ZXRpbWUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtaW4td2lkdGg6IEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXktbGlnaHQ7XHJcbiAgICAgICAgLy8gY29sb3I6IEBicmFuZC1pbnZlcnNlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGg7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgQHdkOiAxMHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IEB3ZDtcclxuICAgICAgICBoZWlnaHQ6IEB3ZDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogKEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGggLyAyKSAtIChAd2QvMik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLShAd2QvMik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXktbGlnaHQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGltZWxpbmUgcGFuZWxcclxuICAgID4gLnRpbWVsaW5lLXBhbmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy9mbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGggKyAxMDtcclxuXHJcbiAgICAgICAgLy8gUG9wb3ZlciBpbnNpZGUgdGltZWxpbmUgcGFuZWxzXHJcbiAgICAgICAgLnBvcG92ZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgIC5hcnJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAucG9wb3Zlci1jb250ZW50IHtcclxuICAgICAgICAgICAgLnBvcG92ZXItdGl0bGUge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGltZWxpbmUgRGF0ZVxyXG5cclxuICAgICA+IC50aW1lbGluZS1kYXRlIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBtYXJnaW46IC1AdGltZWxpbmUtZGF0ZXRpbWUtaGVpZ2h0IDAgMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogQHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6IEB0aW1lbGluZS1kYXRldGltZS1oZWlnaHQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgY29sb3I6IEB0ZXh0LW11dGVkO1xyXG5cclxuICAgICAgPiB0aW1lIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0ZXRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBUaW1lbGluZSBiYWRnZXNcclxuICAgID4gLnRpbWVsaW5lLWJhZGdlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGggLyAyO1xyXG4gICAgICB3aWR0aDogQHRpbWVsaW5lLWJhZGdlLXNpemU7XHJcbiAgICAgIGhlaWdodDogQHRpbWVsaW5lLWJhZGdlLXNpemU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLShAdGltZWxpbmUtYmFkZ2Utc2l6ZS8yKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IEB0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICBmb250LXNpemU6IEB0aW1lbGluZS1iYWRnZS1zaXplICogLjQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICYudGltZWxpbmUtYmFkZ2Utc20ge1xyXG4gICAgICAgIHdpZHRoOiBAdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbTtcclxuICAgICAgICBoZWlnaHQ6IEB0aW1lbGluZS1iYWRnZS1zaXplLXNtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKEB0aW1lbGluZS1iYWRnZS1zaXplLXNtLzIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbTtcclxuICAgICAgICBmb250LXNpemU6IEB0aW1lbGluZS1iYWRnZS1zaXplLXNtICogLjQ7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIFRpbWVsaW5lIHRpdGxlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi50aW1lbGluZS10aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi8vIFRpbWVsaW5lIEJvZHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnRpbWVsaW5lLWJvZHkgPiBwLFxyXG4udGltZWxpbmUtYm9keSA+IHVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuLnRpbWVsaW5lLWJvZHkgPiBwICsgcCB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi8vIFRpbWVsaW5lIGZvciBEZXNrdG9wc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgXHJcbiAgICAudGltZWxpbmUge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoQHRpbWVsaW5lLWJhZGdlLXNpemUvMik7XHJcbiAgICAgIH1cclxuICAgICAgPiBsaSB7XHJcblxyXG4gICAgICAgICYudGltZWxpbmUtc2VwYXJhdG9yIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoQHRpbWVsaW5lLWJhZGdlLXNpemUvMik7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoQHRpbWVsaW5lLWJhZGdlLXNpemUvMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnRpbWVsaW5lLWJhZGdlIHtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAudGltZWxpbmUtZGF0ZSB7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB0b3A6IEB0aW1lbGluZS1iYWRnZS1zaXplIC8gMjtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZSAqIDEuNTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0oQHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodC8yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnRpbWVsaW5lLXBhbmVsIHtcclxuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDQ4JTtcclxuXHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMjZweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMTRweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICB0b3A6IDI3cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTRweDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgLnBvcG92ZXIgLmFycm93IHtcclxuICAgICAgICAgICAgdG9wOiBAdGltZWxpbmUtYmFkZ2Utc2l6ZS8yO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRpbWVsaW5lIGludmVydGVkXHJcbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAgICAmLnRpbWVsaW5lLWludmVydGVkIHtcclxuXHJcbiAgICAgICAgICAgID4gLnRpbWVsaW5lLXBhbmVsIHtcclxuICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpbWVsaW5lLWRhdGUgIHtcclxuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZHJvcGRvd24tZXh0cmFzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy8gXHJcbi8vIERyb3Bkb3B3biBleHRyYXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gcGxhY2UgY29tcG9uZW50cyB3aXRoIG1vcmUgc3BhY2VcclxuLmRyb3Bkb3duLWxnID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gIG1pbi13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4vLyBBbGxvd3MgdG8gbWl4IGxpc3QgZ3JvdXAgaW5zaWRlIGRyb3Bkb3duc1xyXG4uZHJvcGRvd24tbGlzdCB7XHJcbiAgXHJcbiAgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWluLXdpZHRoOiAyMjBweDtcclxuICB9XHJcblxyXG4gIC5saXN0LWdyb3VwIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTGFiZWxzIGluc2lkZSBkcm9wZG93bnNcclxuLmRyb3Bkb3duIHtcclxuICA+IGEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgPiAubGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDJweCA1cHg7XHJcbiAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRHJvcGRvd24gaGVhZGVyXHJcbi5kcm9wZG93bi1tZW51LWhlYWRlciB7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBkcm9wZG93bi1ib3JkZXI7XHJcbn1cclxuXHJcblxyXG4vL1xyXG4vLyBPZmZDYW52YXMgRHJvcGRvd25cclxuLy9cclxuXHJcbi5kcm9wZG93bi1tZW51W29mZmNhbnZhcy1kcm9wZG93bl0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAub2ZmY2FudmFzLWNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOjA7IGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG4gICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XHJcblxyXG4gICAgJi5uZy1oaWRlIHtcclxuICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyAmLm9wZW4ge1xyXG4gIC8vICAgLm9mZmNhbnZhcy1jb250ZW50IHtcclxuICAvLyAgICAgcmlnaHQ6IDA7XHJcbiAgLy8gICAgIGxlZnQ6IDE1cHg7XHJcbiAgLy8gICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgPiBsaSA+IGEge1xyXG4gIC8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAvLyAgIH1cclxuICAvLyB9ICBcclxufVxyXG5cclxuXHJcbi5vZmZjYW52YXMtdG9nZ2xlIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogcm93LWV4dHJhLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy9cclxuLy8gVXRpbGl0aWVzIHRvIG1hbmFnZSBib290c3RyYXAgcm93cyBhbmQgY29scyBcclxuLy8gd2l0aCBtb3JlIGZsZXhpYmlsaXR5XHJcbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5yb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBEaXNwbGF5IGEgcm93IHVzaW5nIHRhYmxlIGxheW91dFxyXG4vLyBhbGxvd3MgdG8gaGF2ZSB2ZXJ0aWNhbGx5IGFsaWduZWQgZWxlbWVudHNcclxuXHJcbi5yb3ctdGFibGUge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBcclxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVtb3ZlIHBhZGRpbmcgYW5kIGNvbGxhcHNlIGNvbHVtbnNcclxuLnJvdy1mbHVzaCB7XHJcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG1hc29ucnktZ3JpZC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1hc29ucnktZ3JpZC1nYXA6IDE1cHg7XHJcbkBtYXNvbnJ5LWdyaWQtY29sdW1uczogMTI7XHJcblxyXG4ucm93LW1hc29ucnkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICAvLy5jb2x1bW4tZmlsbChhdXRvKTsgLy8gcmVtb3ZlZDogbm90IG5lY2Vzc2FyeSBhbmQgYnJlYWtzIGZmIGxheW91dFxyXG4gIFxyXG4gID4gLmNvbC1tYXNvbnJ5IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMWVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogQG1hc29ucnktZ3JpZC1nYXA7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBDb2x1bW5zIGRlZmluaXRpb24gYnkgZGV2aWNlcyAqL1xyXG5cclxuQG1lZGlhIEBtb2JpbGUgICAgIHsgLmxvb3AtbWFzb25yeS1yb3coIHNtICk7ICB9XHJcbkBtZWRpYSBAdGFibGV0ICAgICB7IC5sb29wLW1hc29ucnktcm93KCBtZCApOyAgfVxyXG5AbWVkaWEgQGRlc2t0b3AgICAgeyAubG9vcC1tYXNvbnJ5LXJvdyggbGcgKTsgIH1cclxuQG1lZGlhIEBkZXNrdG9wLWxnIHsgLmxvb3AtbWFzb25yeS1yb3coIHhsICk7IH1cclxuXHJcbi8vIExvb3AgdG8gZ2VuZXJhdGUgZWFjaCByb3cgd2l0aCB0aGUgcmlnaHQgbnVtYmVyIG9mIGNvbHVtbnNcclxuLmxvb3AtbWFzb25yeS1yb3coQHR5cGUsIEBtYXhjb2xzOiBAbWFzb25yeS1ncmlkLWNvbHVtbnMpIHtcclxuICAvLyByb3cgbG9vcFxyXG4gIC5tYWtlLW1hc29ucnktcm93KEBpbmRleCkgd2hlbiAoQGluZGV4IDw9IEBtYXhjb2xzKSB7XHJcbiAgICAucm93LW1hc29ucnktQHt0eXBlfS1Ae2luZGV4fSB7XHJcbiAgICAgIC5tYXNvbnJ5LWNvbHVtbihAaW5kZXgpO1xyXG5cclxuICAgICAgLy8gQnVpbGQgYSBzaW1wbGUgZ3JpZCBzeXN0ZW0gZm9yIGJyb3dzZXIgdGhhdCBkb24ndCBzdXBwb3J0IGNvbHVtbnMgbGF5b3V0XHJcbiAgICAgIC8vIFJlcXVpcmVzIE1vZGVybml6ciB0byBpZGVudGlmeSB0aGUgZmVhdHVyZSBzdXBwb3J0XHJcbiAgICAgIC5uby1jc3Njb2x1bW5zICYge1xyXG4gICAgICAgIC5tYWtlLWlubGluZS1jb2x1bW4oQGluZGV4KTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8vIGRvIHJlY3Vyc2l2ZVxyXG4gICAgLm1ha2UtbWFzb25yeS1yb3coQGluZGV4ICsgMSk7XHJcbiAgfVxyXG4gIC8vIGtpY2tzdGFydFxyXG4gIC5tYWtlLW1hc29ucnktcm93KDEpO1xyXG59XHJcblxyXG4vLyBEZWNsYXJlcyB0aGUgY29sdW1uIHNwZWNpZmljYXRpb24gZm9yIHRoZSByb3dcclxuLm1hc29ucnktY29sdW1uKEBudW1jb2xzLCBAZ2FwOiBAbWFzb25yeS1ncmlkLWdhcCkge1xyXG4gIC5jb2x1bW4tY291bnQoQG51bWNvbHMpO1xyXG4gIC5jb2x1bW4tZ2FwKEBnYXApO1xyXG4gIC5jb2x1bW5zKEBudW1jb2xzKTtcclxuICAvLyBmb3JjZXMgdGhlIHJpZ2h0IGNvbHVtbiB3aWR0aCAobm90IG5lY2Vzc2FyeSwgdXNlIGl0IGFzIHBlciB5b3VyIG5lZWRzKVxyXG4gIC8vIEBjb2wtd2lkdGg6IGZsb29yKCgxMDAlIC0gKEBnYXAgKiAoQG51bWNvbHMgLSAxKSApKSAvIEBudW1jb2xzKTtcclxuICAvLyAuY29sdW1uLXdpZHRoKEBjb2wtd2lkdGgpO1xyXG59XHJcblxyXG4vLyBHZW5lcmF0ZXMgYSBzaW5nbGUgZ3JpZCB0byBmYWxsYmFjayBtYXNvbnJ5IG9uIG9sZCBicm93c2Vyc1xyXG4vLyB3aXRoIG5vIGNzcyBjb2x1bW5zIHN1cHBvcnRcclxuLm1ha2UtaW5saW5lLWNvbHVtbihAbnVtKSB7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAvL2ZvbnQtc2l6ZTogMDsgLy8gdGhpcyByZXF1aXJlcyB0aGF0IHlvdXIgY29tcG9uZW50cyByZXN0b3JlIHRoZSBmb250IHNpemVcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gID4gLmNvbC1tYXNvbnJ5IHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogZmxvb3IoKDEwMCUgLyBAaW5kZXgpIC0gMSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDU1MzIENvbHVtbnMgTGF5b3V0IG1peGluXHJcbi8vIGZvciBjcm9zc2Jyb3dzZXIgc3VwcG9ydFxyXG5cclxuLmNvbHVtbi1nYXAoQHZhbHVlKSB7XHJcbiAgLW1vei1jb2x1bW4tZ2FwOiBAdmFsdWU7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAdmFsdWU7XHJcbiAgY29sdW1uLWdhcDogQHZhbHVlO1xyXG59XHJcblxyXG4uY29sdW1uLWNvdW50KEB2YWx1ZSkge1xyXG4gIC1tb3otY29sdW1uLWNvdW50OiBAdmFsdWU7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEB2YWx1ZTtcclxuICBjb2x1bW4tY291bnQ6IEB2YWx1ZTtcclxufVxyXG5cclxuLmNvbHVtbi13aWR0aChAdmFsdWUpIHtcclxuICAtbW96LWNvbHVtbi13aWR0aDogQHZhbHVlO1xyXG4gIC13ZWJraXQtY29sdW1uLXdpZHRoOiBAdmFsdWU7XHJcbiAgY29sdW1uLXdpZHRoOiBAdmFsdWU7XHJcbn1cclxuXHJcbi5jb2x1bW4tZmlsbChAdmFsdWUpIHtcclxuICAtbW96LWNvbHVtbi1maWxsOiBAdmFsdWU7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZmlsbDogQHZhbHVlO1xyXG4gIGNvbHVtbi1maWxsOiBAdmFsdWU7XHJcbn1cclxuXHJcbi5jb2x1bW5zKEB2YWx1ZSkge1xyXG4gIC1tb3otY29sdW1uczogQHZhbHVlO1xyXG4gIC13ZWJraXQtY29sdW1uczogQHZhbHVlO1xyXG4gIGNvbHVtbnM6IEB2YWx1ZTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0eXBlYWhlYWQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIExpbWl0cyB0aGUgdHlwZWFoZWFkIGxpc3Qgd2hlbiBpdCBiZWNvbWVzIHRvbyBsYXJnZVxyXG4udHlwZWFoZWFkLWN0cmwge1xyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbG9hZGluZy1iYXIubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLypcclxuICogYW5ndWxhci1sb2FkaW5nLWJhciB2MC42LjAgKiBodHRwczovL2NoaWVmZmFuY3lwYW50cy5naXRodWIuaW8vYW5ndWxhci1sb2FkaW5nLWJhclxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQgV2VzIENydXZlciAqIExpY2Vuc2U6IE1JVFxyXG4gKi9cclxuXHJcblxyXG5AbG9hZGluZy1iYXItYmc6ICAgICAgICBAYnJhbmQtaW5mbztcclxuQGxvYWRpbmctYmFyLWhnOiAgICAgICAgM3B4O1xyXG5cclxuI2xvYWRpbmctYmFyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogOTAwMDI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiBAbG9hZGluZy1iYXItaGc7XHJcbiAgXHJcbiAgLmxheW91dC1maXhlZCAmIHtcclxuICAgIHRvcDogQGhlYWRlci1oZztcclxuICB9XHJcbn1cclxuXHJcbi8qIE1ha2UgY2xpY2tzIHBhc3MtdGhyb3VnaCAqL1xyXG4jbG9hZGluZy1iYXIsXHJcbiNsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzUwbXMgbGluZWFyIGFsbDtcclxuICAtbW96LXRyYW5zaXRpb246IDM1MG1zIGxpbmVhciBhbGw7XHJcbiAgLW8tdHJhbnNpdGlvbjogMzUwbXMgbGluZWFyIGFsbDtcclxuICB0cmFuc2l0aW9uOiAzNTBtcyBsaW5lYXIgYWxsO1xyXG59XHJcblxyXG4jbG9hZGluZy1iYXIubmctZW50ZXIsXHJcbiNsb2FkaW5nLWJhci5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsXHJcbiNsb2FkaW5nLWJhci1zcGlubmVyLm5nLWVudGVyLFxyXG4jbG9hZGluZy1iYXItc3Bpbm5lci5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbiNsb2FkaW5nLWJhci5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsXHJcbiNsb2FkaW5nLWJhci5uZy1sZWF2ZSxcclxuI2xvYWRpbmctYmFyLXNwaW5uZXIubmctZW50ZXIubmctZW50ZXItYWN0aXZlLFxyXG4jbG9hZGluZy1iYXItc3Bpbm5lci5uZy1sZWF2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuI2xvYWRpbmctYmFyIC5iYXIge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDM1MG1zO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMzUwbXM7XHJcbiAgLW8tdHJhbnNpdGlvbjogd2lkdGggMzUwbXM7XHJcbiAgdHJhbnNpdGlvbjogd2lkdGggMzUwbXM7XHJcblxyXG4gIGJhY2tncm91bmQ6IEBsb2FkaW5nLWJhci1iZztcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMXB4O1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxcHg7XHJcbn1cclxuXHJcbi8qIEZhbmN5IGJsdXIgZWZmZWN0ICovXHJcbiNsb2FkaW5nLWJhciAucGVnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMnB4O1xyXG4gIG9wYWNpdHk6IC40NTtcclxuICAtbW96LWJveC1zaGFkb3c6IEBsb2FkaW5nLWJhci1iZyAxcHggMCA2cHggMXB4O1xyXG4gIC1tcy1ib3gtc2hhZG93OiBAbG9hZGluZy1iYXItYmcgMXB4IDAgNnB4IDFweDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IEBsb2FkaW5nLWJhci1iZyAxcHggMCA2cHggMXB4O1xyXG4gIGJveC1zaGFkb3c6IEBsb2FkaW5nLWJhci1iZyAxcHggMCA2cHggMXB4O1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxufVxyXG5cclxuI2xvYWRpbmctYmFyLXNwaW5uZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiA5MDAwMjtcclxuICB0b3A6IDEwcHg7XHJcbiAgbGVmdDogMTBweDtcclxufVxyXG5cclxuI2xvYWRpbmctYmFyLXNwaW5uZXIgLnNwaW5uZXItaWNvbiB7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAxNHB4O1xyXG5cclxuICBib3JkZXI6ICBzb2xpZCAycHggdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogIEBsb2FkaW5nLWJhci1iZztcclxuICBib3JkZXItbGVmdC1jb2xvcjogQGxvYWRpbmctYmFyLWJnO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcclxuICAtbW96LWFuaW1hdGlvbjogICAgbG9hZGluZy1iYXItc3Bpbm5lciA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgLW1zLWFuaW1hdGlvbjogICAgIGxvYWRpbmctYmFyLXNwaW5uZXIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xyXG4gIC1vLWFuaW1hdGlvbjogICAgICBsb2FkaW5nLWJhci1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcclxuICBhbmltYXRpb246ICAgICAgICAgbG9hZGluZy1iYXItc3Bpbm5lciA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICAwJSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lciB7XHJcbiAgMCUgICB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7ICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuQC1vLWtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICAwJSAgIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7ICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcbkAtbXMta2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXIge1xyXG4gIDAlICAgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7ICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXIge1xyXG4gIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZm9ybS12YWxpZGF0aW9uLmxlc3NcclxuICAgKGh0dHA6Ly9tZG8uZ2l0aHViLmlvL3RhYmxlLWdyaWQpXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIEB0YWJsZXQge1xyXG5cclxuICAvLyBBZGQgYC50YWJsZS1ncmlkYCBmb3IgdGhlIHRhYmxlIFxyXG4gIC50YWJsZS1ncmlkIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIGAuY29sYCBmb3IgdGhlIHRhYmxlIGNlbGxzLCBvciBjb2x1bW5zXHJcbiAgLmNvbCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAvLyB2ZXJ0aWNhbCBjZW50ZXIgYSBjb2xcclxuICAgICYuY29sLWZ1bGwtY2VudGVyIHtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyBTZXQgdGhlIHdpZHRocyBcclxuICAuY29sLTEgeyB3aWR0aDogOC4zMzMzMzMlOyB9XHJcbiAgLmNvbC0yIHsgd2lkdGg6IDE2LjY2NjY2NyU7IH1cclxuICAuY29sLTMgeyB3aWR0aDogMjUlOyB9XHJcbiAgLmNvbC00IHsgd2lkdGg6IDMzLjMzMzMzMyU7IH1cclxuICAuY29sLTUgeyB3aWR0aDogNDEuNjY2NjY3JTsgfVxyXG4gIC5jb2wtNiB7IHdpZHRoOiA1MCU7IH1cclxuICAuY29sLTcgeyB3aWR0aDogNTguMzMzMzMzJTsgfVxyXG4gIC5jb2wtOCB7IHdpZHRoOiA2Ni42NjY2NjclOyB9XHJcbiAgLmNvbC05IHsgd2lkdGg6IDc1JTsgfVxyXG4gIC5jb2wtMTAgeyB3aWR0aDogODMuMzMzMzMzJTsgfVxyXG4gIC5jb2wtMTEgeyB3aWR0aDogOTEuNjY2NjY3JTsgfVxyXG4gIC5jb2wtMTIgeyB3aWR0aDogMTAwJTsgfVxyXG4gIFxyXG4gIC8vIGZpeGVkIHRoZSB3aWR0aHMgXHJcbiAgLmNvbC10aW55IHsgICY6ZXh0ZW5kKC53ZC10aW55KTsgfVxyXG4gIC5jb2wteHhzICB7ICAmOmV4dGVuZCgud2QteHhzKTsgIH1cclxuICAuY29sLXhzICAgeyAgJjpleHRlbmQoLndkLXhzKTsgICB9XHJcbiAgLmNvbC1zbSAgIHsgICY6ZXh0ZW5kKC53ZC1zbSk7ICAgfVxyXG4gIC5jb2wtc2QgICB7ICAmOmV4dGVuZCgud2Qtc2QpOyAgIH1cclxuICAuY29sLW1kICAgeyAgJjpleHRlbmQoLndkLW1kKTsgICB9XHJcbiAgLmNvbC1sZyAgIHsgICY6ZXh0ZW5kKC53ZC1sZyk7ICAgfVxyXG4gIC5jb2wteGwgICB7ICAmOmV4dGVuZCgud2QteGwpOyAgIH1cclxuICAuY29sLXh4bCAgeyAgJjpleHRlbmQoLndkLXh4bCk7ICB9XHJcbiAgLmNvbC13aWRlIHsgICY6ZXh0ZW5kKC53ZC13aWRlKTsgfVxyXG4gIC5jb2wtYXV0byB7ICAmOmV4dGVuZCgud2QtYXV0byk7IH1cclxuXHJcbiAgLy8gUGFkZGVkIGNvbHVtbnMgXHJcbiAgLnRhYmxlLWdyaWQtcGFkZGVkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAgLTFyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xyXG4gIH1cclxuICAudGFibGUtZ3JpZC1wYWRkZWQgLnRhYmxlLWdyaWQge1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDFyZW0gMDtcclxuICB9XHJcblxyXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGdyaWQgY29udGVudFxyXG4gIC8vIFJlcXVpcmVzIGNvbnRlbnQgd2l0aGluIHRoZSBjb2x1bW4gdG8gYmUgaW5saW5lIG9yIGlubGluZS1ibG9jay5cclxuXHJcbiAgLnRhYmxlLWdyaWQtYWxpZ24tbWlkZGxlIC5jb2wge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG59XHJcbiIsIi5wYWxldHRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTVweCAxMHB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggMHB4ICNlMmU4ZWI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAycHggMHB4ICNlMmU4ZWI7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogMHB4IDJweCAwcHggI2UyZThlYjtcclxuICAgIC1vLWJveC1zaGFkb3c6IDBweCAycHggMHB4ICNlMmU4ZWI7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDBweCAjZTJlOGViO1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCVcclxufVxyXG5cclxuLmNvbG9yIHtcclxuICAgIGhlaWdodDogMTQwcHhcclxufVxyXG5cclxuLmluZm8ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQXZlbmlyTmV4dExUUHJvQm9sZFwiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmVcclxufVxyXG5cclxuLmluZm8gbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrXHJcbn1cclxuXHJcbi5pbmZvIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTdweDtcclxuICAgIGNvbG9yOiAjODM5MTk5XHJcbn1cclxuXHJcbi5pbmZvIC5jbGlwYm9hcmQge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXJcclxufVxyXG5cclxuLmluZm8gLmljb24tZ2xvYmUge1xyXG4gICAgcmlnaHQ6IDMwcHhcclxufVxyXG5cclxuLmluZm8gbGk6bnRoLWNoaWxkKDEpIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogIzQxNGI1NVxyXG59XHJcblxyXG4uaW5mbyBsaTpudGgtY2hpbGQoMikge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICAgIGNvbG9yOiAjODM5MTk5XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogY2hhdC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNoYXQge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcGFkZGluZy1yaWdodDogNnB4O1xyXG5cclxuICBsaSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIC5jaGF0LWJvZHkge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktbGlnaHQ7ICAgICAgXHJcbiAgICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogQHRleHQtbXV0ZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGF0LWhlYWRlciB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuY2hhdC1tc2cge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQgLmNoYXQtYm9keSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgLmNoYXQtbXNnIHtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCAuY2hhdC1ib2R5IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgLmNoYXQtbXNnIHtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuLnBhbmVsIC5zbGlkZWRvd24gLmdseXBoaWNvbiwgLmNoYXQgLmdseXBoaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG4iLCJcclxuLmJ0bi1zd2l0Y2gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIFxyXG4gID4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICBsZWZ0Oi0xMDAlO1xyXG4gICAgdG9wOi0xMDAlO1xyXG4gICAgXHJcbiAgICArIC5idG4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuICAgICAgY29sb3I6IEBicmFuZC1wcmltYXJ5IDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgPiBlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLXByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIuNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCA0cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6Y2hlY2tlZCArIC5idG4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgID4gZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6IEBicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmJ0bi1zd2l0Y2gtcHJpbWFyeSAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7ICAgfVxyXG4uYnRuLXN3aXRjaC1zdWNjZXNzICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1zdWNjZXNzKTsgICB9XHJcbi5idG4tc3dpdGNoLWluZm8gICAgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLWluZm8pOyAgICAgIH1cclxuLmJ0bi1zd2l0Y2gtd2FybmluZyAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtd2FybmluZyk7ICAgfVxyXG4uYnRuLXN3aXRjaC1kYW5nZXIgICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1kYW5nZXIpOyAgICB9XHJcbi5idG4tc3dpdGNoLWludmVyc2UgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLWludmVyc2UpOyAgIH1cclxuLmJ0bi1zd2l0Y2gtdHVycXVvaXNlIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtdHVycXVvaXNlKTsgfVxyXG4uYnRuLXN3aXRjaC1waW5rICAgICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1waW5rKTsgICAgICB9XHJcbi5idG4tc3dpdGNoLXB1cnBsZSAgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXB1cnBsZSk7ICAgIH1cclxuLmJ0bi1zd2l0Y2gtb3JhbmdlICAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtb3JhbmdlKTsgICAgfVxyXG5cclxuLmJ0bi1zd2l0Y2gtdmFyaWFudChAY29sb3IpIHtcclxuXHJcbiAgJiA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSAge1xyXG4gICAgXHJcbiAgICArIC5idG4ge1xyXG4gICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcclxuICAgICAgY29sb3I6IEBjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICA+IGVtIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjsgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6Y2hlY2tlZCArIC5idG4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgID4gZW0ge1xyXG4gICAgICAgIGNvbG9yOiBAY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZmVhdGhlci1pY29ucy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmljb24tZXllLC5pY29uLXBhcGVyLWNsaXAsLmljb24tbWFpbCwuaWNvbi10b2dnbGUsLmljb24tbGF5b3V0LC5pY29uLWxpbmssLmljb24tYmVsbCwuaWNvbi1sb2NrLC5pY29uLXVubG9jaywuaWNvbi1yaWJib24sLmljb24taW1hZ2UsLmljb24tc2lnbmFsLC5pY29uLXRhcmdldCwuaWNvbi1jbGlwYm9hcmQsLmljb24tY2xvY2ssLmljb24tY2xvY2ssLmljb24td2F0Y2gsLmljb24tYWlyLXBsYXksLmljb24tY2FtZXJhLC5pY29uLXZpZGVvLC5pY29uLWRpc2MsLmljb24tcHJpbnRlciwuaWNvbi1tb25pdG9yLC5pY29uLXNlcnZlciwuaWNvbi1jb2csLmljb24taGVhcnQsLmljb24tcGFyYWdyYXBoLC5pY29uLWFsaWduLWp1c3RpZnksLmljb24tYWxpZ24tbGVmdCwuaWNvbi1hbGlnbi1jZW50ZXIsLmljb24tYWxpZ24tcmlnaHQsLmljb24tYm9vaywuaWNvbi1sYXllcnMsLmljb24tc3RhY2ssLmljb24tc3RhY2stMiwuaWNvbi1wYXBlciwuaWNvbi1wYXBlci1zdGFjaywuaWNvbi1zZWFyY2gsLmljb24tem9vbS1pbiwuaWNvbi16b29tLW91dCwuaWNvbi1yZXBseSwuaWNvbi1jaXJjbGUtcGx1cywuaWNvbi1jaXJjbGUtbWludXMsLmljb24tY2lyY2xlLWNoZWNrLC5pY29uLWNpcmNsZS1jcm9zcywuaWNvbi1zcXVhcmUtcGx1cywuaWNvbi1zcXVhcmUtbWludXMsLmljb24tc3F1YXJlLWNoZWNrLC5pY29uLXNxdWFyZS1jcm9zcywuaWNvbi1taWNyb3Bob25lLC5pY29uLXJlY29yZCwuaWNvbi1za2lwLWJhY2ssLmljb24tcmV3aW5kLC5pY29uLXBsYXksLmljb24tcGF1c2UsLmljb24tc3RvcCwuaWNvbi1mYXN0LWZvcndhcmQsLmljb24tc2tpcC1mb3J3YXJkLC5pY29uLXNodWZmbGUsLmljb24tcmVwZWF0LC5pY29uLWZvbGRlciwuaWNvbi11bWJyZWxsYSwuaWNvbi1tb29uLC5pY29uLXRoZXJtb21ldGVyLC5pY29uLWRyb3AsLmljb24tc3VuLC5pY29uLWNsb3VkLC5pY29uLWNsb3VkLXVwbG9hZCwuaWNvbi1jbG91ZC1kb3dubG9hZCwuaWNvbi11cGxvYWQsLmljb24tZG93bmxvYWQsLmljb24tbG9jYXRpb24sLmljb24tbG9jYXRpb24tMiwuaWNvbi1tYXAsLmljb24tYmF0dGVyeSwuaWNvbi1oZWFkLC5pY29uLWJyaWVmY2FzZSwuaWNvbi1zcGVlY2gtYnViYmxlLC5pY29uLWFuY2hvciwuaWNvbi1nbG9iZSwuaWNvbi1ib3gsLmljb24tcmVsb2FkLC5pY29uLXNoYXJlLC5pY29uLW1hcnF1ZWUsLmljb24tbWFycXVlZS1wbHVzLC5pY29uLW1hcnF1ZWUtbWludXMsLmljb24tdGFnLC5pY29uLXBvd2VyLC5pY29uLWNvbW1hbmQsLmljb24tYWx0LC5pY29uLWVzYywuaWNvbi1iYXItZ3JhcGgsLmljb24tYmFyLWdyYXBoLTIsLmljb24tcGllLWdyYXBoLC5pY29uLXN0YXIsLmljb24tYXJyb3ctbGVmdCwuaWNvbi1hcnJvdy1yaWdodCwuaWNvbi1hcnJvdy11cCwuaWNvbi1hcnJvdy1kb3duLC5pY29uLXZvbHVtZSwuaWNvbi1tdXRlLC5pY29uLWNvbnRlbnQtcmlnaHQsLmljb24tY29udGVudC1sZWZ0LC5pY29uLWdyaWQsLmljb24tZ3JpZC0yLC5pY29uLWNvbHVtbnMsLmljb24tbG9hZGVyLC5pY29uLWJhZywuaWNvbi1iYW4sLmljb24tZmxhZywuaWNvbi10cmFzaCwuaWNvbi1leHBhbmQsLmljb24tY29udHJhY3QsLmljb24tbWF4aW1pemUsLmljb24tbWluaW1pemUsLmljb24tcGx1cywuaWNvbi1taW51cywuaWNvbi1jaGVjaywuaWNvbi1jcm9zcywuaWNvbi1tb3ZlLC5pY29uLWRlbGV0ZSwuaWNvbi1tZW51LC5pY29uLWFyY2hpdmUsLmljb24taW5ib3gsLmljb24tb3V0Ym94LC5pY29uLWZpbGUsLmljb24tZmlsZS1hZGQsLmljb24tZmlsZS1zdWJ0cmFjdCwuaWNvbi1oZWxwLC5pY29uLW9wZW4sLmljb24tZWxsaXBzaXMge1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcclxuICAvLyB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGNhbGVuZGFyLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXItYXBwIHtcclxuXHJcbiAgLmZjLWJ1dHRvbiB7XHJcbiAgICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kZWZhdWx0LWNvbG9yOyBAYnRuLWRlZmF1bHQtYmc7IEBidG4tZGVmYXVsdC1ib3JkZXIpOyBcclxuICAgIC5idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICYuZmMtc3RhdGUtYWN0aXZlIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgLmJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5mYy1ldmVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAYnJhbmQtaW5mbztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1pbmZvO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5mYy1idXR0b24gLmZjLWljb24ge1xyXG4gICAgbWFyZ2luOiAwIC4xZW07XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWUgIWltcG9ydGFudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgLy8gUmVtb3ZlIGFueSBpY29uIHByZWRlZmluZWQgYnkgRnVsbENhbGVuZGFyXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcclxuICAgIEBmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XHJcbiAgICAmLmZjLWljb24tcmlnaHQtc2luZ2xlLWFycm93IHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IEBmYS12YXItYW5nbGUtcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZmMtaWNvbi1sZWZ0LXNpbmdsZS1hcnJvdyB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBAZmEtdmFyLWFuZ2xlLWxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gSG92ZXIgYW5kIHRvZGF5IGhpbGlnaHRcclxuICAuZmMtc3RhdGUtaGlnaGxpZ2h0LFxyXG4gIC5mYy1kYXk6aG92ZXIsXHJcbiAgLmZjLXVudGhlbWVkIC5mYy10b2RheSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodGVyO1xyXG4gIH1cclxuICBcclxuICAvLyBSYW5nZSBzZWxlY3Rpb25cclxuICAuZmMtY2VsbC1vdmVybGF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGVvdXQoQGJyYW5kLXByaW1hcnksIDMwJSk7IFxyXG4gIH1cclxuXHJcbiAgLmZjLWRheS1udW1iZXIge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogI2ExYTJhMztcclxuICB9XHJcblxyXG5cclxuICAvLyBBbGxvdyB0byBkcmFnIGV2ZW50IG91dHNpZGUgdGhlIGNhbGVuZGFyXHJcbiAgLmZjLXZpZXcge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gQ2FsZW5kYXIgYXBwIHN0eWxlc1xyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIC5leHRlcm5hbC1ldmVudHMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgPiBkaXYge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAmOmVtcHR5IHtcclxuICAgICAgY29udGVudDogXCJFTVJUUFVZXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgZXZlbnRzIGRyb3AgYXJlYVxyXG4gIC5leHRlcm5hbC1ldmVudHMtdHJhc2gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogMTIwcHg7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcXGYwMGRcIjsgLy8gLmZhLXRpbWVzXHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtaW52ZXJzZTtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDglO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAudHJhbnNpdGlvbihhbGwgLjNzIGVhc2UpO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlOmFmdGVyIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICYuaG92ZXJlZDphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjc5N2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXh0ZXJuYWwtZXZlbnQtY29sb3Itc2VsZWN0b3Ige1xyXG4gICAgLmNpcmNsZS5zZWxlY3RlZCB7XHJcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHBvcnRsZXRzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLy8gQSBtaW5pbXVtIGhlaWdodCBpcyBuZWNlc3NhcnkgXHJcbi8vIHRvIGFsbG93IGVtcHR5IGNvbHMgYWNjZXB0IHBvcnRsZXRzXHJcblxyXG5bcG9ydGxldF0ge1xyXG5cclxuICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gIFxyXG4gIC8vIE1hbnVhbGx5IGNob29zZSB3aGljaCBlbGVtZW50IFxyXG4gIC8vIHNob3dzIGEgcG9pbnRlciB0byBpbmRpY2F0ZSBkcmFnXHJcbiAgJi5wb3J0bGV0LWhhbmRsZXIsXHJcbiAgLnBvcnRsZXQtaGFuZGxlciB7XHJcbiAgICBjdXJzb3I6IG1vdmU7XHJcbiAgfVxyXG59XHJcblxyXG4ucG9ydGxldHMtd3JhcHBlciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogMTVweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vLyBqcXVlcnlVSSBjb250cm9scyB0aGUgaGVpZ2h0LCBzbyB3ZSByZXVzZSBcclxuLy8gdGhlIHBsYWNlaG9sZGVyIGNvbXBvbmVudCB3aXRoIHplcm8gcGFkZGluZ1xyXG4vLyAucG9ydGxldCBpcyBqdXN0IHRvIGRldGVjdCB0aGUgcG9ydGxldCBpbnN0YW5jZVxyXG5cclxuLnBvcnRsZXQuYm94LXBsYWNlaG9sZGVyIHtcclxuICBcclxuICBwYWRkaW5nOiAwO1xyXG5cclxufVxyXG5cclxuLy8gU29tZXRpbWVzIHNvbWUgZWxlbWVudCBzaG91bGRuJ3QgdHJpZ2dlciBhIGRyYWdcclxuLy8gYWRkIHRoaXMgY2xhc3MgdG8gYW55IGVsZW1lbnQgdG8gY2FuY2VsIGRyYWdcclxuLnBvcnRsZXQtY2FuY2VsIHt9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdGFza3MubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRhc2sge1xyXG5cclxuICAudGFzay1pdGVtLWxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLnRhc2staXRlbSB7XHJcbiAgICAudHJhbnNpdGlvbih+XCJjb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3NcIik7XHJcbiAgICBcclxuICAgIC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubmctZW50ZXIge1xyXG4gICAgICAuYW5pbWF0aW9uKGZhZGVJbkxlZnQgMXMpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLm5nLWxlYXZlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwOyByaWdodDogMDtcclxuICAgICAgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHRCaWcgLjVzKTtcclxuICAgICAgLmFuaW1hdGlvbi1maWxsLW1vZGUoYm90aCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50YXNrLWVkaXQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIC50YXNrLWVkaXQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbiAgICAmLnRhc2stY29tcGxldGUgLnRhc2stZWRpdCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgcmVzaXplOiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnRhc2stY29tcGxldGUge1xyXG4gICAgYmFja2dyb3VuZDogQGdyYXktbGlnaHRlcjtcclxuICAgIG9wYWNpdHk6IC42O1xyXG4gICAgY29sb3I6IEBncmF5LWRhcmtlcjtcclxuICAgIFxyXG4gICAgLnRhc2stdGl0bGUge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wYW5lbC1ncm91cCB7XHJcbiAgICA+IC5wYW5lbCB7XHJcbiAgICAgIGJvcmRlcjogMXB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXktbGlnaHRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG1haWxib3gubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtYWlsLWJveC1hY3RpdmUtaXRlbTogICAgICAgICAgIzVjYWNkZTtcclxuQG1haWwtYm94LWhvdmVyLWl0ZW06ICAgICAgICAgICAjZTllZWVmO1xyXG5AbWFpbC1tYWlscy1hY3RpdmU6ICAgICAgICAgICAgICNmN2Y4Zjk7XHJcblxyXG5AbWFpbC1uYXYtaXRlbS1ob3ZlcjogICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XHJcblxyXG4ubWItYm94ZXMge1xyXG4gIFxyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgQG1lZGlhIEBkZXNrdG9wLWxnIHtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuICBcclxuICBhIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBjb2xvcjogQGdyYXk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBtYWlsLW5hdi1pdGVtLWhvdmVyO1xyXG4gICAgICBjb2xvcjogQGdyYXktZGFyaztcclxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBAbWFpbC1uYXYtaXRlbS1ob3ZlcjtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IEBncmF5LWRhcms7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5tYi1tYWlscy1yZXNwb25zaXZlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5tYi1tYWlscyB7XHJcblxyXG4gID4gdGJvZHkgPiB0ciA+IHRkIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICB9XHJcblxyXG4gIC5tYi1tYWlsLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbWFpbC1tYWlscy1hY3RpdmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tYi1tYWlsLWRhdGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBjb2xvcjogQHRleHQtbXV0ZWQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC5tYi1tYWlsLWZyb20ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogQGdyYXktZGFya2VyO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgfVxyXG5cclxuICAubWItbWFpbC1zdWJqZWN0IHtcclxuICAgIGNvbG9yOiBAZ3JheS1kYXJrZXI7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuODtcclxuICAgIC50ZXh0LWVsbGlwc2lzO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1heC13aWR0aDogMjhjaDtcclxuICB9XHJcblxyXG4gIC5tYi1tYWlsLXByZXZpZXcge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgY29sb3I6IEB0ZXh0LW11dGVkO1xyXG4gIH1cclxuICAubWItdW5yZWFkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4ubWItcGFuZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gID4gLm1iLXBhbmVsLWlubmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5iYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7ICAgIFxyXG4gICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKC4zcyBlYXNlKTtcclxuICAgIC5jbGVhcmZpeCgpO1xyXG5cclxuICAgID4gLm1iLXBhbmVsLWNvbnRlbnQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gLm1iLXBhbmVsLWxpc3Qge1xyXG4gICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQGdyYXktbGlnaHQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gLm1iLXBhbmVsLWxpc3QsXHJcbiAgICA+IC5tYi1wYW5lbC1jb250ZW50IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICA+IC5tYi1wYW5lbC1saXN0IHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICB9XHJcbiAgICAgID4gLm1iLXBhbmVsLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgJi5tYi1jb250ZW50LW9wZW4ge1xyXG4gICAgICAudHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gIH1cclxuXHJcbiAgLm1iLXBhbmVsLWJhY2sge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogQHRleHQtbXV0ZWQ7XHJcbiAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWItcGFuZWwtY29udGVudCB7XHJcbiAgPiBoMyB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICB9XHJcbiAgXHJcbiAgLm1iLXBhbmVsLWZvcm0ge1xyXG4gICAgLm1iLXBhbmVsLWZvcm0tcmVwbHkge1xyXG4gICAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgLnRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIC4zcyBlYXNlKTtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAZ3JheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5uby1jc3N0cmFuc2Zvcm1zM2Qge1xyXG5cclxuICAubWItcGFuZWwge1xyXG4gICAgPiAubWItcGFuZWwtaW5uZXIge1xyXG4gICBcclxuICAgICAgJi5tYi1jb250ZW50LW9wZW4ge1xyXG4gICAgICAgIC50cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICA+IC5tYi1wYW5lbC1jb250ZW50IHtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5tYi1wYW5lbC1saXN0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB1dGlscy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gXHJcbi8vIFV0aWxpdGllcyBjbGFzc2VzIHRvIHNpbXBsaWZ5IFxyXG4vLyBjb21wb25lbnRzIGNvbnN0cnVjdGlvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcblxyXG5AbWFyZ2luLWJhc2U6IDEwcHg7XHJcbkBtYXJnaW4tc206ICAgNXB4O1xyXG5AbWFyZ2luLWxnOiAgIDE1cHg7XHJcbkBtYXJnaW4teGw6ICAgMzBweDtcclxuXHJcbkBwYWRkaW5nLXhsOiAgIDIwcHg7XHJcbkBwYWRkaW5nLWxnOiAgIDE1cHg7XHJcbkBwYWRkaW5nLWJhc2U6IDEwcHg7XHJcbkBwYWRkaW5nLXNtOiAgIDVweDtcclxuXHJcbkB0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG5AdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbkB0ZXh0LXhzOiAgICAgICAgICAgICAgIEBmb250LXNpemUtYmFzZSAqIC42O1xyXG5AdGV4dC1zbTogICAgICAgICAgICAgICBAZm9udC1zaXplLWJhc2UgKiAuODU7XHJcbkB0ZXh0LW1kOiAgICAgICAgICAgICAgIEBmb250LXNpemUtYmFzZSAqIDEuOTtcclxuQHRleHQtbGc6ICAgICAgICAgICAgICAgQGZvbnQtc2l6ZS1iYXNlICogMztcclxuQHRleHQtaGc6ICAgICAgICAgICAgICAgQGZvbnQtc2l6ZS1iYXNlICogNDtcclxuXHJcbkBib3JkZXItY29sb3I6ICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuQHdkLXRpbnk6ICAgICAgICAgICAgICAgNTBweDtcclxuQHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuQHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuQHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbkB3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG5Ad2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuQHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbkB3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG5Ad2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuQHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuQHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuXHJcbi8vIE1hcmdpbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5tMCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XHJcbi5tbDAgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XHJcbi5tcjAgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxyXG4ubXQwIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XHJcbi5tYjAgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tICB7IG1hcmdpbjogQG1hcmdpbi1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLm1sIHsgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5tciB7IG1hcmdpbi1yaWdodDogQG1hcmdpbi1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLm10IHsgbWFyZ2luLXRvcDogQG1hcmdpbi1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLm1iIHsgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi1iYXNlICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tLXNtICB7IG1hcmdpbjogQG1hcmdpbi1zbSAhaW1wb3J0YW50OyB9XHJcbi5tbC1zbSB7IG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXNtICFpbXBvcnRhbnQ7IH1cclxuLm1yLXNtIHsgbWFyZ2luLXJpZ2h0OiBAbWFyZ2luLXNtICFpbXBvcnRhbnQ7IH1cclxuLm10LXNtIHsgbWFyZ2luLXRvcDogQG1hcmdpbi1zbSAhaW1wb3J0YW50OyB9XHJcbi5tYi1zbSB7IG1hcmdpbi1ib3R0b206IEBtYXJnaW4tc20gIWltcG9ydGFudDsgfVxyXG5cclxuLm0tbGcgIHsgbWFyZ2luOiBAbWFyZ2luLWxnICFpbXBvcnRhbnQ7IH1cclxuLm1sLWxnIHsgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tbGcgIWltcG9ydGFudDsgfVxyXG4ubXItbGcgeyBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4tbGcgIWltcG9ydGFudDsgfVxyXG4ubXQtbGcgeyBtYXJnaW4tdG9wOiBAbWFyZ2luLWxnICFpbXBvcnRhbnQ7IH1cclxuLm1iLWxnIHsgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi1sZyAhaW1wb3J0YW50OyB9XHJcblxyXG4ubS14bCAgeyBtYXJnaW46IEBtYXJnaW4teGwgIWltcG9ydGFudDsgfVxyXG4ubWwteGwgeyBtYXJnaW4tbGVmdDogQG1hcmdpbi14bCAhaW1wb3J0YW50OyB9XHJcbi5tci14bCB7IG1hcmdpbi1yaWdodDogQG1hcmdpbi14bCAhaW1wb3J0YW50OyB9XHJcbi5tdC14bCB7IG1hcmdpbi10b3A6IEBtYXJnaW4teGwgIWltcG9ydGFudDsgfVxyXG4ubWIteGwgeyBtYXJnaW4tYm90dG9tOiBAbWFyZ2luLXhsICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIE1hcmdpbiB2ZXJ0aWNhbCAvIGhvcml6b250YWxcclxuLm12IHsgJjpleHRlbmQoLm10LCAubWIpOyB9XHJcbi5taCB7ICY6ZXh0ZW5kKC5tbCwgLm1yKTsgfVxyXG5cclxuLm12LWxnIHsgJjpleHRlbmQoLm10LWxnLCAubWItbGcpOyB9XHJcbi5taC1sZyB7ICY6ZXh0ZW5kKC5tbC1sZywgLm1yLWxnKTsgfVxyXG5cclxuLm12LXNtIHsgJjpleHRlbmQoLm10LXNtLCAubWItc20pOyB9XHJcbi5taC1zbSB7ICY6ZXh0ZW5kKC5tbC1zbSwgLm1yLXNtKTsgfVxyXG5cclxuLy8gUGFkZGluZ3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5wMCB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxyXG4ucGwwIHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cclxuLnByMCB7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxyXG4ucHQwIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxyXG4ucGIwIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxyXG4ucHYwIHsgJjpleHRlbmQoLnB0MCwgLnBiMCk7IH1cclxuLnBoMCB7ICY6ZXh0ZW5kKC5wbDAsIC5wcjApOyB9XHJcblxyXG4ucCAgeyBwYWRkaW5nOiBAcGFkZGluZy1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLnBsIHsgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLnByIHsgcGFkZGluZy1yaWdodDogQHBhZGRpbmctYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5wdCB7IHBhZGRpbmctdG9wOiBAcGFkZGluZy1iYXNlICFpbXBvcnRhbnQ7IH1cclxuLnBiIHsgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLWJhc2UgIWltcG9ydGFudDsgfVxyXG5cclxuLnAtc20gIHsgcGFkZGluZzogQHBhZGRpbmctc20gIWltcG9ydGFudDsgfVxyXG4ucGwtc20geyBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXNtICFpbXBvcnRhbnQ7IH1cclxuLnByLXNtIHsgcGFkZGluZy1yaWdodDogQHBhZGRpbmctc20gIWltcG9ydGFudDsgfVxyXG4ucHQtc20geyBwYWRkaW5nLXRvcDogQHBhZGRpbmctc20gIWltcG9ydGFudDsgfVxyXG4ucGItc20geyBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctc20gIWltcG9ydGFudDsgfVxyXG5cclxuLnAtbGcgIHsgcGFkZGluZzogQHBhZGRpbmctbGcgIWltcG9ydGFudDsgfVxyXG4ucGwtbGcgeyBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLWxnICFpbXBvcnRhbnQ7IH1cclxuLnByLWxnIHsgcGFkZGluZy1yaWdodDogQHBhZGRpbmctbGcgIWltcG9ydGFudDsgfVxyXG4ucHQtbGcgeyBwYWRkaW5nLXRvcDogQHBhZGRpbmctbGcgIWltcG9ydGFudDsgfVxyXG4ucGItbGcgeyBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctbGcgIWltcG9ydGFudDsgfVxyXG5cclxuLnAteGwgIHsgcGFkZGluZzogQHBhZGRpbmcteGwgIWltcG9ydGFudDsgfVxyXG4ucGwteGwgeyBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXhsICFpbXBvcnRhbnQ7IH1cclxuLnByLXhsIHsgcGFkZGluZy1yaWdodDogQHBhZGRpbmcteGwgIWltcG9ydGFudDsgfVxyXG4ucHQteGwgeyBwYWRkaW5nLXRvcDogQHBhZGRpbmcteGwgIWltcG9ydGFudDsgfVxyXG4ucGIteGwgeyBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmcteGwgIWltcG9ydGFudDsgfVxyXG5cclxuXHJcbi8vIFBhZGRpbmcgdmVydGljYWwgLyBob3Jpem9udGFsXHJcbi5wdiB7ICY6ZXh0ZW5kKC5wdCwgLnBiKTsgfVxyXG4ucGggeyAmOmV4dGVuZCgucGwsIC5wcik7IH1cclxuXHJcbi5wdi14bCB7ICY6ZXh0ZW5kKC5wdC14bCwgLnBiLXhsKTsgfVxyXG4ucGgteGwgeyAmOmV4dGVuZCgucGwteGwsIC5wci14bCk7IH1cclxuXHJcbi5wdi1sZyB7ICY6ZXh0ZW5kKC5wdC1sZywgLnBiLWxnKTsgfVxyXG4ucGgtbGcgeyAmOmV4dGVuZCgucGwtbGcsIC5wci1sZyk7IH1cclxuXHJcbi5wdi1zbSB7ICY6ZXh0ZW5kKC5wdC1zbSwgLnBiLXNtKTsgfVxyXG4ucGgtc20geyAmOmV4dGVuZCgucGwtc20sIC5wci1zbSk7IH1cclxuXHJcblxyXG4vLyBCb3JkZXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5iMCB7IGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcbi5ibDAgeyBib3JkZXItbGVmdC13aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcbi5icjAgeyBib3JkZXItcmlnaHQtd2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG4uYnQwIHsgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcbi5iYjAgeyBib3JkZXItYm90dG9tLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5iciB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBib3JkZXItY29sb3I7fVxyXG4uYmwgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBib3JkZXItY29sb3I7fVxyXG4uYnQgeyBib3JkZXItdG9wOiAxcHggc29saWQgQGJvcmRlci1jb2xvcjt9XHJcbi5iYiB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAYm9yZGVyLWNvbG9yO31cclxuLmIgIHsgJjpleHRlbmQoLmJyLC5ibCwuYnQsLmJiKTsgfVxyXG5cclxuLmRvLWJvcmRlcnMoJ3ByaW1hcnknLCAgICdicmFuZC1wcmltYXJ5Jyk7XHJcbi5kby1ib3JkZXJzKCdzdWNjZXNzJywgICAnYnJhbmQtc3VjY2VzcycpO1xyXG4uZG8tYm9yZGVycygnaW5mbycsICAgICAgJ2JyYW5kLWluZm8nKTtcclxuLmRvLWJvcmRlcnMoJ3dhcm5pbmcnLCAgICdicmFuZC13YXJuaW5nJyk7XHJcbi5kby1ib3JkZXJzKCdkYW5nZXInLCAgICAnYnJhbmQtZGFuZ2VyJyk7XHJcbi5kby1ib3JkZXJzKCd0dXJxdW9pc2UnLCAnYnJhbmQtdHVycXVvaXNlJyk7XHJcbi5kby1ib3JkZXJzKCdwaW5rJywgICAgICAnYnJhbmQtcGluaycpO1xyXG4uZG8tYm9yZGVycygncHVycGxlJywgICAgJ2JyYW5kLXB1cnBsZScpO1xyXG4uZG8tYm9yZGVycygnaW52ZXJzZScsICAgJ2JyYW5kLWludmVyc2UnKTtcclxuLmRvLWJvcmRlcnMoJ29yYW5nZScsICAgICdicmFuZC1vcmFuZ2UnKTtcclxuXHJcbi5kby1ib3JkZXJzKCdncmF5LWRhcmtlcicsICAnZ3JheS1kYXJrZXInKTtcclxuLmRvLWJvcmRlcnMoJ2dyYXktZGFyaycsICAgICdncmF5LWRhcmsnKTtcclxuLmRvLWJvcmRlcnMoJ2dyYXknLCAgICAgICAgICdncmF5Jyk7XHJcbi5kby1ib3JkZXJzKCdncmF5LWxpZ2h0JywgICAnZ3JheS1saWdodCcpO1xyXG4uZG8tYm9yZGVycygnZ3JheS1saWdodGVyJywgJ2dyYXktbGlnaHRlcicpO1xyXG4uZG8tYm9yZGVycygnbXV0ZWQnLCAgICAgICAgJ3RleHQtbXV0ZWQnKTtcclxuXHJcbi5kby1ib3JkZXJzKEBuYW1lLCBAdmFyKSB7XHJcbiAgQGJyOiB+XCJici1Ae25hbWV9XCI7XHJcbiAgICAuQHticn0geyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBAQHZhcjt9XHJcbiAgQGJsOiB+XCJibC1Ae25hbWV9XCI7XHJcbiAgICAuQHtibH0geyBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBAdmFyO31cclxuICBAYnQ6IH5cImJ0LUB7bmFtZX1cIjtcclxuICAgIC5Ae2J0fSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCBAQHZhcjt9XHJcbiAgQGJiOiB+XCJiYi1Ae25hbWV9XCI7XHJcbiAgLkB7YmJ9IHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBAdmFyO30gIFxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBCb3JkZXIgUmFkaXVzXHJcblxyXG4ucmFkaXVzLWNsZWFyIHtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaXJjbGUge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucm91bmRlZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBCb3ggU2hhZG93IENsZWFyXHJcblxyXG4uc2hhZG93LWNsZWFyLCAubm8tc2hhZG93IHtcclxuICBib3gtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIFNpbXVsYXRlIHNtb290aCBncmFkaWVudCBhdCB0aGUgYm90dG9tIG9mIG9uIGVsZW1lbnRcclxuLy8gdG8gaGlkZSBjb250ZW50LiBJZGVhbCBmb3Igc2Nyb2xsYWJsZSBlbGVtZW50c1xyXG5cclxuLnNtb290aHkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IDEwMHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAtMTVweCAxNXB4ICNmZmZmZmYgaW5zZXQ7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUZXh0IGhlbHBlcnNcclxuXHJcbi50ZXh0LXByaW1hcnkgICAgICAgeyBjb2xvcjogQGJyYW5kLXByaW1hcnk7IH1cclxuLnRleHQtc3VjY2VzcyAgICAgICB7IGNvbG9yOiBAYnJhbmQtc3VjY2VzczsgfVxyXG4udGV4dC13YXJuaW5nICAgICAgIHsgY29sb3I6IEBicmFuZC13YXJuaW5nOyB9XHJcbi50ZXh0LWRhbmdlciAgICAgICAgeyBjb2xvcjogQGJyYW5kLWRhbmdlcjsgfVxyXG4udGV4dC1pbmZvICAgICAgICAgIHsgY29sb3I6IEBicmFuZC1pbmZvOyB9XHJcblxyXG4udGV4dC13aGl0ZSAgICAgICAgIHsgY29sb3I6ICNmZmY7IH1cclxuLnRleHQtaW52ZXJzZSAgICAgICB7IGNvbG9yOiBAYnJhbmQtaW52ZXJzZTsgfVxyXG4udGV4dC1hbHBoYSAgICAgICAgIHsgY29sb3I6IEB0ZXh0LWFscGhhOyB9XHJcbi50ZXh0LXBpbmsgICAgICAgICAgeyBjb2xvcjogQGJyYW5kLXBpbms7IH1cclxuLnRleHQtcHVycGxlICAgICAgICB7IGNvbG9yOiBAYnJhbmQtcHVycGxlOyB9XHJcbi50ZXh0LWFscGhhLWludmVyc2UgeyBjb2xvcjogQHRleHQtYWxwaGEtaW52ZXJzZTsgfVxyXG4udGV4dC10dXJxdW9pc2UgICAgIHsgY29sb3I6IEBicmFuZC10dXJxdW9pc2U7IH1cclxuLnRleHQtb3JhbmdlICAgICAgICB7IGNvbG9yOiBAYnJhbmQtb3JhbmdlOyB9XHJcbi50ZXh0LWdyYXktZGFya2VyICAgeyBjb2xvcjogQGdyYXktZGFya2VyOyB9XHJcbi50ZXh0LWdyYXktZGFyayAgICAgeyBjb2xvcjogQGdyYXktZGFyazsgfVxyXG4udGV4dC1ncmF5ICAgICAgICAgIHsgY29sb3I6IEBncmF5OyB9XHJcbi50ZXh0LWdyYXktbGlnaHQgICAgeyBjb2xvcjogQGdyYXktbGlnaHQ7IH1cclxuLnRleHQtZ3JheS1saWdodGVyICB7IGNvbG9yOiBAZ3JheS1saWdodGVyOyB9XHJcblxyXG4vLyBUZXh0IHNpemluZ1xyXG5cclxuLnRleHQteHMgeyBmb250LXNpemU6IEB0ZXh0LXhzICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtc20geyBmb250LXNpemU6IEB0ZXh0LXNtICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtbWQgeyBmb250LXNpemU6IEB0ZXh0LW1kICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtbGcgeyBmb250LXNpemU6IEB0ZXh0LWxnICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtaGcgeyBmb250LXNpemU6IEB0ZXh0LWhnICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIEFsaWdubWVudFxyXG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxyXG4udGV4dC1yaWdodCAgICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ub3dyYXAgICAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxyXG5cclxuLy8gVGV4dCBvdGhlcnNcclxuXHJcbi50ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuLnRleHQtdGhpbiAgIHsgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ib2xkICAgeyBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyB9XHJcblxyXG4udGV4dC1lbGxpcHNpcyB7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBwYWRkaW5nOiAwIC4yZW07XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG4vLyBGb3JjZSBEaXNwbGF5IHByb3BzXHJcblxyXG4uaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cclxuLmlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XHJcbi5ibG9jayB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIENvbW1vbiB0aHVtYm5haWwgc2l6ZXMgKGlkZWFsIGZvciBpbWFnZXMpXHJcblxyXG4udGh1bWI4ICAgeyAudGh1bW5iYWlsLXNpemU7IH1cclxuLnRodW1iMTYgIHsgLnRodW1uYmFpbC1zaXplKDE2cHgpOyB9XHJcbi50aHVtYjMyICB7IC50aHVtbmJhaWwtc2l6ZSgzMnB4KTsgfVxyXG4udGh1bWI0MCAgeyAudGh1bW5iYWlsLXNpemUoNDBweCk7IH1cclxuLnRodW1iNDggIHsgLnRodW1uYmFpbC1zaXplKDQ4cHgpOyB9XHJcbi50aHVtYjY0ICB7IC50aHVtbmJhaWwtc2l6ZSg2NHB4KTsgfVxyXG4udGh1bWI4MCAgeyAudGh1bW5iYWlsLXNpemUoODBweCk7IH1cclxuLnRodW1iOTYgIHsgLnRodW1uYmFpbC1zaXplKDk2cHgpOyB9XHJcbi50aHVtYjEyOCB7IC50aHVtbmJhaWwtc2l6ZSgxMjhweCk7IH1cclxuXHJcbi50aHVtbmJhaWwtc2l6ZShAc3o6IDhweCkge1xyXG4gIHdpZHRoOiBAc3ogIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IEBzeiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBhbGlnbiBoZWxwZXJzXHJcblxyXG4uYWxpZ24tbWlkZGxlIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi5hbGlnbi10b3Age1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuLmFsaWduLWJvdHRvbSB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG5cclxuXHJcbi8vIEJhY2tncm91bmQgaW1hZ2VcclxuLmJnLWNlbnRlciB7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG4vLyBMaXN0XHJcbi5saXN0LWljb24ge1xyXG4gIGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLnRyYW5zaXRpb24oYWxsIC4ycyk7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICB9XHJcbiAgZGl2OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1pbmZvO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMaXN0IHRhYmxlXHJcbi5saXN0LXRhYmxlIHtcclxuICAubGlzdC11bnN0eWxlZDtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gID4gbGkge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxufVxyXG5cclxuLmxpc3QtYmxvY2sge1xyXG4gIC5saXN0LXVuc3R5bGVkO1xyXG4gID4gbGkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb21wb25lbnRzIHNpemVcclxuXHJcbi53ZC10aW55IHsgd2lkdGg6IEB3ZC10aW55OyAgIH1cclxuLndkLXh4cyAgeyB3aWR0aDogQHdkLXh4czsgIH1cclxuLndkLXhzICAgeyB3aWR0aDogQHdkLXhzOyAgIH1cclxuLndkLXNtICAgeyB3aWR0aDogQHdkLXNtOyAgIH1cclxuLndkLXNkICAgeyB3aWR0aDogQHdkLXNkOyAgIH1cclxuLndkLW1kICAgeyB3aWR0aDogQHdkLW1kOyAgIH1cclxuLndkLWxnICAgeyB3aWR0aDogQHdkLWxnOyAgIH1cclxuLndkLXhsICAgeyB3aWR0aDogQHdkLXhsOyAgIH1cclxuLndkLXh4bCAgeyB3aWR0aDogQHdkLXh4bDsgIH1cclxuLndkLXdpZGUgeyB3aWR0aDogQHdkLXdpZGU7IH1cclxuLndkLWF1dG8geyB3aWR0aDogQHdkLWF1dG87IH1cclxuXHJcbi8vIEV4dHJhIGxhYmVsc1xyXG5cclxuLmxhYmVsLWludmVyc2UgICB7IC5sYWJlbC12YXJpYW50KEBicmFuZC1pbnZlcnNlKTsgICB9XHJcbi5sYWJlbC10dXJxdW9pc2UgeyAubGFiZWwtdmFyaWFudChAYnJhbmQtdHVycXVvaXNlKTsgfVxyXG4ubGFiZWwtcGluayAgICAgIHsgLmxhYmVsLXZhcmlhbnQoQGJyYW5kLXBpbmspOyAgICAgIH1cclxuLmxhYmVsLXB1cnBsZSAgICB7IC5sYWJlbC12YXJpYW50KEBicmFuZC1wdXJwbGUpOyAgICB9XHJcbi5sYWJlbC1vcmFuZ2UgICAgeyAubGFiZWwtdmFyaWFudChAYnJhbmQtb3JhbmdlKTsgICAgfVxyXG4vLyBFeHRyYSBhbGVydFxyXG5cclxuLmFsZXJ0LXB1cnBsZSAgICB7IC5hbGVydC12YXJpYW50KEBicmFuZC1wdXJwbGU7IEBicmFuZC1wdXJwbGU7ICNmZmYpOyAgICAgICB9XHJcbi5hbGVydC10dXJxdW9pc2UgeyAuYWxlcnQtdmFyaWFudChAYnJhbmQtdHVycXVvaXNlOyBAYnJhbmQtdHVycXVvaXNlOyAjZmZmKTsgfVxyXG4uYWxlcnQtcGluayAgICAgIHsgLmFsZXJ0LXZhcmlhbnQoQGJyYW5kLXBpbms7IEBicmFuZC1waW5rOyAjZmZmKTsgICAgICAgICAgIH1cclxuLmFsZXJ0LWludmVyc2UgICB7IC5hbGVydC12YXJpYW50KEBicmFuZC1pbnZlcnNlOyBAYnJhbmQtaW52ZXJzZTsgI2ZmZik7ICAgICB9XHJcbi5hbGVydC1vcmFuZ2UgICAgeyAuYWxlcnQtdmFyaWFudChAYnJhbmQtb3JhbmdlOyBAYnJhbmQtb3JhbmdlOyAjZmZmKTsgICAgIH1cclxuXHJcblxyXG4uYWJzLWNlbnRlci1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uYWJzLWNlbnRlciB7XHJcbiAgLy8gd2lkdGg6IDUwJTtcclxuICBoZWlnaHQ6IDUwJTtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDtcclxuICBcclxuICAmLmFicy1maXhlZCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgfVxyXG4gIFxyXG4gICYuYWJzLXJpZ2h0IHtcclxuICAgIGxlZnQ6IGF1dG87IHJpZ2h0OiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICAmLmFicy1sZWZ0IHtcclxuICAgIHJpZ2h0OiBhdXRvOyBsZWZ0OiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi5jbGlja2FibGUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogY2hhcnQtZmxvdC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vL1xyXG4vLyBGbG90IGNoYXJ0IHBsdWdpbiBjdXN0b20gc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuZmxvdCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLy8gaGVpZ2h0OiAyNDBweDtcclxuICAubGVnZW5kIHtcclxuICAgID4gdGFibGUge1xyXG4gICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gdGFibGUgdHIgdGQge1xyXG4gICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICB9XHJcbiAgICA+IHRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICB9XHJcbiAgICA+IHRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbiAgICB9XHJcbiAgICA+dGFibGUgdHIrdHIgdGQge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDsgICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjEpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAubGVnZW5kQ29sb3JCb3ggPiBkaXYge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJiA+IGRpdiB7XHJcbiAgICAgICAgICB3aWR0aDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgb3BhY2l0eTogLjM1O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmxvdC1jaGFydC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIExhYmVscyBmb3IgUElFIENIQVJUU1xyXG4uZmxvdC1waWUtbGFiZWwge1xyXG4gIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjojZmZmO1xyXG59XHJcblxyXG4vLyBUb29sdGlwIHN0eWxlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiNmbG90VGlwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC43NSkgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2YxZjFmMTtcclxuICB6LWluZGV4OjU7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZm9ybS1leHRyYXMubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuIFxyXG4vKipcclxuICogQ3VzdG9tIGZvcm0gZWxlbWVudFxyXG4gKiAgICAtIFJvdW5kZWQgaW5wdXRzXHJcbiAqL1xyXG5cclxuLy9cclxuLy8gRm9ybSBSb3VuZGVkXHJcbi8vXHJcblxyXG4uZm9ybS1jb250cm9sLXJvdW5kZWQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG59XHJcblxyXG4vLyBTdXBwb3J0IGZvcm0gZmVlZGJhY2sgd2l0aG91dCBsYWJlbHNcclxuXHJcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xyXG4gIHRvcDogMTBweDtcclxuICAuaW5wdXQtc20gKyAmIHtcclxuICAgIHRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICBsYWJlbCArIC5mb3JtLWNvbnRyb2wgKyAmIHtcclxuICAgIC8vIHRvcDogMzRweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1tZCB7XHJcbiAgd2lkdGg6IDI2MHB4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGZvcm0tdmFsaWRhdGlvbi5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vXHJcbi8vIFN0eWxlcyBmb3IgdmFsaWRhdGlvbiByZXN1bHRzIFxyXG4vL1xyXG5cclxuXHJcbi5mb3JtLXZhbGlkYXRlIHtcclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgIFxyXG4gICAgLy8gSW52YWxpZCBpbnB1dFxyXG4gICAgJi5uZy1kaXJ0eS5uZy1pbnZhbGlkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IEBicmFuZC1kYW5nZXI7XHJcbiAgICB9XHJcbiAgICAvLyBWYWxpZCBpbnB1dFxyXG4gICAgJi5uZy1kaXJ0eS5uZy12YWxpZCxcclxuICAgICYubmctZGlydHkubmctdmFsaWQ6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogQGJyYW5kLXN1Y2Nlc3M7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZm9ybS13aXphcmQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkB3aXphcmQtcHJpbWFyeS1jb2xvcjogICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG5Ad2l6YXJkLXN0ZXBzLWJnOiAgICAgICAgICAgICBAanVtYm90cm9uLWJnO1xyXG5Ad2l6YXJkLXN0ZXBzLWJnLWFjdGl2ZTogICAgICBAd2l6YXJkLXByaW1hcnktY29sb3I7XHJcblxyXG5Ad2l6YXJkLWhlYWRpbmctY29sb3I6ICAgICAgICBAdGV4dC1jb2xvcjtcclxuQHdpemFyZC1zdWJoZWFkaW5nLWNvbG9yOiAgICAgQHRleHQtbXV0ZWQ7XHJcblxyXG5cclxuLnN0ZXBzLWJhciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNvdW50ZXItcmVzZXQ6IHN0ZXA7IC8vIENTUyBjb3VudGVycyB0byBudW1iZXIgdGhlIHN0ZXBzXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICB3aWR0aDogMTAwJTtcclxuICBcclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogY291bnRlcihzdGVwKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcDtcclxuICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBjb2xvcjogIzMzMztcclxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIHByb2dyZXNzYmFyIGNvbm5lY3RvcnNcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtNTAlO1xyXG4gICAgICB0b3A6IDE0cHg7XHJcbiAgICAgIHotaW5kZXg6IDE7IC8qcHV0IGl0IGJlaGluZCB0aGUgbnVtYmVycyovXHJcbiAgICAgIC50cmFuc2l0aW9uKHdpZHRoIC4zcyBlYXNlLW91dCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIGNvbm5lY3RvciBub3QgbmVlZGVkIGJlZm9yZSB0aGUgZmlyc3Qgc3RlcFxyXG4gICAgJjpmaXJzdC1jaGlsZDphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKiBwYWludCB0aGUgc3RlcHMgcHJvZ3Jlc3MgKi9cclxuICAgICYuYWN0aXZlOmJlZm9yZSwgIFxyXG4gICAgJi5hY3RpdmU6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBAYnJhbmQtcHJpbWFyeTtcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmU6YWZ0ZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBmb3JtLXN3aXRjaC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEN1c3RvbSBmb3JtIGVsZW1lbnRzXHJcbiAqICAgIC0gU3dpdGNoXHJcbiAqL1xyXG5cclxuLy8gU3VwcG9ydHMgcmFkaW8gYW5kIGNoZWNrYm94XHJcblxyXG5Ac3dpdGNoLXdkOiA0MHB4O1xyXG5Ac3dpdGNoLWhnOiBAc3dpdGNoLXdkLzI7XHJcblxyXG5Ac3dpdGNoLWxnLXdkOiA1MHB4O1xyXG5Ac3dpdGNoLWxnLWhnOiBAc3dpdGNoLWxnLXdkLzI7XHJcblxyXG5Ac3dpdGNoLXNtLXdkOiAzMHB4O1xyXG5Ac3dpdGNoLXNtLWhnOiBAc3dpdGNoLXNtLXdkLzI7XHJcblxyXG5Ac3dpdGNoLWZnLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuXHJcbi5zd2l0Y2gge1xyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uc3dpdGNoICoge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5zd2l0Y2ggeyBcclxuICAmIHNwYW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IEBzd2l0Y2gtd2Q7IGhlaWdodDogQHN3aXRjaC1oZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgQHVpLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xyXG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggcmdiYSgwLDAsMCwwLjI1KSBpbnNldDtcclxuICB9XHJcblxyXG4gICYgc3BhbjphZnRlciB7XHJcbiAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgdG9wOiAxcHg7IGxlZnQ6IDA7XHJcbiAgIGhlaWdodDogQHN3aXRjaC1oZyAtIDI7IHdpZHRoOiBAc3dpdGNoLWhnIC0gMjtcclxuICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgYm9yZGVyLXJhZGl1czogNDAwcHg7XHJcbiAgIGJveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwwLDAsMC40KTtcclxuICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gIH0gXHJcbiAgXHJcbiAgJi5zd2l0Y2gtbGcgeyAuc3dpdGNoLXZhcmlhbnQoQHN3aXRjaC1sZy13ZCwgQHN3aXRjaC1sZy1oZyk7IH1cclxuICAmLnN3aXRjaC1zbSB7IC5zd2l0Y2gtdmFyaWFudChAc3dpdGNoLXNtLXdkLCBAc3dpdGNoLXNtLWhnKTsgfVxyXG59XHJcblxyXG5cclxuLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgc3BhbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQHN3aXRjaC1mZy1jb2xvcjtcclxuICBib3JkZXItY29sb3I6IEBzd2l0Y2gtZmctY29sb3I7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC41cztcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dDpjaGVja2VkICsgc3BhbjphZnRlciB7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbn1cclxuXHJcbi5zd2l0Y2gtdmFyaWFudChAd2QsIEBoZykge1xyXG4gICYgc3BhbiB7XHJcbiAgICB3aWR0aDogQHdkOyBoZWlnaHQ6IEBoZztcclxuICB9XHJcblxyXG4gICYgc3BhbjphZnRlciB7XHJcbiAgIGhlaWdodDogQGhnIC0gMjsgd2lkdGg6IEBoZyAtIDI7XHJcbiAgfSAgXHJcbn1cclxuXHJcbi5zd2l0Y2gtcHJpbWFyeSAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC1wcmltYXJ5KTsgfVxyXG4uc3dpdGNoLXN1Y2Nlc3MgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtc3VjY2Vzcyk7IH1cclxuLnN3aXRjaC1pbmZvICAgICAgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLWluZm8pOyB9XHJcbi5zd2l0Y2gtd2FybmluZyAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC13YXJuaW5nKTsgfVxyXG4uc3dpdGNoLWRhbmdlciAgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtZGFuZ2VyKTsgfVxyXG4uc3dpdGNoLWludmVyc2UgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtaW52ZXJzZSk7IH1cclxuLnN3aXRjaC10dXJxdW9pc2UgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXR1cnF1b2lzZSk7IH1cclxuLnN3aXRjaC1waW5rICAgICAgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXBpbmspOyB9XHJcbi5zd2l0Y2gtcHVycGxlICAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC1wdXJwbGUpOyB9XHJcbi5zd2l0Y2gtb3JhbmdlICAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC1vcmFuZ2UpOyB9XHJcblxyXG4uc3dpdGNoLXZhcmlhbnQoQGNvbG9yKSB7XHJcbiAgJi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XHJcbiAgfSAgXHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBmb3JtLWlucHV0Lmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ3VzdG9tIGZvcm0gZWxlbWVudHNcclxuICogICAgLSBDaGVja2JveCBcclxuICogICAgLSBSYWRpb3NcclxuICovXHJcblxyXG5AdWktZmctY29sb3I6IEBicmFuZC1wcmltYXJ5O1xyXG5AdWktYmctY29sb3I6ICNkZGQ7XHJcbkB1aS1pbnB1dC13ZDogMjBweDtcclxuXHJcbi5jLWNoZWNrYm94LFxyXG4uYy1yYWRpbyB7XHJcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgKiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAvLyB0aGUgZWxlbWVudCB0aGF0IHJlcGxhY2VzIHRoZSBpbnB1dFxyXG4gIHNwYW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtQHVpLWlucHV0LXdkO1xyXG4gICAgd2lkdGg6IEB1aS1pbnB1dC13ZDsgaGVpZ2h0OiBAdWktaW5wdXQtd2Q7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAoQHVpLWlucHV0LXdkLzQpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXB4OyAvLyBmYSBhbGlnbiB0cmlja1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6aG92ZXIgc3BhbiB7XHJcbiAgICBib3JkZXItY29sb3I6IEB1aS1mZy1jb2xvcjtcclxuICB9XHJcblxyXG4gIC5mb3JtLWlubGluZSAmIHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAmLmMtY2hlY2tib3gtcm91bmRlZCxcclxuICAmLmMtcmFkaW8tcm91bmRlZCB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBvdmVycmlkZSBmb3IgcmFkaW8gKi9cclxuLmMtcmFkaW8gc3BhbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbn1cclxuXHJcbi8qIHRoZSBpY29uICovXHJcbi5jLWNoZWNrYm94LFxyXG4uYy1yYWRpbyB7XHJcbiAgc3BhbjpiZWZvcmUge1xyXG4gICAgLy9jb250ZW50OiBcIlxcMjcxM1wiOyAvKiBjb21tZW50IGNvbnRlbnQgdG8gdXNlIGN1c3RvbSBpY29uIGNsYXNzZXMgKi9cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDsgbGVmdDogLTFweDsgIHJpZ2h0OiAwOyBib3R0b206IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLnNjYWxlKC4yKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IChAdWktaW5wdXQtd2QgLSAxKTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyogQ2hlY2tlZCBzdGF0ZSAqL1xyXG4uYy1jaGVja2JveCxcclxuLmMtcmFkaW8ge1xyXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSxcclxuICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3BhbjpiZWZvcmV7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLnNjYWxlKDEpO1xyXG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKC4ycyBlYXNlLW91dCk7XHJcbiAgfVxyXG5cclxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgc3BhbixcclxuICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3BhbiB7XHJcbiAgICBib3JkZXItY29sb3I6IEB1aS1mZy1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEB1aS1mZy1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8qIG92ZXJyaWRlIGZvciByYWRpbyAqL1xyXG4gIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICY6YmVmb3JleyBcclxuICAgICAgY29sb3I6IEB1aS1mZy1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIERpc2FibGUgc3RhdGUgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJsZWQgKyBzcGFuLFxyXG4gIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkICsgc3BhbntcclxuICAgIGJvcmRlci1jb2xvcjogQHVpLWJnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdWktYmctY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLyogb3ZlcnJpZGUgZm9yIHJhZGlvICovXHJcbiAgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgKyBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IEB1aS1iZy1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdGFibGUtZXh0cmFzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLy9cclxuLy8gQWRkIHN1cHBvcnQgdG8gY29tcG9uZW50cyBpbnNpZGUgdGFibGVzXHJcbi8vIFxyXG5cclxuLnRhYmxlIHtcclxuICA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDhweDtcclxuICAgIGNvbG9yOiAjODg4O1xyXG4gIH1cclxuICA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgPiAubWVkaWEge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNoZWNrYm94IHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5wcm9ncmVzcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwXHJcbiAgfVxyXG5cclxuICAucmFkaWFsLWJhciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uanFzdG9vbHRpcCB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94O31cclxuXHJcbi8vIEV4dGVuZGVkIHRhYmxlIGRlbW9zXHJcblxyXG4jdGFibGUtcmVzLTEge1xyXG4gIHRoIHtcclxuICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgd2lkdGg6IDMlO1xyXG4gICAgfVxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICB3aWR0aDogNSU7XHJcbiAgICB9XHJcbiAgICAmOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgIHdpZHRoOiA1JTtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDkpIHtcclxuICAgICAgd2lkdGg6IDUlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI3RhYmxlLXJlcy0yIHtcclxuICB0aCB7XHJcbiAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiA1JTtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgd2lkdGg6IDEwJTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0YWJsZS1uZ3RhYmxlLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5ib2R5IHtcclxuICBcclxuICAvLyBCYXNpYyBzdHlsZXMgb3ZlcnJpZGVcclxuICAubmctdGFibGUgdGguc29ydGFibGUuc29ydC1kZXNjLFxyXG4gIC5uZy10YWJsZSB0aC5zb3J0YWJsZS5zb3J0LWFzYyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgfVxyXG5cclxuICAubmctdGFibGUgdGguc29ydGFibGUgZGl2OmFmdGVyLFxyXG4gIC5uZy10YWJsZSB0aC5zb3J0YWJsZSBkaXY6YmVmb3JlIHtcclxuICAgIGJvcmRlci1jb2xvcjogQGdyYXktZGFyayB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgLm5nLXRhYmxlIHRoLnNvcnRhYmxlIGRpdjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQGdyYXktZGFyaztcclxuICB9XHJcbiAgLm5nLXRhYmxlIHRoLnNvcnRhYmxlLnNvcnQtZGVzYyBkaXY6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQGdyYXktZGFyaztcclxuICB9XHJcblxyXG4gIFtuZy10YWJsZS1wYWdpbmF0aW9uXSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDVweDtcclxuICBcclxuICAgIC5uZy10YWJsZS1wYWdpbmF0aW9uIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vIENvbG9ycyBjZWxsIHZhcmlhdGlvbnMgKHJlZC9ncmVlbilcclxuICAubmctdGFibGUgLnBsdXMsIC5uZy10YWJsZSAubWludXMge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gIC5uZy10YWJsZSAucGx1czpiZWZvcmUsIC5uZy10YWJsZSAubWludXM6YmVmb3JlIHtcclxuICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDRweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOnNvbGlkO1xyXG4gICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgfVxyXG4gIC5uZy10YWJsZSAucGx1cyB7XHJcbiAgICAgIGNvbG9yOiBncmVlbjtcclxuICB9XHJcbiAgLm5nLXRhYmxlIC5wbHVzOmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogZ3JlZW47XHJcbiAgICAgIGJvcmRlci10b3A6bm9uZTtcclxuICAgICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICAubmctdGFibGUgLm1pbnVzIHtcclxuICAgICAgY29sb3I6IHJlZDtcclxuICB9XHJcbiAgLm5nLXRhYmxlIC5taW51czpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJlZDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICBib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIFNlbGVjdGVkIHJvd3NcclxuICAubmctdGFibGUtcm93c2VsZWN0ZWQgdHIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAubmctdGFibGUtcGFnZXIge1xyXG4gICAgLmNsZWFyZml4O1xyXG4gIH1cclxuXHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwbHVnaW5zLmxlc3NcclxuICAgLSBVc2VyIHRoaXMgc3R5bGVzaGVldCB0byBpbmNsdWRlIHNpbmdsZSBjc3Mgc3R5bGVzIGFuZCBmaXhlcyBcclxuICAgICBmb3IgcGx1Z2luc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBpbXBvcnQgJy4uL2Jvb3RzdHJhcC9taXhpbnMvYnV0dG9ucyc7XHJcbiBcclxuLyoqXHJcbiAqIEJvb3RzdHJhcCBTbGlkZXJcclxuICovXHJcblxyXG5Ac2xpZGVyLWhhbmRsZS1iZzogQGJyYW5kLXByaW1hcnk7XHJcbkBzbGlkZXItdHJhY2stYm9yZGVyOiBAYnJhbmQtcHJpbWFyeTtcclxuQHNsaWRlci1zZWxlY3Rpb24tYmc6IEBzbGlkZXItdHJhY2stYm9yZGVyO1xyXG5Ac2xpZGVyLXRvb2x0aXAtY29sb3I6ICMyYzMwMzc7XHJcblxyXG5ib2R5IHtcclxuXHJcbiAgLnNsaWRlci1oYW5kbGUsXHJcbiAgLnNsaWRlci10cmFjayxcclxuICAuc2xpZGVyLXNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICB9XHJcblxyXG4gIC5zbGlkZXItaGFuZGxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAc2xpZGVyLWhhbmRsZS1iZztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggQHNsaWRlci1oYW5kbGUtYmcgaW5zZXQ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAuc2xpZGVyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAc2xpZGVyLXRyYWNrLWJvcmRlcjtcclxuICB9XHJcbiAgLnNsaWRlci1zZWxlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlci1zZWxlY3Rpb24tYmc7XHJcbiAgfVxyXG5cclxuICAuc2xpZGVyIHtcclxuICAgIC50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBzbGlkZXItdG9vbHRpcC1jb2xvcjtcclxuICAgIH1cclxuICAgIC50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAc2xpZGVyLXRvb2x0aXAtY29sb3I7XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItdG9vbHRpcC1jb2xvcjtcclxuICAgIH1cclxuICAgICYuc2xpZGVyLXZlcnRpY2FsIHtcclxuICAgICAgLnNsaWRlci10cmFjayB7XHJcbiAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgfVxyXG4gICAgICAuc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgICAuc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcclxuICAgICAgfVxyXG4gICAgICAuc2xpZGVyLXRyYWNrIHtcclxuICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuc2xpZGVyLWxnIHtcclxuICAgIHdpZHRoOiAzODBweDtcclxuICB9XHJcblxyXG4gIC8vIENob3NlblxyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuICAvLyBNVUxUSVBMRVxyXG5cclxuICBAbXVsdGlwbGUtdGFnLWJnOiAjZjVmNmY3O1xyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgLmZvcm0tY29udHJvbDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT10ZXh0XSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xyXG4gICAgbWFyZ2luOiAwIDVweCAzcHggMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBtdWx0aXBsZS10YWctYmc7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oQG11bHRpcGxlLXRhZy1iZywgNSUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5oaWdobGlnaHRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFhMmEzO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1kcm9wIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICB9XHJcbiAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLXJlc3VsdCB7XHJcbiAgICBjb2xvcjogIzc0NzU3NjtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbiAgfVxyXG4gIC8vIFNJTkdMRVxyXG4gIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSxcclxuICAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICAuZm9ybS1jb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1kcm9wIHtcclxuICAgIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IHtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgcmlnaHQ6IDVweDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT10ZXh0XSB7XHJcbiAgICBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbn0gLy8gYm9keVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzbGltLXNjcm9sbC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQHNsaW0tc2Nyb2xsLWJhci1iZzogICAgICBmYWRlKCMwMDAsIDM1KTtcclxuQHNsaW0tc2Nyb2xsLXJhaWwtYmc6ICAgICBmYWRlKCMwMDAsIDE1KTtcclxuXHJcbi8vIE5ldyBzY3JvbGxhYmxlIGVsZW1lbnRcclxuc2Nyb2xsYWJsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIEltcG9ydGFudCB0byBvdmVycmlkZSBqcyBpbmxpbmUgc3R5bGVzXHJcbi5zbGltU2Nyb2xsQmFyIHtcclxuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNsaW0tc2Nyb2xsLWJhci1iZyAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDFweCAhaW1wb3J0YW50O1xyXG4gIC50cmFuc2l0aW9uKG9wYWNpdHkgLjNzIGVhc2UpO1xyXG59XHJcblxyXG4uc2xpbVNjcm9sbERpdjpob3ZlciB7XHJcbiAgLnNsaW1TY3JvbGxCYXIge1xyXG4gICAgb3BhY2l0eTogMC40ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpbVNjcm9sbFJhaWwge1xyXG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpbS1zY3JvbGwtcmFpbC1iZyAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICBib3R0b206IDA7XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBkYXRlcGlja2VyLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuW2RhdGVwaWNrZXItcG9wdXBdICsgdWwge1xyXG5cclxuICAuYnRuLWluZm8gPiBzcGFuIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4uZGF0ZXBpY2tlciB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogYWxlcnRzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AYWxlcnRzLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MHB4O1xyXG5AYWxlcnRzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MDkwO1xyXG5AYWxlcnRzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweDtcclxuXHJcbi8vIE1lc3NhZ2UgY29udGFpbmVyIGZvciBwb3NpdGlvbmluZ1xyXG5cclxuLmFsZXJ0cyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IEBhbGVydHMtcG9zaXRpb247XHJcbiAgICBsZWZ0OiBAYWxlcnRzLXBvc2l0aW9uO1xyXG4gICAgei1pbmRleDogQGFsZXJ0cy16LWluZGV4O1xyXG4gICAgd2lkdGg6IEBhbGVydHMtd2lkdGg7XHJcbiAgICAuYWxlcnRzLXRvcC1yaWdodDtcclxuXHJcbiAgICAmOmhvdmVyIC5hbGVydCAuY2xvc2Uge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFBvc2l0aW9uIG1vZGlmaWVyc1xyXG5cclxuXHJcbi5hbGVydHMtdG9wLXJpZ2h0LFxyXG4uYWxlcnRzLWJvdHRvbS1yaWdodCAge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBAYWxlcnRzLXBvc2l0aW9uO1xyXG59XHJcblxyXG4uYWxlcnRzLXRvcC1jZW50ZXIsXHJcbi5hbGVydHMtYm90dG9tLWNlbnRlciB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogKEBhbGVydHMtd2lkdGggLyAtMik7XHJcbn1cclxuXHJcbi5hbGVydHMtYm90dG9tLWxlZnQsXHJcbi5hbGVydHMtYm90dG9tLXJpZ2h0LFxyXG4uYWxlcnRzLWJvdHRvbS1jZW50ZXIge1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiBAYWxlcnRzLXBvc2l0aW9uO1xyXG59XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZW5lc3NcclxuXHJcblxyXG4vLyBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IEBtcS1tb2JpbGUpIHtcclxuXHJcbiAgICAvLyBGaXQgaW4gc21hbGwgc2NyZWVuXHJcblxyXG4gICAgLmFsZXJ0cyB7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiB0b2FzdGVyLmxlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBSZWRlZmluZWQgdG9hc3RlciBjb2xvcnNcbmJvZHkge1xuICAgICN0b2FzdC1jb250YWluZXIge1xuICAgICAgdG9wOiBAaGVhZGVyLWhnICsgNSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9hc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICAgIC50b2FzdC1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1zdWNjZXNzO1xuICAgIH1cbiAgICAudG9hc3QtZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWRhbmdlcjtcbiAgICB9XG4gICAgLnRvYXN0LWluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWluZm87XG4gICAgfVxuICAgIC50b2FzdC13YWl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1wdXJwbGU7XG4gICAgfVxuICAgIC50b2FzdC13YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC13YXJuaW5nO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBnbWFwLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ21hcCB7XHJcbiAgXHJcbiAgaGVpZ2h0OiAzMDBweDtcclxuICBcclxuICAvKiBcclxuICBGaXhlcyBCb290c3RyYXAgaXNzdWVzIHdpdGggR29vZ2xlIE1hcHNcclxuICBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvOTE3MDc1NiBcclxuICAqL1xyXG4gIGltZyB7IFxyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB2ZWN0b3ItbWFwLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5Adm1hcC1sYWJlbC1iZzogICAgICAgICAgICAgQGdyYXktZGFya2VyO1xyXG5Adm1hcC16b29tLWN0cmwtYmc6ICAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLyBkaXJlY3RpdmUgZWxlbWVudFxyXG52ZWN0b3ItbWFwIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuYm9keSB7IC8vIGFkZHMgcHJpb3JpdHlcclxuICBcclxuICAuanZlY3Rvcm1hcC1sYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQHZtYXAtbGFiZWwtYmc7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogQHZtYXAtbGFiZWwtYmc7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICB6LWluZGV4OiAxMTtcclxuICB9XHJcblxyXG4gIC5qdmVjdG9ybWFwLXpvb21pbiwgXHJcbiAgLmp2ZWN0b3JtYXAtem9vbW91dCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBAdm1hcC16b29tLWN0cmwtYmc7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgY29sb3I6IEBncmF5O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5qdmVjdG9ybWFwLXpvb21pbiB7dG9wOiAxMHB4O31cclxuICAuanZlY3Rvcm1hcC16b29tb3V0IHt0b3A6IDMwcHg7fVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdXRpbHMtYmFja2dyb3VuZC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gQmFja2dyb3VuZCBoZWxwZXJzXHJcbi8vICBHZW5lcmF0ZXMgYmcgY2xhc3NlcyBmb3JcclxuLy8gICAgLmJnLXticmFuZC1uYW1lfVxyXG4vLyAgICAuYmcte2JyYW5kLW5hbWV9LWxpZ2h0XHJcbi8vICAgIC5iZy17YnJhbmQtbmFtZX0tZGFya1xyXG5cclxuLmJnLWdyYXkgICAgICAgICB7IC5tYWtlLWJnKCdncmF5Jyk7IH1cclxuLmJnLWdyYXktZGFya2VyICB7IC5tYWtlLWJnKCdncmF5LWRhcmtlcicpOyB9XHJcbi5iZy1ncmF5LWRhcmsgICAgeyAubWFrZS1iZygnZ3JheS1kYXJrJyk7IH1cclxuLmJnLWdyYXktbGlnaHQgICB7IFxyXG4gIC5tYWtlLWJnKCdncmF5LWxpZ2h0JywgQHRleHQtY29sb3IsICM5MTkyOTMsIEBncmF5LCAjZmZmKTsgXHJcbn1cclxuLmJnLWdyYXktbGlnaHRlciB7IFxyXG4gIC5tYWtlLWJnKCdncmF5LWxpZ2h0ZXInLCBAdGV4dC1jb2xvciwgIzkxOTI5MywgQGdyYXksICNmZmYpOyBcclxufVxyXG4uYmctd2hpdGUgICAgICAgIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXdoaXRlJywgQHRleHQtY29sb3IsIEBncmF5LWRhcmssIEB0ZXh0LW11dGVkLCAjZjFmMmYzICk7IFxyXG59XHJcblxyXG4uYmctcHJpbWFyeSB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1wcmltYXJ5Jyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtcHJpbWFyeScpOyBcclxufVxyXG4uYmctc3VjY2VzcyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1zdWNjZXNzJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtc3VjY2VzcycpOyBcclxufVxyXG4uYmctaW5mbyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1pbmZvJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtaW5mbycpOyBcclxufVxyXG4uYmctd2FybmluZyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC13YXJuaW5nJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtd2FybmluZycpOyBcclxufVxyXG4uYmctZGFuZ2VyIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLWRhbmdlcicpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLWRhbmdlcicpOyBcclxufVxyXG4uYmctdHVycXVvaXNlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXR1cnF1b2lzZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLXR1cnF1b2lzZScpOyBcclxufVxyXG4uYmctcGluayB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1waW5rJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtcGluaycpOyBcclxufVxyXG4uYmctcHVycGxlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXB1cnBsZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLXB1cnBsZScpOyBcclxufVxyXG4uYmctaW52ZXJzZSB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1pbnZlcnNlJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtaW52ZXJzZScpOyBcclxufVxyXG4uYmctb3JhbmdlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLW9yYW5nZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLW9yYW5nZScpOyBcclxufVxyXG5cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kIGhvdmVyXHJcblxyXG4vLyAuYmctaG92ZXItcHJpbWFyeSAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1wcmltYXJ5KTt9IH1cclxuLy8gLmJnLWhvdmVyLXN1Y2Nlc3MgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctc3VjY2Vzcyk7fSB9XHJcbi8vIC5iZy1ob3Zlci1pbmZvICAgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWluZm8pO30gfVxyXG4vLyAuYmctaG92ZXItd2FybmluZyAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy13YXJuaW5nKTt9IH1cclxuLy8gLmJnLWhvdmVyLWRhbmdlciAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctZGFuZ2VyKTt9IH1cclxuLy8gLmJnLWhvdmVyLXR1cnF1b2lzZSAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctdHVycXVvaXNlKTt9IH1cclxuLy8gLmJnLWhvdmVyLXBpbmsgICAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctcGluayk7fSB9XHJcbi8vIC5iZy1ob3Zlci1wdXJwbGUgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLXB1cnBsZSk7fSB9XHJcbi8vIC5iZy1ob3Zlci1pbnZlcnNlICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWludmVyc2UpO30gfVxyXG4vLyAuYmctaG92ZXItb3JhbmdlICAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1vcmFuZ2UpO30gfVxyXG5cclxuLy8gLmJnLWhvdmVyLXdoaXRlICAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctd2hpdGUpO30gfVxyXG4vLyAuYmctaG92ZXItZ3JheS1kYXJrZXIgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1ncmF5LWRhcmtlcik7fSB9XHJcbi8vIC5iZy1ob3Zlci1ncmF5LWRhcmsgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWdyYXktZGFyayk7fSB9XHJcbi8vIC5iZy1ob3Zlci1ncmF5ICAgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWdyYXkpO30gfVxyXG4vLyAuYmctaG92ZXItZ3JheS1saWdodCAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1ncmF5LWxpZ2h0KTt9IH1cclxuLy8gLmJnLWhvdmVyLWdyYXktbGlnaHRlciB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctZ3JheS1saWdodGVyKTt9IH1cclxuXHJcblxyXG4uYmdjb2xvci12YXJpYW50KEBiZykge1xyXG4gXHJcbiAgJi5iZy1saWdodCB7XHJcbiAgICBAY29sTGlnaHQ6IH5cIkB7Ymd9LWxpZ2h0XCI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGNvbExpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAvLyAuYmctb3BhY2l0eShAQGNvbExpZ2h0KTtcclxuICB9XHJcbiAgJi5iZy1kYXJrIHtcclxuICAgIEBjb2xEYXJrOiB+XCJAe2JnfS1kYXJrXCI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGNvbERhcmsgIWltcG9ydGFudDtcclxuICAgIC8vIC5iZy1vcGFjaXR5KEBAY29sRGFyayk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLm1ha2UtYmcoQGJnOyBAY29sb3I6IGxpZ2h0ZW4oQEBiZywgNDMlKTsgQGxpbms6IGxpZ2h0ZW4oQEBiZywgNTIlKTsgQG11dGVkOiBsaWdodGVuKEBAYmcsIDI2JSk7IEBuYXZsaW5rYmc6IGRhcmtlbihAQGJnLCA4JSkpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGJnICFpbXBvcnRhbnQ7XHJcbiAgLy8gLnRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZSk7XHJcblxyXG4gICYge1xyXG4gICAgY29sb3I6IEBjb2xvcjtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogbWl4KEBsaW5rLCBAQGJnLCA3MCUpO1xyXG4gICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogQGxpbms7XHJcbiAgICAgIH1cclxuICAgICAgLy8gJi5idG4tZGVmYXVsdCB7IGNvbG9yOiBAYnRuLWRlZmF1bHQtY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tcHJpbWFyeSB7IGNvbG9yOiBAYnRuLXByaW1hcnktY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tc3VjY2VzcyB7IGNvbG9yOiBAYnRuLXN1Y2Nlc3MtY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4taW5mbyAgICB7IGNvbG9yOiBAYnRuLWluZm8tY29sb3I7ICAgIH1cclxuICAgICAgLy8gJi5idG4td2FybmluZyB7IGNvbG9yOiBAYnRuLXdhcm5pbmctY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tZGFuZ2VyICB7IGNvbG9yOiBAYnRuLWRhbmdlci1jb2xvcjsgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdiA+IGxpIHtcclxuICAgICAgPiBhIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKEBsaW5rLCA1JSk7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgID4gYSB7IGNvbG9yOiBsaWdodGVuKEBsaW5rLCA1JSk7IH1cclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogQG5hdmxpbmtiZzsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGViYXItc3VibmF2IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBAYmcsIEBuYXZsaW5rYmcsIDUwJSk7XHJcbiAgICAgID4gbGkuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdmJhci1mb3JtIHtcclxuICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBiZztcclxuICAgICAgICBjb2xvcjogQGNvbG9yO1xyXG4gICAgICAgIC5wbGFjZWhvbGRlcihAbXV0ZWQpO1xyXG4gICAgICAgIC5pZTkgJiB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZmFkZShAbXV0ZWQsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXHJcbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgICAgICAgY29sb3I6IEBtdXRlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LW11dGVkIHsgXHJcbiAgICAgIGNvbG9yOiBAbXV0ZWRcclxuICAgIH1cclxuICAgIC50ZXh0LWxvdWQgeyBcclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oQG11dGVkLCAyNiUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNtYWxsIHtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5iZy1vcGFjaXR5KEBjb2xvcikge1xyXG4gICYtb3BhY2l0eSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlb3V0KEBjb2xvciwgNDUpO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwcmludC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gXHJcbi8vIFB1dCBoZXJlIGFsbCBydWxlcyByZXF1aXJlZCB0byBzdHlsZSB0aGUgcHJpbnQgdmlldyBcclxuLy8gXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gIFxyXG4gIC5zaWRlYmFyLFxyXG4gIC50b3BuYXZiYXIsXHJcbiAgLnNldHRpbmdzLFxyXG4gIC5idG4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmFwcC1jb250YWluZXIsXHJcbiAgLmFwcC1jb250YWluZXIgPiBzZWN0aW9uLFxyXG4gIC5hcHAge1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8qIHJlbW92ZSBtYXJnaW4gdXNlZCBmb3Igc2lkZWJhciBhbmQgZXhwYW5kIHRoZSBjb250ZW50ICovXHJcbiAgICAvLyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmFwcC1jb250YWluZXIgPiBhc2lkZSxcclxuICAuYXBwLWNvbnRhaW5lciA+IGZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAuYXBwIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC50ZXh0LW11dGVkIHtcclxuICAgIGNvbG9yOiBAZ3JheS1saWdodCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSIsIlxyXG4uc2V0dGluZy1jb2xvciB7XHJcbiAgcGFkZGluZzogMCA1cHg7XHJcblxyXG4gID4gbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5O1xyXG4gICAgXHJcbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDB9XHJcbiAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDB9XHJcblxyXG4gICAgLmxpc3QtdGFibGUge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGJhc2VIZzogMTVweDtcclxuICAgID4gLmNvbG9yIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogQGJhc2VIZyAqIDEuMjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgPiAuc3BsaXQge1xyXG4gICAgICAuY2xlYXJmaXg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICA+IC5jb2xvciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBAYmFzZUhnICogMi41O1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBpY29uIGNoZWNrZWRcclxuICAgID4gLmljb24tY2hlY2sge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgJjpjaGVja2VkICsgLmljb24tY2hlY2sge1xyXG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGRvY3VtZW50YXRpb24ubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFxyXG4vLyBUaGlzIHN0eWxlcyBhcmUgYmFzZWQgb24gdGhlIG1hcmt1cCBnZW5lcmF0ZWQgYnkgdGhlIHBsdWdpbiBmbGF0ZG9jXHJcbi8vIFxyXG5cclxuLy8gTWFyZ2luc1xyXG5Ac2lkZXBhZDogICAzMHB4OyAgLy8gUGFkZGluZyB0byB0aGUgbGVmdCBvZiB0aGUgc2lkZWJhclxyXG5cclxuLy8gQ29sb3JzXHJcbkB0eHQ6ICAgICAgICM1MDUwNTA7XHJcbkBhY2NlbnQ6ICAgIEBncmF5LWRhcms7XHJcblxyXG4vLyBEaW1lbnNpb25zXHJcbkBzaWRlYmFyLXdpZHRoOiAgIDE4MHB4O1xyXG5AY29udGVudC13aWR0aDogICA1NTBweDtcclxuQHByZS13aWR0aDogICAgICAgMzgwcHg7XHJcblxyXG5AY29udGVudC1wYWRkaW5nOiAyMHB4O1xyXG5cclxuLy8gZWxlbWVudCBnZW5lcmF0ZWQgZnJvbSBkaXJlY3RpdmVcclxuZmxhdGRvYyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbltyb2xlfj1cImZsYXRkb2NcIl0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gIEBtZWRpYSBAdGFibGV0IHtcclxuICAgIC5jbGVhcmZpeDtcclxuICB9XHJcbn1cclxuXHJcbltyb2xlfj1cImZsYXRkb2MtbWVudVwiXSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBcclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLmZsYXRkb2MtbWVudS1pdGVtcygpXHJcbiAgfVxyXG5cclxuICAvLyBBZmZpeCBtZW51XHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogQHNpZGViYXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblxyXG4gICAgPiB1bCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgcGFkZGluZy1ib3R0b206IEBmb290ZXItaGc7XHJcbiAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIFxyXG4gIH1cclxufVxyXG4gIFxyXG5bcm9sZX49XCJmbGF0ZG9jLWNvbnRlbnRcIl0ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogQGNvbnRlbnQtcGFkZGluZztcclxuICBwYWRkaW5nLXJpZ2h0OiBAY29udGVudC1wYWRkaW5nO1xyXG4gIHBhZGRpbmctdG9wOiAxcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiBAc2lkZWJhci13aWR0aCArIEBjb250ZW50LXBhZGRpbmc7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gXHJcbiAgcHJlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICAgIGNvZGUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgICAgIC5zdHJpbmcsIC5udW1iZXIge1xyXG4gICAgICAgIGNvbG9yOiBAYnJhbmQtc3VjY2Vzcy1kYXJrO1xyXG4gICAgICB9XHJcbiAgICAgIC5pbml0IHtcclxuICAgICAgICBjb2xvcjogQGJyYW5kLXN1Y2Nlc3MtZGFyaztcclxuICAgICAgfVxyXG4gICAgICAua2V5d29yZCB7XHJcbiAgICAgICAgY29sb3I6IEBncmF5LWRhcms7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbW1lbnQge1xyXG4gICAgICAgIGNvbG9yOiBAdGV4dC1tdXRlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA+IGgxIHtcclxuICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuXHJcbiAgPiBoMiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgbWFyZ2luOiAwIC0yMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgLmJ0bjtcclxuICAgIC5idG4tcHJpbWFyeTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5mbGF0ZG9jLW1lbnUtaXRlbXMoKSB7XHJcbiAgLy8gTWVudSBpdGVtc1xyXG4gICYge1xyXG4gICAgXHJcbiAgICAmLmxldmVsLTEgPiBsaSAsXHJcbiAgICAmLmxldmVsLTIgPiBsaSB7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgICArIGxpID4gYSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGEge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgJiwgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogQGFjY2VudDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogQGFjY2VudCowLjg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5sZXZlbC0xLFxyXG4gICAgICAmLmxldmVsLTIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGV2ZWwtMyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAZ3JheS1kYXJrO1xyXG4gICAgICAgICYsICY6dmlzaXRlZCwgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogQHR4dCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */