@import url("https://fonts.googleapis.com/css?family=Open+Sans");
@import url("https://fonts.googleapis.com/css?family=Open+Sans");
@font-face {
  font-family: 'ibnx';
  src: url("/ibnx-font/ibnx.eot?zeiqw7");
  src: url("/ibnx-font/ibnx.eot?zeiqw7#iefix") format("embedded-opentype"), url("/ibnx-font/ibnx.ttf?zeiqw7") format("truetype"), url("/ibnx-font/ibnx.woff?zeiqw7") format("woff"), url("/ibnx-font/ibnx.svg?zeiqw7#ibnx") format("svg");
  font-weight: normal;
  font-style: normal;
}

@media (max-width: 767px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 20px;
  }
}

@media (min-width: 1024px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 35px;
  }
}

.mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.profile-tablet .mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.profile-phone .mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 10px 15px 10px 15px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 20px 30px 20px 30px;
  }
}

@media (min-width: 1024px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 20px 40px 35px 40px;
  }
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 10px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 20px;
  }
}

@media (min-width: 1024px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 20px;
  }
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 20px;
  }
}

@media (min-width: 1024px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 35px;
  }
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container {
  padding-left: 15px;
  padding-right: 15px;
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.profile-phone .mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.profile-phone .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
  padding: 20px 30px 20px 30px;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container {
  padding-left: 15px;
  padding-right: 15px;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.mx-layoutcontainer-wrapper.mx-layoutcontainer-nested {
  padding: 0;
}

.pageheader .mx-grid,
.pageheader .mx-tabcontainer,
.pageheader .mx-listview,
.pageheader .mx-templategrid,
.pageheader .mx-groupbox {
  margin-bottom: 0;
}

.profile-phone .mx-placeholder > .mx-tabcontainer:only-child,
.profile-phone .mx-placeholder > .mx-grid:only-child,
.profile-tablet .mx-placeholder > .mx-tabcontainer:only-child,
.profile-tablet .mx-placeholder > .mx-grid:only-child {
  margin-bottom: 0;
}

/* ==========================================================================
   Base

   Default settings
========================================================================== */
html {
  height: 100%;
}

body {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  color: #262324;
  font-size: 14px;
  line-height: 1.2;
  background-color: #FFF;
  min-height: 100%;
}

a {
  color: #129DDE;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
  -webkit-backface-visibility: hidden;
}

a:hover {
  text-decoration: underline;
  color: #2685B1;
}

a:focus {
  outline: thin dotted;
}

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

input:focus,
button:focus,
.mx-link:focus {
  outline: 0;
}

div[tabindex] {
  outline: 0;
}

/* ==========================================================================
   Inputs
========================================================================== */
.form-control, .form-disabled p {
  -moz-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;
  -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  box-shadow: none;
  display: block;
  padding: 6px 8px;
  width: 100%;
  height: auto;
  border: 1px solid #C8C9C7;
  border-radius: 7px;
  background-color: #EEE;
  background-image: none;
  color: #262324;
  font-size: 14px;
  line-height: 1.2;
}

.form-control:focus, .form-disabled p:focus {
  border-color: #820053;
  background-color: #EEE;
  outline: 0;
}

textarea.form-control {
  height: auto;
}

.form-control-static, .form-group div[class*='textBox'] > label,
.form-group div[class*='textArea'] > label,
.form-group div[class*='datePicker'] > label {
  overflow: hidden;
  min-height: auto;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 14px;
  line-height: 1.2;
}

/* Not editable textarea, textarea will be rendered as a label */
.mx-textarea label {
  height: auto;
}

/* ==========================================================================
   Group with label and input
========================================================================== */
/* Input and textarea get properly aligned */
.form-group {
  margin-bottom: 5px;
}

.form-group [class*='col-'] {
  padding-left: 15px;
  padding-right: 15px;
}

.form-group .control-label {
  color: #9D9D9D;
  font-size: 14px;
  font-weight: normal;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    line-height: 1.2;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* ==========================================================================
   Inputs File Upload
========================================================================== */
.mx-fileinput {
  /* File input widget hover fix */
}

.mx-fileinput .mx-wrapped-label {
  display: inline-block;
  width: 200px;
}

.mx-fileinput .mx-wrapped-form .mx-wrapped-input {
  cursor: pointer;
}

.mx-fileinput .mx-wrapped-form .mx-fileinput-upload-button:hover {
  background-color: #D9EAF2;
}

/* ==========================================================================
   Alerts

   Default Bootstrap Alert boxes. Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages
========================================================================== */
.alert {
  border-radius: 4px;
  margin-top: 0;
  padding: 15px;
  border: 0;
}

.alert-bordered {
  border: 1px solid;
}

.alert-success {
  border-color: #437011;
  background-color: #6bc508;
  color: #73a639;
}

.alert-info {
  border-color: #005379;
  background-color: #cce2ed;
  color: #004362;
}

.alert-warning {
  border-color: #bda400;
  background-color: #fff8cc;
  color: #998500;
}

.alert-danger {
  border-color: #a22625;
  background-color: #E05150;
  color: #831f1e;
}

.has-error .alert {
  margin-top: 8px;
  margin-bottom: 0;
}

/* ==========================================================================
   Backgrounds

   Different background components, all managed by variables
========================================================================== */
.background-layout {
  background-color: #FFF !important;
}

.background-layout-secondary {
  background-color: #EFF4F7 !important;
}

.background-default {
  background-color: #D9EAF2 !important;
}

.background-default-darker {
  background-color: #828c91 !important;
}

.background-default-dark {
  background-color: #a1adb3 !important;
}

.background-default-light {
  background-color: #e8f2f7 !important;
}

.background-default-lighter {
  background-color: #ECF4F8 !important;
}

.background-inverse {
  background-color: #262324 !important;
}

.background-inverse-darker {
  background-color: #171516 !important;
}

.background-inverse-dark {
  background-color: #1c1a1b !important;
}

.background-inverse-light {
  background-color: #7d7b7c !important;
}

.background-inverse-lighter {
  background-color: #d4d3d3 !important;
}

.background-primary {
  background-color: #820053 !important;
}

.background-primary-darker {
  background-color: #4e0032 !important;
}

.background-primary-dark {
  background-color: #60003d !important;
}

.background-primary-light {
  background-color: #b46698 !important;
}

.background-primary-lighter {
  background-color: #e6ccdd !important;
}

.background-info {
  background-color: #0070A4 !important;
}

.background-info-darker {
  background-color: #004362 !important;
}

.background-info-dark {
  background-color: #005379 !important;
}

.background-info-light {
  background-color: #66a9c8 !important;
}

.background-info-lighter {
  background-color: #cce2ed !important;
}

.background-success {
  background-color: #5B9717 !important;
}

.background-success-darker {
  background-color: #73a639 !important;
}

.background-success-dark {
  background-color: #437011 !important;
}

.background-success-light {
  background-color: #e7f0dc !important;
}

.background-success-lighter {
  background-color: #6bc508 !important;
}

.background-warning {
  background-color: #FFDD00 !important;
}

.background-warning-darker {
  background-color: #998500 !important;
}

.background-warning-dark {
  background-color: #bda400 !important;
}

.background-warning-light {
  background-color: #FFFAD9 !important;
}

.background-warning-lighter {
  background-color: #fff8cc !important;
}

.background-danger {
  background-color: #DB3332 !important;
}

.background-danger-darker {
  background-color: #831f1e !important;
}

.background-danger-dark {
  background-color: #a22625 !important;
}

.background-danger-light {
  background-color: #FBEAEA !important;
}

.background-danger-lighter {
  background-color: #E05150 !important;
}

/* ==========================================================================
   Buttons

   Default Bootstrap and Mendix Buttons
========================================================================== */
.btn,
.mx-button {
  /* MXID / Bootstrap values for when used in non-mendix apps */
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  border-radius: 4px;
  box-shadow: none;
  padding: 8px 14px;
  background-color: #D9EAF2;
  color: #0070A4;
  text-shadow: none;
  font-size: 12px;
  line-height: 1.2;
}

.btn:hover, .btn:focus, .btn:active,
.mx-button:hover,
.mx-button:focus,
.mx-button:active {
  box-shadow: none;
  outline: none;
}

.mx-link {
  padding: 0;
  color: #129DDE;
}

.mx-link a {
  color: inherit;
}

.btn img,
.mx-button img,
.mx-link img {
  margin-top: -1px;
  height: 18px;
}

.dj_ie8 .mx-link {
  margin-right: 0;
  white-space: normal;
}

.btn-default {
  border-color: #D9EAF2;
  background-color: #D9EAF2;
  color: #0070A4;
}

.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active,
.open > .btn-default.dropdown-toggle {
  border-color: #b3d5e5;
  background-color: #b3d5e5;
  color: #0070A4;
}

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

.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active,
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default:focus,
fieldset[disabled] .btn-default:active,
fieldset[disabled] .btn-default.active {
  border-color: #D9EAF2;
  background-color: #D9EAF2;
}

.btn-default.btn-bordered {
  background-color: transparent;
  color: #D9EAF2;
}

.btn-default.btn-bordered:hover, .btn-default.btn-bordered:focus, .btn-default.btn-bordered:active, .btn-default.btn-bordered.active,
.open > .btn-default.btn-bordered.dropdown-toggle {
  background-color: #D9EAF2;
  border-color: #D9EAF2;
  color: #0070A4;
}

.btn-primary, .mx-grid.datagrid-fullsearch .mx-grid-search-button, .mx-grid.multilevel-grid .mx-grid-search-button {
  border-color: #0070A4;
  background-color: #0070A4;
  color: #FFF;
}

.btn-primary:hover, .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover, .mx-grid.multilevel-grid .mx-grid-search-button:hover, .btn-primary:focus, .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus, .mx-grid.multilevel-grid .mx-grid-search-button:focus, .btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button,
.open > .btn-primary.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button {
  border-color: #004d71;
  background-color: #004d71;
  color: #FFF;
}

.btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button,
.open > .btn-primary.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button {
  background-image: none;
}

.btn-primary.disabled, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.mx-grid-search-button, .btn-primary.disabled:hover, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:hover, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:hover, .btn-primary.disabled:focus, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:focus, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:focus, .btn-primary.disabled:active, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:active, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:active, .btn-primary.disabled.active, .mx-grid.datagrid-fullsearch .disabled.active.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.active.mx-grid-search-button, .btn-primary[disabled], .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled], .mx-grid.multilevel-grid .mx-grid-search-button[disabled], .btn-primary[disabled]:hover, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:hover, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:hover, .btn-primary[disabled]:focus, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:focus, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:focus, .btn-primary[disabled]:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:active, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:active, .btn-primary[disabled].active, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled].active, .mx-grid.multilevel-grid .mx-grid-search-button[disabled].active,
fieldset[disabled] .btn-primary,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:hover,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:hover,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:hover,
fieldset[disabled] .btn-primary:focus,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:focus,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:focus,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:focus,
fieldset[disabled] .btn-primary:active,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:active,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:active,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:active,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:active,
fieldset[disabled] .btn-primary.active,
fieldset[disabled] .mx-grid.datagrid-fullsearch .active.mx-grid-search-button,
.mx-grid.datagrid-fullsearch fieldset[disabled] .active.mx-grid-search-button,
fieldset[disabled] .mx-grid.multilevel-grid .active.mx-grid-search-button,
.mx-grid.multilevel-grid fieldset[disabled] .active.mx-grid-search-button {
  border-color: #0070A4;
  background-color: #0070A4;
}

.btn-primary.btn-bordered, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button {
  background-color: transparent;
  color: #0070A4;
}

.btn-primary.btn-bordered:hover, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:hover, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:hover, .btn-primary.btn-bordered:focus, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:focus, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:focus, .btn-primary.btn-bordered:active, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:active, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:active, .btn-primary.btn-bordered.active, .mx-grid.datagrid-fullsearch .btn-bordered.active.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.active.mx-grid-search-button,
.open > .btn-primary.btn-bordered.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .btn-bordered.dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .btn-bordered.dropdown-toggle.mx-grid-search-button {
  background-color: #0070A4;
  border-color: #0070A4;
  color: #FFF;
}

.btn-inverse {
  border-color: #262324;
  background-color: #262324;
  color: #FFF;
}

.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active,
.open > .btn-inverse.dropdown-toggle {
  border-color: #0b0b0b;
  background-color: #0b0b0b;
  color: #FFF;
}

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

.btn-inverse.disabled, .btn-inverse.disabled:hover, .btn-inverse.disabled:focus, .btn-inverse.disabled:active, .btn-inverse.disabled.active, .btn-inverse[disabled], .btn-inverse[disabled]:hover, .btn-inverse[disabled]:focus, .btn-inverse[disabled]:active, .btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse,
fieldset[disabled] .btn-inverse:hover,
fieldset[disabled] .btn-inverse:focus,
fieldset[disabled] .btn-inverse:active,
fieldset[disabled] .btn-inverse.active {
  border-color: #262324;
  background-color: #262324;
}

.btn-inverse.btn-bordered {
  background-color: transparent;
  color: #262324;
}

.btn-inverse.btn-bordered:hover, .btn-inverse.btn-bordered:focus, .btn-inverse.btn-bordered:active, .btn-inverse.btn-bordered.active,
.open > .btn-inverse.btn-bordered.dropdown-toggle {
  background-color: #262324;
  border-color: #262324;
  color: #FFF;
}

.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active,
.open > .btn-inverse.dropdown-toggle {
  background-color: #413b3d;
  border-color: #413b3d;
}

.btn-success {
  border-color: #5B9717;
  background-color: #5B9717;
  color: #FFF;
}

.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,
.open > .btn-success.dropdown-toggle {
  border-color: #406b10;
  background-color: #406b10;
  color: #FFF;
}

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

.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success:focus,
fieldset[disabled] .btn-success:active,
fieldset[disabled] .btn-success.active {
  border-color: #5B9717;
  background-color: #5B9717;
}

.btn-success.btn-bordered {
  background-color: transparent;
  color: #5B9717;
}

.btn-success.btn-bordered:hover, .btn-success.btn-bordered:focus, .btn-success.btn-bordered:active, .btn-success.btn-bordered.active,
.open > .btn-success.btn-bordered.dropdown-toggle {
  background-color: #5B9717;
  border-color: #5B9717;
  color: #FFF;
}

.btn-info {
  border-color: #129DDE;
  background-color: #129DDE;
  color: #FFF;
}

.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active,
.open > .btn-info.dropdown-toggle {
  border-color: #0e7caf;
  background-color: #0e7caf;
  color: #FFF;
}

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

.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-info:hover,
fieldset[disabled] .btn-info:focus,
fieldset[disabled] .btn-info:active,
fieldset[disabled] .btn-info.active {
  border-color: #129DDE;
  background-color: #129DDE;
}

.btn-info.btn-bordered {
  background-color: transparent;
  color: #129DDE;
}

.btn-info.btn-bordered:hover, .btn-info.btn-bordered:focus, .btn-info.btn-bordered:active, .btn-info.btn-bordered.active,
.open > .btn-info.btn-bordered.dropdown-toggle {
  background-color: #129DDE;
  border-color: #129DDE;
  color: #FFF;
}

.btn-warning {
  border-color: #FFDD00;
  background-color: #FFDD00;
  color: #FFF;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  border-color: #ccb100;
  background-color: #ccb100;
  color: #FFF;
}

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

.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning:focus,
fieldset[disabled] .btn-warning:active,
fieldset[disabled] .btn-warning.active {
  border-color: #FFDD00;
  background-color: #FFDD00;
}

.btn-warning.btn-bordered {
  background-color: transparent;
  color: #FFDD00;
}

.btn-warning.btn-bordered:hover, .btn-warning.btn-bordered:focus, .btn-warning.btn-bordered:active, .btn-warning.btn-bordered.active,
.open > .btn-warning.btn-bordered.dropdown-toggle {
  background-color: #FFDD00;
  border-color: #FFDD00;
  color: #FFF;
}

.btn-danger {
  border-color: #DB3332;
  background-color: #DB3332;
  color: #FFF;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  border-color: #b92121;
  background-color: #b92121;
  color: #FFF;
}

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

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

.btn-danger.btn-bordered {
  background-color: transparent;
  color: #DB3332;
}

.btn-danger.btn-bordered:hover, .btn-danger.btn-bordered:focus, .btn-danger.btn-bordered:active, .btn-danger.btn-bordered.active,
.open > .btn-danger.btn-bordered.dropdown-toggle {
  background-color: #DB3332;
  border-color: #DB3332;
  color: #FFF;
}

.btn-link {
  border: 0;
  background-color: transparent;
  color: #129DDE;
}

.btn-link:hover {
  background-color: transparent;
  color: #2685B1;
}

/* Buttons appear disabled */
.btn-disabled {
  opacity: 0.65;
  filter: alpha(opacity=65);
  /* For IE8 and earlier */
  cursor: not-allowed;
  pointer-events: none;
}

.btn-transparent,
.btn-transparent:hover,
.btn-transparent:focus {
  border-style: none;
  background-color: transparent;
}

.btn-lg {
  font-size: 18px;
  padding: 11px 18px;
}

.btn-lg img {
  height: 18px;
}

.btn-sm {
  font-size: 12px;
  padding: 7px 12px;
}

.btn-sm img {
  height: 16px;
}

/* Buttons Image */
.btn-image {
  padding: 0;
  border-style: none;
  background-color: transparent;
  vertical-align: middle;
}

.btn-image img {
  height: auto;
  display: block;
}

.btn-image:hover, .btn-image:focus {
  background-color: transparent;
}

/* Buttons Position */
.btn-right {
  float: right;
}

.btn-left {
  float: left;
}

/* Buttons Attached */
.btn-attached-right {
  margin-left: 5px;
}

.btn-attached-left {
  margin-right: 5px;
}

.btn-attached-bottom {
  margin-top: 5px;
}

.btn-attached-top {
  margin-bottom: 5px;
}

/* ==========================================================================
   Mobile Buttons

   Default Bootstrap and Mendix Buttons
========================================================================== */
.mx-button-mobile {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  padding: 12px 12px !important;
}

/* ==========================================================================
   Grid

   Default Mendix Grid (used for Mendix Datagrid)
========================================================================== */
.mx-grid {
  border-radius: 0;
  padding: 0px;
  border: 0;
}

.mx-grid .mx-grid-controlbar {
  margin: 10px 0;
  /* Paging */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar {
  /* Buttons */
  /* Text Paging .. to .. to .. */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button {
  padding: 6px;
  background-color: transparent;
  color: #C8C9C7;
  border-color: transparent;
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button:hover {
  background-color: transparent;
  color: #820053;
  border-color: transparent;
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button.disabled, .mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button[disabled] {
  opacity: 0.4;
  filter: alpha(opacity=40);
  /* For IE8 and earlier */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-grid-paging-status {
  padding: 0 8px 8px;
}

.mx-grid .mx-grid-searchbar {
  margin: 10px 0;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label {
  vertical-align: middle;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label label {
  padding-top: 5px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-control, .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input p {
  height: auto;
  font-size: 11px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input select.form-control {
  vertical-align: middle;
  padding: 3px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .mx-button {
  height: 28px;
  padding-top: 2px;
  padding-bottom: 2px;
}

/* Remove default border from grid inside a Mendix Dataview */
.mx-dataview .mx-grid {
  border: 0;
}

/* ==========================================================================
   Datagrid Default

   Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid
========================================================================== */
.mx-datagrid .mx-datagrid-head-table {
  border-width: 0;
  background-color: transparent;
  /* Table header */
}

.mx-datagrid .mx-datagrid-head-table th {
  border-left: 0;
  border-right: 0;
  border-top-width: 0;
  border-bottom-width: 2px;
  border-style: solid;
  border-color: #C8C9C7;
  background-color: transparent;
}

.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper {
  padding: 8px 8px 8px 8px;
  vertical-align: middle;
}

.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper .mx-datagrid-head-caption {
  white-space: normal;
}

.mx-datagrid .mx-datagrid-body-table {
  border-width: 0;
  /* Table Body */
  /* Table Footer */
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  padding: 8px 8px 8px 8px;
  background-color: #FFF;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-color: #C8C9C7;
  vertical-align: middle;
  /* Text without spaces */
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td:focus {
  outline: none;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td .mx-datagrid-data-wrapper {
  text-overflow: ellipsis;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected td,
.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  background-color: #D9EAF2 !important;
  color: #262324;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > th {
  padding: 8px 8px 8px 8px;
  background-color: #DEDFDD;
  border-width: 0;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > td {
  background-color: #FFF;
  border-width: 0;
  font-weight: bold;
  padding: 8px 8px 8px 8px;
}

.mx-datagrid .mx-datagrid-body-table *:focus {
  outline: 0;
}

/* Datagrid for mobile to change color */
.datagrid-mobile.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  background-color: #f8f8f8;
  /* Text without spaces */
}

/* ==========================================================================
   Datagrid Striped

   Default Mendix Datagrid Widget with striped rows
========================================================================== */
.datagrid-striped.mx-datagrid .mx-datagrid-head-table th {
  border-width: 0;
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table {
  /* Body */
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border-top-width: 0;
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-child(odd) td {
  background-color: #d5d6d4;
}

/* ==========================================================================
   Datagrid Bordered

   Default Mendix Datagrid Widget with borders
========================================================================== */
.datagrid-bordered.mx-datagrid .mx-datagrid-head-table th {
  border: 1px solid #C8C9C7;
  border-bottom-width: 1px;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-body-table {
  border: 1px solid;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border: 1px solid #C8C9C7;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > th {
  background-color: #DEDFDD;
  border-width: 0;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > td {
  border-width: 1px;
}

/* ==========================================================================
   Datagrid Hover

   Default Mendix Datagrid Widget with hover
========================================================================== */
.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:hover td {
  background-color: #dfc6d6 !important;
}

.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  background-color: #dfc6d6 !important;
}

/* ==========================================================================
   Datagrid Large

   Default Mendix Datagrid Widget with large rows
========================================================================== */
.datagrid-large.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper {
  padding: 15px 10px;
}

.datagrid-large.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  padding: 15px 10px;
}

/* ==========================================================================
   Datagrid Transparent

   Default Mendix Datagrid Widget with transparent background for row and cells
========================================================================== */
.datagrid-transparent.mx-datagrid .mx-datagrid-head-table, .mx-datagrid.multilevel-grid .mx-datagrid-head-table {
  background-color: transparent;
}

.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd), .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd) {
  background-color: transparent;
}

.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td {
  background-color: transparent;
}

/* ==========================================================================
   Datagrid Full Search

   Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed
========================================================================== */
.mx-grid.datagrid-fullsearch .mx-grid-reset-button, .mx-grid.multilevel-grid .mx-grid-reset-button {
  display: none;
}

.mx-grid.datagrid-fullsearch .mx-grid-search-item, .mx-grid.multilevel-grid .mx-grid-search-item {
  display: block;
}

.mx-grid.datagrid-fullsearch .mx-grid-search-label, .mx-grid.multilevel-grid .mx-grid-search-label {
  display: none;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-controls, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-controls {
  position: absolute;
  right: 0;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input {
  width: 80%;
  padding-left: 0;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input p, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input p {
  height: 35px;
  font-size: 12px;
}

/* ==========================================================================
   Dataview

   Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object
========================================================================== */
.mx-dataview {
  /* Control bar */
  /* Dataview-content gives problems for nexted layout grid containers */
  /* Dataview empty message */
}

.mx-dataview .mx-dataview-controls {
  border-radius: 0;
  clear: both;
  margin-top: 10px;
  padding: 8px 0;
  border-top: 1px solid #C8C9C7;
  background-color: transparent;
  /* Buttons */
}

.mx-dataview .mx-dataview-controls .mx-button {
  margin-bottom: 0;
}

.mx-dataview > .mx-dataview-content > .mx-container-nested > .row {
  margin-right: 0;
  margin-left: 0;
}

.mx-dataview .mx-dataview-message {
  background: #FFF;
  color: #262324;
}

/*
* Mendix Documentation
* Special styles for presenting components
*/
/*
* Dijit Widgets
*
* Default Dojo Dijit Widgets
*/
/*
 * Dijit Calendar Widget
 *
 * Used in dataviews
 */
.dijitCalendarContainer {
  /* (must be higher than popup z-index) */
  z-index: 10010 !important;
  background-color: #eff0f2;
}

.dijitCalendarContainer tr th {
  background-color: #26323D;
  color: #FFF;
  text-align: center;
}

.dijitCalendarContainer tr th,
.dijitCalendarContainer tr td {
  padding: 6px;
  text-align: center;
}

.dijitCalendarContainer tr td .dijitCalendarDateLabel {
  color: #000;
}

.dijitCalendarContainer tr tfoot h3 {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

.dijitCalendarContainer .dijitCalendarMonthLabel {
  font-weight: bold;
}

.dijitCalendarContainer .dijitButtonNode {
  border: 0;
}

.dijitCalendarContainer .dijitCalendarArrow {
  cursor: pointer;
}

.dijitCalendarContainer .dijitCalendarSelectedDate,
.dijitCalendarContainer .dijitCalendarSelectedDate:hover {
  border-radius: 10px;
  background: #820053;
}

.dijitCalendarContainer .dijitCalendarSelectedDate .dijitCalendarDateLabel,
.dijitCalendarContainer .dijitCalendarSelectedDate:hover .dijitCalendarDateLabel {
  color: #fff;
}

.dijitCalendarContainer .dijitCalendarHoveredDate,
.dijitCalendarContainer .dijitCalendarPreviousYearHover,
.dijitCalendarContainer .dijitCalendarNextYearHover,
.dijitCalendarContainer .dijitCalendarMonthLabelHover {
  border-radius: 10px;
  background-color: #dbdcdd;
}

.dijitCalendarContainer .dijitCalendarYearContainer td {
  border-top: 1px solid #C8C9C7;
  text-align: center;
  color: #000;
}

.dijitCalendarContainer .dijitCalendarYearContainer td .dijitCalendarSelectedYear {
  font-weight: bold;
  text-decoration: underline;
}

.dijitCalendarContainer .dijitCalendarMonthContainer th:first-child {
  border-top-left-radius: 3px;
}

.dijitCalendarContainer .dijitCalendarMonthContainer th:last-child {
  border-top-right-radius: 3px;
}

.dijitCalendarMonthMenuPopup {
  border-radius: 3px;
  /* (must be higher than popup z-index) */
  z-index: 10020 !important;
  padding: 3px 4px;
  background-color: #26323D;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu {
  border-style: none;
  background: none;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel {
  padding: 2px 0;
  color: #FFF;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:hover, .dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:focus {
  color: #4280cb;
}

.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:first-child {
  border-top-left-radius: 0px;
  border-top-right-radius: 3px;
}

.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:last-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 0px;
}

/*
 * Dijit Tooltip Widget
 *
 * Default tooltip used for Mendix widgets
 */
.mx-tooltip .dijitTooltipContainer {
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  border-width: 1px;
  border-color: #C8C9C7;
  background: #FFF;
}

.mx-tooltip .dijitTooltipContainer .mx-tooltip-content {
  padding: 10px;
}

.mx-tooltip .dijitTooltipContainer .form-group {
  margin-bottom: 5px;
}

.mx-tooltip .dijitTooltipConnector {
  margin-left: -10px;
  width: 0;
  height: 0;
  border-width: 10px 10px 10px 0;
  border-style: solid;
  border-color: transparent;
  border-right-color: #C8C9C7;
}

/*
 * Dijit Border Container
 *
 * Used in Mendix as split pane containers
 */
.dijitBorderContainer {
  padding: 5px;
  background-color: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterV,
.dijitBorderContainer .dijitGutterV {
  width: 5px;
  border: 0;
  background: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterH,
.dijitBorderContainer .dijitGutterH {
  height: 5px;
  border: 0;
  background: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterH .dijitSplitterThumb {
  top: 2px;
  width: 19px;
  height: 1px;
  background: #B0B0B0;
}

.dijitBorderContainer .dijitSplitterV .dijitSplitterThumb {
  left: 2px;
  width: 1px;
  height: 19px;
  background: #B0B0B0;
}

.dijitBorderContainer .dijitSplitContainer-child,
.dijitBorderContainer .dijitBorderContainer-child {
  border: 1px solid #ccc;
}

.dijitBorderContainer .dijitBorderContainer-dijitTabContainerTop,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerBottom,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerLeft,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerRight {
  border: none;
}

.dijitBorderContainer .dijitBorderContainer-dijitBorderContainer {
  padding: 0;
  border: none;
}

.dijitBorderContainer .dijitSplitterActive {
  opacity: 0.6;
  filter: alpha(opacity=60);
  /* For IE8 and earlier */
  margin: 0;
  background-color: #aaa;
  background-image: none;
  font-size: 1px;
}

.dijitBorderContainer .dijitSplitContainer-dijitContentPane,
.dijitBorderContainer .dijitBorderContainer-dijitContentPane {
  padding: 5px;
  background-color: #fff;
}

/*
 * Dijit Menu Popup
 *
 * Used in datepickers and calendar widgets
 */
.dijitMenuPopup {
  margin-top: 10px;
}

.dijitMenuPopup .dijitMenu {
  border-radius: 3px;
  display: block;
  margin-top: 0;
  padding: 12px 10px;
  background: #262324;
  width: 200px !important;
}

.dijitMenuPopup .dijitMenu:after {
  position: absolute;
  bottom: 100%;
  left: 20px;
  margin-left: -10px;
  width: 0px;
  height: 0px;
  border: medium solid transparent;
  border-width: 10px;
  border-bottom-color: #262324;
  content: " ";
  pointer-events: none;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem {
  background: transparent;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem .dijitMenuItemLabel {
  border-radius: 3px;
  padding: 10px;
  color: #FFF;
  width: 180px !important;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover {
  background: none;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover .dijitMenuItemLabel {
  background: #820053;
}

.dijitMenuPopup .dijitMenu .tg_newlabelmenuitem .dijitMenuItemLabel {
  font-weight: bold;
}

.dijitMenuPopup .dijitMenu .dijitMenuSeparator td {
  padding: 0;
  border-bottom-width: 3px;
}

.dijitMenuPopup .dijitMenu .dijitMenuSeparator .dijitMenuSeparatorIconCell > div {
  margin: 0;
}

/* ==========================================================================
   Glyphicons

   Glyphicons alternaed to use with Mendix
========================================================================== */
.mx-glyphicon:before {
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  margin-right: 0.4555555em;
  margin-top: -0.2em;
  line-height: inherit;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Groupbox

   Default Mendix Groupboxes
========================================================================== */
.mx-groupbox > .mx-groupbox-header {
  font-weight: bold;
  border-radius: 0;
  margin: 0;
  background: #FFF;
  color: #262324;
  font-size: 16px;
  border-top: 1px solid #C8C9C7;
  text-transform: uppercase;
}

.mx-groupbox > .mx-groupbox-header .mx-groupbox-collapse-icon {
  margin-top: 0.1em;
}

.mx-groupbox > .mx-groupbox-body {
  border-radius: 0;
  padding: 10px 15px;
  background-color: #FFF;
  border: 0px;
}

.mx-groupbox .mx-groupbox-header + .mx-groupbox-body {
  border-radius: 0;
  border-top: none;
}

.mx-groupbox.collapsed > .mx-groupbox-header {
  border-radius: 0;
}

/* ==========================================================================
   Groupbox Callouts

   Default Mendix Groupboxes rendered as (Bootstrap) callouts
========================================================================== */
.mx-groupbox.groupbox-stylingless > .mx-groupbox-header {
  font-weight: bold;
  border-radius: 0;
  margin: 0;
  background: #FFF;
  color: #262324;
  font-size: 16px;
  border-top: 1px solid #C8C9C7;
  text-transform: uppercase;
}

.mx-groupbox.groupbox-stylingless > .mx-groupbox-body {
  border-radius: 0;
  padding: 10px 15px;
  background-color: #f8f8f8;
  border: 0px;
}

.mx-groupbox.groupbox-border-radius > .mx-groupbox-header {
  border-radius: 3px 3px 0 0 !important;
}

.mx-groupbox.groupbox-border-radius > .mx-groupbox-body {
  border-radius: 3px !important;
}

.mx-groupbox.groupbox-border-radius .mx-groupbox-header + .mx-groupbox-body {
  border-radius: 0 0 3px 3px !important;
}

.mx-groupbox.groupbox-borderless > .mx-groupbox-body {
  border: 0 !important;
}

.mx-groupbox.groupbox-border-top > .mx-groupbox-header {
  border-style: none;
  border-top-style: solid !important;
}

.mx-groupbox.groupbox-border-top > .mx-groupbox-body {
  border-style: none;
  border-top-style: solid !important;
}

.mx-groupbox.groupbox-border-top .mx-groupbox-header + .mx-groupbox-body {
  border-top-style: none !important;
}

.mx-groupbox.groupbox-border-right > .mx-groupbox-header {
  border-style: none;
  border-right-style: solid !important;
}

.mx-groupbox.groupbox-border-right > .mx-groupbox-body {
  border-style: none;
  border-right-style: solid !important;
}

.mx-groupbox.groupbox-border-bottom > .mx-groupbox-header {
  border-style: none;
}

.mx-groupbox.groupbox-border-bottom > .mx-groupbox-body {
  border-style: none;
  border-bottom-style: solid !important;
}

.mx-groupbox.groupbox-border-left > .mx-groupbox-header {
  border-style: none;
  border-left-style: solid !important;
}

.mx-groupbox.groupbox-border-left > .mx-groupbox-body {
  border-style: none;
  border-left-style: solid !important;
}

/* ==========================================================================
   Groupbox Colors
========================================================================== */
.mx-groupbox.groupbox-default > .mx-groupbox-header {
  background: #820053;
  color: #fff;
  border-color: #820053;
}

.mx-groupbox.groupbox-default > .mx-groupbox-body {
  border-color: #820053;
}

.mx-groupbox.groupbox-primary > .mx-groupbox-header {
  background: #820053;
  color: #FFF;
  border-color: #820053;
}

.mx-groupbox.groupbox-primary > .mx-groupbox-body {
  border-color: #820053;
}

.mx-groupbox.groupbox-inverse > .mx-groupbox-header {
  background: #262324;
  color: #FFF;
  border-color: #262324;
}

.mx-groupbox.groupbox-inverse > .mx-groupbox-body {
  border-color: #262324;
}

.mx-groupbox.groupbox-success > .mx-groupbox-header {
  background: #5B9717;
  color: #FFF;
  border-color: #5B9717;
}

.mx-groupbox.groupbox-success > .mx-groupbox-body {
  border-color: #5B9717;
}

.mx-groupbox.groupbox-info > .mx-groupbox-header {
  background: #0070A4;
  color: #FFF;
  border-color: #0070A4;
}

.mx-groupbox.groupbox-info > .mx-groupbox-body {
  border-color: #0070A4;
}

.mx-groupbox.groupbox-warning > .mx-groupbox-header {
  background: #FFDD00;
  color: #FFF;
  border-color: #FFDD00;
}

.mx-groupbox.groupbox-warning > .mx-groupbox-body {
  border-color: #FFDD00;
}

.mx-groupbox.groupbox-danger > .mx-groupbox-header {
  background: #DB3332;
  color: #FFF;
  border-color: #DB3332;
}

.mx-groupbox.groupbox-danger > .mx-groupbox-body {
  border-color: #DB3332;
}

.mx-groupbox.groupbox-white > .mx-groupbox-header {
  background: #FFF;
  color: #262324;
  border-color: #FFF;
}

.mx-groupbox.groupbox-white > .mx-groupbox-body {
  border-color: #FFF;
}

.mx-groupbox.groupbox-transparent {
  background-color: transparent;
}

.mx-groupbox.groupbox-transparent > .mx-groupbox-header {
  border-style: none;
  background-color: transparent;
}

.mx-groupbox.groupbox-transparent > .mx-groupbox-body {
  border-style: none;
  background-color: transparent;
}

.mx-groupbox.groupbox-mobilegrey > .mx-groupbox-header {
  background: #f8f8f8;
  color: #262324;
  border-color: #f8f8f8;
}

.mx-groupbox.groupbox-mobilegrey > .mx-groupbox-body {
  border-radius: 0;
  padding: 10px 15px;
  background-color: #f8f8f8;
  border: 0px;
}

/* ==========================================================================
   Groupbox Spacing
========================================================================== */
.mx-groupbox.groupbox-sideless > .mx-groupbox-header {
  padding-right: 0;
  padding-left: 0;
}

.mx-groupbox.groupbox-sideless > .mx-groupbox-body {
  padding-right: 0;
  padding-left: 0;
}

.mx-groupbox.groupbox-bodyless > .mx-groupbox-body {
  padding: 0;
}

/* ==========================================================================
   Groupbox Headers
========================================================================== */
.mx-groupbox.groupbox-h1 > .mx-groupbox-header {
  font-size: 31px;
}

.mx-groupbox.groupbox-h2 > .mx-groupbox-header {
  font-size: 26px;
}

.mx-groupbox.groupbox-h3 > .mx-groupbox-header {
  font-size: 20px;
}

.mx-groupbox.groupbox-h4 > .mx-groupbox-header {
  font-size: 16px;
}

.mx-groupbox.groupbox-h5 > .mx-groupbox-header {
  font-size: 14px;
}

.mx-groupbox.groupbox-h6 > .mx-groupbox-header {
  font-size: 11px;
}

/* ==========================================================================
   Groupbox Callouts
========================================================================== */
.mx-groupbox.groupbox-callout > .mx-groupbox-header,
.mx-groupbox.groupbox-callout > .mx-groupbox-body {
  border: 0;
}

.mx-groupbox.groupbox-callout .mx-groupbox-header + .mx-groupbox-body {
  padding-top: 0;
}

.mx-groupbox.groupbox-callout-info > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-info > .mx-groupbox-body {
  background-color: #cce2ed;
}

.mx-groupbox.groupbox-callout-info > .mx-groupbox-header {
  color: #0070A4;
}

.mx-groupbox.groupbox-callout-success > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-success > .mx-groupbox-body {
  background-color: #6bc508;
}

.mx-groupbox.groupbox-callout-success > .mx-groupbox-header {
  color: #5B9717;
}

.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-warning > .mx-groupbox-body {
  background-color: #fff8cc;
}

.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header {
  color: #FFDD00;
}

.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-danger > .mx-groupbox-body {
  background-color: #E05150;
}

.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header {
  color: #DB3332;
}

/* ==========================================================================
   Helpers

   Default Mendix Helpers
========================================================================== */
.show {
  display: block !important;
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.invisible {
  visibility: hidden;
}

.display-ie8-only:not([attr*='']) {
  display: none;
  padding: 0;
}

.list-nostyle ul {
  padding: 0;
  margin: 0;
}

.list-nostyle ul li {
  list-style-type: none !important;
}

.nowrap,
.nowrap * {
  white-space: nowrap;
}

.form-disabled p {
  background-color: #676566 !important;
}

.padding-bottom-none {
  padding-bottom: 0;
}

/* Vertical Align Elements in a bootstrap row, add class on row */
.v-center {
  display: table;
  width: 100%;
}

.v-center div[class*='col-'] {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

/* Remove padding for Bootstrap columns, add class on row */
.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

/* Render DIV as Table Cells */
.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

/* ==========================================================================
   Images

   Default Mendix Image Widgets
========================================================================== */
img.img-rounded,
.img-rounded img {
  border-radius: 6px;
}

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

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

img.img-auto,
.img-auto img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* ==========================================================================
   Labels

   Default labels combined with Bootstrap labels
========================================================================== */
.label {
  font-weight: bold;
  border-radius: .25em;
  display: inline;
  padding: .2em .6em .3em !important;
  color: #fff;
  vertical-align: baseline;
  text-align: center;
  white-space: nowrap;
  font-size: 100%;
  line-height: 1;
}

.label-default {
  background-color: #D9EAF2;
  color: #262324;
}

.label-primary {
  background-color: #820053;
  color: #FFF;
}

.label-success {
  background-color: #5B9717;
  color: #FFF;
}

.label-info {
  background-color: #0070A4;
  color: #FFF;
}

.label-warning {
  background-color: #FFDD00;
  color: #FFF;
}

.label-danger {
  background-color: #DB3332;
  color: #FFF;
}

/* ==========================================================================
   Listview

   Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template
========================================================================== */
.mx-listview {
  /* Remove widget padding */
  padding: 0;
  /* Clear search button (overrides load more button stying) */
  /* Load more button */
}

.mx-listview .mx-button.mx-listview-clear-button {
  width: auto;
}

.mx-listview > .mx-button {
  width: 100%;
  margin: 10px auto;
}

.mx-listview .mx-listview-list {
  margin: 0;
}

.mx-listview .mx-listview-item {
  background-color: #FFF;
  padding: 10px 0;
}

.mx-listview .mx-listview-item:hover {
  background-color: #FFF;
}

.mx-listview .mx-listview-item.selected {
  background-color: #D9EAF2 !important;
}

.mx-listview .mx-listview-item.selected:hover {
  background-color: #dfc6d6 !important;
}

.mx-listview .mx-listview-item:nth-child(2n+1) {
  background-color: #FFF;
}

.mx-listview .mx-layoutgrid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Listview Hover

   Default Mendix Listview Widget with hover
========================================================================== */
.listview-hover.mx-listview .mx-listview-item:hover, .mx-listview.multilevel-list .mx-listview-item:hover, .listview-hover.mx-listview .mx-listview-item:active, .mx-listview.multilevel-list .mx-listview-item:active {
  background-color: #dfc6d6 !important;
}

/* ==========================================================================
   Listview Lined

   Default Mendix Listview Widget with only border bottom in listview item
========================================================================== */
.listview-lined.mx-listview .mx-listview-item, .mx-listview.multilevel-list .mx-listview-item {
  border-top: 1px solid #C8C9C7;
  border-right: none;
  border-left: none;
}

.listview-lined.mx-listview .mx-listview-item:first-child, .mx-listview.multilevel-list .mx-listview-item:first-child {
  border-radius: 0;
}

.listview-lined.mx-listview .mx-listview-item:last-child, .mx-listview.multilevel-list .mx-listview-item:last-child {
  border-radius: 0;
  border-bottom: 1px solid #C8C9C7;
}

/* ==========================================================================
   Listview Striped

   Default Mendix Listview Widget with striped listview items
========================================================================== */
.listview-striped.mx-listview .mx-listview-item:nth-child(2n+1) {
  background-color: #d5d6d4;
}

/* ==========================================================================
   Listview Seperated

   Default Mendix Listview Widget with listview items seperated
========================================================================== */
.listview-seperated.mx-listview .mx-listview-item {
  border-radius: 4px;
  margin-bottom: 10px;
  border-style: solid;
}

/* ==========================================================================
   Listview Stylingless

   Default Mendix Listview Widget with listview items seperated
========================================================================== */
.listview-stylingless.mx-listview .mx-listview-item {
  background-color: transparent;
  border: 0;
  padding: 0;
  cursor: default;
}

.listview-stylingless.mx-listview .mx-listview-item:hover {
  background-color: transparent;
}

.listview-stylingless.mx-listview .mx-listview-item.selected {
  background-color: transparent !important;
}

.listview-stylingless.mx-listview .mx-listview-item.selected:hover {
  background-color: transparent !important;
}

/* ==========================================================================
   Modals

   Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults
========================================================================== */
.modal-dialog .modal-content {
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  border: 1px solid #C8C9C7;
}

.modal-dialog .modal-content .modal-header {
  border-radius: 0;
  padding: 15px 20px;
  background-color: transparent;
  border-bottom-color: #C8C9C7;
}

.modal-dialog .modal-content .modal-header h4 {
  font-weight: bold;
  color: #262324;
  font-size: 16px;
  margin: 0;
}

.modal-dialog .modal-content .modal-header .close {
  opacity: 1;
  filter: alpha(opacity=100);
  /* For IE8 and earlier */
  color: #262324;
  text-shadow: none;
  margin-top: -3px;
}

.modal-dialog .modal-content .modal-body {
  padding: 20px;
}

.modal-dialog .modal-content .modal-footer {
  padding: 20px;
  margin-top: 0;
  border-style: none;
  text-align: left;
}

/* Default Mendix Window Modal */
.mx-window.mx-window-view .mx-window-body {
  padding: 0;
}

.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-content,
.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-content {
  padding: 20px;
}

.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-controls,
.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-controls {
  padding: 20px;
  border-style: none;
  text-align: left;
  margin: 0;
}

.mx-window .mx-dataview-controls {
  padding-bottom: 0;
}

.mx-window .mx-layoutgrid {
  padding-left: 0;
  padding-right: 0;
}

.profile-phone .digital-signature-layout.mx-window {
  width: 94vw !important;
  height: 80vh !important;
}

.profile-phone .digital-signature-layout.mx-window.mx-window-view .mx-window-body {
  padding: 0;
}

.profile-phone .digital-signature-layout.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-content,
.profile-phone .digital-signature-layout.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-content {
  padding: 20px;
}

.profile-phone .digital-signature-layout.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-controls,
.profile-phone .digital-signature-layout.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-controls {
  padding: 20px;
  border-style: none;
  text-align: left;
  margin: 0;
}

.profile-phone .digital-signature-layout.mx-window .mx-dataview-controls {
  padding-bottom: 0;
}

.profile-phone .digital-signature-layout.mx-window .mx-layoutgrid {
  padding-left: 0;
  padding-right: 0;
}

/* Default Mendix Login Modal */
.mx-login .modal-body {
  padding: 0 15px;
}

.mx-login .modal-content input {
  box-shadow: none;
  padding: 12px 12px;
  height: 56px;
  border: 1px solid #EEE;
  background: #eee;
  font-size: 16px;
}

.mx-login .modal-content input:focus {
  border-color: #66afe9;
}

.mx-login .modal-header,
.mx-login .modal-footer {
  border: 0;
}

.mx-login button {
  font-size: 16px;
}

.mx-login h4 {
  color: #aaa;
  font-weight: bold;
  font-size: 20px;
}

/* ==========================================================================
   Navigation

   Default Mendix Navigation Bar
========================================================================== */
.mx-navbar {
  border-radius: 0;
  margin: 0;
  border-style: none;
  background-color: #EEE;
  /* remove focus */
}

.mx-navbar ul.nav {
  margin: 0;
  /* Navigation item */
  /* When hovering or the dropdown is open */
}

.mx-navbar ul.nav > li.mx-navbar-item > a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  border-radius: 0;
  padding: 15px 20px;
  color: #AAA;
  font-size: 14px;
  vertical-align: middle;
  /* Dropdown arrow */
  /* Dropdown */
}

.mx-navbar ul.nav > li.mx-navbar-item > a .caret {
  border-top-color: #AAA;
  border-bottom-color: #AAA;
}

.mx-navbar ul.nav > li.mx-navbar-item > a:hover, .mx-navbar ul.nav > li.mx-navbar-item > a:focus, .mx-navbar ul.nav > li.mx-navbar-item > a.active {
  background-color: #e4e4e4;
  color: #820053;
  text-decoration: none;
}

.mx-navbar ul.nav > li.mx-navbar-item > a:hover .caret, .mx-navbar ul.nav > li.mx-navbar-item > a:focus .caret, .mx-navbar ul.nav > li.mx-navbar-item > a.active .caret {
  border-top-color: #820053;
  border-bottom-color: #820053;
}

.mx-navbar ul.nav > li.mx-navbar-item > a.active {
  color: #820053;
  background-color: #dadada;
}

.mx-navbar ul.nav > li.mx-navbar-item > a .mx-navbar-submenu:before {
  position: absolute;
  top: -9px;
  left: 15px;
  width: 0;
  height: 0;
  border-width: 0 9px 9px 9px;
  border-style: solid;
  border-color: transparent transparent #e4e4e4 transparent;
  content: "";
  transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
}

.mx-navbar ul.nav > li.mx-navbar-item > a img {
  width: 20px;
  height: auto;
}

.mx-navbar ul.nav > li.mx-navbar-item > a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-navbar ul.nav > .mx-navbar-item > a:hover,
.mx-navbar ul.nav > .mx-navbar-item > a:focus,
.mx-navbar ul.nav > .mx-navbar-item.active a,
.mx-navbar ul.nav > .mx-navbar-item.open > a,
.mx-navbar ul.nav > .mx-navbar-item.open > a:hover,
.mx-navbar ul.nav > .mx-navbar-item.open > a:focus {
  background-color: #e4e4e4;
  color: #820053;
  text-decoration: none;
}

.mx-navbar ul.nav > .mx-navbar-item > a:hover .caret,
.mx-navbar ul.nav > .mx-navbar-item > a:focus .caret,
.mx-navbar ul.nav > .mx-navbar-item.active a .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a:hover .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a:focus .caret {
  border-top-color: #820053;
  border-bottom-color: #820053;
}

.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a {
  background-color: #f8f8f8;
  color: #820053;
}

.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a .caret {
  border-top-color: #820053;
  border-bottom-color: #820053;
}

@media (max-width: 768px) {
  .mx-navbar ul.nav > li.mx-navbar-item > a {
    padding: 10px 20px;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu {
    background-color: #f8f8f8;
    border-radius: 0;
    padding: 0;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a {
    font-family: "Open Sans", sans-serif;
    font-weight: normal;
    padding: 10px 20px;
    border-radius: 0;
    color: #AAA;
    font-size: 12px;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:hover, .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:focus {
    color: #820053;
    background-color: #f8f8f8;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a.active {
    color: #820053;
    background-color: #f8f8f8;
  }
}

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

/* ==========================================================================
   Navigation

   Default Mendix Navigation Tree
========================================================================== */
.mx-navigationtree {
  background-color: #820053;
  /* Every navigation item */
  /* Sub navigation item specific */
  /* remove focus */
}

.mx-navigationtree .navbar-inner ul {
  margin: 0;
  padding-left: 0;
}

.mx-navigationtree .navbar-inner ul li {
  padding: 0;
  border-style: none;
}

.mx-navigationtree .navbar-inner ul li a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  display: block;
  padding: 15px 20px 15px 16px;
  border-bottom: 1px solid #960060;
  border-radius: 0;
  color: #FFF;
  text-shadow: none;
  font-size: 14px;
  vertical-align: middle;
  background-color: #820053;
  border-left: 4px solid transparent;
}

.mx-navigationtree .navbar-inner ul li a .caret {
  border-top-color: #FFF;
  border-bottom-color: #FFF;
}

.mx-navigationtree .navbar-inner ul li a img {
  margin-right: 4px;
  width: 20px;
  height: auto;
}

.mx-navigationtree .navbar-inner ul li a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-navigationtree .navbar-inner ul li a:hover,
.mx-navigationtree .navbar-inner ul li a:focus,
.mx-navigationtree .navbar-inner ul li a.active {
  background-color: #960060;
  color: #FFF;
  text-decoration: none;
}

.mx-navigationtree .navbar-inner ul li a:hover .caret,
.mx-navigationtree .navbar-inner ul li a:focus .caret,
.mx-navigationtree .navbar-inner ul li a.active .caret {
  border-top-color: #FFF;
  border-bottom-color: #FFF;
}

.mx-navigationtree .navbar-inner ul li a.active {
  border-left-color: #FFF;
  color: #FFF;
  background-color: #ab006d;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul {
  margin: 0;
  padding-left: 0;
  background-color: #6e0046;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li {
  margin: 0;
  padding: 0;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  color: #AAA;
  font-size: 12px;
  background-color: #6e0046;
  padding: 12px 20px 12px 25px;
  border: 0;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a:hover, .mx-navigationtree li.mx-navigationtree-has-items > ul li a:focus, .mx-navigationtree li.mx-navigationtree-has-items > ul li a.active {
  color: #820053;
  background-color: #6e0046;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a.active {
  border: 0;
  color: #820053;
  background-color: #6e0046;
}

.mx-navigationtree:focus {
  outline: 0;
}

/* Content Centerd text and icons */
.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a {
  text-align: center;
}

.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a .glyphicon {
  display: block;
  margin-bottom: 5px;
}

/* Content Centerd icons only */
.mx-navigationtree.nav-content-center .navbar-inner ul a {
  text-align: center;
}

/* ==========================================================================
   Navigation

   Default Mendix Simple Menu Bar
========================================================================== */
.mx-menubar {
  padding: 0;
  background-color: #820053;
  /* Two menu items */
  /* Three menu items */
  /* Four menu items */
  /* Five menu items */
  /* remove focus */
}

.mx-menubar ul.mx-menubar-list {
  width: 100%;
  min-height: 50px;
  table-layout: fixed;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item {
  margin: 0;
  width: 100%;
  display: inline-block;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  border-radius: 0;
  color: #FFF;
  font-size: 12px;
  padding: 0 8px;
  text-align: center;
  line-height: 50px;
  overflow: hidden;
  display: block;
  vertical-align: middle;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a {
  background-color: #960060;
  color: #FFF;
  text-decoration: none;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a {
  color: #FFF;
  background-color: #ab006d;
}

.mx-menubar.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item {
  width: 50%;
}

.mx-menubar.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item {
  width: 33.33333333%;
}

.mx-menubar.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item {
  width: 25%;
}

.mx-menubar.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item {
  width: 20%;
}

.mx-menubar:focus {
  outline: 0;
}

/* text and icons centerd */
.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a {
  line-height: normal;
  padding: 8px 8px 6px 8px;
}

.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  display: block;
  font-size: 18px;
  margin-bottom: 4px;
}

/* Vertical variation specifics */
.mx-menubar-vertical {
  background-color: #EEE;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a {
  color: #AAA;
  font-size: 14px;
  border-bottom: 1px solid #e4e4e4;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:hover, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:focus, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active {
  background-color: #e4e4e4;
  color: #820053;
  text-decoration: none;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active {
  color: #820053;
  background-color: #dadada;
}

/* Horizontal variation specifics */
.mx-menubar-horizontal ul.mx-menubar-list li.mx-menubar-item {
  width: auto;
}

/* ==========================================================================
   Navigation

   Default Mendix Navigation Tree Mobile
========================================================================== */
.mx-navigationtree-mobile {
  background-color: #252c36;
  /* Every navigation item */
  /* Sub navigation item specific */
  /* remove focus */
}

.mx-navigationtree-mobile .navbar-inner ul {
  margin: 0;
  padding-left: 0;
}

.mx-navigationtree-mobile .navbar-inner ul li {
  padding: 0;
  border-style: none;
}

.mx-navigationtree-mobile .navbar-inner ul li a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  display: block;
  padding: 15px 20px 15px 16px;
  border-bottom: 1px solid #252c36;
  border-radius: 0;
  color: #f5f5f5 !important;
  text-shadow: none;
  font-size: 15px;
  vertical-align: middle;
  background-color: #252c36;
  border-left: 4px solid transparent;
}

.mx-navigationtree-mobile .navbar-inner ul li a .caret {
  border-top-color: #FFF;
  border-bottom-color: #FFF;
}

.mx-navigationtree-mobile .navbar-inner ul li a img {
  margin-right: 4px;
  width: 20px;
  height: auto;
}

.mx-navigationtree-mobile .navbar-inner ul li a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-navigationtree-mobile .navbar-inner ul li a:hover,
.mx-navigationtree-mobile .navbar-inner ul li a:focus,
.mx-navigationtree-mobile .navbar-inner ul li a.active {
  background-color: #9d9d9d38;
  color: #FFF;
  text-decoration: none;
}

.mx-navigationtree-mobile .navbar-inner ul li a:hover .caret,
.mx-navigationtree-mobile .navbar-inner ul li a:focus .caret,
.mx-navigationtree-mobile .navbar-inner ul li a.active .caret {
  border-top-color: #FFF;
  border-bottom-color: #FFF;
}

.mx-navigationtree-mobile .navbar-inner ul li a.active {
  border-left-color: #FFF;
  color: #FFF;
  background-color: #9d9d9d38;
}

.mx-navigationtree-mobile li.mx-navigationtree-has-items > ul {
  margin: 0;
  padding-left: 0;
  background-color: #252c36;
}

.mx-navigationtree-mobile li.mx-navigationtree-has-items > ul li {
  margin: 0;
  padding: 0;
}

.mx-navigationtree-mobile li.mx-navigationtree-has-items > ul li a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  color: #fff !important;
  font-size: 13px;
  background-color: #252c36;
  padding: 12px 20px 12px 25px;
  border: 0;
}

.mx-navigationtree-mobile:focus {
  outline: 0;
}

/* ==========================================================================
   Navigation

   Default Mendix Simple Menu Bar Mobile
========================================================================== */
.mx-menubar-mobile {
  padding: 0;
  background-color: #777 !important;
  /* Two menu items */
  /* Three menu items */
  /* Four menu items */
  /* Five menu items */
  /* remove focus */
}

.mx-menubar-mobile ul.mx-menubar-list {
  width: 100%;
  min-height: 50px;
  table-layout: fixed;
}

.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item {
  margin: 0;
  width: 100%;
  display: inline-block;
}

.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  border-radius: 0;
  color: #FFF;
  font-size: 12px;
  padding: 0 8px;
  text-align: center;
  line-height: 50px;
  overflow: hidden;
  display: block;
  vertical-align: middle;
}

.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item a:focus,
.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item:hover a,
.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item:focus a,
.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item.active a {
  background-color: #777;
  color: #FFF;
  text-decoration: none;
}

.mx-menubar-mobile ul.mx-menubar-list li.mx-menubar-item.active a {
  color: #FFF;
  background-color: #777;
}

.mx-menubar-mobile.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item {
  width: 50%;
}

.mx-menubar-mobile.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item {
  width: 33.33333333%;
}

.mx-menubar-mobile.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item {
  width: 25%;
}

.mx-menubar-mobile.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item {
  width: 20%;
}

.mx-menubar-mobile:focus {
  outline: 0;
}

/* Vertical variation specifics */
.mx-menubar-vertical-mobile {
  background-color: #EEE;
}

.mx-menubar-vertical-mobile ul.mx-menubar-list li.mx-menubar-item a {
  color: #AAA;
  font-size: 14px;
  border-bottom: 1px solid #e4e4e4;
}

.mx-menubar-vertical-mobile ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar-vertical-mobile ul.mx-menubar-list li.mx-menubar-item a:focus, .mx-menubar-vertical-mobile ul.mx-menubar-list li.mx-menubar-item a.active {
  background-color: #EEE;
  color: #AAA;
  text-decoration: none;
}

.mx-menubar-vertical-mobile ul.mx-menubar-list li.mx-menubar-item a.active {
  color: #820053;
  background-color: #dadada;
}

/* ==========================================================================
   Navigation List

   Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item
========================================================================== */
.mx-navigationlist {
  padding: 0;
  margin: 0;
}

.mx-navigationlist .mx-navigationlist-item {
  padding: 15px 20px 15px 16px;
  border-left: 4px solid transparent;
  border-bottom: 1px solid #960060;
  border-top: none;
  border-radius: 0;
  background-color: #820053;
}

.mx-navigationlist .mx-navigationlist-item label {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  color: #FFF;
  font-size: 14px;
}

.mx-navigationlist .mx-navigationlist-item:hover, .mx-navigationlist .mx-navigationlist-item:focus, .mx-navigationlist .mx-navigationlist-item.active {
  background-color: #960060;
}

.mx-navigationlist .mx-navigationlist-item:hover label, .mx-navigationlist .mx-navigationlist-item:focus label, .mx-navigationlist .mx-navigationlist-item.active label {
  color: #FFF;
}

.mx-navigationlist .mx-navigationlist-item.active {
  border-left-color: #FFF;
  color: #FFF;
  background-color: #ab006d;
}

/* ==========================================================================
   Tab Container

   Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. 
   This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen
========================================================================== */
.mx-tabcontainer .mx-tabcontainer-tabs {
  margin-bottom: 20px;
  border-color: #C8C9C7;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  margin-right: 0;
  color: #666666;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus {
  background-color: #d5d6d4;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a,
.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover,
.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus {
  border: 1px solid #C8C9C7;
  border-bottom-color: transparent;
  background-color: #FFF;
  color: #000;
}

/* ==========================================================================
   Tab Container Pills

   Default Mendix Tab Container Widget rendered as Pills
========================================================================== */
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs {
  border: 0;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  border-radius: 4px;
  margin-right: 2px;
  border: 1px solid #C8C9C7;
  color: #666666;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus {
  background-color: #d5d6d4;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a,
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover,
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus {
  background-color: #820053;
  color: #FFF;
  border-color: #820053;
}

/* ==========================================================================
   Tab Container Lined

   Default Mendix Tab Container Widget rendered with tabs rendered without background
========================================================================== */
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs {
  border-width: 3px;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li {
  margin-bottom: -3px;
  margin-right: 30px;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a {
  padding: 10px 0;
  border: 0;
  border-style: solid;
  border-color: transparent;
  border-bottom-width: 3px;
  border-radius: 0;
  color: #666666;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:hover, .tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:focus {
  border: 0;
  border-color: transparent;
  background: transparent;
  color: #666666;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a,
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:hover,
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:focus {
  border: 0;
  border-bottom: 3px solid #820053;
  background-color: transparent;
  color: #820053;
}

/* ==========================================================================
   Tab Container Justified

   Default Mendix Tab Container Widget rendered as justified
========================================================================== */
.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs {
  width: 100%;
  border-bottom: 0;
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li {
  display: table-cell;
  float: none;
  margin: 0;
  width: 1%;
}

@media (max-width: 768px) {
  .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li {
    display: block;
    width: 100%;
  }
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  border-bottom: 1px solid #C8C9C7;
  text-align: center;
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a {
  border-radius: 4px;
  border-bottom-color: transparent;
}

@media (max-width: 768px) {
  .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a {
    border-bottom-color: #C8C9C7;
  }
}

/* ==========================================================================
   Tab Container Bordered

   Default Mendix Tab Container Widget rendered with borders
========================================================================== */
.tab-bordered.mx-tabcontainer .mx-tabcontainer-tabs {
  margin: 0;
}

.tab-bordered.mx-tabcontainer .mx-tabcontainer-content {
  padding: 10px;
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #C8C9C7;
  background-color: #FFF;
}

/* ==========================================================================
   Tables

   Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets
========================================================================== */
th {
  font-weight: bold;
}

table.mx-table > tbody {
  /* Table row */
}

table.mx-table > tbody > tr {
  /* Table header */
  /* Table cells */
}

table.mx-table > tbody > tr > th {
  padding: 8px 8px 8px 8px;
}

table.mx-table > tbody > tr > th * {
  font-weight: bold;
  color: #9D9D9D;
  font-weight: normal;
}

table.mx-table > tbody > tr > th > label {
  padding-top: 7px;
  padding-bottom: 6px;
}

table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

table.mx-table > tbody > tr > td > div > label,
table.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label {
  padding-top: 7px;
  padding-bottom: 6px;
}

/* Default Mendix Table Widget inside TemplateGrid */
.mx-templategrid table.mx-table > tbody > tr > th,
.mx-templategrid table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

/* Default Mendix Table Widget inside Listview */
.mx-list table.mx-table > tbody > tr > th,
.mx-list table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

/* ==========================================================================
   Tables Lined
	
   Default Mendix Table Widget with borders top and bottom
========================================================================== */
table.table-lined.mx-table > tbody > tr > th,
table.table-lined.mx-table > tbody > tr > td {
  border-width: 1px 0;
  border-style: solid;
  border-color: #C8C9C7;
}

/* ==========================================================================
   Tables Bordered
	
   Default Mendix Table Widget with borders
========================================================================== */
table.table-bordered.mx-table > tbody > tr > th,
table.table-bordered.mx-table > tbody > tr > td {
  border-width: 1px;
  border-style: solid;
  border-color: #C8C9C7;
}

/* ==========================================================================
   Tables Compact
	
   Default Mendix Table Widget with less spacing in table cells
========================================================================== */
table.table-compact.mx-table > tbody > tr > th,
table.table-compact.mx-table > tbody > tr > td {
  padding-top: 2px;
  padding-bottom: 2px;
}

/* ==========================================================================
   Tables Sideless
	
   Default Mendix Table Widget inside TemplateGrid
========================================================================== */
table.table-sideless.mx-table > tbody > tr > td,
table.table-sideless.mx-table > tbody > tr > th {
  padding-right: 0;
}

table.table-sideless.mx-table > tbody > tr > th:first-child,
table.table-sideless.mx-table > tbody > tr > td:first-child {
  padding-left: 0;
}

/* ==========================================================================
   Tables Spaceless
	
   Default Mendix Table Widget without padding
========================================================================== */
table.table-spaceless.mx-table > tbody > tr > th,
table.table-spaceless.mx-table > tbody > tr > td {
  padding: 0;
}

/* ==========================================================================
   Tables Vertical
	
   Default Mendix Table Widget vertical aligned 
========================================================================== */
table.table-vertical.mx-table > tbody > tr > th {
  padding-bottom: 0;
}

table.table-vertical.mx-table > tbody > tr > th > label {
  padding: 0;
}

table.table-vertical.mx-table > tbody > tr > th > div > label {
  padding: 0;
}

/* ==========================================================================
   Tables Vertical Middle
	
   Default Mendix Table Widget vertical aligned middle
========================================================================== */
table.table-align-vertical-middle.mx-table > tbody > tr > th,
table.table-align-vertical-middle.mx-table > tbody > tr > td {
  vertical-align: middle;
}

/* ==========================================================================
   Tables Compact
	
   Default Mendix Table Widget without padding and margin
========================================================================== */
table.table-label-compact.mx-table > tbody > tr > th > label,
table.table-label-compact.mx-table > tbody > tr > td > label {
  padding: 0;
  margin: 0;
}

table.table-label-compact.mx-table > tbody > tr > th > div > label,
table.table-label-compact.mx-table > tbody > tr > th .mx-referenceselector-input-wrapper label,
table.table-label-compact.mx-table > tbody > tr > td > div > label,
table.table-label-compact.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label {
  padding: 0;
  margin: 0;
}

html body .mx-page table.mx-table th.nopadding,
html body .mx-page table.mx-table td.nopadding {
  padding: 0;
}

/* ==========================================================================
   Tables Row Sizes
========================================================================== */
/*  Small rows
	========================================================================== */
table.table-row-s.mx-table > tbody > tr > th,
table.table-row-s.mx-table > tbody > tr > td {
  height: 55px;
}

/*  Medium rows
	========================================================================== */
table.table-row-m.mx-table > tbody > tr > th,
table.table-row-m.mx-table > tbody > tr > td {
  height: 70px;
}

/*  Large rows
	========================================================================== */
table.table-row-l.mx-table > tbody > tr > th,
table.table-row-l.mx-table > tbody > tr > td {
  height: 120px;
}

/*	Table Fixed
   ========================================================================== */
table.table-fixed {
  table-layout: fixed;
}

/* ==========================================================================
   Templategrid

   Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows
========================================================================== */
.mx-templategrid .mx-templategrid-content-wrapper {
  table-layout: fixed;
}

.mx-templategrid .mx-templategrid-item {
  background-color: #FFF;
  padding: 8px 8px 8px 8px;
  cursor: default;
}

.mx-templategrid .mx-templategrid-item:hover {
  background-color: transparent;
}

.mx-templategrid .mx-templategrid-item.selected {
  background-color: #D9EAF2 !important;
}

.mx-templategrid .mx-layoutgrid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Templategrid Hover

   Default Mendix Templategrid Widget Hover
========================================================================== */
.templategrid-hover.mx-templategrid .mx-templategrid-item:hover {
  background-color: #dfc6d6 !important;
}

.templategrid-hover.mx-templategrid .mx-templategrid-item.selected {
  background-color: #D9EAF2 !important;
}

.templategrid-hover.mx-templategrid .mx-templategrid-item.selected:hover {
  background-color: #dfc6d6 !important;
}

/* ==========================================================================
   Templategrid Selectable

   Default Mendix Templategrid Widget with selection enabled
========================================================================== */
.templategrid-selectable.mx-templategrid .mx-templategrid-item {
  cursor: pointer;
}

/* ==========================================================================
   Templategrid Lined

   Default Mendix Templategrid Widget with borders between items
========================================================================== */
.templategrid-lined.mx-templategrid .mx-grid-content {
  border-top-style: solid;
  border-top-color: #C8C9C7;
  border-top-width: 2px;
}

.templategrid-lined.mx-templategrid .mx-templategrid-item {
  border-left: none;
  border-right: none;
  border-top: 1px solid #C8C9C7;
  border-bottom: 1px solid #C8C9C7;
}

/* ==========================================================================
   Templategrid Striped

  Default Mendix Templategrid Widget with background between items
========================================================================== */
.templategrid-striped.mx-templategrid .mx-templategrid-row:nth-child(odd) .mx-templategrid-item {
  background-color: #f9f9f9;
}

/* ==========================================================================
   Templategrid Stylingless

  Default Mendix Templategrid Widget without styling
========================================================================== */
.templategrid-stylingless.mx-templategrid .mx-templategrid-item {
  background-color: transparent;
  border: 0;
  padding: 0;
  cursor: default;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item:hover {
  background-color: transparent;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected {
  background-color: transparent !important;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected:hover {
  background-color: transparent !important;
}

/* ==========================================================================
   Templategrid Transparent

  Default Mendix Templategrid Widget without background and padding in items
========================================================================== */
.templategrid-transparent.mx-templategrid .mx-templategrid-item {
  background-color: transparent;
  border: 0;
}

/* ==========================================================================
   Typography
========================================================================== */
p {
  line-height: 1.2;
}

label {
  padding-top: 0;
}

.mx-title {
  font-weight: normal;
  color: #262324;
  font-size: 31px;
}

h1, .h1, .h1 > * {
  font-size: 31px;
}

h2, .h2, .h2 > * {
  font-size: 26px;
}

h3, .h3, .h3 > * {
  font-size: 20px;
}

h4, .h4, .h4 > * {
  font-size: 16px;
}

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

h6, .h6, .h6 > * {
  font-size: 11px;
}

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

/* Text Weights */
.text-light, .text-light > *, .text-light label {
  font-weight: 100;
}

.text-normal, .text-normal > *, .text-normal label {
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
}

.text-semibold, .text-semibold > *, .text-semibold label {
  font-weight: 500;
}

.text-bold, .text-bold > *, .text-bold label {
  font-weight: bold;
}

/* ==========================================================================
   Text Utility Classes
========================================================================== */
.text-spacing {
  margin-top: 1em;
  margin-bottom: 1em;
}

.text-lined {
  padding-bottom: 10px;
  border-bottom: 1px solid #C8C9C7;
}

/* Text Break */
.text-break {
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/* ==========================================================================
   Typography

   Text Colors
========================================================================== */
.text-gray-darker {
  color: #464445;
}

.text-gray-dark {
  color: #676566;
}

.text-gray {
  color: #9D9D9D;
}

.text-gray-light {
  color: #C8C9C7;
}

.text-gray-primary {
  color: #DEDFDD;
}

.text-gray-lighter {
  color: #EEE;
}

.text-default, .text-default:hover {
  color: #000;
}

.text-primary, .text-primary:hover {
  color: #820053;
}

.text-info, .text-info:hover {
  color: #0070A4;
}

.text-success, .text-success:hover {
  color: #5B9717;
}

.text-warning, .text-warning:hover {
  color: #FFDD00;
}

.text-danger, .text-danger:hover {
  color: #DB3332;
}

.text-black {
  color: #000;
}

.text-black-secondary {
  color: #666666;
}

.text-black-disabled {
  color: rgba(0, 0, 0, 0.26);
}

.text-black-hint {
  color: rgba(0, 0, 0, 0.26);
}

.text-white {
  color: #FFF;
}

.text-white-secondary {
  color: rgba(255, 255, 255, 0.7);
}

.text-white-disabled {
  color: rgba(255, 255, 255, 0.3);
}

.text-white-hint {
  color: rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   Special styles for presenting Page Template Dashboard
========================================================================== */
.page-dashboard {
  background-color: #EFF4F7;
}

.page-dashboard .chartjs-node {
  margin-top: 30px;
}

.page-dashboard-default .card {
  min-height: 345px;
}

.page-dashboard-mytasks .card {
  min-height: 320px;
}

/* ==========================================================================
   Special styles for presenting Page Template Form
========================================================================== */
.page-form {
  /* Styles here */
}

.page-form-default {
  /* Styles here */
}

.page-form-imagemap {
  /* Styles here */
}

.page-form-tabs {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Login
========================================================================== */
.page-login-users .profilecard:hover, .page-login-users .profilecard:focus {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

.page-login-users .mx-navigationlist .mx-navigationlist-item {
  padding: 0;
  border-style: none;
  background-color: transparent;
}

/* ==========================================================================
   Special styles for presenting Page Template Master Detail
========================================================================== */
.page-masterdetail {
  /* Styles here */
}

.page-masterdetail-basic {
  /* Styles here */
}

.page-masterdetail-big {
  /* Styles here */
}

.page-masterdetail-imagemap {
  /* Styles here */
}

.page-masterdetail-multilevel {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tabs
========================================================================== */
.page-tabs {
  /* Styles here */
}

.page-tabs .tabsfullwidth {
  background-color: #EFF4F7;
}

.page-tabs-default {
  /* Styles here */
}

.page-tabs-fullwidth {
  /* Styles here */
}

.page-tabs-fullwidth .pageheader.pageheader-fullwidth {
  border-style: none;
}

/* ==========================================================================
   Special styles for presenting Page Template Website
========================================================================== */
.page-website {
  /* Styles here */
}

.page-website-actions {
  /* Styles here */
}

.page-website-items {
  /* Styles here */
}

.page-website-items-detail {
  /* Styles here */
}

.page-website-presentation {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Wizard
========================================================================== */
.page-wizard {
  /* Styles here */
}

.page-wizard-default {
  /* Styles here */
}

.page-wizard-titlecentered {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone
========================================================================== */
.phone-page-dashboard {
  background-color: #EFF4F7;
}

.phone-page-dashboard-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Form
========================================================================== */
.phone-page-form {
  /* Styles here */
}

.phone-page-form-default {
  /* Styles here */
}

.phone-page-form-edit {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Listview
========================================================================== */
.phone-page-listview {
  /* Styles here */
}

.phone-page-listview-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Wizard
========================================================================== */
.phone-page-wizard {
  /* Styles here */
}

.phone-page-wizard-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Dashboard
========================================================================== */
.tablet-page-dashboard {
  background-color: #EFF4F7;
}

.tablet-page-dashboard-default {
  /* Styles here */
}

.tablet-page-dashboard-big {
  /* Styles here */
}

.tablet-page-dashboard-mytasks {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Form
========================================================================== */
.tablet-page-form {
  /* Styles here */
}

.tablet-page-form-default {
  /* Styles here */
}

.tablet-page-form-edit {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Master Detail
========================================================================== */
.tablet-page-masterdetail {
  /* Styles here */
}

.tablet-page-masterdetail-default {
  /* Styles here */
}

.tablet-page-masterdetail-leftright {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Wizard
========================================================================== */
.tablet-page-wizard {
  /* Styles here */
}

.tablet-page-wizard-default {
  /* Styles here */
}

/* ==========================================================================
   Action Block
========================================================================== */
.actionblock {
  font-weight: bold;
  padding: 20px 0;
  margin: 10px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
}

.actionblock span {
  display: block;
  margin: auto auto 20px auto;
  font-size: 72px;
}

.actionblock img {
  height: 72px;
  display: block;
  margin: auto auto 20px auto;
}

/* ==========================================================================
   Card
========================================================================== */
.card {
  padding: 20px;
  margin: 0 0 30px 0;
  border: 1px solid #C8C9C7;
  background-color: #FFF;
  border-radius: 3px;
}

@media only screen and (max-width: 1024px) {
  .card {
    padding: 10px;
  }
}

.card-maps {
  padding: 0;
}

/* Title + button + border below title and button */
.card-header-action {
  overflow: hidden;
  margin-bottom: 20px;
}

.card-header-action .card-title {
  float: left;
}

.card-header-action .btn {
  float: right;
}

.card-details {
  padding: 10px;
}

.card-title {
  margin-top: 0;
}

@media only screen and (max-width: 1024px) {
  .card-title {
    font-size: 18px;
  }
}

.card-subtitle {
  font-size: 14px;
  color: #666666;
  margin-bottom: 10px;
}

.card-annotation {
  text-transform: uppercase;
  letter-spacing: 8px;
  padding-bottom: 10px;
}

.card-icon {
  border-radius: 50%;
  margin: 30px auto;
  width: 125px;
  height: 125px;
}

@media (max-width: 1024px) {
  .card-icon {
    width: 75px;
    height: 75px;
  }
}

.card-icon .glyphicon {
  font-size: 60px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 1024px) {
  .card-icon .glyphicon {
    font-size: 28px;
  }
}

.card-image {
  margin: 30px auto;
}

.card-user-image {
  border: 4px solid #FFF;
}

.card-link {
  font-size: 12px;
}

/* ==========================================================================
   Dashboard Card
========================================================================== */
.dashboardcard {
  padding: 20px;
  margin: 0 0 40px 0;
  border: 1px solid #C8C9C7;
  background-color: #FFF;
  border-radius: 3px;
}

.dashboardcard-title {
  margin-top: 0;
}

.dashboardcard-subtitle {
  font-size: 14px;
  color: #666666;
  margin-bottom: 10px;
}

.dashboardcard-link {
  font-size: 12px;
}

@media only screen and (max-width: 960px) {
  .dashboardcard {
    padding: 10px;
    margin: 0 0 20px 0;
  }
}

/* ==========================================================================
   Dashboard Stats

   Used in dashboard
========================================================================== */
.dashboardstat {
  margin: 30px 0;
}

@media (max-width: 1024px) {
  .dashboardstat {
    margin: 10px 0;
  }
}

.dashboardstat .dashboardstat-left,
.dashboardstat .dashboardstat-right {
  display: table-cell;
  vertical-align: top;
}

.dashboardstat-icon {
  font-size: 30px;
  padding: 8px 14px;
  margin: 5px 10px 0 0;
}

@media (max-width: 1024px) {
  .dashboardstat-icon {
    font-size: 20px;
  }
}

.dashboardstat-title {
  font-size: 18px;
  color: #C8C9C7;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .dashboardstat-title {
    font-size: 13px;
  }
}

.dashboardstat-number {
  font-size: 72px;
  line-height: 1em;
  color: #000;
}

@media (max-width: 1024px) {
  .dashboardstat-number {
    font-size: 30px;
  }
}

/* ==========================================================================
   Form

   To extend the default Bootstrap form
========================================================================== */
.form-footer {
  border-top: 1px solid #EEE;
  padding: 10px 0;
  margin-top: 20px;
}

/* ==========================================================================
   Form Block

   Used in default forms
========================================================================== */
.formblock {
  margin-bottom: 20px;
  margin-top: 20px;
}

.formblock-header {
  color: #820053;
  border-bottom: 1px solid #C8C9C7;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

/* ==========================================================================
   Master Detail Listview
========================================================================== */
.masterdetail-listview {
  background-color: #EFF4F7;
}

.masterdetail-listview .mx-listview {
  height: 100%;
  margin: 0;
}

.masterdetail-listview .mx-listview .mx-listview-item {
  background-color: transparent;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected {
  color: #FFF;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected .mx-link {
  color: #FFF;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected:hover, .masterdetail-listview .mx-listview .mx-listview-item.selected:active {
  background-color: #D9EAF2 !important;
}

/* ==========================================================================
   Multilevel
========================================================================== */
.multilevel-tabs .mx-tabcontainer-tabs {
  margin-bottom: 10px;
}

.multilevel-list .mx-listview-list {
  border-left: 1px solid #EEE;
  border-right: 1px solid #EEE;
}

.multilevel-list .mx-listview-list .mx-listview-item {
  padding: 10px;
  border-color: #EEE;
  border-left: 4px solid #EEE;
  border-right: none;
  border-radius: 0;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.multilevel-list .mx-listview-list .mx-listview-item:first-child {
  border-radius: 0;
}

.multilevel-list .mx-listview-list .mx-listview-item:last-child {
  border-radius: 0;
}

.multilevel-list .mx-listview-list .mx-listview-item.selected {
  border-left: 4px solid #820053;
  background-color: #EEE !important;
}

.multilevel-title label {
  font-weight: bold;
}

.multilevel-subtitle {
  color: #9D9D9D;
}

.multilevel-message-header {
  color: #9D9D9D;
  margin-bottom: 10px;
  border-bottom: 1px solid #DEDFDD;
}

.multilevel-message-header-title {
  font-size: 26px;
}

.multilevel-message-header-subtitle {
  font-size: 16px;
  margin-bottom: 10px;
}

.multilevel-message-text {
  margin: 10px 0;
}

.multilevel-grid .mx-datagrid-head-table th {
  border-style: none;
}

.multilevel-grid .mx-datagrid-body-table {
  border-left: 1px solid #C8C9C7;
  border-right: 1px solid #C8C9C7;
  border-bottom: 1px solid #C8C9C7;
}

.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border-color: #EEE;
  border-left: 4px solid #EEE;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected td,
.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  border-left: 4px solid #820053;
  background-color: #EEE !important;
}

/* ==========================================================================
   Page Header
========================================================================== */
.pageheader {
  border-bottom: 2px solid #C8C9C7;
}

@media (max-width: 767px) {
  .pageheader {
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .pageheader {
    margin-bottom: 20px;
  }
}

@media (min-width: 1024px) {
  .pageheader {
    margin-bottom: 35px;
  }
}

.pageheader.pageheader-fullwidth {
  background-color: #EFF4F7;
  border-bottom: 1px solid #C8C9C7;
  margin-bottom: 0;
}

.pageheader-title {
  margin-bottom: 0;
  margin-top: 0;
}

.pageheader-subtitle {
  color: #666666;
}

/* ==========================================================================
   Section Header
========================================================================== */
.sectionheader {
  margin-bottom: 20px;
  border-bottom: 1px solid #C8C9C7;
  padding-bottom: 10px;
}

.sectionheader-title {
  margin-top: 0;
  margin-bottom: 10px;
}

.sectionheader-subtitle {
  color: #666666;
  margin-bottom: 10px;
}

.sectionheader-avatar {
  padding: 4px;
  border: 2px solid #C8C9C7;
  background-color: #FFF;
}

/* ==========================================================================
   Profile Card
========================================================================== */
.profilecard {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}

.profilecard .profilecard-contentwrapper {
  width: auto;
}

.profilecard .profilecard-imgwrapper {
  width: 150px;
}

.profilecard .profilecard-actionwrapper {
  width: auto;
  text-align: right;
}

.profilecard .profilecard-contentwrapper,
.profilecard .profilecard-imgwrapper,
.profilecard .profilecard-actionwrapper {
  display: table-cell;
  vertical-align: middle;
}

.profilecard-btn {
  display: inline-block;
  width: 150px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.profilecard-img {
  border-radius: 50%;
  margin-right: 40px;
  padding: 4px;
  border: 2px solid #C8C9C7;
  background-color: #FFF;
}

.profilecard-title {
  font-size: 20px;
  margin-bottom: 0;
  margin-top: 0;
}

.profilecard-subtitle {
  color: #666666;
}

.pageheader .profilecard {
  margin-bottom: 0;
}

/* ==========================================================================
   Profile Header
========================================================================== */
.profileheader {
  margin: 20px 0;
}

.profileheader .profileheader-content {
  padding: 0 10px;
}

.profileheader .profileheader-image {
  display: block;
  margin: auto auto 10px auto;
}

/* ==========================================================================
   Products

   Used in Website page templates
========================================================================== */
.product-header {
  padding: 25px 0;
  border-bottom: 1px solid #C8C9C7;
}

.product-title {
  margin-bottom: 0;
  margin-top: 0;
}

.product-subtitle {
  color: #666666;
}

.product-btn {
  margin-top: 10px;
}

/* ==========================================================================
   Sidebar Header
========================================================================== */
.sidebarheader {
  padding: 10px 20px;
}

.sidebarheader-img {
  margin-bottom: 10px;
}

.sidebarheader-title {
  color: #FFF;
}

.sidebarheader-subtitle {
  color: #666666;
}

/* ==========================================================================
   Tabs full width
========================================================================== */
.tabsfullwidth {
  background-color: #EFF4F7;
}

.tabsfullwidth > .mx-tabcontainer-tabs {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .tabsfullwidth > .mx-tabcontainer-tabs {
    padding: 0 40px;
  }
}

.tabsfullwidth > .mx-tabcontainer-content {
  background-color: #FFF;
}

/* ==========================================================================
   Wizard

   Styling for Wizard (Steps/Numbers)
========================================================================== */
.wizard {
  position: relative;
  margin: auto;
}

.wizard .row:before {
  left: 0;
  top: 40px;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 100%;
  height: 1px;
  background-color: #ccc;
}

.wizard .row {
  position: relative;
  width: 100%;
  display: table;
  margin: auto;
}

.wizard-step {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  float: none;
}

.wizard-step-number {
  font-weight: bold;
  border-radius: 50%;
  font-size: 20px;
  width: 72px;
  height: 72px;
  color: #DEDFDD;
  border: 2px solid #C8C9C7;
  background-color: #FFF;
  line-height: 3.5em;
  padding: 0;
}

.wizard-step-number-active {
  color: #FFF;
  border-color: #820053;
  background-color: #820053;
}

.wizard-step-number-visited {
  color: #820053;
  border-color: #820053;
  background-color: #FFF;
}

.wizard-step-title {
  display: block;
  margin-top: 10px;
}

.profile-phone .wizard .row:before {
  top: 20px;
}

.profile-phone .wizard .wizard-step-number {
  width: 40px;
  height: 40px;
  line-height: 2em;
  font-size: 16px;
}

/* ==========================================================================
   Wizard Progress

   Styling for Wizard (Progress Steps)
========================================================================== */
.wizard-progress {
  border: 1px solid #DEDFDD;
  border-radius: 4px;
  background-color: #EEE;
  position: relative;
}

.wizard-progress [class*=col-]:first-child .wizard-progress-step {
  margin-left: 0;
}

.wizard-steps-container {
  border-bottom: 1px solid #DEDFDD;
}

.wizard-progress-step {
  margin: 0 0 0 -30px;
  padding: 5px 20px 14px 30px;
  position: relative;
  background: #EEE;
}

.wizard-progress-step:after, .wizard-progress-step:before {
  position: absolute;
  width: 0;
  height: 0;
  border: solid transparent;
  border-color: transparent;
  content: " ";
  pointer-events: none;
  left: 100%;
  z-index: 10;
}

.wizard-progress-step:before {
  top: 50%;
  margin-top: -25px;
  border-width: 25px 15px;
  border-left-color: #DEDFDD;
}

.wizard-progress-step:after {
  top: 50%;
  margin-top: -24px;
  border-width: 24px 14px;
  border-left-color: #EEE;
}

.wizard-progress-step-active {
  background-color: #e6ccdd;
}

.wizard-progress-step-active:after {
  border-left-color: #e6ccdd;
}

.wizard-progress-step-active .wizard-progress-number {
  background-color: #820053;
}

.wizard-progress-step-visited {
  background-color: #e6ccdd;
}

.wizard-progress-step-visited:after {
  border-left-color: #e6ccdd;
}

.wizard-progress-step-visited .wizard-progress-number {
  background-color: #5B9717;
}

.wizard-progress-step-visited .wizard-progress-title {
  color: #5B9717;
}

.wizard-progress-number {
  display: inline-block;
  padding: 1px 7px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #C8C9C7;
  margin-right: 10px;
  border-radius: 10px;
}

.wizard-progress-title {
  color: #820053;
}

.wizard-step-content {
  padding: 10px 20px;
}

/* ==========================================================================
   Templategrid Profile Card

   Profile card styled for templategrid
========================================================================== */
.templategrid-profilecard {
  padding: 20px;
  border: 1px solid #C8C9C7;
  background-color: #FFF;
  border-radius: 3px;
}

.templategrid-profilecard .templategrid-profilecard-contentwrapper {
  width: auto;
}

.templategrid-profilecard .templategrid-profilecard-imgwrapper {
  width: 150px;
}

.templategrid-profilecard .templategrid-profilecard-contentwrapper,
.templategrid-profilecard .templategrid-profilecard-imgwrapper {
  display: table-cell;
  vertical-align: middle;
}

.templategrid-profilecard .templategrid-profilecard-btn {
  display: block;
  margin-top: 10px;
}

.templategrid-profilecard .templategrid-profilecard-img {
  border-radius: 50%;
  margin-right: 40px;
  padding: 4px;
  border: 2px solid #C8C9C7;
  background-color: #FFF;
}

.templategrid-profilecard .templategrid-profilecard-title {
  font-size: 20px;
  margin-bottom: 0;
  margin-top: 0;
}

.templategrid-profilecard .templategrid-profilecard-subtitle {
  color: #666666;
}

/* ==========================================================================
   Layout

   Default Mendix Layout
========================================================================== */
.profile-phone .region-topbar {
  min-height: 44px;
  background-color: #FFF;
  border: 0;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Listview
*
* Default Mendix Listview 
*/
.profile-phone,
.profile-tablet {
  /* Listview Load More button */
}

.profile-phone .mx-listview .mx-listview-searchbar,
.profile-tablet .mx-listview .mx-listview-searchbar {
  padding: 10px;
  margin-bottom: 0;
  position: relative;
  /* Reset Search Button */
  /* Search Field */
}

.profile-phone .mx-listview .mx-listview-searchbar button,
.profile-tablet .mx-listview .mx-listview-searchbar button {
  position: absolute;
  right: 10px;
  background: none;
}

.profile-phone .mx-listview .mx-listview-searchbar .mx-listview-search-input input,
.profile-tablet .mx-listview .mx-listview-searchbar .mx-listview-search-input input {
  box-shadow: none;
  border-style: none;
  background-color: #EEE;
  text-align: center;
}

.profile-phone .mx-listview .mx-list .mx-listview-item:first-child,
.profile-tablet .mx-listview .mx-list .mx-listview-item:first-child {
  border-radius: 0;
}

.profile-phone .mx-listview .mx-list .mx-listview-item:last-child,
.profile-tablet .mx-listview .mx-list .mx-listview-item:last-child {
  border-radius: 0;
}

.profile-phone label,
.profile-tablet label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-phone .mx-listview-loadMore,
.profile-tablet .mx-listview-loadMore {
  margin: 20px auto;
  width: 95%;
  display: block;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Loader
*
* Default Mendix Loader
*/
.profile-phone .mx-progress {
  width: 100%;
  height: 100%;
  max-width: 100%;
  top: 0;
}

.profile-phone .mx-progress .modal-content {
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  border-style: none;
  background: none;
}

.profile-phone .mx-progress .modal-header {
  display: none;
}

.profile-phone .mx-progress .mx-dialog-body {
  height: 100% !important;
  width: 100%;
}

.profile-phone .mx-progress .mx-progress-list {
  height: 100%;
  width: 100%;
  margin: 0;
}

.profile-phone .mx-progress .mx-progress-item {
  border-radius: 12px;
  position: relative;
  padding: 0;
  width: 12px;
  height: 12px;
  top: 50%;
  left: 50%;
  -webkit-animation: loader10m 1.5s ease-in-out infinite;
  animation: loader10m 1.5s ease-in-out infinite;
  text-indent: -9999px;
  background: none;
}

.profile-phone .mx-progress .mx-progress-item:before {
  border-radius: 12px;
  content: "";
  position: absolute;
  top: 0px;
  left: -25px;
  height: 12px;
  width: 12px;
  -webkit-animation: loader10g 1.5s ease-in-out infinite;
  animation: loader10g 1.5s ease-in-out infinite;
}

.profile-phone .mx-progress .mx-progress-item:after {
  border-radius: 12px;
  content: "";
  position: absolute;
  top: 0px;
  left: 25px;
  height: 12px;
  width: 12px;
  -webkit-animation: loader10d 1.5s ease-in-out infinite;
  animation: loader10d 1.5s ease-in-out infinite;
}

@-webkit-keyframes loader10g {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: white;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10g {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: white;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@-webkit-keyframes loader10m {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: white;
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10m {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: white;
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@-webkit-keyframes loader10d {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: white;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10d {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: white;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Header
*
* Default Mendix Header for Mobile 
*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .mx-header .mx-header-right {
    right: 63px !important;
  }
}

body .mx-header {
  padding: 0;
  height: 44px;
  color: #262324;
  border-bottom: 1px solid #C8C9C7;
  background-color: #FFF;
  display: table;
  width: 100%;
}

body .mx-header .mx-header-center {
  display: table-cell;
  width: 100%;
  text-align: center;
}

body .mx-header .mx-header-left,
body .mx-header .mx-header-right {
  display: table;
  width: 25%;
  top: 0;
  position: absolute;
  padding: 0 8px;
  height: 44px;
}

body .mx-header .mx-header-left .mx-placeholder,
body .mx-header .mx-header-right .mx-placeholder {
  display: table-cell;
  vertical-align: middle;
}

body .mx-header .mx-link {
  color: #129DDE;
}

body .mx-header .mx-sidebartoggle {
  font-size: 24px;
  margin-top: 4px;
}

body .mx-header .mx-title {
  margin: 0;
  color: #262324;
  font-size: 16px;
  line-height: 44px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body .mx-header .btn-image.glyphicon {
  font-size: 21px;
}

body[dir="ltr"] .mx-header-left,
body[dir="rtl"] .mx-header-right {
  left: 0;
  text-align: left;
}

body[dir="rtl"] .mx-header-left,
body[dir="ltr"] .mx-header-right {
  right: 0;
  text-align: right;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Tabcontainer
*
* Default Mendix Tabcontainer for Mobile 
*/
/*.profile-phone,
.profile-tablet {
	.mx-tabcontainer-tabs {
		margin: 0;
		padding: 0;
		border-color: transparent;
		background-color: $m-tabs-bg;
		text-align: center;

		li {
			display: table-cell;
			float: none;
			margin: 0;
			width: 1%;
			a {
				border-radius: 0;
				box-shadow:	none;
				margin: 0;
				padding: 15px 0;
				border-style: none;
				color: $m-tabs-color;
				font-weight: normal;
				font-size: 11px;
				text-transform: uppercase;

				&:hover,
				&:focus,
				&.active {
					color: #000 !important;
					border-style: none;
					background-color: transparent;
				}
			}
			&:first-child a {
				
			}
			&:last-child a {
				
			}
			&.active a {
				color: $m-tabs-color-active;
				border-style: none !important;
  				background-color: transparent !important;
  				@include css-arrow(bottom, 5px, 5px, #FFF, #FFF, 0);

  				&:after,
  				&:before {
  					-webkit-transform: rotate(180deg);
  				}
  				&:after {
  					top: 80%;
  				}
  				&:before {
  					top: 75%;
  				}
			}
		}
	}
}*/
/* ==========================================================================
   Regions

   Used for navigation layouts
========================================================================== */
.region-topbar {
  min-height: 80px;
  border-bottom: 1px solid #e4e4e4;
  background-color: #EEE;
}

.region-topbar > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-topbar .toggle-btn {
  font-size: 16px;
  float: left;
  margin: -20px 15px 0 0;
  transform: translateY(40px);
}

.region-topbar .navbar-header {
  width: 100%;
}

.region-topbar .navbar-right {
  min-height: 80px;
  max-width: 100%;
}

.region-topbar .navbar-right .mx-appswitcher-button-placeholder,
.region-topbar .navbar-right .mx-profilemenu-button-placeholder {
  display: inline-block;
  border-left: 1px solid #C8C9C7;
  width: 80px;
  height: 80px;
  position: relative;
  float: left;
  max-width: 50%;
}

.region-topbar .navbar-right .mx-appswitcher-button-placeholder iframe,
.region-topbar .navbar-right .mx-profilemenu-button-placeholder iframe {
  width: 48px;
  height: 48px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto auto;
}

@media (max-width: 768px) {
  .region-topbar .navbar-right {
    display: none;
  }
}

.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed,
.region-sidebar-fixed {
  background-color: #820053;
}

.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper,
.region-sidebar-fixed > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-content {
  padding: 0;
}

.region-content > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-content > .mx-placeholder .mx-layoutgrid-fixed,
.region-content > .mx-layoutcontainer-wrapper .mx-placeholder .mx-layoutgrid-fixed {
  max-width: 1170px;
  margin: auto;
}

.region-footer > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.layout-sidebar-responsive .region-sidebar-fixed {
  display: none;
}

@media (min-width: 768px) {
  .layout-sidebar-responsive .region-sidebar-fixed {
    position: fixed;
    z-index: 10;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    height: 100%;
    padding: 0;
  }
}

@media (min-width: 768px) {
  .layout-sidebar-responsive .mx-scrollcontainer-open {
    left: -200px !important;
  }
}

@media (min-width: 768px) {
  body[dir="rtl"] .layout-sidebar-responsive .region-sidebar-fixed {
    right: 0;
  }
}

@media (min-width: 768px) {
  body[dir="ltr"] .layout-sidebar-responsive .region-sidebar-fixed {
    left: 0;
  }
}

/* ==========================================================================
   Navbar Brand

   For your company, product, or project name
========================================================================== */
.navbar-brand {
  display: block;
  min-height: 80px;
  float: left;
  padding: 0;
  line-height: 80px;
}

.navbar-brand img {
  height: 40px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

.navbar-brand a {
  font-size: 20px;
  color: #000;
}

.navbar-brand a:hover, .navbar-brand a:focus {
  text-decoration: none;
}

/* ==========================================================================
   Region Content

   Specific content styling
========================================================================== */
/* ==========================================================================
   Region Sidebar

   Specific sidebar styling
========================================================================== */
.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed {
  background-color: #820053;
}

.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper {
  padding: 0;
}

/* ==========================================================================
   Region Topbar

   Specific topbar styling
========================================================================== */
.navlayout-topbar .region-topbar {
  /* Reset Layout Grid spacing */
}

.navlayout-topbar .region-topbar .container-fluid {
  padding: 0 20px;
}

.navlayout-topbar .region-topbar .mx-navbar {
  float: left;
  background-color: transparent;
}

@media (max-width: 768px) {
  .navlayout-topbar .region-topbar .mx-navbar {
    float: none;
    clear: both;
  }
}

.navlayout-topbar .region-topbar .mx-navbar ul.nav > li.mx-navbar-item > a {
  padding: 0 30px;
  line-height: 80px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2xpYi5jc3MiLCJzb3VyY2VzIjpbImxpYi9saWIuc2NzcyIsImN1c3RvbS9fY3VzdG9tLXZhcmlhYmxlcy5zY3NzIiwibGliL2Jhc2UvX3ZhcmlhYmxlcy5zY3NzIiwibGliL2Jhc2UvX21peGlucy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19mb250cy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19kZWZhdWx0LXNwYWNpbmcuc2NzcyIsImxpYi9iYXNlL21peGlucy9fYnV0dG9ucy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19ncm91cGJveC5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19hcnJvdy5zY3NzIiwibGliL2Jhc2UvX3Jlc2V0LnNjc3MiLCJsaWIvYmFzZS9fYmFzZS5zY3NzIiwibGliL2NvbXBvbmVudHMvX2lucHV0cy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2JhY2tncm91bmRzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsImxpYi9jb21wb25lbnRzL19kYXRhZ3JpZHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19kYXRhdmlldy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2Rpaml0LXdpZGdldHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19nbHlwaGljb25zLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fZ3JvdXBib3guc2NzcyIsImxpYi9jb21wb25lbnRzL19oZWxwZXJzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9faW1hZ2VzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbGlzdHZpZXcuc2NzcyIsImxpYi9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbmF2aWdhdGlvbmxpc3Quc2NzcyIsImxpYi9jb21wb25lbnRzL190YWJjb250YWluZXIuc2NzcyIsImxpYi9jb21wb25lbnRzL190YWJsZXMuc2NzcyIsImxpYi9jb21wb25lbnRzL190ZW1wbGF0ZWdyaWRzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1kYXNoYm9hcmQuc2NzcyIsImxpYi9wYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvX3BhZ2UtZm9ybS5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1sb2dpbi5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1tYXN0ZXJkZXRhaWwuc2NzcyIsImxpYi9wYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvX3BhZ2UtdGFicy5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS13ZWJzaXRlLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL19wYWdlLXdpemFyZC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcGhvbmUvX3Bob25lLXBhZ2UtZGFzaGJvYXJkLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9waG9uZS9fcGhvbmUtcGFnZS1mb3JtLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9waG9uZS9fcGhvbmUtcGFnZS1saXN0dmlldy5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcGhvbmUvX3Bob25lLXBhZ2Utd2l6YXJkLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy90YWJsZXQvX3RhYmxldC1wYWdlLWRhc2hib2FyZC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvdGFibGV0L190YWJsZXQtcGFnZS1mb3JtLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy90YWJsZXQvX3RhYmxldC1wYWdlLW1hc3RlcmRldGFpbC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvdGFibGV0L190YWJsZXQtcGFnZS13aXphcmQuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fYWN0aW9uYmxvY2suc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fY2FyZC5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19kYXNoYm9hcmRjYXJkLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX2Rhc2hib2FyZHN0YXQuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fZm9ybS5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19mb3JtYmxvY2suc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fbWFzdGVyZGV0YWlsLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX211bHRpbGV2ZWwuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fcGFnZWhlYWRlci5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19zZWN0aW9uaGVhZGVyLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3Byb2ZpbGVjYXJkLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3Byb2ZpbGVoZWFkZXIuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fcHJvZHVjdHMuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fc2lkZWJhcmhlYWRlci5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL190YWJzZnVsbHdpZHRoLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3dpemFyZC5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL3RlbXBsYXRlZ3JpZC9fdGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLnNjc3MiLCJsaWIvbW9iaWxlL2xheW91dHMvX2Jhc2Uuc2NzcyIsImxpYi9tb2JpbGUvY29tcG9uZW50cy9fbGlzdHZpZXcuc2NzcyIsImxpYi9tb2JpbGUvY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJsaWIvbW9iaWxlL2NvbXBvbmVudHMvX214LWhlYWRlci5zY3NzIiwibGliL21vYmlsZS9jb21wb25lbnRzL190YWJjb250YWluZXIuc2NzcyIsImxpYi9sYXlvdXRzL19iYXNlLnNjc3MiLCJsaWIvbGF5b3V0cy9fbmF2bGF5b3V0LWNvbnRlbnQuc2NzcyIsImxpYi9sYXlvdXRzL19uYXZsYXlvdXQtc2lkZWJhci5zY3NzIiwibGliL2xheW91dHMvX25hdmxheW91dC10b3BiYXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBZGQgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhIGNvbG91ciB0byByZWNyZWF0ZSBDb21wYXNzJyB0aW50XG5cdEBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpe1xuXHRcdEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcblx0fVxuXG5cdC8vIEFkZCBwZXJjZW50YWdlIG9mIGJsYWNrIHRvIGEgY29sb3VyIHRvIHJlY3JlYXRlIENvbXBhc3MnIHNoYWRlXG5cdEBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KXtcblx0XHRAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG5cdH1cblxuQGltcG9ydCBcIi4uL2N1c3RvbS9jdXN0b20tdmFyaWFibGVzXCI7XG5cbi8vIEJhc2VcbkBpbXBvcnQgXCJiYXNlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJhc2UvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYmFzZS9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UvYmFzZVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbnB1dHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsZXJ0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmFja2dyb3VuZHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RhdGFncmlkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0YXZpZXdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rpaml0LXdpZGdldHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dseXBoaWNvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dyb3VwYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWxwZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xhYmVsc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlzdHZpZXdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vZGFsc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2aWdhdGlvbmxpc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmNvbnRhaW5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZW1wbGF0ZWdyaWRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90eXBvZ3JhcGh5XCI7XG5cbi8vIFBhZ2UgVGVtcGxhdGVzXG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL3BhZ2UtZGFzaGJvYXJkXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL3BhZ2UtZm9ybVwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLWxvZ2luXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL3BhZ2UtbWFzdGVyZGV0YWlsXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL3BhZ2UtdGFic1wiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLXdlYnNpdGVcIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvcGFnZS13aXphcmRcIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Bob25lL3Bob25lLXBhZ2UtZGFzaGJvYXJkXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9waG9uZS9waG9uZS1wYWdlLWZvcm1cIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Bob25lL3Bob25lLXBhZ2UtbGlzdHZpZXdcIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Bob25lL3Bob25lLXBhZ2Utd2l6YXJkXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy90YWJsZXQvdGFibGV0LXBhZ2UtZGFzaGJvYXJkXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy90YWJsZXQvdGFibGV0LXBhZ2UtZm9ybVwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvdGFibGV0L3RhYmxldC1wYWdlLW1hc3RlcmRldGFpbFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvdGFibGV0L3RhYmxldC1wYWdlLXdpemFyZFwiO1xuXG4vLyBCdWlsZGluZyBCbG9ja3NcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9hY3Rpb25ibG9ja1wiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL2NhcmRcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9kYXNoYm9hcmRjYXJkXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvZGFzaGJvYXJkc3RhdFwiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL2Zvcm1cIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9mb3JtYmxvY2tcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9tYXN0ZXJkZXRhaWxcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9tdWx0aWxldmVsXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvcGFnZWhlYWRlclwiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3NlY3Rpb25oZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9wcm9maWxlY2FyZFwiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3Byb2ZpbGVoZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9wcm9kdWN0c1wiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3NpZGViYXJoZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy90YWJzZnVsbHdpZHRoXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3Mvd2l6YXJkXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvdGVtcGxhdGVncmlkL3RlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZFwiO1xuXG4vLyBNb2JpbGVcbkBpbXBvcnQgXCJtb2JpbGUvbGF5b3V0cy9iYXNlXCI7XG5cbkBpbXBvcnQgXCJtb2JpbGUvY29tcG9uZW50cy9saXN0dmlld1wiO1xuQGltcG9ydCBcIm1vYmlsZS9jb21wb25lbnRzL2xvYWRlclwiO1xuQGltcG9ydCBcIm1vYmlsZS9jb21wb25lbnRzL214LWhlYWRlclwiO1xuQGltcG9ydCBcIm1vYmlsZS9jb21wb25lbnRzL3RhYmNvbnRhaW5lclwiO1xuXG4vL2xheW91dHNcbkBpbXBvcnQgXCJsYXlvdXRzL2Jhc2VcIjtcbkBpbXBvcnQgXCJsYXlvdXRzL25hdmxheW91dC1jb250ZW50XCI7XG5AaW1wb3J0IFwibGF5b3V0cy9uYXZsYXlvdXQtc2lkZWJhclwiO1xuQGltcG9ydCBcImxheW91dHMvbmF2bGF5b3V0LXRvcGJhclwiO1xuIiwiLy89PSBNZW5kaXggVUkgRnJhbWV3b3JrIC0gV2VsY29tZSB0byB2YXJpYWJsZXMgZmlsZVxyXG4vLyMjIFRoZSBCYXNpYyBzdGVwIGluY2x1ZGVzIHRoZSBjdXN0b21pemF0aW9uIHRoYXQgaXMgYWxzbyBhdmFpbGFibGUgaW4gdGhlIE1lbmRpeCBUaGVtZSBDcmVhdG9yIChodHRwczovL3V4Lm1lbmRpeC5jb20pXHJcbi8vXHJcbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyDilojilojilojilojilojilojilZdcclxuLy8g4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXHJcbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkeKWiOKWiOKVkVxyXG4vLyDilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZHilZrilZDilZDilZDilZDilojilojilZHilojilojilZHilojilojilZFcclxuLy8g4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZHilZrilojilojilojilojilojilojilZdcclxuLy8g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdIOKVmuKVkOKVkOKVkOKVkOKVkOKVnVxyXG4vL1xyXG4vLz09IFN0ZXAgMTogQnJhbmQgQ29sb3JzXHJcbiRicmFuZC1kZWZhdWx0OiAjRDlFQUYyO1xyXG4kYnJhbmQtZGVmYXVsdC1ob3ZlcjogIzI2ODVCMTtcclxuJGJyYW5kLXByaW1hcnk6ICM4MjAwNTM7XHJcbiRicmFuZC1pbnZlcnNlOiAjMjYyMzI0O1xyXG4kYnJhbmQtaW5mbzogIzAwNzBBNDtcclxuJGJyYW5kLXN1Y2Nlc3M6ICM1Qjk3MTc7XHJcbiRicmFuZC13YXJuaW5nOiAjRkZERDAwO1xyXG4kYnJhbmQtZGFuZ2VyOiAjREIzMzMyO1xyXG4kYnJhbmQtbG9nbzogZmFsc2U7XHJcbiRicmFuZC1sb2dvLWhlaWdodDogNDBweDtcclxuJGJyYW5kLWxvZ28td2lkdGg6IDQwcHg7IC8vIE9ubHkgdXNlZCBmb3IgQ1NTIGJyYW5kIGxvZ29cclxuLy89PSBTdGVwIDI6IFVJIEN1c3RvbWl6YXRpb25cclxuLy8gVG9wYmFyXHJcbiR0b3BiYXItYmc6ICNFRUU7XHJcbiR0b3BiYXItbWluaW1hbGhlaWdodDogODBweDsgLy8gU2lkZWJhclxyXG4kc2lkZWJhci1iZzogJGJyYW5kLXByaW1hcnk7IC8vIE5hdmJhciBCcmFuZCBOYW1lIC8gRm9yIHlvdXIgY29tcGFueSwgcHJvZHVjdCwgb3IgcHJvamVjdCBuYW1lICh1c2VkIGluIGxheW91dHMvYmFzZS8pXHJcbiRuYXZiYXItYnJhbmQtbmFtZTogIzAwMDsgLy8gQmFja2dyb3VuZCBDb2xvcnNcclxuLy8kYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0Q5RDlENjtcclxuJGJnLWNvbG9yOiAjRkZGOyAvLyBCYWNrZ3JvdW5kIGNvbG9yIHRoYXQgaXMgdXNlZCBmb3Igc3BlY2lmaWMgcGFnZSB0ZW1wbGF0ZXMgYmFja2dyb3VuZFxyXG4kYmctY29sb3Itc2Vjb25kYXJ5OiAjRUZGNEY3OyAvLyBEZWZhdWx0IEZvbnQgU2l6ZSAmIENvbG9yXHJcbiRmb250LWJhc2Utc2l6ZTogMTRweDtcclxuJGZvbnQtYmFzZS1jb2xvcjogJGJyYW5kLWludmVyc2U7XHJcbiRmb250LWJhc2UtY29sb3ItbGlnaHQ6ICNmZmY7IC8vIERlZmF1bHQgTGluayBDb2xvclxyXG4kbGluay1jb2xvcjogIzEyOURERTtcclxuJGxpbmstaG92ZXItY29sb3I6ICMyNjg1QjE7IC8vXHJcbi8vICDilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKVlyAgIOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKVl1xyXG4vLyDilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZfilojilojilZEgICDilojilojilZHilojilojilZTilZDilZDilojilojilZfilojilojilojilojilZcgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl1xyXG4vLyDilojilojilojilojilojilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZHilojilojilZEgICAgIOKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWRICDilojilojilZFcclxuLy8g4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWRICDilojilojilZHilZrilojilojilZcg4paI4paI4pWU4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWR4pWa4paI4paI4pWX4paI4paI4pWR4paI4paI4pWRICAgICDilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkSAg4paI4paI4pWRXHJcbi8vIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4pWU4pWdIOKVmuKWiOKWiOKWiOKWiOKVlOKVnSDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSDilZrilojilojilojilojilZHilZrilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilZTilZ1cclxuLy8g4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZ0gICDilZrilZDilZDilZDilZ0gIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZDilZDilZ0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXHJcbi8vXHJcbi8vPT0gVHlwb2dyYXBoeVxyXG4vLyMjIENoYW5nZSB5b3VyIGZvbnQgZmFtaWx5LCB3ZWlnaHQsIGxpbmUtaGVpZ2h0LCBoZWFkaW5ncyBhbmQgbW9yZSAodXNlZCBpbiBjb21wb25lbnRzL3R5cG9ncmFwaHkpXHJcbi8vIEZvbnQgRmFtaWx5IEltcG9ydFxyXG4kZm9udC1mYW1pbHktaW1wb3J0OiAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fucyc7IC8vIEZvbnQgRmFtaWx5IC8gRmFsc2UgPSBmYWxsYmFjayBmcm9tIEJvb3RzdHJhcCAoSGVsdmV0aWNhIE5ldWUpXHJcbkBpbXBvcnQgdXJsKCRmb250LWZhbWlseS1pbXBvcnQpO1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdpYm54JztcclxuICBzcmM6ICB1cmwoJy9pYm54LWZvbnQvaWJueC5lb3Q/emVpcXc3Jyk7XHJcbiAgc3JjOiAgdXJsKCcvaWJueC1mb250L2libnguZW90P3plaXF3NyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgIHVybCgnL2libngtZm9udC9pYm54LnR0Zj96ZWlxdzcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoJy9pYm54LWZvbnQvaWJueC53b2ZmP3plaXF3NycpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKCcvaWJueC1mb250L2libnguc3ZnP3plaXF3NyNpYm54JykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuJGZvbnQtZmFtaWx5LWJhc2U6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyAvL1wiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWxpZ2h0OiBmYWxzZTsgLy9cIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1zZW1pYm9sZDogZmFsc2U7IC8vXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktYm9sZDogZmFsc2U7IC8vXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4vLyBGb250IFNpemVcclxuJGZvbnQtc2l6ZS1sYXJnZTogY2VpbCgkZm9udC1iYXNlLXNpemUgKiAxLjI1KTsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1zbWFsbDogY2VpbCgkZm9udC1iYXNlLXNpemUgKiAwLjg1KTsgLy8gfjEycHhcclxuLy8gRm9udCBXZWlnaHRzXHJcbiRmb250LXdlaWdodC1saWdodDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNTAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGZvbnQtd2VpZ2h0LWhlYWRlcnM6ICRmb250LXdlaWdodC1ub3JtYWw7IC8vIEZvbnQgSGVhZGVyIFNpemVcclxuJGZvbnQtc2l6ZS1oMTogMzFweDtcclxuJGZvbnQtc2l6ZS1oMjogMjZweDtcclxuJGZvbnQtc2l6ZS1oMzogMjBweDtcclxuJGZvbnQtc2l6ZS1oNDogMTZweDtcclxuJGZvbnQtc2l6ZS1oNTogJGZvbnQtYmFzZS1zaXplO1xyXG4kZm9udC1zaXplLWg2OiAxMXB4OyAvLyBGb250IEhlYWRlciBDb2xvclxyXG4kZm9udC1jb2xvci1oZWFkZXJzOiAkZm9udC1iYXNlLWNvbG9yOyAvLyBMaW5lIEhlaWdodFxyXG4kbGluZS1oZWlnaHQtYmFzZTogMS4yOyAvLz09IEdyYXkgU2hhZGVzXHJcbi8vIyMgRGlmZmVyZW50IGdyYXkgc2hhZGVzIHRvIGJlIHVzZWQgZm9yIG91ciB2YXJpYWJsZXMgYW5kIGNvbXBvbmVudHNcclxuJGdyYXktZGFya2VyOiAjNDY0NDQ1O1xyXG4kZ3JheS1kYXJrOiAjNjc2NTY2O1xyXG4kZ3JheTogIzlEOUQ5RDtcclxuJGdyYXktbGlnaHQ6ICNDOEM5Qzc7XHJcbiRncmF5LXByaW1hcnk6ICNERURGREQ7XHJcbiRncmF5LWxpZ2h0ZXI6ICNFRUU7IC8vPT0gR2xvYmFsIEJvcmRlciBDb2xvclxyXG4vLyBUaGUgZGVmYXVsdCBib3JkZXIgY29sb3IgdXNlZCBieSBEYXRhZ3JpZCwgTGlzdHZpZXcsIFRhYmxlcywgRGF0YXZpZXcsIE1vZGFscyBhbmQgbW9yZVxyXG4kZGVmYXVsdC1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0OyAvLz09IE5hdmlnYXRpb25cclxuLy8jIyBVc2VkIGluIGNvbXBvbmVudHMvbmF2aWdhdGlvblxyXG4vLyBOYXZpZ2F0aW9uIFNpZGViYXJcclxuJG5hdnNpZGViYXItZm9udC1zaXplOiAkZm9udC1iYXNlLXNpemU7XHJcbiRuYXZzaWRlYmFyLXN1Yi1mb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiRuYXZzaWRlYmFyLWdseXBoLXNpemU6IDEuMmVtOyAvLyBGb3IgZ2x5cGhpY29ucyB0aGF0IHlvdSBjYW4gc2VsZWN0IGluIHRoZSBNZW5kaXggTW9kZWxlclxyXG4kbmF2c2lkZWJhci1iZzogJHNpZGViYXItYmc7XHJcbiRuYXZzaWRlYmFyLWJnLWhvdmVyOiBsaWdodGVuKCRuYXZzaWRlYmFyLWJnLCA0KTtcclxuJG5hdnNpZGViYXItYmctYWN0aXZlOiBsaWdodGVuKCRuYXZzaWRlYmFyLWJnLCA4KTtcclxuJG5hdnNpZGViYXItY29sb3I6ICNGRkY7XHJcbiRuYXZzaWRlYmFyLWNvbG9yLWhvdmVyOiAjRkZGO1xyXG4kbmF2c2lkZWJhci1jb2xvci1hY3RpdmU6ICNGRkY7XHJcbiRuYXZzaWRlYmFyLXN1Yi1iZzogZGFya2VuKCRuYXZzaWRlYmFyLWJnLCA0KTtcclxuJG5hdnNpZGViYXItc3ViLWJnLWhvdmVyOiAkbmF2c2lkZWJhci1zdWItYmc7XHJcbiRuYXZzaWRlYmFyLXN1Yi1iZy1hY3RpdmU6ICRuYXZzaWRlYmFyLXN1Yi1iZztcclxuJG5hdnNpZGViYXItc3ViLWNvbG9yOiAjQUFBO1xyXG4kbmF2c2lkZWJhci1zdWItY29sb3ItaG92ZXI6ICRicmFuZC1wcmltYXJ5O1xyXG4kbmF2c2lkZWJhci1zdWItY29sb3ItYWN0aXZlOiAkYnJhbmQtcHJpbWFyeTtcclxuJG5hdnNpZGViYXItYm9yZGVyLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1ob3ZlcjsgLy8gTmF2aWdhdGlvbiB0b3BiYXJcclxuJG5hdnRvcGJhci1mb250LXNpemU6ICRmb250LWJhc2Utc2l6ZTtcclxuJG5hdnRvcGJhci1zdWItZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4kbmF2dG9wYmFyLWdseXBoLXNpemU6IDEuMmVtOyAvLyBGb3IgZ2x5cGhpY29ucyB0aGF0IHlvdSBjYW4gc2VsZWN0IGluIHRoZSBNZW5kaXggTW9kZWxlclxyXG4kbmF2dG9wYmFyLWJnOiAkdG9wYmFyLWJnO1xyXG4kbmF2dG9wYmFyLWJnLWhvdmVyOiBkYXJrZW4oJG5hdnRvcGJhci1iZywgNCk7XHJcbiRuYXZ0b3BiYXItYmctYWN0aXZlOiBkYXJrZW4oJG5hdnRvcGJhci1iZywgOCk7XHJcbiRuYXZ0b3BiYXItY29sb3I6ICNBQUE7XHJcbiRuYXZ0b3BiYXItY29sb3ItaG92ZXI6ICRicmFuZC1wcmltYXJ5O1xyXG4kbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTogJGJyYW5kLXByaW1hcnk7XHJcbiRuYXZ0b3BiYXItc3ViLWJnOiBsaWdodGVuKCRuYXZ0b3BiYXItYmcsIDQpO1xyXG4kbmF2dG9wYmFyLXN1Yi1iZy1ob3ZlcjogJG5hdnRvcGJhci1zdWItYmc7XHJcbiRuYXZ0b3BiYXItc3ViLWJnLWFjdGl2ZTogJG5hdnRvcGJhci1zdWItYmc7XHJcbiRuYXZ0b3BiYXItc3ViLWNvbG9yOiAjQUFBO1xyXG4kbmF2dG9wYmFyLXN1Yi1jb2xvci1ob3ZlcjogJGJyYW5kLXByaW1hcnk7XHJcbiRuYXZ0b3BiYXItc3ViLWNvbG9yLWFjdGl2ZTogJGJyYW5kLXByaW1hcnk7XHJcbiRuYXZ0b3BiYXItYm9yZGVyLWNvbG9yOiAkbmF2dG9wYmFyLWJnLWhvdmVyOyAvLz09IEZvcm1cclxuLy8jIyBVc2VkIGluIGNvbXBvbmVudHMvaW5wdXRzXHJcbi8vIEZvcm0gTGFiZWxcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRncmF5O1xyXG4kZm9ybS1sYWJlbC1zaXplOiAkZm9udC1iYXNlLXNpemU7XHJcbiRmb3JtLWxhYmVsLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDsgLy8gRm9ybSBJbnB1dCBkaW1lbnNpb25zXHJcbiRmb3JtLWlucHV0LWhlaWdodDogYXV0bztcclxuJGZvcm0taW5wdXQtcGFkZGluZy15OiA2cHg7XHJcbiRmb3JtLWlucHV0LXBhZGRpbmcteDogOHB4O1xyXG4kZm9ybS1pbnB1dC1mb250LXNpemU6ICRmb3JtLWxhYmVsLXNpemU7XHJcbiRmb3JtLWlucHV0LWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuJGZvcm0taW5wdXQtYm9yZGVyLXJhZGl1czogN3B4OyAvLyBGb3JtIElucHV0IHN0eWxpbmdcclxuJGZvcm0taW5wdXQtYmc6ICRncmF5LWxpZ2h0ZXI7XHJcbiRmb3JtLWlucHV0LWJnLWZvY3VzOiAkZ3JheS1saWdodGVyO1xyXG4kZm9ybS1pbnB1dC1iZy1kaXNhYmxlZDogJGdyYXktZGFyaztcclxuJGZvcm0taW5wdXQtY29sb3I6ICRmb250LWJhc2UtY29sb3I7XHJcbiRmb3JtLWlucHV0LWZvY3VzLWNvbG9yOiAkZm9ybS1pbnB1dC1jb2xvcjtcclxuJGZvcm0taW5wdXQtZGlzYWJsZWQtY29sb3I6ICRmb3JtLWlucHV0LWNvbG9yO1xyXG4kZm9ybS1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGdyYXktbGlnaHQ7XHJcbiRmb3JtLWlucHV0LWJvcmRlci1jb2xvcjogJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xyXG4kZm9ybS1pbnB1dC1ib3JkZXItZm9jdXMtY29sb3I6ICRicmFuZC1wcmltYXJ5OyAvLyBGb3JtIEdyb3VwXHJcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206IDVweDtcclxuJGZvcm0tZ3JvdXAtZ3V0dGVyOiAxNXB4OyAvLz09IEJ1dHRvbnNcclxuLy8jIyBEZWZpbmUgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yIGFuZCB0ZXh0LiBVc2VkIGluIGNvbXBvbmVudHMvYnV0dG9uc1xyXG4vLyBCdXR0b24gVGV4dCBTaXplXHJcbiRidG4tZm9udC1zaXplOiAxMnB4OyAvLyBCdXR0b24gQmFja2dyb3VuZCBDb2xvclxyXG4kYnRuLWRlZmF1bHQtYmc6ICRicmFuZC1kZWZhdWx0O1xyXG4kYnRuLWRlZmF1bHQtaG92ZXItYmc6ICRicmFuZC1kZWZhdWx0LWhvdmVyO1xyXG4kYnRuLWludmVyc2UtYmc6ICRicmFuZC1pbnZlcnNlO1xyXG4kYnRuLXByaW1hcnktYmc6ICRicmFuZC1pbmZvO1xyXG4kYnRuLWluZm8tYmc6ICRsaW5rLWNvbG9yO1xyXG4kYnRuLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzO1xyXG4kYnRuLXdhcm5pbmctYmc6ICRicmFuZC13YXJuaW5nO1xyXG4kYnRuLWRhbmdlci1iZzogJGJyYW5kLWRhbmdlcjsgLy8gQnV0dG9uIEJvcmRlciBDb2xvclxyXG4kYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAkYnJhbmQtZGVmYXVsdDtcclxuJGJ0bi1pbnZlcnNlLWJvcmRlci1jb2xvcjogJGJyYW5kLWludmVyc2U7XHJcbiRidG4tcHJpbWFyeS1ib3JkZXItY29sb3I6ICRicmFuZC1pbmZvO1xyXG4kYnRuLWluZm8tYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcclxuJGJ0bi1zdWNjZXNzLWJvcmRlci1jb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XHJcbiRidG4td2FybmluZy1ib3JkZXItY29sb3I6ICRicmFuZC13YXJuaW5nO1xyXG4kYnRuLWRhbmdlci1ib3JkZXItY29sb3I6ICRicmFuZC1kYW5nZXI7IC8vIEJ1dHRvbiBUZXh0IENvbG9yXHJcbiRidG4tZGVmYXVsdC1jb2xvcjogJGJyYW5kLWluZm87XHJcbiRidG4taW52ZXJzZS1jb2xvcjogI0ZGRjtcclxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAjRkZGO1xyXG4kYnRuLWluZm8tY29sb3I6ICNGRkY7XHJcbiRidG4tc3VjY2Vzcy1jb2xvcjogI0ZGRjtcclxuJGJ0bi13YXJuaW5nLWNvbG9yOiAjRkZGO1xyXG4kYnRuLWRhbmdlci1jb2xvcjogI0ZGRjsgLy9cclxuLy8g4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xyXG4vLyDilojilojilZTilZDilZDilZDilZDilZ3ilZrilojilojilZfilojilojilZTilZ3ilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilojilojilZfilZrilZDilZDilojilojilZTilZDilZDilZ1cclxuLy8g4paI4paI4paI4paI4paI4pWXICAg4pWa4paI4paI4paI4pWU4pWdIOKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4pWU4pWdICAg4paI4paI4pWRXHJcbi8vIOKWiOKWiOKVlOKVkOKVkOKVnSAgIOKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZTilZDilZDilZDilZ0g4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZTilZDilZDilojilojilZcgICDilojilojilZFcclxuLy8g4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWU4pWdIOKWiOKWiOKVl+KWiOKWiOKVkSAgICAg4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRICDilojilojilZEgICDilojilojilZFcclxuLy8g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdXHJcbi8vXHJcbi8vPT0gQ29sb3IgdmFyaWF0aW9uc1xyXG4vLyMjIFRoZXNlIHZhcmlhdGlvbnMgYXJlIHVzZWQgdG8gc3VwcG9ydCBzZXZlcmFsIG90aGVyIHZhcmlhYmxlcyBhbmQgY29tcG9uZW50c1xyXG4vLyBCYXNpYyBUZXh0IGNvbG9yc1xyXG4vLyAkY29sb3ItdGV4dC1ibGFjazogICAgICAgICAgICAgICAgICAgICAgIzAwMDtcclxuJGNvbG9yLXRleHQtd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgICAjRkZGOyAvLyAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk6ICAgICAgICAgICAgbGlnaHRlbigkY29sb3ItdGV4dC1ibGFjaywgNDAlKTtcclxuLy8gJGNvbG9yLXRleHQtYmxhY2stZGlzYWJsZWQ6ICAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtYmxhY2ssIC4yNik7XHJcbi8vICRjb2xvci10ZXh0LWJsYWNrLWhpbnQ6ICAgICAgICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LWJsYWNrLCAuMjYpO1xyXG4vLyAkY29sb3ItdGV4dC13aGl0ZS1zZWNvbmRhcnk6ICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjcpO1xyXG4vLyAkY29sb3ItdGV4dC13aGl0ZS1kaXNhYmxlZDogICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjMpO1xyXG4vLyAkY29sb3ItdGV4dC13aGl0ZS1oaW50OiAgICAgICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjMpO1xyXG4vLyBDb2xvciB2YXJpYXRpb25zXHJcbi8vICRjb2xvci1kZWZhdWx0LWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGVmYXVsdCw0MCk7XHJcbi8vICRjb2xvci1kZWZhdWx0LWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGVmYXVsdCwyNik7XHJcbi8vICRjb2xvci1kZWZhdWx0LWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1kZWZhdWx0LDQwKTtcclxuJGNvbG9yLWRlZmF1bHQtbGlnaHRlcjogICAgICAgICAgICAgICAgICNFQ0Y0Rjg7XHJcbi8vICRjb2xvci1pbnZlcnNlLWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtaW52ZXJzZSw0MCk7XHJcbi8vICRjb2xvci1pbnZlcnNlLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtaW52ZXJzZSwyNik7XHJcbi8vICRjb2xvci1pbnZlcnNlLWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbnZlcnNlLDQwKTtcclxuLy8gJGNvbG9yLWludmVyc2UtbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWludmVyc2UsODApO1xyXG4vLyAkY29sb3ItcHJpbWFyeS1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXByaW1hcnksNDApO1xyXG4vLyAkY29sb3ItcHJpbWFyeS1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXByaW1hcnksMjYpO1xyXG4vLyAkY29sb3ItcHJpbWFyeS1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtcHJpbWFyeSw0MCk7XHJcbi8vICRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1wcmltYXJ5LDgwKTtcclxuLy8gJGNvbG9yLWluZm8tZGFya2VyOiAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbmZvLDQwKTtcclxuLy8gJGNvbG9yLWluZm8tZGFyazogICAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbmZvLDI2KTtcclxuLy8gJGNvbG9yLWluZm8tbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWluZm8sNDApO1xyXG4vLyAkY29sb3ItaW5mby1saWdodGVyOiAgICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW5mbyw4MCk7XHJcbiRjb2xvci1zdWNjZXNzLWRhcmtlcjogICAgICAgICAgICAgICAgICAgIzczYTYzOTtcclxuLy8gJGNvbG9yLXN1Y2Nlc3MtZGFyazogICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1zdWNjZXNzLDI2KTtcclxuJGNvbG9yLXN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAjZTdmMGRjO1xyXG4kY29sb3Itc3VjY2Vzcy1saWdodGVyOiAgICAgICAgICAgICAgICAgICM2YmM1MDg7XHJcbi8vICRjb2xvci13YXJuaW5nLWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtd2FybmluZyw0MCk7XHJcbi8vICRjb2xvci13YXJuaW5nLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtd2FybmluZywyNik7XHJcbiRjb2xvci13YXJuaW5nLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAjRkZGQUQ5O1xyXG4vLyAkY29sb3Itd2FybmluZy1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtd2FybmluZyw4MCk7XHJcbi8vICRjb2xvci1kYW5nZXItZGFya2VyOiAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGFuZ2VyLDQwKTtcclxuLy8gJGNvbG9yLWRhbmdlci1kYXJrOiAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1kYW5nZXIsMjYpO1xyXG4gJGNvbG9yLWRhbmdlci1saWdodDogICAgICAgICAgICAgICAgICAgICNGQkVBRUE7XHJcbiAkY29sb3ItZGFuZ2VyLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICAgI0UwNTE1MDtcclxuLy89PSBHcmlkc1xyXG4vLyMjIFVzZWQgZm9yIERhdGFncmlkLCBUZW1wbGF0ZWdyaWQsIExpc3R2aWV3ICYgVGFibGVzIChzZWUgY29tcG9uZW50cyBmb2xkZXIpXHJcbi8vIERlZmF1bHQgQm9yZGVyIENvbG9yc1xyXG4vLyAkZ3JpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xyXG4vLyBCYWNrZ3JvdW5kIENvbG9yc1xyXG4vLyAkZ3JpZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRjtcclxuLy8gJGdyaWQtYmctaGVhZGVyOiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBHcmlkIEhlYWRlcnNcclxuLy8gJGdyaWQtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRjb2xvci1wcmltYXJ5LWxpZ2h0ZXIsMyk7XHJcbiRncmlkLWJnLXNlbGVjdGVkOiAkYnJhbmQtZGVmYXVsdDsgLy8gJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXI6ICAgICAgICAgICAgICAgIHNoYWRlKCRjb2xvci1wcmltYXJ5LWxpZ2h0ZXIsMyk7XHJcbi8vIFN0cmlwZWQgQmFja2dyb3VuZCBDb2xvclxyXG4vLyAkZ3JpZC1iZy1zdHJpcGVkOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JpZC1ib3JkZXItY29sb3IsNSk7XHJcbi8vIEJhY2tncm91bmQgRm9vdGVyIENvbG9yXHJcbi8vICRncmlkLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1wcmltYXJ5O1xyXG4vLyBUZXh0IENvbG9yXHJcbi8vICRncmlkLXNlbGVjdGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yO1xyXG4vLyBQYWdpbmcgQ29sb3JzXHJcbi8vICRncmlkLXBhZ2luZy1iZzogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8gJGdyaWQtcGFnaW5nLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG4vLyAkZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbi8vICRncmlkLXBhZ2luZy1ib3JkZXItY29sb3ItaG92ZXI6ICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8gJGdyaWQtcGFnaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0O1xyXG4vLyAkZ3JpZC1wYWdpbmctY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XHJcbi8vPT0gVGFic1xyXG4vLyMjIERlZmF1bHQgdmFyaWFibGVzIGZvciBUYWIgQ29udGFpbmVyIFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL3RhYmNvbnRhaW5lcilcclxuLy8gVGV4dCBDb2xvclxyXG4vLyAkdGFicy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xyXG4vLyAkdGFicy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtYmxhY2s7XHJcbi8vICR0YWJzLWxpbmVkLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuLy8gQm9yZGVyIENvbG9yXHJcbi8vICR0YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1ib3JkZXItY29sb3I7XHJcbi8vICR0YWJzLWxpbmVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuLy8gQmFja2dyb3VuZCBDb2xvclxyXG4vLyAkdGFicy1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkdGFicy1ib3JkZXItY29sb3IsNSk7XHJcbi8vICR0YWJzLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuLy89PSBNb2RhbHNcclxuLy8jIyBEZWZhdWx0IE1lbmRpeCBNb2RhbCwgQmxvY2tpbmcgTW9kYWwgYW5kIExvZ2luIE1vZGFsICh1c2VkIGluIGNvbXBvbmVudHMvbW9kYWxzKVxyXG4vLyBCYWNrZ3JvdW5kIENvbG9yXHJcbi8vICRtb2RhbC1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8gQm9yZGVyIENvbG9yXHJcbi8vICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZGVmYXVsdC1ib3JkZXItY29sb3I7XHJcbi8vIFRleHQgQ29sb3JcclxuLy8gJG1vZGFsLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XHJcbi8vPT0gRGF0YXZpZXdcclxuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgRGF0YXZpZXcgV2lkZ2V0ICh1c2VkIGluIGNvbXBvbmVudHMvZGF0YXZpZXcpXHJcbi8vIENvbnRyb2xzXHJcbi8vICRkYXRhdmlldy1jb250cm9scy1iZzogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8gJGRhdGF2aWV3LWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcclxuLy8gRW1wdHkgTWVzc2FnZVxyXG4vLyAkZGF0YXZpZXctZW1wdHltZXNzYWdlLWJnOiAgICAgICAgICAgICAgJGJnLWNvbG9yO1xyXG4vLyAkZGF0YXZpZXctZW1wdHltZXNzYWdlLWNvbG9yOiAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvcjtcclxuLy89PSBBbGVydHNcclxuLy8jIyBEZWZhdWx0IEJvb3RzdHJhcCBhbGVydHMsIG5vdCBhIHdpZGdldCBpbiB0aGUgTW9kZWxlciAodXNlZCBpbiBjb21wb25lbnRzL2FsZXJ0cylcclxuLy8gQmFja2dyb3VuZCBDb2xvclxyXG4vLyAkYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWluZm8tbGlnaHRlcjtcclxuLy8gJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1zdWNjZXNzLWxpZ2h0ZXI7XHJcbi8vICRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2FybmluZy1saWdodGVyO1xyXG4vLyAkYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWRhbmdlci1saWdodGVyO1xyXG4vLyBUZXh0IENvbG9yXHJcbi8vICRhbGVydC1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItaW5mby1kYXJrZXI7XHJcbi8vICRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3Itc3VjY2Vzcy1kYXJrZXI7XHJcbi8vICRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3Itd2FybmluZy1kYXJrZXI7XHJcbi8vICRhbGVydC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkY29sb3ItZGFuZ2VyLWRhcmtlcjtcclxuLy8gQm9yZGVyIENvbG9yXHJcbi8vICRhbGVydC1pbmZvLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkY29sb3ItaW5mby1kYXJrO1xyXG4vLyAkYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtZGFyaztcclxuLy8gJGFsZXJ0LXdhcm5pbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci13YXJuaW5nLWRhcms7XHJcbi8vICRhbGVydC1kYW5nZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItZGFuZ2VyLWRhcms7XHJcbi8vPT0gTGFiZWxzXHJcbi8vIyMgRGVmYXVsdCBCb290c3RyYXAgTGFiZWxzLCBub3QgYSB3aWRnZXQgaW4gdGhlIE1vZGVsZXIgKHVzZWQgaW4gY29tcG9uZW50cy9sYWJlbHMpXHJcbi8vIEJhY2tncm91bmQgQ29sb3JcclxuLy8gJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1kZWZhdWx0O1xyXG4vLyAkbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XHJcbi8vICRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbztcclxuLy8gJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xyXG4vLyAkbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XHJcbi8vICRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xyXG4vLyBCb3JkZXIgQ29sb3JcclxuLy8gJGxhYmVsLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1kZWZhdWx0O1xyXG4vLyAkbGFiZWwtcHJpbWFyeS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XHJcbi8vICRsYWJlbC1pbmZvLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtaW5mbztcclxuLy8gJGxhYmVsLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xyXG4vLyAkbGFiZWwtd2FybmluZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XHJcbi8vICRsYWJlbC1kYW5nZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xyXG4vLyBUZXh0IENvbG9yXHJcbi8vICRsYWJlbC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yO1xyXG4vLyAkbGFiZWwtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgI0ZGRjtcclxuLy8gJGxhYmVsLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNGRkY7XHJcbi8vICRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjRkZGO1xyXG4vLyAkbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgI0ZGRjtcclxuLy8gJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNGRkY7XHJcbi8vPT0gR3JvdXBib3hcclxuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgR3JvdXBib3ggV2lkZ2V0ICh1c2VkIGluIGNvbXBvbmVudHMvZ3JvdXBib3gpXHJcbi8vIEJhY2tncm91bmQgQ29sb3JcclxuJGdyb3VwYm94LWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xyXG4kZ3JvdXBib3gtaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2U7XHJcbi8vICRncm91cGJveC1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuLy8gJGdyb3VwYm94LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvO1xyXG4vLyAkZ3JvdXBib3gtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XHJcbi8vICRncm91cGJveC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZztcclxuLy8gJGdyb3VwYm94LWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXI7XHJcbi8vICRncm91cGJveC13aGl0ZS1iZzogICAgICAgICAgICAgICAgICAgICAjRkZGO1xyXG4vLyBUZXh0IENvbG9yXHJcbiRncm91cGJveC1kZWZhdWx0LWNvbG9yOiAkZm9udC1iYXNlLWNvbG9yLWxpZ2h0OyAvLyAkZ3JvdXBib3gtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtd2hpdGU7XHJcbi8vICRncm91cGJveC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZTtcclxuLy8gJGdyb3VwYm94LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xyXG4vLyAkZ3JvdXBib3gtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtd2hpdGU7XHJcbi8vICRncm91cGJveC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZTtcclxuLy8gJGdyb3VwYm94LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xyXG4vLyAkZ3JvdXBib3gtd2hpdGUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvcjtcclxuLy89PSBDYWxsb3V0IChncm91cGJveCkgQ29sb3JzXHJcbi8vIyMgRXh0ZW5kZWQgdmFyaWFibGVzIGZvciBHcm91cGJveCBXaWRnZXQgKHVzZWQgaW4gY29tcG9uZW50cy9ncm91cGJveClcclxuLy8gVGV4dCBhbmQgQm9yZGVyIENvbG9yXHJcbi8vICRjYWxsb3V0LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbztcclxuLy8gJGNhbGxvdXQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xyXG4vLyAkY2FsbG91dC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XHJcbi8vICRjYWxsb3V0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xyXG4vLyBCYWNrZ3JvdW5kIENvbG9yXHJcbi8vICRjYWxsb3V0LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItaW5mby1saWdodGVyO1xyXG4vLyAkY2FsbG91dC1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlcjtcclxuLy8gJGNhbGxvdXQtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci13YXJuaW5nLWxpZ2h0ZXI7XHJcbi8vICRjYWxsb3V0LWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICAkY29sb3ItZGFuZ2VyLWxpZ2h0ZXI7XHJcbi8vPT0gTW9iaWxlXHJcbi8vIyNcclxuLy89PSBNb2JpbGUgSGVhZGVyXHJcbi8vIyMgU3BlY2lmaWMgbW9iaWxlIHdpZGdldHMgYW5kIGNvbXBvbmVudHMgKHVzZWQgaW4gbW9iaWxlL2NvbXBvbmVudHMvbXgtaGVhZGVyKVxyXG4vLyBIZWlnaHRcclxuLy8gJG0taGVhZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDQ0cHg7XHJcbi8vIEJhY2tncm91bmQgQ29sb3JcclxuLy8gJG0taGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRkY7XHJcbi8vIFRleHQgQ29sb3JcclxuLy8gJG0taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XHJcbi8vIExpbmsgQ29sb3JcclxuLy8gJG0taGVhZGVyLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yO1xyXG4vLz09IE1vYmlsZSBUYWJzXHJcbi8vIyMgU3BlY2lmaWMgbW9iaWxlIHdpZGdldHMgYW5kIGNvbXBvbmVudHMgKHVzZWQgaW4gbW9iaWxlL2NvbXBvbmVudHMvdGFiY29udGFpbmVyKVxyXG4vLyBUZXh0IENvbG9yXHJcbi8vICRtLXRhYnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGO1xyXG4vLyAkbS10YWJzLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgIzAwMDtcclxuLy8gQmFja2dyb3VuZCBDb2xvclxyXG4vLyAkbS10YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XHJcbi8vICRtLXRhYnMtYmctY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgICBsaWdodGVuKCR0YWJzLWJvcmRlci1jb2xvciw1KTtcclxuLy8gJG0tdGFicy1iZy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSk7XHJcbi8vIEJvcmRlciBDb2xvclxyXG4vLyAkbS10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgZGFya2VuKCRtLXRhYnMtYmcsIDE1KTtcclxuLy8gJG0tdGFicy1ib3JkZXItY29sb3ItYWN0aXZlOiAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSk7XHJcbi8vPT0gTGF5b3V0IFNwYWNpbmdcclxuLy8jIyBBZHZhbmNlZCBsYXlvdXQgb3B0aW9ucyAodXNlZCBpbiBiYXNlL21peGlucy9kZWZhdWx0LXNwYWNpbmcpXHJcbiRkZWZhdWx0LXNwYWNpbmctdG9wOiAyMHB4OyAvLyAkZGVmYXVsdC1zcGFjaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgNDBweDtcclxuLy8gJGRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAgIDM1cHg7XHJcbi8vICRkZWZhdWx0LXNwYWNpbmctbGVmdDogICAgICAgICAgICAgICAgICA0MHB4O1xyXG4vLyAkbS1kZWZhdWx0LXNwYWNpbmctdG9wOiAgICAgICAgICAgICAgICAgMTBweDtcclxuLy8gJG0tZGVmYXVsdC1zcGFjaW5nLXJpZ2h0OiAgICAgICAgICAgICAgIDE1cHg7XHJcbi8vICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAxMHB4O1xyXG4vLyAkbS1kZWZhdWx0LXNwYWNpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweDtcclxuLy8gJHQtZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgIDIwcHg7XHJcbi8vICR0LWRlZmF1bHQtc3BhY2luZy1yaWdodDogICAgICAgICAgICAgICAzMHB4O1xyXG4vLyAkdC1kZWZhdWx0LXNwYWNpbmctYm90dG9tOiAgICAgICAgICAgICAgMjBweDtcclxuLy8gJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDMwcHg7XHJcbi8vPT0gTGF5b3V0c1xyXG4vLyMjXHJcbi8vIFNjcm9sbCBjb250YWluZXIgLyBsYXlvdXQgY29udGFpbmVyIGRlZmF1bHQgcGFkZGluZ1xyXG4vLyAkcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTogICAgICAgICAgMHB4O1xyXG4vLyAkbS1wYWRkaW5nLWxheW91dGNvbnRhaW5lci1iYXNlOiAgICAgICAgMHB4O1xyXG4vLyAkdC1wYWRkaW5nLWxheW91dGNvbnRhaW5lci1iYXNlOiAgICAgICAgMHB4O1xyXG4vLyBDb21iaW5lZCBzcGFjaW5nXHJcbi8vICRkZWZhdWx0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1zcGFjaW5nLXRvcCAkZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICRkZWZhdWx0LXNwYWNpbmctYm90dG9tICRkZWZhdWx0LXNwYWNpbmctbGVmdDtcclxuLy8gJG0tZGVmYXVsdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRtLWRlZmF1bHQtc3BhY2luZy10b3AgJG0tZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b20gJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XHJcbi8vICR0LWRlZmF1bHQtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkdC1kZWZhdWx0LXNwYWNpbmctdG9wICR0LWRlZmF1bHQtc3BhY2luZy1yaWdodCAkdC1kZWZhdWx0LXNwYWNpbmctYm90dG9tICR0LWRlZmF1bHQtc3BhY2luZy1sZWZ0O1xyXG4vLz09IFRhYmxlc1xyXG4vLyMjIFRhYmxlIHNwYWNpbmcgb3B0aW9ucyAodXNlZCBpbiBjb21wb25lbnRzL3RhYmxlcylcclxuLy8gJHBhZGRpbmctdGFibGUtY2VsbC10b3A6ICAgICAgICAgICAgICAgIDhweDtcclxuLy8gJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b206ICAgICAgICAgICAgIDhweDtcclxuLy8gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0OiAgICAgICAgICAgICAgIDhweDtcclxuLy8gJHBhZGRpbmctdGFibGUtY2VsbC1yaWdodDogICAgICAgICAgICAgIDhweDtcclxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXHJcbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cclxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmUgRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXHJcbi8vICRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODBweDtcclxuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxyXG4vLyAkc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICAgICAgICAgICAgJHNjcmVlbi14cztcclxuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXHJcbi8vICRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbjtcclxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0IERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXNtOiA3NjhweDtcclxuJHNjcmVlbi1zbS1taW46ICRzY3JlZW4tc207IC8vIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcclxuLy8gJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tc20tbWluO1xyXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcCBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1tZDogMTAyNHB4O1xyXG4kc2NyZWVuLW1kLW1pbjogJHNjcmVlbi1tZDsgLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcclxuLy8gJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluO1xyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3AgRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXHJcbi8vICRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHg7XHJcbi8vICRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLWxnO1xyXG4vLyBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG4vLyAkc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICAgICAgICAgICAgJHNjcmVlbi1sZy1taW47XHJcbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxyXG4vLyAkc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSk7XHJcbi8vICRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKTtcclxuLy8gJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xyXG4iLCIvLz09IE1lbmRpeCBVSSBGcmFtZXdvcmsgLSBXZWxjb21lIHRvIHZhcmlhYmxlcyBmaWxlXG4vLyMjIFRoZSBCYXNpYyBzdGVwIGluY2x1ZGVzIHRoZSBjdXN0b21pemF0aW9uIHRoYXQgaXMgYWxzbyBhdmFpbGFibGUgaW4gdGhlIE1lbmRpeCBUaGVtZSBDcmVhdG9yIChodHRwczovL3V4Lm1lbmRpeC5jb20pXG5cbi8vXG4vLyDilojilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilojilZfilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXXG4vLyDilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZHilojilojilZTilZDilZDilZDilZDilZ1cbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkeKWiOKWiOKVkSAgICAgXG4vLyDilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZHilZrilZDilZDilZDilZDilojilojilZHilojilojilZHilojilojilZEgICAgIFxuLy8g4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZHilZrilojilojilojilojilojilojilZdcbi8vIOKVmuKVkOKVkOKVkOKVkOKVkOKVnSDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSDilZrilZDilZDilZDilZDilZDilZ1cbi8vXG5cblxuLy89PSBTdGVwIDE6IEJyYW5kIENvbG9yc1xuJGJyYW5kLWRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICNEREREREQgIWRlZmF1bHQ7ICAgIFxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICM1OUMyRTYgIWRlZmF1bHQ7ICAgIFxuJGJyYW5kLWludmVyc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICMzRDNGNDEgIWRlZmF1bHQ7IFxuJGJyYW5kLWluZm86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM4QUQ0RUQgIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAgICAgICAgICAgICAgICAgIzhDQzE1MiAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAjRjZCQjQyICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgICAgICAgICAgICAgICNEOTUzNEYgIWRlZmF1bHQ7XG5cbiRicmFuZC1sb2dvOlx0XHRcdFx0XHRcdFx0ZmFsc2UgIWRlZmF1bHQ7XG4kYnJhbmQtbG9nby1oZWlnaHQ6XHRcdFx0XHRcdFx0NDBweCAhZGVmYXVsdDtcbiRicmFuZC1sb2dvLXdpZHRoOlx0XHRcdFx0XHRcdDQwcHggIWRlZmF1bHQ7IC8vIE9ubHkgdXNlZCBmb3IgQ1NTIGJyYW5kIGxvZ29cblxuXG4vLz09IFN0ZXAgMjogVUkgQ3VzdG9taXphdGlvblxuXG4vLyBUb3BiYXIgXG4kdG9wYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiR0b3BiYXItbWluaW1hbGhlaWdodDogICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyIFxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbnZlcnNlICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgQnJhbmQgTmFtZSAvIEZvciB5b3VyIGNvbXBhbnksIHByb2R1Y3QsIG9yIHByb2plY3QgbmFtZSAodXNlZCBpbiBsYXlvdXRzL2Jhc2UvKVxuJG5hdmJhci1icmFuZC1uYW1lOiAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4kYmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbi8vIEJhY2tncm91bmQgY29sb3IgdGhhdCBpcyB1c2VkIGZvciBzcGVjaWZpYyBwYWdlIHRlbXBsYXRlcyBiYWNrZ3JvdW5kIFxuJGJnLWNvbG9yLXNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICNFRkY0RjcgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgRm9udCBTaXplICYgQ29sb3JcbiRmb250LWJhc2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtYmFzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgTGluayBDb2xvclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcblxuXG5cblxuLy9cbi8vICDilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKVlyAgIOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKVlyBcbi8vIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWXXG4vLyDilojilojilojilojilojilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZHilojilojilZEgICAgIOKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWRICDilojilojilZFcbi8vIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4pWa4paI4paI4pWXIOKWiOKWiOKVlOKVneKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkeKWiOKWiOKVkSAgICAg4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZEgIOKWiOKWiOKVkVxuLy8g4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilZTilZ0g4pWa4paI4paI4paI4paI4pWU4pWdIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkeKVmuKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKVlOKVnVxuLy8g4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZ0gICDilZrilZDilZDilZDilZ0gIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZDilZDilZ0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIFxuLy9cblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vIyMgQ2hhbmdlIHlvdXIgZm9udCBmYW1pbHksIHdlaWdodCwgbGluZS1oZWlnaHQsIGhlYWRpbmdzIGFuZCBtb3JlICh1c2VkIGluIGNvbXBvbmVudHMvdHlwb2dyYXBoeSlcblxuLy8gRm9udCBGYW1pbHkgSW1wb3J0IChVc2VkIGZvciBnb29nbGUgZm9udCBwbHVnaW4gaW4gdGhlbWUgY3JlYXRlciBodHRwczovL3V4Lm1lbmRpeC5jb20vdGhlbWUtY3JlYXRvci5odG1sKVxuJGZvbnQtZmFtaWx5LWltcG9ydDogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuQGlmICRmb250LWZhbWlseS1pbXBvcnQgIT0gZmFsc2UgeyAvLyBPbmx5IGltcG9ydCwgaWYgdGhlIGltcG9ydCBpcyBzZXRcbiAgICBAaW1wb3J0IHVybCgkZm9udC1mYW1pbHktaW1wb3J0KTtcbn1cblxuLy8gRm9udCBGYW1pbHkgLyBGYWxzZSA9IGZhbGxiYWNrIGZyb20gQm9vdHN0cmFwIChIZWx2ZXRpY2EgTmV1ZSlcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsvL1wiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1saWdodDogICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsvL1wiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZW1pYm9sZDogICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsvL1wiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1ib2xkOiAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsvL1wiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gRm9udCBTaXplXG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgY2VpbCgkZm9udC1iYXNlLXNpemUgKiAxLjI1KSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICBjZWlsKCRmb250LWJhc2Utc2l6ZSAqIDAuODUpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyBGb250IFdlaWdodHNcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgICAgICAgICAgICAxMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0OyAgICAgICAgIFxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0OyBcblxuJGZvbnQtd2VpZ2h0LWhlYWRlcnM6ICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIEZvbnQgSGVhZGVyIFNpemVcbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAzMXB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAgICAgICAgICAgIDI2cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMXB4ICFkZWZhdWx0O1xuXG4vLyBGb250IEhlYWRlciBDb2xvclxuJGZvbnQtY29sb3ItaGVhZGVyczpcdFx0XHRcdFx0JGZvbnQtYmFzZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gTGluZSBIZWlnaHRcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBHcmF5IFNoYWRlc1xuLy8jIyBEaWZmZXJlbnQgZ3JheSBzaGFkZXMgdG8gYmUgdXNlZCBmb3Igb3VyIHZhcmlhYmxlcyBhbmQgY29tcG9uZW50c1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG4kZ3JheS1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgI0RERCAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZWVlICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IEdsb2JhbCBCb3JkZXIgQ29sb3Jcbi8vIFRoZSBkZWZhdWx0IGJvcmRlciBjb2xvciB1c2VkIGJ5IERhdGFncmlkLCBMaXN0dmlldywgVGFibGVzLCBEYXRhdmlldywgTW9kYWxzIGFuZCBtb3JlXG4kZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktcHJpbWFyeSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBOYXZpZ2F0aW9uXG4vLyMjIFVzZWQgaW4gY29tcG9uZW50cy9uYXZpZ2F0aW9uXG5cbi8vIE5hdmlnYXRpb24gU2lkZWJhclxuJG5hdnNpZGViYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZSAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLXN1Yi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuJG5hdnNpZGViYXItZ2x5cGgtc2l6ZTogICAgICAgICAgICAgICAgIDEuMmVtICFkZWZhdWx0OyAvLyBGb3IgZ2x5cGhpY29ucyB0aGF0IHlvdSBjYW4gc2VsZWN0IGluIHRoZSBNZW5kaXggTW9kZWxlclxuXG4kbmF2c2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItYmcgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkbmF2c2lkZWJhci1iZywgNCkgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgICAgbGlnaHRlbigkbmF2c2lkZWJhci1iZywgOCkgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJG5hdnNpZGViYXItc3ViLWJnOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2c2lkZWJhci1iZywgNCkgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1zdWItYmctaG92ZXI6ICAgICAgICAgICAgICAgJG5hdnNpZGViYXItc3ViLWJnICFkZWZhdWx0O1xuJG5hdnNpZGViYXItc3ViLWJnLWFjdGl2ZTogICAgICAgICAgICAgICRuYXZzaWRlYmFyLXN1Yi1iZyAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLXN1Yi1jb2xvcjogICAgICAgICAgICAgICAgICAjQUFBICFkZWZhdWx0O1xuJG5hdnNpZGViYXItc3ViLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG5hdnNpZGViYXItc3ViLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kbmF2c2lkZWJhci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJG5hdnNpZGViYXItYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIE5hdmlnYXRpb24gdG9wYmFyXG4kbmF2dG9wYmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1zaXplICFkZWZhdWx0O1xuJG5hdnRvcGJhci1zdWItZm9udC1zaXplOiAgICAgICAgICAgICAgICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLWdseXBoLXNpemU6ICAgICAgICAgICAgICAgICAgMS4yZW0gIWRlZmF1bHQ7IC8vIEZvciBnbHlwaGljb25zIHRoYXQgeW91IGNhbiBzZWxlY3QgaW4gdGhlIE1lbmRpeCBNb2RlbGVyXG5cbiRuYXZ0b3BiYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAkdG9wYmFyLWJnICFkZWZhdWx0O1xuJG5hdnRvcGJhci1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2dG9wYmFyLWJnLCA0KSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItYmctYWN0aXZlOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdnRvcGJhci1iZywgOCkgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgI0FBQSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItY29sb3ItYWN0aXZlOiAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJG5hdnRvcGJhci1zdWItYmc6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJG5hdnRvcGJhci1iZywgNCkgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLXN1Yi1iZy1ob3ZlcjogICAgICAgICAgICAgICAgJG5hdnRvcGJhci1zdWItYmcgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLXN1Yi1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJG5hdnRvcGJhci1zdWItYmcgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLXN1Yi1jb2xvcjogICAgICAgICAgICAgICAgICAgI0FBQSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItc3ViLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItc3ViLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8jIyBVc2VkIGluIGxheW91dHMvYmFzZVxuJG5hdnRvcGJhci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBGb3JtXG4vLyMjIFVzZWQgaW4gY29tcG9uZW50cy9pbnB1dHNcblxuLy8gRm9ybSBMYWJlbCAgXG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDsgICAgICAgIFxuJGZvcm0tbGFiZWwtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZSAhZGVmYXVsdDsgICAgICAgIFxuJGZvcm0tbGFiZWwtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7ICAgICAgICAgICAgIFxuXG4vLyBGb3JtIElucHV0IGRpbWVuc2lvbnNcbiRmb3JtLWlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICBhdXRvICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgJGZvcm0tbGFiZWwtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbi8vIEZvcm0gSW5wdXQgc3R5bGluZ1xuJGZvcm0taW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0taW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgJGZvcm0taW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtYm9yZGVyLWZvY3VzLWNvbG9yOiAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0OyAgICBcblxuLy8gRm9ybSBHcm91cFxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBCdXR0b25zXG4vLyMjIERlZmluZSBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IgYW5kIHRleHQuIFVzZWQgaW4gY29tcG9uZW50cy9idXR0b25zXG5cbi8vIEJ1dHRvbiBUZXh0IFNpemVcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gQmFja2dyb3VuZCBDb2xvclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1kZWZhdWx0ICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbiBCb3JkZXIgQ29sb3JcbiRidG4tZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkYnJhbmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkYnJhbmQtaW52ZXJzZSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gVGV4dCBDb2xvclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG5cblxuXG4vL1xuLy8g4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuLy8g4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4pWa4paI4paI4pWX4paI4paI4pWU4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWdXG4vLyDilojilojilojilojilojilZcgICDilZrilojilojilojilZTilZ0g4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilZTilZ0gICDilojilojilZEgICBcbi8vIOKWiOKWiOKVlOKVkOKVkOKVnSAgIOKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZTilZDilZDilZDilZ0g4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZTilZDilZDilojilojilZcgICDilojilojilZEgICBcbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlOKVnSDilojilojilZfilojilojilZEgICAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSAg4paI4paI4pWRICAg4paI4paI4pWRICAgXG4vLyDilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ0gICDilZrilZDilZ0gICBcbi8vXG5cbi8vPT0gQ29sb3IgdmFyaWF0aW9uc1xuLy8jIyBUaGVzZSB2YXJpYXRpb25zIGFyZSB1c2VkIHRvIHN1cHBvcnQgc2V2ZXJhbCBvdGhlciB2YXJpYWJsZXMgYW5kIGNvbXBvbmVudHNcblxuLy8gQmFzaWMgVGV4dCBjb2xvcnNcbiRjb2xvci10ZXh0LWJsYWNrOiAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk6ICAgICAgICAgICAgbGlnaHRlbigkY29sb3ItdGV4dC1ibGFjaywgNDAlKSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWJsYWNrLWRpc2FibGVkOiAgICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LWJsYWNrLCAuMjYpICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtYmxhY2staGludDogICAgICAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtYmxhY2ssIC4yNikgIWRlZmF1bHQ7XG5cbiRjb2xvci10ZXh0LXdoaXRlLXNlY29uZGFyeTogICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LXdoaXRlLCAuNykgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC13aGl0ZS1kaXNhYmxlZDogICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjMpICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtd2hpdGUtaGludDogICAgICAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtd2hpdGUsIC4zKSAhZGVmYXVsdDtcblxuLy8gQ29sb3IgdmFyaWF0aW9uc1xuJGNvbG9yLWRlZmF1bHQtZGFya2VyOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1kZWZhdWx0LDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGVmYXVsdC1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWRlZmF1bHQsMjYpICFkZWZhdWx0OyAgICBcbiRjb2xvci1kZWZhdWx0LWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1kZWZhdWx0LDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGVmYXVsdC1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtZGVmYXVsdCw4MCkgIWRlZmF1bHQ7ICAgIFxuXG4kY29sb3ItaW52ZXJzZS1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWludmVyc2UsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1pbnZlcnNlLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtaW52ZXJzZSwyNikgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWludmVyc2UtbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWludmVyc2UsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1pbnZlcnNlLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbnZlcnNlLDgwKSAhZGVmYXVsdDsgICAgXG5cbiRjb2xvci1wcmltYXJ5LWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtcHJpbWFyeSw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXByaW1hcnktZGFyazogICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1wcmltYXJ5LDI2KSAhZGVmYXVsdDsgICAgXG4kY29sb3ItcHJpbWFyeS1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtcHJpbWFyeSw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXByaW1hcnktbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXByaW1hcnksODApICFkZWZhdWx0OyAgICBcblxuJGNvbG9yLWluZm8tZGFya2VyOiAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbmZvLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItaW5mby1kYXJrOiAgICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWluZm8sMjYpICFkZWZhdWx0OyAgICBcbiRjb2xvci1pbmZvLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbmZvLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItaW5mby1saWdodGVyOiAgICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW5mbyw4MCkgIWRlZmF1bHQ7ICAgIFxuXG4kY29sb3Itc3VjY2Vzcy1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXN1Y2Nlc3MsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1zdWNjZXNzLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtc3VjY2VzcywyNikgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXN1Y2Nlc3MsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1zdWNjZXNzLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1zdWNjZXNzLDgwKSAhZGVmYXVsdDsgICAgXG5cbiRjb2xvci13YXJuaW5nLWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtd2FybmluZyw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXdhcm5pbmctZGFyazogICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC13YXJuaW5nLDI2KSAhZGVmYXVsdDsgICAgXG4kY29sb3Itd2FybmluZy1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtd2FybmluZyw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXdhcm5pbmctbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXdhcm5pbmcsODApICFkZWZhdWx0OyAgICBcblxuJGNvbG9yLWRhbmdlci1kYXJrZXI6ICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1kYW5nZXIsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1kYW5nZXItZGFyazogICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGFuZ2VyLDI2KSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGFuZ2VyLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtZGFuZ2VyLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGFuZ2VyLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtZGFuZ2VyLDgwKSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBHcmlkc1xuLy8jIyBVc2VkIGZvciBEYXRhZ3JpZCwgVGVtcGxhdGVncmlkLCBMaXN0dmlldyAmIFRhYmxlcyAoc2VlIGNvbXBvbmVudHMgZm9sZGVyKVxuXG4vLyBEZWZhdWx0IEJvcmRlciBDb2xvcnNcbiRncmlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4kZ3JpZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRncmlkLWJnLWhlYWRlcjogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDsgLy8gR3JpZCBIZWFkZXJzXG4kZ3JpZC1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGNvbG9yLXByaW1hcnktbGlnaHRlciwzKSAhZGVmYXVsdDtcbiRncmlkLWJnLXNlbGVjdGVkOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDsgICAgXG4kZ3JpZC1iZy1zZWxlY3RlZC1ob3ZlcjogICAgICAgICAgICAgICAgc2hhZGUoJGNvbG9yLXByaW1hcnktbGlnaHRlciwzKSAhZGVmYXVsdDtcblxuLy8gU3RyaXBlZCBCYWNrZ3JvdW5kIENvbG9yXG4kZ3JpZC1iZy1zdHJpcGVkOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JpZC1ib3JkZXItY29sb3IsNSkgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgRm9vdGVyIENvbG9yXG4kZ3JpZC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gVGV4dCBDb2xvclxuJGdyaWQtc2VsZWN0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luZyBDb2xvcnNcbiRncmlkLXBhZ2luZy1iZzogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkLXBhZ2luZy1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkLXBhZ2luZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkLXBhZ2luZy1ib3JkZXItY29sb3ItaG92ZXI6ICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkLXBhZ2luZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRncmlkLXBhZ2luZy1jb2xvci1ob3ZlcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBUYWJzXG4vLyMjIERlZmF1bHQgdmFyaWFibGVzIGZvciBUYWIgQ29udGFpbmVyIFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL3RhYmNvbnRhaW5lcilcblxuLy8gVGV4dCBDb2xvclxuJHRhYnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeSAhZGVmYXVsdDtcbiR0YWJzLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC1ibGFjayAhZGVmYXVsdDtcbiR0YWJzLWxpbmVkLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIENvbG9yXG4kdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yICFkZWZhdWx0OyAgICBcbiR0YWJzLWxpbmVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDsgICAgXG5cbi8vIEJhY2tncm91bmQgQ29sb3JcbiR0YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJHRhYnMtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJHRhYnMtYm9yZGVyLWNvbG9yLDUpICFkZWZhdWx0O1xuJHRhYnMtYmctYWN0aXZlOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IE1vZGFsc1xuLy8jIyBEZWZhdWx0IE1lbmRpeCBNb2RhbCwgQmxvY2tpbmcgTW9kYWwgYW5kIExvZ2luIE1vZGFsICh1c2VkIGluIGNvbXBvbmVudHMvbW9kYWxzKVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kbW9kYWwtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciBDb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gVGV4dCBDb2xvclxuJG1vZGFsLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gRGF0YXZpZXdcbi8vIyMgRGVmYXVsdCB2YXJpYWJsZXMgZm9yIERhdGF2aWV3IFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL2RhdGF2aWV3KVxuXG4vLyBDb250cm9sc1xuJGRhdGF2aWV3LWNvbnRyb2xzLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRhdGF2aWV3LWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gRW1wdHkgTWVzc2FnZVxuJGRhdGF2aWV3LWVtcHR5bWVzc2FnZS1iZzogICAgICAgICAgICAgICRiZy1jb2xvciAhZGVmYXVsdDtcbiRkYXRhdmlldy1lbXB0eW1lc3NhZ2UtY29sb3I6ICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IEFsZXJ0c1xuLy8jIyBEZWZhdWx0IEJvb3RzdHJhcCBhbGVydHMsIG5vdCBhIHdpZGdldCBpbiB0aGUgTW9kZWxlciAodXNlZCBpbiBjb21wb25lbnRzL2FsZXJ0cylcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlciAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2FybmluZy1saWdodGVyICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1kYW5nZXItbGlnaHRlciAhZGVmYXVsdDtcblxuLy8gVGV4dCBDb2xvclxuJGFsZXJ0LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWRhcmtlciAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3Itc3VjY2Vzcy1kYXJrZXIgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLXdhcm5pbmctZGFya2VyICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjb2xvci1kYW5nZXItZGFya2VyICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgQ29sb3JcbiRhbGVydC1pbmZvLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkY29sb3ItaW5mby1kYXJrICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci1zdWNjZXNzLWRhcmsgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLXdhcm5pbmctZGFyayAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItZGFuZ2VyLWRhcmsgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTGFiZWxzXG4vLyMjIERlZmF1bHQgQm9vdHN0cmFwIExhYmVscywgbm90IGEgd2lkZ2V0IGluIHRoZSBNb2RlbGVyICh1c2VkIGluIGNvbXBvbmVudHMvbGFiZWxzKVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQgIWRlZmF1bHQ7XG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7IFxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0OyBcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDsgXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDsgICAgIFxuXG4vLyBCb3JkZXIgQ29sb3JcbiRsYWJlbC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRsYWJlbC1wcmltYXJ5LWJvcmRlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRsYWJlbC1pbmZvLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyBUZXh0IENvbG9yXG4kbGFiZWwtZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGxhYmVsLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gR3JvdXBib3hcbi8vIyMgRGVmYXVsdCB2YXJpYWJsZXMgZm9yIEdyb3VwYm94IFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL2dyb3VwYm94KVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kZ3JvdXBib3gtZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZ3JvdXBib3gtaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2UgIWRlZmF1bHQ7IFxuJGdyb3VwYm94LXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0OyBcbiRncm91cGJveC1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRncm91cGJveC1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDsgXG4kZ3JvdXBib3gtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kZ3JvdXBib3gtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDsgICAgIFxuJGdyb3VwYm94LXdoaXRlLWJnOiAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG5cbi8vIFRleHQgQ29sb3JcbiRncm91cGJveC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC1ibGFjayAhZGVmYXVsdDtcbiRncm91cGJveC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC13aGl0ZSAhZGVmYXVsdDtcbiRncm91cGJveC13aGl0ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IENhbGxvdXQgKGdyb3VwYm94KSBDb2xvcnNcbi8vIyMgRXh0ZW5kZWQgdmFyaWFibGVzIGZvciBHcm91cGJveCBXaWRnZXQgKHVzZWQgaW4gY29tcG9uZW50cy9ncm91cGJveClcblxuLy8gVGV4dCBhbmQgQm9yZGVyIENvbG9yXG4kY2FsbG91dC1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kY2FsbG91dC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kY2FsbG91dC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kY2FsbG91dC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuJGNhbGxvdXQtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWxpZ2h0ZXIgIWRlZmF1bHQ7IFxuJGNhbGxvdXQtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci1zdWNjZXNzLWxpZ2h0ZXIgIWRlZmF1bHQ7IFxuJGNhbGxvdXQtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci13YXJuaW5nLWxpZ2h0ZXIgIWRlZmF1bHQ7IFxuJGNhbGxvdXQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICRjb2xvci1kYW5nZXItbGlnaHRlciAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBNb2JpbGVcbi8vIyMgXG5cbi8vPT0gTW9iaWxlIEhlYWRlclxuLy8jIyBTcGVjaWZpYyBtb2JpbGUgd2lkZ2V0cyBhbmQgY29tcG9uZW50cyAodXNlZCBpbiBtb2JpbGUvY29tcG9uZW50cy9teC1oZWFkZXIpXG5cbi8vIEhlaWdodFxuJG0taGVhZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDQ0cHggIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JcbiRtLWhlYWRlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuXG4vLyBUZXh0IENvbG9yXG4kbS1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gTGluayBDb2xvclxuJG0taGVhZGVyLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IE1vYmlsZSBUYWJzXG4vLyMjIFNwZWNpZmljIG1vYmlsZSB3aWRnZXRzIGFuZCBjb21wb25lbnRzICh1c2VkIGluIG1vYmlsZS9jb21wb25lbnRzL3RhYmNvbnRhaW5lcilcblxuLy8gVGV4dCBDb2xvclxuJG0tdGFicy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbS10YWJzLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuJG0tdGFicy1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJG0tdGFicy1iZy1jb2xvci1ob3ZlcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJHRhYnMtYm9yZGVyLWNvbG9yLDUpICFkZWZhdWx0O1xuJG0tdGFicy1iZy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSkgIWRlZmF1bHQ7ICAgIFxuXG4vLyBCb3JkZXIgQ29sb3JcbiRtLXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG0tdGFicy1iZywgMTUpICFkZWZhdWx0O1xuJG0tdGFicy1ib3JkZXItY29sb3ItYWN0aXZlOiAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTGF5b3V0IFNwYWNpbmdcbi8vIyMgQWR2YW5jZWQgbGF5b3V0IG9wdGlvbnMgKHVzZWQgaW4gYmFzZS9taXhpbnMvZGVmYXVsdC1zcGFjaW5nKVxuXG4kZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgICAgMzVweCAhZGVmYXVsdDtcbiRkZWZhdWx0LXNwYWNpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAgIDM1cHggIWRlZmF1bHQ7XG4kZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcblxuJG0tZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbS1kZWZhdWx0LXNwYWNpbmctcmlnaHQ6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiR0LWRlZmF1bHQtc3BhY2luZy10b3A6ICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJHQtZGVmYXVsdC1zcGFjaW5nLXJpZ2h0OiAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kdC1kZWZhdWx0LXNwYWNpbmctYm90dG9tOiAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiR0LWRlZmF1bHQtc3BhY2luZy1sZWZ0OiAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IExheW91dHNcbi8vIyNcblxuLy8gU2Nyb2xsIGNvbnRhaW5lciAvIGxheW91dCBjb250YWluZXIgZGVmYXVsdCBwYWRkaW5nXG4kcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTogICAgICAgICAgMHB4ICFkZWZhdWx0OyBcbiRtLXBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U6ICAgICAgICAwcHggIWRlZmF1bHQ7XG4kdC1wYWRkaW5nLWxheW91dGNvbnRhaW5lci1iYXNlOiAgICAgICAgMHB4ICFkZWZhdWx0OyBcblxuLy8gQ29tYmluZWQgc3BhY2luZyBcbiRkZWZhdWx0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1zcGFjaW5nLXRvcCAkZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICRkZWZhdWx0LXNwYWNpbmctYm90dG9tICRkZWZhdWx0LXNwYWNpbmctbGVmdCAhZGVmYXVsdDtcbiRtLWRlZmF1bHQtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkbS1kZWZhdWx0LXNwYWNpbmctdG9wICRtLWRlZmF1bHQtc3BhY2luZy1yaWdodCAkbS1kZWZhdWx0LXNwYWNpbmctYm90dG9tICRtLWRlZmF1bHQtc3BhY2luZy1sZWZ0ICFkZWZhdWx0O1xuJHQtZGVmYXVsdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICR0LWRlZmF1bHQtc3BhY2luZy10b3AgJHQtZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b20gJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQgIWRlZmF1bHQ7XG5cblxuXG4vLz09IFRhYmxlc1xuLy8jIyBUYWJsZSBzcGFjaW5nIG9wdGlvbnMgKHVzZWQgaW4gY29tcG9uZW50cy90YWJsZXMpXG5cbiRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wOiAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICBcbiRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tOiAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICBcbiRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDogICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICBcbiRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQ6ICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZSBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldCBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcCBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwibWl4aW5zL2ZvbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2RlZmF1bHQtc3BhY2luZ1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyb3VwYm94XCI7XG5AaW1wb3J0IFwibWl4aW5zL2Fycm93XCI7XG4iLCJAbWl4aW4gZm9udCgkd2VpZ2h0OiBcIm5vcm1hbFwiKSB7XG5cblx0JHdlaWdodDogdW5xdW90ZSgkd2VpZ2h0KTtcblx0JHdlaWdodDogcXVvdGUoJHdlaWdodCk7XG5cdEBpZiAkd2VpZ2h0ID09IG5vcm1hbCB7XG5cdFx0QGlmKCRmb250LWZhbWlseS1iYXNlKSB7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7IFxuXHRcdH1cblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblx0fSBAZWxzZSBpZiAkd2VpZ2h0ID09IFwibGlnaHRcIiB7XG5cdFx0QGlmKCRmb250LWZhbWlseS1saWdodCkge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1saWdodDsgXG5cdFx0fVxuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG5cdH0gQGVsc2UgaWYgJHdlaWdodCA9PSBcInNlbWlib2xkXCIge1xuXHRcdEBpZigkZm9udC1mYW1pbHktc2VtaWJvbGQpIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VtaWJvbGQ7IFxuXHRcdH1cblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xuXHR9IEBlbHNlIGlmICR3ZWlnaHQgPT0gXCJib2xkXCIge1xuXHRcdEBpZigkZm9udC1mYW1pbHktYm9sZCkge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkOyBcblx0XHR9XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHR9XG59IiwiQG1peGluIGRlZmF1bHQtc3BhY2luZyAoJHR5cGU6IHBhZGRpbmcsICRkaXJlY3Rpb246IGFsbCwgJGRldmljZTogcmVzcG9uc2l2ZSkge1xuXHRAaWYgJGRldmljZSA9PSByZXNwb25zaXZlIHtcblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KXtcblx0XHRcdFx0I3skdHlwZX06ICRtLWRlZmF1bHQtc3BhY2luZztcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdCN7JHR5cGV9OiAkdC1kZWZhdWx0LXNwYWNpbmc7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdFx0XHQjeyR0eXBlfTogJGRlZmF1bHQtc3BhY2luZztcblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdG9wIHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCl7XG5cdFx0XHRcdCN7JHR5cGV9LXRvcDogJG0tZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdCN7JHR5cGV9LXRvcDogJHQtZGVmYXVsdC1zcGFjaW5nLXRvcDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRcdCN7JHR5cGV9LXRvcDogJGRlZmF1bHQtc3BhY2luZy10b3A7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCl7XG5cdFx0XHRcdCN7JHR5cGV9LXJpZ2h0OiAkbS1kZWZhdWx0LXNwYWNpbmctcmlnaHQ7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0XHQjeyR0eXBlfS1yaWdodDogJHQtZGVmYXVsdC1zcGFjaW5nLXJpZ2h0O1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRcdFx0I3skdHlwZX0tcmlnaHQ6ICRkZWZhdWx0LXNwYWNpbmctcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpe1xuXHRcdFx0XHQjeyR0eXBlfS1ib3R0b206ICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0XHQjeyR0eXBlfS1ib3R0b206ICR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdFx0XHQjeyR0eXBlfS1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmctYm90dG9tO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCl7XG5cdFx0XHRcdCN7JHR5cGV9LWxlZnQ6ICRtLWRlZmF1bHQtc3BhY2luZy1sZWZ0O1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdFx0I3skdHlwZX0tbGVmdDogJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdFx0XHQjeyR0eXBlfS1sZWZ0OiAkZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRkZXZpY2UgPT0gdGFibGV0IHtcblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuXHRcdCN7JHR5cGV9OiAkdC1kZWZhdWx0LXNwYWNpbmc7XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG5cdFx0XHQjeyR0eXBlfS10b3A6ICR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcblx0XHRcdCN7JHR5cGV9LXJpZ2h0OiAkdC1kZWZhdWx0LXNwYWNpbmctcmlnaHQ7XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG5cdFx0XHQjeyR0eXBlfS1ib3R0b206ICR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuXHRcdFx0I3skdHlwZX0tbGVmdDogJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRkZXZpY2UgPT0gbW9iaWxlIHtcblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuXHRcdCN7JHR5cGV9OiAkbS1kZWZhdWx0LXNwYWNpbmc7XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG5cdFx0XHQjeyR0eXBlfS10b3A6ICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcblx0XHRcdCN7JHR5cGV9LXJpZ2h0OiAkbS1kZWZhdWx0LXNwYWNpbmctcmlnaHQ7XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG5cdFx0XHQjeyR0eXBlfS1ib3R0b206ICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuXHRcdFx0I3skdHlwZX0tbGVmdDogJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1ib3JkZXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRib3JkZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZ3JvdXBib3gtdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kKSB7XG5cdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG4gICAgXHRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBcdGNvbG9yOiAkY29sb3I7XG4gICAgXHRib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHR9XG5cdD4gLm14LWdyb3VwYm94LWJvZHkge1xuIFx0XHRib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHR9XG59IiwiLy8gIENTUyAtIEFSUk9XIFxuLy8gIEEgbWl4aW4gdG8gY3JlYXRlIGEgYXJyb3cgdG8gYSBzaWRlIG9mIGEgYm94XG4vLyAgXG4vLyAgICAqZG9udCBmb3JnZXQgdG8gcHV0IHBvc2l0aW9uIHJlbGF0aXZlIG9uIHRoZSB3cmFwcGVyXG4vLyAgXG4vLyAgICBAaW5jbHVkZSBjc3MtYXJyb3coJHBvc2l0aW9uLCAkaGVpZ2h0LCAkd2lkdGgsICRiZy1jb2xvciwgJGFycm93LWNvbG9yLCAgJGFycm93LWJvcmRlci13aWR0aClcbi8vICAgIFxuLy8gICAgSW5wdXRzOlxuLy8gICAgLSBwb3NpdGlvbjogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0O1xuLy8gICAgLSBoZWlnaHRcbi8vICAgIC0gd2lkdGhcbi8vICAgIC0gY29sb3Igb2YgYmFja2dyb3VuZFxuLy8gICAgLSBjb2xvciBvZiBib3JkZXJcbi8vICAgIC0gYm9yZGVyIHdpZHRoXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIGNzcy1hcnJvdygkcG9zaXRpb246IFwidG9wXCIsICRoZWlnaHQ6IDEwcHgsICR3aWR0aDogMTBweCwgJGJnLWNvbG9yOiAjQUFBLCAkYXJyb3ctY29sb3I6ICNDQ0MsICAkYXJyb3ctYm9yZGVyLXdpZHRoOiAwcHgpIHsgICAgXG4gICAgJHBvc2l0aW9uOiB1bnF1b3RlKCRwb3NpdGlvbik7XG4gICAgJHBvc2l0aW9uOiBxdW90ZSgkcG9zaXRpb24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRwb3NpdGlvbiA9PSBcInRvcFwiIHsgICBcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCR3aWR0aCAtICR3aWR0aCAtICR3aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCR3aWR0aCAtICR3aWR0aCAtICR3aWR0aCAtICRhcnJvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICsgMSAkd2lkdGggKyAkYXJyb3ctYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfSBcblxuICAgIEBpZiAkcG9zaXRpb24gPT0gXCJyaWdodFwiIHsgICBcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkd2lkdGggLSAkd2lkdGggLSAkd2lkdGggLSAkYXJyb3ctYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCArIDEgJHdpZHRoICsgJGFycm93LWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgQGlmICRwb3NpdGlvbiA9PSBcImJvdHRvbVwiIHsgICBcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCR3aWR0aCAtICR3aWR0aCAtICR3aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCR3aWR0aCAtICR3aWR0aCAtICR3aWR0aCAtICRhcnJvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICsgMSAkd2lkdGggKyAkYXJyb3ctYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfSBcblxuICAgIEBpZiAkcG9zaXRpb24gPT0gXCJsZWZ0XCIgeyBcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH0gIFxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoIC0gJGFycm93LWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgKyAxICR3aWR0aCArICRhcnJvdy1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gXG59IiwiLm14LWdyaWQsXG4ubXgtdGFiY29udGFpbmVyLFxuLm14LWxpc3R2aWV3LFxuLm14LXRlbXBsYXRlZ3JpZCxcbi5teC1ncm91cGJveCB7XG5cdEBpbmNsdWRlIGRlZmF1bHQtc3BhY2luZygkdHlwZTogbWFyZ2luLCAkZGlyZWN0aW9uOiBib3R0b20sICRkZXZpY2U6IHJlc3BvbnNpdmUpO1xufVxuXG4ubXgtbGF5b3V0Y29udGFpbmVyIC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdHBhZGRpbmc6ICRwYWRkaW5nLWxheW91dGNvbnRhaW5lci1iYXNlO1xufVxuLnByb2ZpbGUtdGFibGV0IHtcblx0Lm14LWxheW91dGNvbnRhaW5lciAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6ICR0LXBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U7XG5cdH1cbn1cbi5wcm9maWxlLXBob25lIHtcblx0Lm14LWxheW91dGNvbnRhaW5lciAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6ICRtLXBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U7XG5cdH1cbn1cblxuLm14LWxheW91dGNvbnRhaW5lciAubXgtcGxhY2Vob2xkZXIge1xuXHRwYWRkaW5nOiAwO1xuXG5cdC5teC1sYXlvdXRncmlkIHtcblx0XHRAaW5jbHVkZSBkZWZhdWx0LXNwYWNpbmcoJHR5cGU6IHBhZGRpbmcsICRkaXJlY3Rpb246IGFsbCwgJGRldmljZTogcmVzcG9uc2l2ZSk7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIGRlZmF1bHQtc3BhY2luZygkdHlwZTogcGFkZGluZywgJGRpcmVjdGlvbjogdG9wLCAkZGV2aWNlOiByZXNwb25zaXZlKTtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIGRlZmF1bHQtc3BhY2luZygkdHlwZTogcGFkZGluZywgJGRpcmVjdGlvbjogYm90dG9tLCAkZGV2aWNlOiByZXNwb25zaXZlKTtcblx0XHR9XG5cdFx0Ji5jb250YWluZXIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHR9XG5cdFx0Lm14LWxheW91dGdyaWQge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdH1cblx0fVxufVxuIC5wcm9maWxlLXBob25lIC5teC1sYXlvdXRjb250YWluZXIgLm14LXBsYWNlaG9sZGVyIHtcblx0cGFkZGluZzogMDtcblx0Lm14LWxheW91dGdyaWQge1xuXHRcdEBpbmNsdWRlIGRlZmF1bHQtc3BhY2luZygkdHlwZTogcGFkZGluZywgJGRpcmVjdGlvbjogYWxsLCAkZGV2aWNlOiBwaG9uZSk7XG5cdFx0Lm14LWxheW91dGdyaWQge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cbn0gXG4ucHJvZmlsZS10YWJsZXQgLm14LWxheW91dGNvbnRhaW5lciAubXgtcGxhY2Vob2xkZXIge1xuXHRwYWRkaW5nOiAwO1xuXHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBwYWRkaW5nLCAkZGlyZWN0aW9uOiBhbGwsICRkZXZpY2U6IHRhYmxldCk7XG5cdFx0Ji5jb250YWluZXIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHR9XG5cdFx0Lm14LWxheW91dGdyaWQge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cbn1cbi5teC1sYXlvdXRjb250YWluZXItd3JhcHBlci5teC1sYXlvdXRjb250YWluZXItbmVzdGVkIHtcblx0cGFkZGluZzogMDtcbn1cblxuLy8gUmVtb3ZpbmcgZGVmYXVsdCBzcGFjaW5nIGluIHNwZWNpZmljIHNpdHVhdGlvbnNcbi5wYWdlaGVhZGVyIHtcblx0Lm14LWdyaWQsXG5cdC5teC10YWJjb250YWluZXIsXG5cdC5teC1saXN0dmlldyxcblx0Lm14LXRlbXBsYXRlZ3JpZCxcblx0Lm14LWdyb3VwYm94IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIFF1aWNrIGZpeFxuLnByb2ZpbGUtcGhvbmUsXG4ucHJvZmlsZS10YWJsZXQge1xuXHQubXgtcGxhY2Vob2xkZXIgPiB7XG5cdFx0Lm14LXRhYmNvbnRhaW5lcjpvbmx5LWNoaWxkLFxuXHRcdC5teC1ncmlkOm9ubHktY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcblxuICAgRGVmYXVsdCBzZXR0aW5nc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRjb2xvcjogJGZvbnQtYmFzZS1jb2xvcjtcblx0Zm9udC1zaXplOiAkZm9udC1iYXNlLXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuXG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5hIHtcblx0Y29sb3I6ICRsaW5rLWNvbG9yO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IDAuMjVzO1xuXHQtbW96LXRyYW5zaXRpb246IDAuMjVzO1xuXHQtby10cmFuc2l0aW9uOiAwLjI1cztcblx0dHJhbnNpdGlvbjogMC4yNXM7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG59XG4vLyBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgXG59XG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vyc1xuYTphY3RpdmUsIFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG4vLyBSZW1vdmVzIGxhcmdlIGJsdWUgYm9yZGVyIGluIGNocm9tZSBvbiBmb2N1cyBhbmQgYWN0aXZlIHN0YXRlcyBcbmlucHV0OmZvY3VzLCBcbmJ1dHRvbjpmb2N1cyxcbi5teC1saW5rOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgXG59XG4vLyBSZW1vdmVzIGxhcmdlIGJsdWUgYm9yZGVyIGZvciB0YWJpbmRleGVzIGZyb20gd2lkZ2V0c1xuZGl2W3RhYmluZGV4XSB7XG5cdG91dGxpbmU6IDA7IFxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElucHV0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb3JtLWNvbnRyb2wge1xuXHQtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuXG5cdGJveC1zaGFkb3c6XHRub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogJGZvcm0taW5wdXQtcGFkZGluZy15ICRmb3JtLWlucHV0LXBhZGRpbmcteDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogJGZvcm0taW5wdXQtaGVpZ2h0O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZm9ybS1pbnB1dC1ib3JkZXItY29sb3I7XG5cdGJvcmRlci1yYWRpdXM6ICRmb3JtLWlucHV0LWJvcmRlci1yYWRpdXM7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWlucHV0LWJnO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRjb2xvcjogJGZvcm0taW5wdXQtY29sb3I7XG5cdGZvbnQtc2l6ZTogJGZvcm0taW5wdXQtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJGZvcm0taW5wdXQtbGluZS1oZWlnaHQ7XG59XG4uZm9ybS1jb250cm9sOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1pbnB1dC1ib3JkZXItZm9jdXMtY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWlucHV0LWJnLWZvY3VzO1xuXHRvdXRsaW5lOiAwO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1pbi1oZWlnaHQ6IGF1dG87XG5cdFxuXHRwYWRkaW5nLXRvcDogJGZvcm0taW5wdXQtcGFkZGluZy15O1xuXHRwYWRkaW5nLWJvdHRvbTogJGZvcm0taW5wdXQtcGFkZGluZy15O1xuXHRmb250LXNpemU6ICRmb3JtLWlucHV0LWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRmb3JtLWlucHV0LWxpbmUtaGVpZ2h0O1xufVxuLyogTm90IGVkaXRhYmxlIHRleHRhcmVhLCB0ZXh0YXJlYSB3aWxsIGJlIHJlbmRlcmVkIGFzIGEgbGFiZWwgKi9cbi5teC10ZXh0YXJlYSBsYWJlbCB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcm91cCB3aXRoIGxhYmVsIGFuZCBpbnB1dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIElucHV0IGFuZCB0ZXh0YXJlYSBnZXQgcHJvcGVybHkgYWxpZ25lZCAqL1xuLmZvcm0tZ3JvdXAgZGl2W2NsYXNzKj0ndGV4dEJveCddID4gbGFiZWwsXG4uZm9ybS1ncm91cCBkaXZbY2xhc3MqPSd0ZXh0QXJlYSddID4gbGFiZWwsXG4uZm9ybS1ncm91cCBkaXZbY2xhc3MqPSdkYXRlUGlja2VyJ10gPiBsYWJlbCB7XG5cdEBleHRlbmQgLmZvcm0tY29udHJvbC1zdGF0aWM7XG59XG4uZm9ybS1ncm91cCB7XG5cdG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG5cdFtjbGFzcyo9J2NvbC0nXSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkZm9ybS1ncm91cC1ndXR0ZXI7XG5cdFx0cGFkZGluZy1yaWdodDogJGZvcm0tZ3JvdXAtZ3V0dGVyO1xuXHR9XG59XG4uZm9ybS1ncm91cCAuY29udHJvbC1sYWJlbCB7XG5cdGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcdFxuXHRmb250LXNpemU6ICRmb3JtLWxhYmVsLXNpemU7XG5cdGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC13ZWlnaHQ7XHRcbn1cbi5mb3JtLWhvcml6b250YWwge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSl7XG5cdFx0LmNvbnRyb2wtbGFiZWwge1xuXHRcdFx0bGluZS1oZWlnaHQ6ICRmb3JtLWlucHV0LWxpbmUtaGVpZ2h0O1xuXHRcdFx0cGFkZGluZy10b3A6ICRmb3JtLWlucHV0LXBhZGRpbmcteTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkZm9ybS1pbnB1dC1wYWRkaW5nLXk7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW5wdXRzIEZpbGUgVXBsb2FkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWZpbGVpbnB1dCB7XG5cdC5teC13cmFwcGVkLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cdC8qIEZpbGUgaW5wdXQgd2lkZ2V0IGhvdmVyIGZpeCAqL1xuXHQubXgtd3JhcHBlZC1mb3JtIHtcblx0XHQubXgtd3JhcHBlZC1pbnB1dCB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdC5teC1maWxlaW5wdXQtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWRlZmF1bHQtYmc7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWxlcnRzXG5cbiAgIERlZmF1bHQgQm9vdHN0cmFwIEFsZXJ0IGJveGVzLiBQcm92aWRlIGNvbnRleHR1YWwgZmVlZGJhY2sgbWVzc2FnZXMgZm9yIHR5cGljYWwgdXNlciBhY3Rpb25zIHdpdGggdGhlIGhhbmRmdWwgb2YgYXZhaWxhYmxlIGFuZCBmbGV4aWJsZSBhbGVydCBtZXNzYWdlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hbGVydCB7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMDsgLy8gd2FudCB0byBhbGlnbiBpdCB3aXRoIHBhZGRpbmcgb2YgYSBwYWdlXG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMDtcbn1cbi5hbGVydC1ib3JkZXJlZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgeyBcblx0Ym9yZGVyLWNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1zdWNjZXNzLWJnO1xuXHRjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG59XG4uYWxlcnQtaW5mbyB7IFxuXHRib3JkZXItY29sb3I6ICRhbGVydC1pbmZvLWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWluZm8tYmc7XG5cdGNvbG9yOiAkYWxlcnQtaW5mby1jb2xvcjtcbn1cbi5hbGVydC13YXJuaW5nIHsgXG5cdGJvcmRlci1jb2xvcjogJGFsZXJ0LXdhcm5pbmctYm9yZGVyLWNvbG9yOyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LXdhcm5pbmctYmc7XG5cdGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbn1cbi5hbGVydC1kYW5nZXIgeyBcblx0Ym9yZGVyLWNvbG9yOiAkYWxlcnQtZGFuZ2VyLWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWRhbmdlci1iZzsgXG5cdGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xufVxuLmhhcy1lcnJvciAuYWxlcnQge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZHNcblxuICAgRGlmZmVyZW50IGJhY2tncm91bmQgY29tcG9uZW50cywgYWxsIG1hbmFnZWQgYnkgdmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJhY2tncm91bmQtbGF5b3V0XHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3IgIWltcG9ydGFudDtcdFx0XHRcdFx0fVxuLmJhY2tncm91bmQtbGF5b3V0LXNlY29uZGFyeVx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yLXNlY29uZGFyeSAhaW1wb3J0YW50O1x0XHR9XG5cbi5iYWNrZ3JvdW5kLWRlZmF1bHRcdFx0IFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGVmYXVsdCAhaW1wb3J0YW50OyBcdFx0XHR9XG4uYmFja2dyb3VuZC1kZWZhdWx0LWRhcmtlciBcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtZGFya2VyICFpbXBvcnRhbnQ7IFx0fVxuLmJhY2tncm91bmQtZGVmYXVsdC1kYXJrIFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVmYXVsdC1kYXJrICFpbXBvcnRhbnQ7XHQgXHR9XHRcbi5iYWNrZ3JvdW5kLWRlZmF1bHQtbGlnaHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtbGlnaHQgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtZGVmYXVsdC1saWdodGVyIFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1pbnZlcnNlICBcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtaW52ZXJzZSAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWludmVyc2UtZGFya2VyICBcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbnZlcnNlLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtaW52ZXJzZS1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbnZlcnNlLWRhcmsgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtaW52ZXJzZS1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaW52ZXJzZS1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC1pbnZlcnNlLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWludmVyc2UtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1wcmltYXJ5XHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXByaW1hcnktZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtcHJpbWFyeS1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtcHJpbWFyeS1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodCAhaW1wb3J0YW50O1x0IFx0fVx0XG4uYmFja2dyb3VuZC1wcmltYXJ5LWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1pbmZvIFx0XHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWluZm8gIWltcG9ydGFudDsgXHRcdFx0XHR9XHRcdFx0XG4uYmFja2dyb3VuZC1pbmZvLWRhcmtlciBcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWluZm8tZGFya2VyICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWluZm8tZGFya1x0XHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbmZvLWRhcmsgIWltcG9ydGFudDtcdCBcdFx0fVx0XG4uYmFja2dyb3VuZC1pbmZvLWxpZ2h0XHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWluZm8tbGlnaHQgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtaW5mby1saWdodGVyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbmZvLWxpZ2h0ZXIgIWltcG9ydGFudDsgXHRcdH1cdFxuXG4uYmFja2dyb3VuZC1zdWNjZXNzXHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzcyAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXN1Y2Nlc3MtZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdWNjZXNzLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtc3VjY2Vzcy1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdWNjZXNzLWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtc3VjY2Vzcy1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3VjY2Vzcy1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC1zdWNjZXNzLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC13YXJuaW5nXHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtd2FybmluZyAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXdhcm5pbmctZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13YXJuaW5nLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtd2FybmluZy1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13YXJuaW5nLWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtd2FybmluZy1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZy1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC13YXJuaW5nLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmctbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1kYW5nZXJcdFx0XHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYW5nZXIgIWltcG9ydGFudDsgXHRcdFx0fVx0XG4uYmFja2dyb3VuZC1kYW5nZXItZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItZGFya2VyICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1kYXJrXHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhbmdlci1kYXJrICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFuZ2VyLWxpZ2h0ICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1saWdodGVyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbnNcblxuICAgRGVmYXVsdCBCb290c3RyYXAgYW5kIE1lbmRpeCBCdXR0b25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bixcbi5teC1idXR0b24ge1xuXG4gICAgLyogTVhJRCAvIEJvb3RzdHJhcCB2YWx1ZXMgZm9yIHdoZW4gdXNlZCBpbiBub24tbWVuZGl4IGFwcHMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmb250KG5vcm1hbCk7XG4gICAgXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiByb3VuZCgwLjYgKiAkZm9udC1iYXNlLXNpemUpIHJvdW5kKDEgKiAkZm9udC1iYXNlLXNpemUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tZGVmYXVsdC1iZztcbiAgICBjb2xvcjogJGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi8vIE1lbmRpeCBidXR0b24gbGlua1xuLm14LWxpbmsge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLy8gSW1hZ2VzIGluIGJ1dHRvbnNcbi5idG4sXG4ubXgtYnV0dG9uLFxuLm14LWxpbmsge1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIC8vaGVpZ2h0OiBhdXRvOyAvLyBNWFVJIG92ZXJyaWRlIHdobyBzZXQgdGhlIGhlaWdodCBvbiAxNnB4IGRlZmF1bHRcbiAgICAgICAgaGVpZ2h0OiAkZm9udC1iYXNlLXNpemUgKyA0cHg7XG4gICAgfVxufVxuXG4vLyBJRSA4IG9ubHkgKG14dWkgb3ZlcndyaXRlcylcbi5kal9pZTggLm14LWxpbmsge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5cbi8vIEJ1dHRvbnMgQWx0ZXJuYXRlIFN0eWxlXG4uYnRuLWRlZmF1bHQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXItY29sb3IpO1xufVxuLmJ0bi1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWludmVyc2UtY29sb3IsICRidG4taW52ZXJzZS1iZywgJGJ0bi1pbnZlcnNlLWJvcmRlci1jb2xvcik7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRidG4taW52ZXJzZS1iZywgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRidG4taW52ZXJzZS1iZywgMTAlKTtcbiAgICB9XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXItY29sb3IpO1xufVxuLy8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cbi5idG4taW5mbyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXItY29sb3IpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlci1jb2xvcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlci1jb2xvcik7XG59XG4vLyBCdXR0b24gYXMgbGluayBidXQgd2l0aCBwYWRkaW5nIFxuLmJ0bi1saW5rIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgfVxufVxuLyogQnV0dG9ucyBhcHBlYXIgZGlzYWJsZWQgKi9cbi5idG4tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTsgLyogRm9yIElFOCBhbmQgZWFybGllciAqL1xuXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8vIFRyYW5zcGFyZW50XG4uYnRuLXRyYW5zcGFyZW50LFxuLmJ0bi10cmFuc3BhcmVudDpob3Zlcixcbi5idG4tdHJhbnNwYXJlbnQ6Zm9jdXMge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gQnV0dG9ucyBTaXplc1xuLmJ0bi1sZyB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIHBhZGRpbmc6IHJvdW5kKDAuNiAqICRmb250LXNpemUtbGFyZ2UpIHJvdW5kKDEgKiAkZm9udC1zaXplLWxhcmdlKTsgIC8vIG9ubHkgZm9yIGJ1dHRvbnNcbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6ICRmb250LWJhc2Utc2l6ZSArIDRweDtcbiAgICB9XG59XG4uYnRuLXNtIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgcGFkZGluZzogcm91bmQoMC42ICogJGZvbnQtc2l6ZS1zbWFsbCkgcm91bmQoMSAqICRmb250LXNpemUtc21hbGwpOyBcbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6ICRmb250LXNpemUtc21hbGwgKyA0cHg7XG4gICAgfVxufVxuXG5cbi8qIEJ1dHRvbnMgSW1hZ2UgKi9cbi5idG4taW1hZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IFxuXG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyAvLyBJbWFnZSBzZXQgaGVpZ2h0XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBvciBlbHNlIHRoZSBidXR0b24gZG9lc24ndCBnZXQgYSB3aWR0aCBcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cblxuLyogQnV0dG9ucyBQb3NpdGlvbiAqL1xuLmJ0bi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLmJ0bi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLyogQnV0dG9ucyBBdHRhY2hlZCAqL1xuLmJ0bi1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi5idG4tYXR0YWNoZWQtbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uYnRuLWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmJ0bi1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vYmlsZSBCdXR0b25zXG5cbiAgIERlZmF1bHQgQm9vdHN0cmFwIGFuZCBNZW5kaXggQnV0dG9uc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1idXR0b24tbW9iaWxlIHtcblxuQGluY2x1ZGUgZm9udChub3JtYWwpO1xuXG5wYWRkaW5nOjEycHggMTJweCAhaW1wb3J0YW50O1xuXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWRcblxuICAgRGVmYXVsdCBNZW5kaXggR3JpZCAodXNlZCBmb3IgTWVuZGl4IERhdGFncmlkKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncmlkIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZzogMHB4O1xuXHRib3JkZXI6IDA7XG5cblx0Lm14LWdyaWQtY29udHJvbGJhciB7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0LyogUGFnaW5nICovXG5cdFx0Lm14LWdyaWQtcGFnaW5nYmFyIHtcblxuXHRcdFx0LyogQnV0dG9ucyAqL1xuXHRcdFx0Lm14LWJ1dHRvbiB7XG5cdFx0XHRcdHBhZGRpbmc6IDZweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtcGFnaW5nLWJnO1xuXHRcdFx0XHRjb2xvcjogJGdyaWQtcGFnaW5nLWNvbG9yO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRncmlkLXBhZ2luZy1ib3JkZXItY29sb3I7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtcGFnaW5nLWJnLWhvdmVyO1xuXHRcdFx0XHRcdGNvbG9yOiAkZ3JpZC1wYWdpbmctY29sb3ItaG92ZXI7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5kaXNhYmxlZCwgXG5cdFx0XHRcdCZbZGlzYWJsZWRdIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0XHRcdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTQwKTsgLyogRm9yIElFOCBhbmQgZWFybGllciAqL1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8qIFRleHQgUGFnaW5nIC4uIHRvIC4uIHRvIC4uICovXG5cdFx0XHQubXgtZ3JpZC1wYWdpbmctc3RhdHVzIHtcblx0XHRcdFx0cGFkZGluZzogMCA4cHggOHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5teC1ncmlkLXNlYXJjaGJhciB7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0Lm14LWdyaWQtc2VhcmNoLWl0ZW0ge1xuXHRcdFx0Lm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0bGFiZWwgeyBwYWRkaW5nLXRvcDogNXB4OyB9XG5cdFx0XHR9XG5cdFx0XHQubXgtZ3JpZC1zZWFyY2gtaW5wdXQge1xuXHRcdFx0XHQuZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0cGFkZGluZzogM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5teC1idXR0b24ge1xuXHRcdFx0XHRcdGhlaWdodDogMjhweDtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgYm9yZGVyIGZyb20gZ3JpZCBpbnNpZGUgYSBNZW5kaXggRGF0YXZpZXcgKi9cbi5teC1kYXRhdmlldyAubXgtZ3JpZCB7XG5cdGJvcmRlcjogMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXRhZ3JpZCBEZWZhdWx0XG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldC4gVGhlIGRhdGFncmlkIHNob3dzIGEgbGlzdCBvZiBvYmplY3RzIGluIGEgZ3JpZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1kYXRhZ3JpZCB7XG5cdC5teC1kYXRhZ3JpZC1oZWFkLXRhYmxlIHtcblx0XHRib3JkZXItd2lkdGg6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHQvKiBUYWJsZSBoZWFkZXIgKi9cblx0XHR0aCB7XG5cdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1oZWFkZXI7XG5cdFx0fVxuXG5cdFx0Lm14LWRhdGFncmlkLWhlYWQtd3JhcHBlciB7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHQubXgtZGF0YWdyaWQtaGVhZC1jYXB0aW9uIHtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm14LWRhdGFncmlkLWJvZHktdGFibGUge1xuXHRcdGJvcmRlci13aWR0aDogMDtcblxuXHRcdC8qIFRhYmxlIEJvZHkgKi9cblx0XHQubXgtZGF0YWdyaWQtYm9keSB0ciB7XG5cdFx0XHR0ZCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZztcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cdFx0XHRcdGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8qIFRleHQgd2l0aG91dCBzcGFjZXMgKi9cblx0XHRcdFx0Lm14LWRhdGFncmlkLWRhdGEtd3JhcHBlciB7XG5cdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6aG92ZXIgdGQge1xuXHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQmLnNlbGVjdGVkIHRkLFxuXHRcdFx0Ji5zZWxlY3RlZDpob3ZlciB0ZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXNlbGVjdGVkICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGNvbG9yOiAkZ3JpZC1zZWxlY3RlZC1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LyogVGFibGUgRm9vdGVyICovXG5cdFx0Lm14LWRhdGFncmlkLWZvb3Qge1xuXG5cdFx0XHQ+IHRyID4gdGgge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtZm9vdGVyLWJnOyBcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IHRyID4gdGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZztcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmctdGFibGUtY2VsbC10b3AgJHBhZGRpbmctdGFibGUtY2VsbC1yaWdodCAkcGFkZGluZy10YWJsZS1jZWxsLWJvdHRvbSAkcGFkZGluZy10YWJsZS1jZWxsLWxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAqOmZvY3VzIHtcblx0XHRcdG91dGxpbmU6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8qIERhdGFncmlkIGZvciBtb2JpbGUgdG8gY2hhbmdlIGNvbG9yICovXG4gLmRhdGFncmlkLW1vYmlsZS5teC1kYXRhZ3JpZCAubXgtZGF0YWdyaWQtYm9keS10YWJsZSAubXgtZGF0YWdyaWQtYm9keSB0ciB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAvKiBUZXh0IHdpdGhvdXQgc3BhY2VzICovXG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIFN0cmlwZWRcblxuICAgRGVmYXVsdCBNZW5kaXggRGF0YWdyaWQgV2lkZ2V0IHdpdGggc3RyaXBlZCByb3dzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhdGFncmlkLXN0cmlwZWQubXgtZGF0YWdyaWQge1xuXHQubXgtZGF0YWdyaWQtaGVhZC10YWJsZSB7XG5cdFx0dGggeyBib3JkZXItd2lkdGg6IDA7IH1cblx0XHQubXgtZGF0YWdyaWQtaGVhZC13cmFwcGVyIHtcblx0XHRcdFxuXHRcdH1cblx0fVxuXHQubXgtZGF0YWdyaWQtYm9keS10YWJsZSB7XG5cdFx0LyogQm9keSAqL1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKG9kZCkgdGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1zdHJpcGVkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXRhZ3JpZCBCb3JkZXJlZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBEYXRhZ3JpZCBXaWRnZXQgd2l0aCBib3JkZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhdGFncmlkLWJvcmRlcmVkLm14LWRhdGFncmlkIHtcblx0Lm14LWRhdGFncmlkLWhlYWQtdGFibGUge1xuXHRcdHRoIHsgXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IFxuXHRcdH1cblx0XHQubXgtZGF0YWdyaWQtaGVhZC13cmFwcGVyIHtcblxuXHRcdH1cblx0fVxuXHQubXgtZGF0YWdyaWQtYm9keS10YWJsZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQ7XG5cdFx0Lm14LWRhdGFncmlkLWJvZHkgdHIge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5teC1kYXRhZ3JpZC1mb290IHtcblx0XHQ+IHRyID4gdGgge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtZm9vdGVyLWJnOyBcblx0XHRcdGJvcmRlci13aWR0aDogMDtcblx0XHR9XG5cdFx0PiB0ciA+IHRkIHtcblx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXRhZ3JpZCBIb3ZlclxuXG4gICBEZWZhdWx0IE1lbmRpeCBEYXRhZ3JpZCBXaWRnZXQgd2l0aCBob3ZlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5kYXRhZ3JpZC1ob3Zlci5teC1kYXRhZ3JpZCB7IFxuXHQubXgtZGF0YWdyaWQtYm9keS10YWJsZSB7XG5cdFx0Ly8gQm9keVxuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdCY6aG92ZXIgdGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1ob3ZlciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdFx0Ji5zZWxlY3RlZDpob3ZlciB0ZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXNlbGVjdGVkLWhvdmVyICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIExhcmdlXG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldCB3aXRoIGxhcmdlIHJvd3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF0YWdyaWQtbGFyZ2UubXgtZGF0YWdyaWQge1xuXHQubXgtZGF0YWdyaWQtaGVhZC10YWJsZSB7XG5cdFx0Lm14LWRhdGFncmlkLWhlYWQtd3JhcHBlciB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lm14LWRhdGFncmlkLWJvZHktdGFibGUge1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0cGFkZGluZzogMTVweCAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXRhZ3JpZCBUcmFuc3BhcmVudFxuXG4gICBEZWZhdWx0IE1lbmRpeCBEYXRhZ3JpZCBXaWRnZXQgd2l0aCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGZvciByb3cgYW5kIGNlbGxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhdGFncmlkLXRyYW5zcGFyZW50Lm14LWRhdGFncmlkIHtcblx0Lm14LWRhdGFncmlkLWhlYWQtdGFibGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cdC5teC1kYXRhZ3JpZC1ib2R5LXRhYmxlIHtcblx0XHQubXgtZGF0YWdyaWQtYm9keSB0ciB7XG5cdFx0XHQmOm50aC1vZi10eXBlKG9kZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHRcdHRkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIEZ1bGwgU2VhcmNoXG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldCB3aXRoIGFkanVzdGVkIHNlYXJjaCBmaWVsZC4gT25seSAxIHNlYXJjaCBmaWVsZCBpcyBhbGxvd2VkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyaWQuZGF0YWdyaWQtZnVsbHNlYXJjaCB7XG5cdC5teC1ncmlkLXNlYXJjaC1idXR0b24ge1xuXHRcdEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuXHR9XG5cdC5teC1ncmlkLXJlc2V0LWJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQubXgtZ3JpZC1zZWFyY2gtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Lm14LWdyaWQtc2VhcmNoLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5teC1ncmlkLXNlYXJjaGJhciB7XG5cdFx0Lm14LWdyaWQtc2VhcmNoLWNvbnRyb2xzIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgXHRcdFx0cmlnaHQ6IDA7XG4gIFx0XHR9XG5cdFx0Lm14LWdyaWQtc2VhcmNoLWlucHV0IHtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHQuZm9ybS1jb250cm9sIHtcblx0XHRcdFx0aGVpZ2h0OiAzNXB4O1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGF0YXZpZXdcblxuICAgRGVmYXVsdCBNZW5kaXggRGF0YXZpZXcgV2lkZ2V0LiBUaGUgZGF0YSB2aWV3IGlzIHVzZWQgZm9yIHNob3dpbmcgdGhlIGNvbnRlbnRzIG9mIGV4YWN0bHkgb25lIG9iamVjdFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1kYXRhdmlldyB7XG5cblx0LyogQ29udHJvbCBiYXIgKi9cblx0Lm14LWRhdGF2aWV3LWNvbnRyb2xzIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdC8vIE5lZWRlZCB0byBjbGVhciB0aGUgYm9vdHN0cmFwIGNvbHVtbnMgKGdldCBmbG9hdDogbGVmdClcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHBhZGRpbmc6IDhweCAwO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZGF0YXZpZXctY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXRhdmlldy1jb250cm9scy1iZztcblxuXHRcdC8qIEJ1dHRvbnMgKi9cblx0XHQubXgtYnV0dG9uIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0LyogRGF0YXZpZXctY29udGVudCBnaXZlcyBwcm9ibGVtcyBmb3IgbmV4dGVkIGxheW91dCBncmlkIGNvbnRhaW5lcnMgKi9cblx0PiAubXgtZGF0YXZpZXctY29udGVudCA+IC5teC1jb250YWluZXItbmVzdGVkIHtcblx0XHQ+IC5yb3cge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0LyogRGF0YXZpZXcgZW1wdHkgbWVzc2FnZSAqL1xuICAgIC5teC1kYXRhdmlldy1tZXNzYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhdGF2aWV3LWVtcHR5bWVzc2FnZS1iZztcbiAgICAgICAgY29sb3I6XHQkZGF0YXZpZXctZW1wdHltZXNzYWdlLWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qXG4qIE1lbmRpeCBEb2N1bWVudGF0aW9uXG4qIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIGNvbXBvbmVudHNcbiovXG5cblxuLypcbiogRGlqaXQgV2lkZ2V0c1xuKlxuKiBEZWZhdWx0IERvam8gRGlqaXQgV2lkZ2V0c1xuKi9cblxuXG4vKlxuICogRGlqaXQgQ2FsZW5kYXIgV2lkZ2V0XG4gKlxuICogVXNlZCBpbiBkYXRhdmlld3NcbiAqL1xuLmRpaml0Q2FsZW5kYXJDb250YWluZXIge1xuXHQvKiAobXVzdCBiZSBoaWdoZXIgdGhhbiBwb3B1cCB6LWluZGV4KSAqL1xuXHR6LWluZGV4OiAxMDAxMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMGYyO1xuXG5cdHRyIHtcblx0XHR0aCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzMjNEO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcdHRoLFxuXHRcdHRkIHtcblx0XHRcdHBhZGRpbmc6IDZweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0dGQgLmRpaml0Q2FsZW5kYXJEYXRlTGFiZWwge1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0fVxuXHRcdHRmb290IGgzIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0LmRpaml0Q2FsZW5kYXJNb250aExhYmVsIHtcblx0XHRAaW5jbHVkZSBmb250KGJvbGQpO1xuXHR9XG5cdC5kaWppdEJ1dHRvbk5vZGUge1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXHQuZGlqaXRDYWxlbmRhckFycm93IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblx0LmRpaml0Q2FsZW5kYXJTZWxlY3RlZERhdGUsXG5cdC5kaWppdENhbGVuZGFyU2VsZWN0ZWREYXRlOmhvdmVyIHtcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHRcdC5kaWppdENhbGVuZGFyRGF0ZUxhYmVsIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxuXHQuZGlqaXRDYWxlbmRhckhvdmVyZWREYXRlLFxuXHQuZGlqaXRDYWxlbmRhclByZXZpb3VzWWVhckhvdmVyLFxuXHQuZGlqaXRDYWxlbmRhck5leHRZZWFySG92ZXIsXG5cdC5kaWppdENhbGVuZGFyTW9udGhMYWJlbEhvdmVyIHtcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNkYmRjZGQ7XG5cdH1cblx0LmRpaml0Q2FsZW5kYXJZZWFyQ29udGFpbmVyIHRkIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogIzAwMDtcblx0XHQuZGlqaXRDYWxlbmRhclNlbGVjdGVkWWVhciB7XG5cdFx0XHRAaW5jbHVkZSBmb250KGJvbGQpO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdC5kaWppdENhbGVuZGFyTW9udGhDb250YWluZXIgdGg6Zmlyc3QtY2hpbGQge1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcblx0fVxuXHQuZGlqaXRDYWxlbmRhck1vbnRoQ29udGFpbmVyIHRoOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG5cdH1cbn1cblxuLmRpaml0Q2FsZW5kYXJNb250aE1lbnVQb3B1cCB7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0LyogKG11c3QgYmUgaGlnaGVyIHRoYW4gcG9wdXAgei1pbmRleCkgKi9cblx0ei1pbmRleDogMTAwMjAgIWltcG9ydGFudDtcblx0cGFkZGluZzogM3B4IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzI2MzIzRDtcblx0LmRpaml0Q2FsZW5kYXJNb250aE1lbnUge1xuXHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdC5kaWppdENhbGVuZGFyTW9udGhMYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAycHggMDtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogIzQyODBjYjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmRqX3J0bCB7XG5cdC5kaWppdENhbGVuZGFyQ29udGFpbmVyIHtcblx0IFx0LmRpaml0Q2FsZW5kYXJNb250aENvbnRhaW5lciB7XG5cdCBcdFx0dGgge1xuXG5cdCBcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0IFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuXHQgXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1x0XG5cdCBcdFx0XHR9XG5cdCBcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHQgXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG5cdCBcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG5cdCBcdFx0XHR9XG5cdCBcdFx0fVxuXHQgXHR9XG5cdH1cbn1cblxuXG4vKlxuICogRGlqaXQgVG9vbHRpcCBXaWRnZXRcbiAqXG4gKiBEZWZhdWx0IHRvb2x0aXAgdXNlZCBmb3IgTWVuZGl4IHdpZGdldHNcbiAqL1xuLm14LXRvb2x0aXAge1xuXHQuZGlqaXRUb29sdGlwQ29udGFpbmVyIHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Ym94LXNoYWRvdzpcdDAgNnB4IDEycHggcmdiYSgwLDAsMCwwLjE3NSk7XG5cblx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0XHRib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuXHRcdGJhY2tncm91bmQ6ICNGRkY7XG5cblx0XHQubXgtdG9vbHRpcC1jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0fVxuXHRcdC5mb3JtLWdyb3VwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHR9XG5cdH1cblxuXHQuZGlqaXRUb29sdGlwQ29ubmVjdG9yIHtcblx0XHRtYXJnaW4tbGVmdDogLTEwcHg7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkZ3JheS1saWdodDtcblx0fVxufVxuXG5cbi8qXG4gKiBEaWppdCBCb3JkZXIgQ29udGFpbmVyXG4gKlxuICogVXNlZCBpbiBNZW5kaXggYXMgc3BsaXQgcGFuZSBjb250YWluZXJzXG4gKi9cbi5kaWppdEJvcmRlckNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG5cbiAgICAuZGlqaXRTcGxpdHRlclYsXG5cdC5kaWppdEd1dHRlclYge1xuXHRcdHdpZHRoOiA1cHg7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQ6ICNmY2ZjZmM7XG5cdH1cblx0LmRpaml0U3BsaXR0ZXJILFxuXHQuZGlqaXRHdXR0ZXJIIHtcblx0XHRoZWlnaHQ6IDVweDtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZDogI2ZjZmNmYztcblx0fVxuXHQuZGlqaXRTcGxpdHRlckgge1xuXHRcdC5kaWppdFNwbGl0dGVyVGh1bWIge1xuXHRcdFx0dG9wOiAycHg7XG5cdFx0XHR3aWR0aDogMTlweDtcblx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0YmFja2dyb3VuZDogI0IwQjBCMDtcblx0XHR9XG5cdH1cblx0LmRpaml0U3BsaXR0ZXJWIHtcblx0XHQuZGlqaXRTcGxpdHRlclRodW1iIHtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRoZWlnaHQ6IDE5cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjQjBCMEIwO1xuXHRcdH1cblx0fVxuXHQuZGlqaXRTcGxpdENvbnRhaW5lci1jaGlsZCwgXG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1jaGlsZCB7XG5cdCAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXHR9XG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdFRhYkNvbnRhaW5lclRvcCwgXG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdFRhYkNvbnRhaW5lckJvdHRvbSwgXG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdFRhYkNvbnRhaW5lckxlZnQsXG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdFRhYkNvbnRhaW5lclJpZ2h0IHtcblx0ICAgIGJvcmRlcjogbm9uZTtcblx0fVxuXHQuZGlqaXRCb3JkZXJDb250YWluZXItZGlqaXRCb3JkZXJDb250YWluZXIge1xuXHQgICAgcGFkZGluZzogMDtcblx0ICAgIGJvcmRlcjogbm9uZTtcblx0fVxuXHQuZGlqaXRTcGxpdHRlckFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMC42O1xuXHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7IC8qIEZvciBJRTggYW5kIGVhcmxpZXIgKi9cblx0XHRcblx0XHRtYXJnaW46IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2FhYTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMXB4O1xuXHR9XG5cdC5kaWppdFNwbGl0Q29udGFpbmVyLWRpaml0Q29udGVudFBhbmUsXG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdENvbnRlbnRQYW5lIHtcblx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0fVxufVxuXG5cbi8qXG4gKiBEaWppdCBNZW51IFBvcHVwXG4gKlxuICogVXNlZCBpbiBkYXRlcGlja2VycyBhbmQgY2FsZW5kYXIgd2lkZ2V0c1xuICovXG4uZGlqaXRNZW51UG9wdXAge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuICAgIC5kaWppdE1lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyAvLyBObyB0b3AgbWFyZ2luIGJlY2F1c2UgdGhlcmUgaXMgbm8gcGFyZW50IHdpdGggbWFyZ2luIGJvdHRvbVxuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1pbnZlcnNlO1xuICAgICAgICB3aWR0aDogMjAwcHggIWltcG9ydGFudDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBib3JkZXI6IG1lZGl1bSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRicmFuZC1pbnZlcnNlO1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1lbnUgaXRlbVxuICAgICAgICAuZGlqaXRNZW51SXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC5kaWppdE1lbnVJdGVtTGFiZWwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxODBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEhvdmVyXG4gICAgICAgICAgICAmLmRpaml0TWVudUl0ZW1Ib3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAuZGlqaXRNZW51SXRlbUxhYmVsIHsgIFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOZXcgbGFiZWxcbiAgICAgICAgLnRnX25ld2xhYmVsbWVudWl0ZW0ge1xuICAgICAgICAgICAgLmRpaml0TWVudUl0ZW1MYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udChib2xkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlcGVyYXRvclxuICAgICAgICAuZGlqaXRNZW51U2VwYXJhdG9yIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kaWppdE1lbnVTZXBhcmF0b3JJY29uQ2VsbCB7XG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7IC8vb3ZlcnJpZGUgZGlqaXQgc3R5bGluZ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHbHlwaGljb25zXG5cbiAgIEdseXBoaWNvbnMgYWx0ZXJuYWVkIHRvIHVzZSB3aXRoIE1lbmRpeFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1nbHlwaGljb24ge1xuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwLjQ1NTU1NTVlbTtcblx0XHRtYXJnaW4tdG9wOiAtMC4yZW07XG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyb3VwYm94XG5cbiAgIERlZmF1bHQgTWVuZGl4IEdyb3VwYm94ZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtZ3JvdXBib3gge1xuXHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdEBpbmNsdWRlIGZvbnQoYm9sZCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0YmFja2dyb3VuZDogI0ZGRjtcblx0XHRjb2xvcjogJGJyYW5kLWludmVyc2U7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0Lm14LWdyb3VwYm94LWNvbGxhcHNlLWljb24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMC4xZW07XG5cdFx0fVxuXHR9XG5cdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG4gICAgXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRcdGJvcmRlcjogMHB4O1xuXG4gIFx0fVxuICBcdC5teC1ncm91cGJveC1oZWFkZXIgKyAubXgtZ3JvdXBib3gtYm9keSB7XG4gIFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdH1cblxuXHQmLmNvbGxhcHNlZCA+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3ggQ2FsbG91dHNcblxuICAgRGVmYXVsdCBNZW5kaXggR3JvdXBib3hlcyByZW5kZXJlZCBhcyAoQm9vdHN0cmFwKSBjYWxsb3V0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncm91cGJveCB7XG5cblx0Ly8gU3R5bGluZ2xlc3MgaGFzIG5vIHN0bHlpbmcgb3IgcGFkZGluZyAodXNlZCBmb3Igd3JhcHBlcilcblx0Ji5ncm91cGJveC1zdHlsaW5nbGVzcyAge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjRkZGO1xuXHRcdFx0Y29sb3I6ICMyNjIzMjQ7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI0M4QzlDNztcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0ICAgIFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcblx0XHRcdGJvcmRlcjogMHB4O1xuXHQgIFx0fVxuXHR9XG5cblx0Ly8gQm9yZGVyIHJhZGl1c1xuXHQmLmdyb3VwYm94LWJvcmRlci1yYWRpdXMge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuXHQgIFx0fVxuXHQgIFx0Lm14LWdyb3VwYm94LWhlYWRlciArIC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4ICFpbXBvcnRhbnQ7XG5cdCAgXHR9XG5cdH1cblx0Ji5ncm91cGJveC1ib3JkZXJsZXNzIHtcblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHQgIFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtYm9yZGVyLXRvcCB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdGJvcmRlci10b3Atc3R5bGU6IHNvbGlkICFpbXBvcnRhbnRcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50XG5cdCAgXHR9XG5cdCAgXHQubXgtZ3JvdXBib3gtaGVhZGVyICsgLm14LWdyb3VwYm94LWJvZHkge1xuXHQgIFx0XHRib3JkZXItdG9wLXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG5cdCAgXHR9XG5cdH1cblx0Ji5ncm91cGJveC1ib3JkZXItcmlnaHQge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkICFpbXBvcnRhbnRcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkICFpbXBvcnRhbnRcblx0ICBcdH1cblx0fVxuXHQmLmdyb3VwYm94LWJvcmRlci1ib3R0b20ge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQgIWltcG9ydGFudFxuXHQgIFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtYm9yZGVyLWxlZnQge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItbGVmdC1zdHlsZTogc29saWQgIWltcG9ydGFudFxuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50XG5cdCAgXHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3ggQ29sb3JzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyb3VwYm94ICB7XG5cdC8vIENvbG9yIHZhcmlhdGlvbnMgXG5cdCYuZ3JvdXBib3gtZGVmYXVsdCB7XG5cdFx0IEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LWRlZmF1bHQtY29sb3IsICRncm91cGJveC1kZWZhdWx0LWJnKTtcblx0fVxuXHQmLmdyb3VwYm94LXByaW1hcnkge1xuXHRcdEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LXByaW1hcnktY29sb3IsICRncm91cGJveC1wcmltYXJ5LWJnKTtcblx0fVxuXHQmLmdyb3VwYm94LWludmVyc2Uge1xuXHRcdEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LWludmVyc2UtY29sb3IsICRncm91cGJveC1pbnZlcnNlLWJnKTtcblx0fVxuXHQvLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cblx0Ji5ncm91cGJveC1zdWNjZXNzIHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1zdWNjZXNzLWNvbG9yLCAkZ3JvdXBib3gtc3VjY2Vzcy1iZyk7XG5cdH1cblx0Ly8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cblx0Ji5ncm91cGJveC1pbmZvIHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1pbmZvLWNvbG9yLCAkZ3JvdXBib3gtaW5mby1iZyk7XG5cdH1cblx0Ly8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuXHQmLmdyb3VwYm94LXdhcm5pbmcge1xuXHRcdEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LXdhcm5pbmctY29sb3IsICRncm91cGJveC13YXJuaW5nLWJnKTtcblx0fVxuXHQvLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcblx0Ji5ncm91cGJveC1kYW5nZXIge1xuXHRcdEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LWRhbmdlci1jb2xvciwgJGdyb3VwYm94LWRhbmdlci1iZyk7XG5cdH1cblx0Ly8gd2hpdGUgYXBwZWFycyBhcyBmdWxsIHdoaXRlXHRcblx0Ji5ncm91cGJveC13aGl0ZSB7XG5cdFx0QGluY2x1ZGUgZ3JvdXBib3gtdmFyaWFudCgkZ3JvdXBib3gtd2hpdGUtY29sb3IsICRncm91cGJveC13aGl0ZS1iZyk7XG5cdH1cblx0Ji5ncm91cGJveC10cmFuc3BhcmVudCAge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBcdFx0fVxuXHR9XG59XG5cbi5teC1ncm91cGJveC5ncm91cGJveC1tb2JpbGVncmV5ID4gLm14LWdyb3VwYm94LWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMjYyMzI0O1xuICBib3JkZXItY29sb3I6ICNmOGY4Zjg7XG59XG4ubXgtZ3JvdXBib3guZ3JvdXBib3gtbW9iaWxlZ3JleSA+IC5teC1ncm91cGJveC1ib2R5IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXI6IDBweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3ggU3BhY2luZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncm91cGJveCB7XG5cblx0Ji5ncm91cGJveC1zaWRlbGVzcyAge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdCAgXHR9XG5cdH1cblxuXHQmLmdyb3VwYm94LWJvZHlsZXNzICB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblxuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdCAgXHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3ggSGVhZGVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncm91cGJveCB7XHRcblx0Ji5ncm91cGJveC1oMSA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH0gXG5cdCYuZ3JvdXBib3gtaDIgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgyOyB9XG5cdCYuZ3JvdXBib3gtaDMgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG5cdCYuZ3JvdXBib3gtaDQgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG5cdCYuZ3JvdXBib3gtaDUgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg1OyB9XG5cdCYuZ3JvdXBib3gtaDYgPiAubXgtZ3JvdXBib3gtaGVhZGVyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyb3VwYm94IENhbGxvdXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyb3VwYm94IHtcdFxuXHQmLmdyb3VwYm94LWNhbGxvdXQge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciwgXG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdCAgICBcdGJvcmRlcjogMDtcblx0ICBcdH1cblx0ICBcdC5teC1ncm91cGJveC1oZWFkZXIgKyAubXgtZ3JvdXBib3gtYm9keSB7XG5cdCAgXHRcdHBhZGRpbmctdG9wOiAwO1xuXHQgIFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtY2FsbG91dC1pbmZvIHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIsIFxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNhbGxvdXQtaW5mby1iZztcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdGNvbG9yOiAkY2FsbG91dC1pbmZvLWNvbG9yO1xuXHRcdH1cblx0fVxuXHQmLmdyb3VwYm94LWNhbGxvdXQtc3VjY2VzcyB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyLCBcblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjYWxsb3V0LXN1Y2Nlc3MtYmc7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRjb2xvcjogJGNhbGxvdXQtc3VjY2Vzcy1jb2xvcjtcblx0XHR9XG5cdH1cblx0Ji5ncm91cGJveC1jYWxsb3V0LXdhcm5pbmcge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciwgXG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbG91dC13YXJuaW5nLWJnO1xuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Y29sb3I6ICRjYWxsb3V0LXdhcm5pbmctY29sb3I7XG5cdFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtY2FsbG91dC1kYW5nZXIge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciwgXG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbG91dC1kYW5nZXItYmc7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRjb2xvcjogJGNhbGxvdXQtZGFuZ2VyLWNvbG9yO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlcnNcblxuICAgRGVmYXVsdCBNZW5kaXggSGVscGVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5kaXNwbGF5LWllOC1vbmx5Om5vdChbYXR0cio9JyddKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG4ubGlzdC1ub3N0eWxlIHtcblx0dWwge1xuXHQgIHBhZGRpbmc6IDA7XG5cdCAgbWFyZ2luOiAwO1xuXHRcdGxpIHtcblx0XHQgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuLm5vd3JhcCxcbi5ub3dyYXAgKiB7IC8vIFN0YXIgZm9yIGluc2lkZSBhbiBlbGVtZW50LCBJRTggc3BhbiA+IGFcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5mb3JtLWRpc2FibGVkIHAge1xuXHRAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWlucHV0LWJnLWRpc2FibGVkICFpbXBvcnRhbnQ7XG59XG4ucGFkZGluZy1ib3R0b20tbm9uZSB7XG5cdHBhZGRpbmctYm90dG9tOiAwXG59XG5cbi8qIFZlcnRpY2FsIEFsaWduIEVsZW1lbnRzIGluIGEgYm9vdHN0cmFwIHJvdywgYWRkIGNsYXNzIG9uIHJvdyAqL1xuLnYtY2VudGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuXHRkaXZbY2xhc3MqPSdjb2wtJ10ge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFx0ZmxvYXQ6IG5vbmU7XG5cdH1cbn1cblxuLyogUmVtb3ZlIHBhZGRpbmcgZm9yIEJvb3RzdHJhcCBjb2x1bW5zLCBhZGQgY2xhc3Mgb24gcm93ICovXG4ubm8tZ3V0dGVyID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgcGFkZGluZy1sZWZ0OjA7XG59XG5cbi8qIFJlbmRlciBESVYgYXMgVGFibGUgQ2VsbHMgKi9cbi50YWJsZSB7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuLnRhYmxlLWNlbGwge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLmFsaWduLXRvcCB7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYWxpZ24tbWlkZGxlIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5hbGlnbi1ib3R0b20ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEltYWdlc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBJbWFnZSBXaWRnZXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW1nLmltZy1yb3VuZGVkLFxuLmltZy1yb3VuZGVkIGltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbmltZy5pbWctdGh1bWJuYWlsLFxuLmltZy10aHVtYm5haWwgaW1nIHtcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiA0cHg7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLWRlZmF1bHQ7XG59XG5pbWcuaW1nLWNpcmNsZSxcbi5pbWctY2lyY2xlIGltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbmltZy5pbWctYXV0byxcbi5pbWctYXV0byBpbWcge1xuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYWJlbHNcblxuICAgRGVmYXVsdCBsYWJlbHMgY29tYmluZWQgd2l0aCBCb290c3RyYXAgbGFiZWxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxhYmVsIHtcblx0QGluY2x1ZGUgZm9udChib2xkKTsgXG5cdGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiAjZmZmO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgXG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG4ubGFiZWwtZGVmYXVsdCB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGVmYXVsdC1iZzsgXG5cdGNvbG9yOiAkbGFiZWwtZGVmYXVsdC1jb2xvcjtcbn1cbi5sYWJlbC1wcmltYXJ5IHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1wcmltYXJ5LWJnOyBcblx0Y29sb3I6ICRsYWJlbC1wcmltYXJ5LWNvbG9yO1xufVxuLmxhYmVsLXN1Y2Nlc3MgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmc7IFxuXHRjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG59XG4ubGFiZWwtaW5mbyB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtaW5mby1iZzsgXG5cdGNvbG9yOiAkbGFiZWwtaW5mby1jb2xvcjtcbn1cbi5sYWJlbC13YXJuaW5nIHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC13YXJuaW5nLWJnOyBcblx0Y29sb3I6ICRsYWJlbC13YXJuaW5nLWNvbG9yO1xufVxuLmxhYmVsLWRhbmdlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJnOyBcblx0Y29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHZpZXdcblxuICAgRGVmYXVsdCBNZW5kaXggTGlzdHZpZXcgV2lkZ2V0LiBUaGUgbGlzdCB2aWV3IHNob3dzIGEgbGlzdCBvZiBvYmplY3RzIGFycmFuZ2VkIHZlcnRpY2FsbHkuIEVhY2ggb2JqZWN0IGlzIHNob3duIHVzaW5nIGEgdGVtcGxhdGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtbGlzdHZpZXcge1xuXHQvKiBSZW1vdmUgd2lkZ2V0IHBhZGRpbmcgKi9cblx0cGFkZGluZzogMDtcblxuXHQvKiBDbGVhciBzZWFyY2ggYnV0dG9uIChvdmVycmlkZXMgbG9hZCBtb3JlIGJ1dHRvbiBzdHlpbmcpICovXG5cdC5teC1idXR0b24ubXgtbGlzdHZpZXctY2xlYXItYnV0dG9uIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXG5cdC8qIExvYWQgbW9yZSBidXR0b24gKi9cblx0PiAubXgtYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDEwcHggYXV0b1xuXHR9XG5cdC5teC1saXN0dmlldy1saXN0IHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdH1cblx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXNlbGVjdGVkICFpbXBvcnRhbnQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1zZWxlY3RlZC1ob3ZlciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOm50aC1jaGlsZCgybisxKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZztcblx0XHR9XG5cdH1cblxuXHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3R2aWV3IEhvdmVyXG5cbiAgIERlZmF1bHQgTWVuZGl4IExpc3R2aWV3IFdpZGdldCB3aXRoIGhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpc3R2aWV3LWhvdmVyLm14LWxpc3R2aWV3IHtcblx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctaG92ZXIgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHZpZXcgTGluZWRcblxuICAgRGVmYXVsdCBNZW5kaXggTGlzdHZpZXcgV2lkZ2V0IHdpdGggb25seSBib3JkZXIgYm90dG9tIGluIGxpc3R2aWV3IGl0ZW1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGlzdHZpZXctbGluZWQubXgtbGlzdHZpZXcge1xuXHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHZpZXcgU3RyaXBlZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBMaXN0dmlldyBXaWRnZXQgd2l0aCBzdHJpcGVkIGxpc3R2aWV3IGl0ZW1zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpc3R2aWV3LXN0cmlwZWQubXgtbGlzdHZpZXcge1xuXHQubXgtbGlzdHZpZXctaXRlbTpudGgtY2hpbGQoMm4rMSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXN0cmlwZWQ7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHZpZXcgU2VwZXJhdGVkXG5cbiAgIERlZmF1bHQgTWVuZGl4IExpc3R2aWV3IFdpZGdldCB3aXRoIGxpc3R2aWV3IGl0ZW1zIHNlcGVyYXRlZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5saXN0dmlldy1zZXBlcmF0ZWQubXgtbGlzdHZpZXcge1xuXHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0dmlldyBTdHlsaW5nbGVzc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBMaXN0dmlldyBXaWRnZXQgd2l0aCBsaXN0dmlldyBpdGVtcyBzZXBlcmF0ZWRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGlzdHZpZXctc3R5bGluZ2xlc3MubXgtbGlzdHZpZXcge1xuXHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XHRcblx0IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGFsc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBNb2RhbHMuIE1vZGFscyBhcmUgc3RyZWFtbGluZWQsIGJ1dCBmbGV4aWJsZSwgZGlhbG9nIHByb21wdHMgd2l0aCB0aGUgbWluaW11bSByZXF1aXJlZCBmdW5jdGlvbmFsaXR5IGFuZCBzbWFydCBkZWZhdWx0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tb2RhbC1kaWFsb2cge1xuXHRcblx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRib3gtc2hhZG93Olx0MCAycHggNHB4IHJnYmEoMCwwLDAsLjIpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG5cdFx0Lm1vZGFsLWhlYWRlciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwOyAvLyBCZWNhdXNlIG9mIHRoZSBjbGFzcyAubXgtd2luZG93LWFjdGl2ZSBpbiBteHVpLmNzc1xuXHRcdFx0cGFkZGluZzogMTVweCAyMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWhlYWRlci1iZztcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXHRcdFx0aDQge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250KGJvbGQpO1xuXHRcdFx0XHRjb2xvcjogJG1vZGFsLWhlYWRlci1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0XHQuY2xvc2Uge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgLyogRm9yIElFOCBhbmQgZWFybGllciAqL1xuXG5cdFx0XHRcdGNvbG9yOiAkbW9kYWwtaGVhZGVyLWNvbG9yO1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTNweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1vZGFsLWJvZHkge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHR9XG5cdFx0Lm1vZGFsLWZvb3RlciB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLyogRGVmYXVsdCBNZW5kaXggV2luZG93IE1vZGFsICovXG4ubXgtd2luZG93IHtcblxuXHQvLyBJZiBwb3B1cCBkaXJlY3QgY2hpbGQgaXMgYSBkYXRhdmlldyBpdCBnZXRzIHRoZSBjbGFzcyBteC13aW5kb3ctdmlld1xuXHQmLm14LXdpbmRvdy12aWV3IC5teC13aW5kb3ctYm9keSB7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdC8vIERhdGF2aWV3IGluIHBvcHVwXG5cdFx0PiAubXgtZGF0YXZpZXcgPiAubXgtZGF0YXZpZXctY29udGVudCwgXG5cdFx0PiAubXgtcGxhY2Vob2xkZXIgPiAubXgtZGF0YXZpZXcgPiAubXgtZGF0YXZpZXctY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdH1cblx0XHQ+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scywgXG5cdFx0PiAubXgtcGxhY2Vob2xkZXIgPiAubXgtZGF0YXZpZXcgPiAubXgtZGF0YXZpZXctY29udHJvbHMge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cdC5teC1kYXRhdmlldy1jb250cm9scyB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblx0Lm14LWxheW91dGdyaWQge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG4ucHJvZmlsZS1waG9uZSB7XG4gICAgLmRpZ2l0YWwtc2lnbmF0dXJlLWxheW91dC5teC13aW5kb3cge1xuICAgICAgICAvLyBJZiBwb3B1cCBkaXJlY3QgY2hpbGQgaXMgYSBkYXRhdmlldyBpdCBnZXRzIHRoZSBjbGFzcyBteC13aW5kb3ctdmlld1xuICAgICAgICB3aWR0aDogOTR2dyFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogODB2aCAhaW1wb3J0YW50O1xuICAgICAgICAvL3RvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvL2xlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgJi5teC13aW5kb3ctdmlldyAubXgtd2luZG93LWJvZHkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICBcbiAgICAgICAgICAgIC8vIERhdGF2aWV3IGluIHBvcHVwXG4gICAgICAgICAgICA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250ZW50LCBcbiAgICAgICAgICAgID4gLm14LXBsYWNlaG9sZGVyID4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scywgXG4gICAgICAgICAgICA+IC5teC1wbGFjZWhvbGRlciA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm14LWRhdGF2aWV3LWNvbnRyb2xzIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5teC1sYXlvdXRncmlkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogRGVmYXVsdCBNZW5kaXggTG9naW4gTW9kYWwgKi9cbi5teC1sb2dpbiB7XG5cdC5tb2RhbC1ib2R5IHtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdH1cblx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdGlucHV0IHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAxMnB4IDEycHg7XG5cdFx0XHRoZWlnaHQ6IDU2cHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjRUVFO1xuXHRcdFx0YmFja2dyb3VuZDogI2VlZTtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzY2YWZlOTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm1vZGFsLWhlYWRlcixcblx0Lm1vZGFsLWZvb3RlciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cdGJ1dHRvbiB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdGg0IHtcblx0XHRjb2xvcjogI2FhYTtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuXG4gICBEZWZhdWx0IE1lbmRpeCBOYXZpZ2F0aW9uIEJhclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1uYXZiYXIge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZztcblxuXHR1bC5uYXYgeyBcblxuXHRcdG1hcmdpbjogMDsgLy8gd2VpcmQgLW1hcmdpbiBpZiBzY3JlZW4gZ2V0cyBzbWFsbCAoYm9vdHN0cmFwKVxuXHRcdC8qIE5hdmlnYXRpb24gaXRlbSAqL1xuXHRcdD4gbGkubXgtbmF2YmFyLWl0ZW0gPiBhIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0XHRjb2xvcjogJG5hdnRvcGJhci1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogJG5hdnRvcGJhci1mb250LXNpemU7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHQvKiBEcm9wZG93biBhcnJvdyAqL1xuXHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJG5hdnRvcGJhci1jb2xvcjtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdnRvcGJhci1jb2xvcjtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmctaG92ZXI7XG5cdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5hY3RpdmUge1xuICAgICAgICAgICAgXHRjb2xvcjogJG5hdnRvcGJhci1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmctYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG5cdFx0XHQvKiBEcm9wZG93biAqL1xuXHRcdFx0Lm14LW5hdmJhci1zdWJtZW51OmJlZm9yZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtOXB4O1xuXHRcdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgOXB4IDlweCA5cHg7XG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJG5hdnRvcGJhci1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSW1hZ2Vcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAyMHB4OyAvLyBEZWZhdWx0IHNpemUgKHNvIGl0IGxvb2tzIGdvb2QpXG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0LmdseXBoaWNvbiB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRmb250LXNpemU6ICRuYXZ0b3BiYXItZ2x5cGgtc2l6ZTtcblx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHQvKiBXaGVuIGhvdmVyaW5nIG9yIHRoZSBkcm9wZG93biBpcyBvcGVuICovXG5cdFx0PiAubXgtbmF2YmFyLWl0ZW0gPiBhOmhvdmVyLCBcblx0XHQ+IC5teC1uYXZiYXItaXRlbSA+IGE6Zm9jdXMsXG5cdFx0PiAubXgtbmF2YmFyLWl0ZW0uYWN0aXZlIGEsXG5cdFx0PiAubXgtbmF2YmFyLWl0ZW0ub3BlbiA+IGEsIFxuXHRcdD4gLm14LW5hdmJhci1pdGVtLm9wZW4gPiBhOmhvdmVyLCBcblx0XHQ+IC5teC1uYXZiYXItaXRlbS5vcGVuID4gYTpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLWJnLWhvdmVyO1xuXHRcdFx0Y29sb3I6ICRuYXZ0b3BiYXItY29sb3ItaG92ZXI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdC5jYXJldCB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRuYXZ0b3BiYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZ0b3BiYXItY29sb3ItaG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdD4gLm14LW5hdmJhci1pdGVtLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaS5teC1uYXZiYXItc3ViaXRlbS5hY3RpdmUgYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1iZy1hY3RpdmU7XG5cdFx0XHRjb2xvcjogJG5hdnRvcGJhci1zdWItY29sb3ItYWN0aXZlO1xuXG5cdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZ0b3BiYXItc3ViLWNvbG9yLWFjdGl2ZTtcblx0XHRcdH1cbiAgICAgICAgfVxuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHR1bC5uYXYgPiBsaS5teC1uYXZiYXItaXRlbSA+IGEge1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdH1cblx0XHQubXgtbmF2YmFyLWl0ZW0ub3BlbiAuZHJvcGRvd24tbWVudSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1iZztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XG5cdFx0XHQ+IGxpLm14LW5hdmJhci1zdWJpdGVtID4gYSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHRjb2xvcjogJG5hdnRvcGJhci1zdWItY29sb3I7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJG5hdnRvcGJhci1zdWItZm9udC1zaXplO1xuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1jb2xvci1ob3Zlcjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1iZy1ob3Zlcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRjb2xvcjogJG5hdnRvcGJhci1zdWItY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItc3ViLWJnLWFjdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIHJlbW92ZSBmb2N1cyAqL1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hdmlnYXRpb25cblxuICAgRGVmYXVsdCBNZW5kaXggTmF2aWdhdGlvbiBUcmVlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LW5hdmlnYXRpb250cmVlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cblx0LyogRXZlcnkgbmF2aWdhdGlvbiBpdGVtICovXG5cdC5uYXZiYXItaW5uZXIgdWwge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogMTVweCAyMHB4IDE1cHggMTZweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZzaWRlYmFyLWJvcmRlci1jb2xvcjtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yO1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1mb250LXNpemU7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnO1xuXHRcdFx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0XHRcdC5jYXJldCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJG5hdnNpZGViYXItY29sb3I7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdnNpZGViYXItY29sb3I7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNHB4O1xuXHRcdFx0XHRcdHdpZHRoOiAyMHB4OyAvLyBEZWZhdWx0IHNpemVcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJG5hdnNpZGViYXItZ2x5cGgtc2l6ZTtcblx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YTpob3Zlcixcblx0XHRcdGE6Zm9jdXMsXG5cdFx0XHRhLmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnLWhvdmVyO1xuXHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuICAgICAgICAgICAgYS5hY3RpdmUge1xuICAgICAgICAgICAgXHRib3JkZXItbGVmdC1jb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHR9XG5cblx0LyogU3ViIG5hdmlnYXRpb24gaXRlbSBzcGVjaWZpYyAqL1xuXHRsaS5teC1uYXZpZ2F0aW9udHJlZS1oYXMtaXRlbXMge1xuXHRcdD4gdWwge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItc3ViLWJnO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1zdWItY29sb3I7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1zdWItZm9udC1zaXplO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLXN1Yi1iZztcblx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDIwcHggMTJweCAyNXB4O1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblxuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItc3ViLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItc3ViLWJnLWhvdmVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0ICAgICAgICAgICAgXHRib3JkZXI6IDA7XG5cdFx0ICAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItc3ViLWNvbG9yLWFjdGl2ZTtcblx0XHQgICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLXN1Yi1iZy1hY3RpdmU7XG5cdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogcmVtb3ZlIGZvY3VzICovXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuXG4vKiBDb250ZW50IENlbnRlcmQgdGV4dCBhbmQgaWNvbnMgKi9cblxuLm14LW5hdmlnYXRpb250cmVlLm5hdi1jb250ZW50LWNlbnRlci10ZXh0LWljb25zIHtcblx0Lm5hdmJhci1pbm5lciB1bCB7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gIFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBDb250ZW50IENlbnRlcmQgaWNvbnMgb25seSAqL1xuXG4ubXgtbmF2aWdhdGlvbnRyZWUubmF2LWNvbnRlbnQtY2VudGVyIHtcblx0Lm5hdmJhci1pbm5lciB1bCB7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQuZ2x5cGhpY29uIHtcblxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOYXZpZ2F0aW9uXG5cbiAgIERlZmF1bHQgTWVuZGl4IFNpbXBsZSBNZW51IEJhclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1tZW51YmFyIHtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cdHVsLm14LW1lbnViYXItbGlzdCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogNTBweDtcblx0XHR0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXHRcdGxpLm14LW1lbnViYXItaXRlbSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGEge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1zdWItZm9udC1zaXplO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDhweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNTBweDtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdFx0LmdseXBoaWNvbiB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRmb250LXNpemU6ICRuYXZzaWRlYmFyLWdseXBoLXNpemU7XG5cdFx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhOmhvdmVyLFxuXHRcdFx0YTpmb2N1cyxcdFx0XHRcblx0XHRcdCY6aG92ZXIgYSxcblx0XHRcdCY6Zm9jdXMgYSxcblx0XHRcdCYuYWN0aXZlIGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1ob3Zlcjtcblx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmctYWN0aXZlO1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0fVxuXG5cdC8qIFR3byBtZW51IGl0ZW1zICovXG5cdCYubWVudWJhci1jb2wtNiB1bC5teC1tZW51YmFyLWxpc3QgbGkubXgtbWVudWJhci1pdGVtIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cdC8qIFRocmVlIG1lbnUgaXRlbXMgKi9cblx0Ji5tZW51YmFyLWNvbC00IHVsLm14LW1lbnViYXItbGlzdCBsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdHdpZHRoOiAzMy4zMzMzMzMzMyU7XG5cdH1cblx0LyogRm91ciBtZW51IGl0ZW1zICovXG5cdCYubWVudWJhci1jb2wtMyB1bC5teC1tZW51YmFyLWxpc3QgbGkubXgtbWVudWJhci1pdGVtIHtcblx0XHR3aWR0aDogMjUlO1xuXHR9XG5cdC8qIEZpdmUgbWVudSBpdGVtcyAqL1xuXHQmLm1lbnViYXItY29sLTIgdWwubXgtbWVudWJhci1saXN0IGxpLm14LW1lbnViYXItaXRlbSB7XG5cdFx0d2lkdGg6IDIwJTtcblx0fVxuXG5cdC8qIHJlbW92ZSBmb2N1cyAqL1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi8qIHRleHQgYW5kIGljb25zIGNlbnRlcmQgKi9cbi5teC1tZW51YmFyLmJvdHRvbS1uYXYtdGV4dC1pY29ucyB7XG5cdHVsLm14LW1lbnViYXItbGlzdCB7XG5cdFx0bGkubXgtbWVudWJhci1pdGVtIHtcblx0XHRcdGEge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdCAgXHRcdHBhZGRpbmc6IDhweCA4cHggNnB4IDhweDtcblx0XHRcdFx0LmdseXBoaWNvbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ICBcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0ICBcdFx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vKiBWZXJ0aWNhbCB2YXJpYXRpb24gc3BlY2lmaWNzICovXG4ubXgtbWVudWJhci12ZXJ0aWNhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmc7XG5cdHVsLm14LW1lbnViYXItbGlzdCB7XG5cdFx0bGkubXgtbWVudWJhci1pdGVtIHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJG5hdnRvcGJhci1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLWZvbnQtc2l6ZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZ0b3BiYXItYm9yZGVyLWNvbG9yO1xuXG5cdFx0XHRcdC5nbHlwaGljb24ge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLWdseXBoLXNpemU7XG5cdFx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmctaG92ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICRuYXZ0b3BiYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0ICAgICAgICAgICAgXHRjb2xvcjogJG5hdnRvcGJhci1jb2xvci1hY3RpdmU7XG5cdCAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZy1hY3RpdmU7XG5cdCAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogSG9yaXpvbnRhbCB2YXJpYXRpb24gc3BlY2lmaWNzICovXG4ubXgtbWVudWJhci1ob3Jpem9udGFsIHtcblx0dWwubXgtbWVudWJhci1saXN0IHtcblx0XHRsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5cbiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuXG4gICBEZWZhdWx0IE1lbmRpeCBOYXZpZ2F0aW9uIFRyZWUgTW9iaWxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LW5hdmlnYXRpb250cmVlLW1vYmlsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyNTJjMzY7XG5cblx0LyogRXZlcnkgbmF2aWdhdGlvbiBpdGVtICovXG5cdC5uYXZiYXItaW5uZXIgdWwge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogMTVweCAyMHB4IDE1cHggMTZweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNTJjMzY7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyNTJjMzY7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDIwcHg7IC8vIERlZmF1bHQgc2l6ZVxuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5nbHlwaGljb24ge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1nbHlwaC1zaXplO1xuXHRcdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhOmhvdmVyLFxuXHRcdFx0YTpmb2N1cyxcblx0XHRcdGEuYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzlkOWQ5ZDM4O1xuXHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuICAgICAgICAgICAgYS5hY3RpdmUge1xuICAgICAgICAgICAgXHRib3JkZXItbGVmdC1jb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjOWQ5ZDlkMzg7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHR9XG5cblx0LyogU3ViIG5hdmlnYXRpb24gaXRlbSBzcGVjaWZpYyAqL1xuXHRsaS5teC1uYXZpZ2F0aW9udHJlZS1oYXMtaXRlbXMge1xuXHRcdD4gdWwge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzI1MmMzNjtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGF7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyNTJjMzY7XG5cdFx0XHRcdFx0cGFkZGluZzogMTJweCAyMHB4IDEycHggMjVweDtcblx0XHRcdFx0XHRib3JkZXI6IDA7XHRcblx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cblx0LyogcmVtb3ZlIGZvY3VzICovXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hdmlnYXRpb25cblxuICAgRGVmYXVsdCBNZW5kaXggU2ltcGxlIE1lbnUgQmFyIE1vYmlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1tZW51YmFyLW1vYmlsZSB7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICM3NzcgIWltcG9ydGFudDtcblx0dWwubXgtbWVudWJhci1saXN0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4taGVpZ2h0OiA1MHB4O1xuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdFx0bGkubXgtbWVudWJhci1pdGVtIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0YSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yO1xuXHRcdFx0XHRmb250LXNpemU6ICRuYXZzaWRlYmFyLXN1Yi1mb250LXNpemU7XG5cdFx0XHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJG5hdnNpZGViYXItZ2x5cGgtc2l6ZTtcblx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0YTpmb2N1cyxcdFx0XHRcblx0XHRcdCY6aG92ZXIgYSxcblx0XHRcdCY6Zm9jdXMgYSxcblx0XHRcdCYuYWN0aXZlIGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuXHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItY29sb3I7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlIGEge1xuICAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0fVxuXG5cdC8qIFR3byBtZW51IGl0ZW1zICovXG5cdCYubWVudWJhci1jb2wtNiB1bC5teC1tZW51YmFyLWxpc3QgbGkubXgtbWVudWJhci1pdGVtIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cdC8qIFRocmVlIG1lbnUgaXRlbXMgKi9cblx0Ji5tZW51YmFyLWNvbC00IHVsLm14LW1lbnViYXItbGlzdCBsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdHdpZHRoOiAzMy4zMzMzMzMzMyU7XG5cdH1cblx0LyogRm91ciBtZW51IGl0ZW1zICovXG5cdCYubWVudWJhci1jb2wtMyB1bC5teC1tZW51YmFyLWxpc3QgbGkubXgtbWVudWJhci1pdGVtIHtcblx0XHR3aWR0aDogMjUlO1xuXHR9XG5cdC8qIEZpdmUgbWVudSBpdGVtcyAqL1xuXHQmLm1lbnViYXItY29sLTIgdWwubXgtbWVudWJhci1saXN0IGxpLm14LW1lbnViYXItaXRlbSB7XG5cdFx0d2lkdGg6IDIwJTtcblx0fVxuXG5cdC8qIHJlbW92ZSBmb2N1cyAqL1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbi8qIFZlcnRpY2FsIHZhcmlhdGlvbiBzcGVjaWZpY3MgKi9cbi5teC1tZW51YmFyLXZlcnRpY2FsLW1vYmlsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmc7XG5cdHVsLm14LW1lbnViYXItbGlzdCB7XG5cdFx0bGkubXgtbWVudWJhci1pdGVtIHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJG5hdnRvcGJhci1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLWZvbnQtc2l6ZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZ0b3BiYXItYm9yZGVyLWNvbG9yO1xuXG5cdFx0XHRcdC5nbHlwaGljb24ge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLWdseXBoLXNpemU7XG5cdFx0XHRcdFx0dG9wOiAtMXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0XG5cdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLWJnO1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdCAgICAgICAgICAgIFx0Y29sb3I6ICRuYXZ0b3BiYXItY29sb3ItYWN0aXZlO1xuXHQgICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmctYWN0aXZlO1xuXHQgICAgICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvbiBMaXN0XG5cbiAgIERlZmF1bHQgTWVuZGl4IE5hdmlnYXRpb24gTGlzdCBXaWRnZXQuIEEgbmF2aWdhdGlvbiBsaXN0IGNhbiBiZSB1c2VkIHRvIGF0dGFjaCBhbiBhY3Rpb24gdG8gYW4gZW50aXJlIHJvdy4gU3VjaCBhIHJvdyBpcyBjYWxsZWQgYSBuYXZpZ2F0aW9uIGxpc3QgaXRlbVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1uYXZpZ2F0aW9ubGlzdCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0XG5cdC5teC1uYXZpZ2F0aW9ubGlzdC1pdGVtIHtcblx0XHRwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAxNnB4O1xuXHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZzaWRlYmFyLWJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cdFx0bGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1mb250LXNpemU7XG5cdFx0fVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1ob3Zlcjtcblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmFjdGl2ZSB7XG4gICAgICAgICAgIFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnLWFjdGl2ZTtcbiAgICAgICAgfVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFiIENvbnRhaW5lclxuXG4gICBEZWZhdWx0IE1lbmRpeCBUYWIgQ29udGFpbmVyIFdpZGdldC4gVGFiIGNvbnRhaW5lcnMgYXJlIHVzZWQgdG8gc2hvdyBpbmZvcm1hdGlvbiBjYXRlZ29yaXplZCBpbnRvIG11bHRpcGxlIHRhYiBwYWdlcy4gXG4gICBUaGlzIGNhbiBiZSB2ZXJ5IHVzZWZ1bCBpZiB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaGFzIHRvIGJlIGRpc3BsYXllZCBpcyBsYXJnZXIgdGhhbiB0aGUgYW1vdW50IG9mIHNwYWNlIG9uIHRoZSBzY3JlZW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtdGFiY29udGFpbmVyIHtcblx0Lm14LXRhYmNvbnRhaW5lci10YWJzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdGJvcmRlci1jb2xvcjogJHRhYnMtYm9yZGVyLWNvbG9yO1xuXHRcdD4gbGkgPiBhIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblxuXHRcdFx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdGNvbG9yOiAkdGFicy1jb2xvcjtcblx0XHRcdFxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iZy1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQ+IGxpLmFjdGl2ZSA+IGEsXG5cdFx0PiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuXHRcdD4gbGkuYWN0aXZlID4gYTpmb2N1cyAge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRhYnMtYm9yZGVyLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iZztcblx0XHRcdGNvbG9yOiAkdGFicy1jb2xvci1hY3RpdmU7XG5cdFx0fVxuXHR9XG5cdC5teC10YWJjb250YWluZXItY29udGVudCB7XG5cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWIgQ29udGFpbmVyIFBpbGxzXG5cbiAgIERlZmF1bHQgTWVuZGl4IFRhYiBDb250YWluZXIgV2lkZ2V0IHJlbmRlcmVkIGFzIFBpbGxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1waWxscy5teC10YWJjb250YWluZXIge1xuXHQubXgtdGFiY29udGFpbmVyLXRhYnMge1xuXHRcdGJvcmRlcjogMDtcblx0XHQ+IGxpID4gYSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJvcmRlci1jb2xvcjtcblx0XHRcdGNvbG9yOiAkdGFicy1jb2xvcjtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iZy1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQ+IGxpLmFjdGl2ZSA+IGEsXG5cdFx0PiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuXHRcdD4gbGkuYWN0aXZlID4gYTpmb2N1cyAge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmctYWN0aXZlO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRib3JkZXItY29sb3I6ICR0YWJzLWJnLWFjdGl2ZTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFiIENvbnRhaW5lciBMaW5lZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBUYWIgQ29udGFpbmVyIFdpZGdldCByZW5kZXJlZCB3aXRoIHRhYnMgcmVuZGVyZWQgd2l0aG91dCBiYWNrZ3JvdW5kXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1saW5lZC5teC10YWJjb250YWluZXIge1xuXHQubXgtdGFiY29udGFpbmVyLXRhYnMge1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Y29sb3I6ICR0YWJzLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgXHRib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnMtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlID4gYSxcbiAgICAgICAgICAgICYuYWN0aXZlID4gYTpob3ZlciwgXG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGE6Zm9jdXMgIHtcbiAgICAgICAgICAgIFx0Ym9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkdGFicy1saW5lZC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLWxpbmVkLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFiIENvbnRhaW5lciBKdXN0aWZpZWRcblxuICAgRGVmYXVsdCBNZW5kaXggVGFiIENvbnRhaW5lciBXaWRnZXQgcmVuZGVyZWQgYXMganVzdGlmaWVkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1qdXN0aWZpZWQubXgtdGFiY29udGFpbmVyIHtcblx0Lm14LXRhYmNvbnRhaW5lci10YWJzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXG5cdFx0PiBsaSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1x0XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxJTtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XHRcblx0XHRcdD4gYSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHRcblx0XHR9XG5cdFx0PiBsaS5hY3RpdmUgPiBhIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHRhYnMtYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWIgQ29udGFpbmVyIEJvcmRlcmVkXG5cbiAgIERlZmF1bHQgTWVuZGl4IFRhYiBDb250YWluZXIgV2lkZ2V0IHJlbmRlcmVkIHdpdGggYm9yZGVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWItYm9yZGVyZWQubXgtdGFiY29udGFpbmVyIHtcblx0Lm14LXRhYmNvbnRhaW5lci10YWJzIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQubXgtdGFiY29udGFpbmVyLWNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkdGFicy1ib3JkZXItY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQuIFRhYmxlcyBjYW4gYmUgdXNlZCB0byBsZW5kIHN0cnVjdHVyZSB0byBhIHBhZ2UuIFRoZXkgY29udGFpbiBhIG51bWJlciBvZiByb3dzICh0cikgYW5kIGNvbHVtbnMsIHRoZSBpbnRlcnNlY3Rpb24gb2Ygd2hpY2ggaXMgY2FsbGVkIGEgY2VsbCAodGQpLiBFYWNoIGNlbGwgY2FuIGNvbnRhaW4gd2lkZ2V0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRoIHsgQGluY2x1ZGUgZm9udChib2xkKTt9XG50YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0LyogVGFibGUgcm93ICovXG5cdFx0PiB0ciB7XG5cblx0XHRcdC8qIFRhYmxlIGhlYWRlciAqL1xuXHRcdFx0PiB0aCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHQqIHsgXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udChib2xkKTsgXG5cdFx0XHRcdFx0Y29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC13ZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBsYWJlbCB7IFxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDZweDsgLy8gQWxpZ25zIGxhYmVsIGluIHRoZSBtaWRkbGUgaWYgdGhlcmUgaXMgbm8gaW5wdXQgZmllbGQgbmV4dCB0byBpdC5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvKiBUYWJsZSBjZWxscyAqL1xuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHQ+IGRpdiA+IGxhYmVsLFxuXHRcdFx0XHQubXgtcmVmZXJlbmNlc2VsZWN0b3ItaW5wdXQtd3JhcHBlciBsYWJlbCB7IFxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDZweDsgLy8gQWxpZ25zIGxhYmVsIGluIHRoZSBtaWRkbGUgaWYgdGhlcmUgaXMgbm8gaW5wdXQgZmllbGQgbmV4dCB0byBpdC5cblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgaW5zaWRlIFRlbXBsYXRlR3JpZCAqL1xuLm14LXRlbXBsYXRlZ3JpZCB0YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXHRcdD4gdHIge1xuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgaW5zaWRlIExpc3R2aWV3ICovXG4ubXgtbGlzdCB0YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXHRcdD4gdHIge1xuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzIExpbmVkXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGggYm9yZGVycyB0b3AgYW5kIGJvdHRvbVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLWxpbmVkLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4IDA7XG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGdyaWQtYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgQm9yZGVyZWRcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgd2l0aCBib3JkZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtYm9yZGVyZWQubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGggLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzIENvbXBhY3Rcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgd2l0aCBsZXNzIHNwYWNpbmcgaW4gdGFibGUgY2VsbHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS1jb21wYWN0Lm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBTaWRlbGVzc1xuXHRcbiAgIERlZmF1bHQgTWVuZGl4IFRhYmxlIFdpZGdldCBpbnNpZGUgVGVtcGxhdGVHcmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtc2lkZWxlc3MubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGQsXG5cdFx0XHQ+IHRoIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdD4gdGg6Zmlyc3QtY2hpbGQsXG5cdFx0XHQ+IHRkOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgU3BhY2VsZXNzXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGhvdXQgcGFkZGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLXNwYWNlbGVzcy5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgVmVydGljYWxcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgdmVydGljYWwgYWxpZ25lZCBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS12ZXJ0aWNhbC5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0PiB0aCB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHQ+IGxhYmVsIHsgcGFkZGluZzogMDsgfVxuXHRcdFx0XHQ+IGRpdiA+IGxhYmVsIHsgcGFkZGluZzogMDsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgVmVydGljYWwgTWlkZGxlXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHZlcnRpY2FsIGFsaWduZWQgbWlkZGxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtYWxpZ24tdmVydGljYWwtbWlkZGxlLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBDb21wYWN0XG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGhvdXQgcGFkZGluZyBhbmQgbWFyZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtbGFiZWwtY29tcGFjdC5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHQ+IGxhYmVsIHsgXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBkaXYgPiBsYWJlbCxcblx0XHRcdFx0Lm14LXJlZmVyZW5jZXNlbGVjdG9yLWlucHV0LXdyYXBwZXIgbGFiZWwgeyBcblx0XHRcdFx0XHRwYWRkaW5nOiAwOyBcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5odG1sIGJvZHkgLm14LXBhZ2UgdGFibGUubXgtdGFibGUge1xuXHR0aCxcblx0dGQge1xuXHRcdCYubm9wYWRkaW5nIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBSb3cgU2l6ZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kaGVpZ2h0LXJvdy1zOlx0XHQ1NXB4O1xuJGhlaWdodC1yb3ctbTpcdFx0NzBweDtcbiRoZWlnaHQtcm93LWw6XHRcdDEyMHB4O1xuXG4vKiAgU21hbGwgcm93c1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtcm93LXMubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGgsXG5cdFx0XHQ+IHRkIHtcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0LXJvdy1zO1xuXHRcdFx0fVxuXHRcdH1cblx0fVx0XHRcdFx0XG59XG5cblxuLyogIE1lZGl1bSByb3dzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS1yb3ctbS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQtcm93LW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XHRcbn1cblxuLyogIExhcmdlIHJvd3Ncblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLXJvdy1sLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGhlaWdodDogJGhlaWdodC1yb3ctbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cdFxufVxuXG5cbi8qXHRUYWJsZSBGaXhlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLWZpeGVkIHtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZW1wbGF0ZWdyaWRcblxuICAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldC4gVGhlIHRlbXBsYXRlIGdyaWQgc2hvd3MgYSBsaXN0IG9mIG9iamVjdHMgaW4gYSB0aWxlIHZpZXcuIEZvciBleGFtcGxlLCBhIHRlbXBsYXRlIGdyaWQgY2FuIHNob3cgYSBsaXN0IG9mIHByb2R1Y3RzLiBUaGUgdGVtcGxhdGUgZ3JpZCBoYXMgYSBsb3QgaW4gY29tbW9uIHdpdGggdGhlIGRhdGEgZ3JpZC4gVGhlIG1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IHRoZSBvYmplY3RzIGFyZSBzaG93biBpbiB0ZW1wbGF0ZXMgKGEgc29ydCBvZiBzbWFsbCBkYXRhIHZpZXcpIGluc3RlYWQgb2Ygcm93c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0fVxuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Lm14LWxheW91dGdyaWQge1xuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblx0fVxufVx0XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBIb3ZlclxuXG4gICBEZWZhdWx0IE1lbmRpeCBUZW1wbGF0ZWdyaWQgV2lkZ2V0IEhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1ob3Zlci5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctaG92ZXIgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Ji5zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1zZWxlY3RlZCAhaW1wb3J0YW50O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXIgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGVtcGxhdGVncmlkIFNlbGVjdGFibGVcblxuICAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldCB3aXRoIHNlbGVjdGlvbiBlbmFibGVkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1zZWxlY3RhYmxlLm14LXRlbXBsYXRlZ3JpZCB7XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBMaW5lZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBUZW1wbGF0ZWdyaWQgV2lkZ2V0IHdpdGggYm9yZGVycyBiZXR3ZWVuIGl0ZW1zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1saW5lZC5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtZ3JpZC1jb250ZW50IHtcblx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMnB4O1xuXHR9XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZW1wbGF0ZWdyaWQgU3RyaXBlZFxuXG4gIERlZmF1bHQgTWVuZGl4IFRlbXBsYXRlZ3JpZCBXaWRnZXQgd2l0aCBiYWNrZ3JvdW5kIGJldHdlZW4gaXRlbXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVtcGxhdGVncmlkLXN0cmlwZWQubXgtdGVtcGxhdGVncmlkIHtcblx0Lm14LXRlbXBsYXRlZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkgLm14LXRlbXBsYXRlZ3JpZC1pdGVtIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBTdHlsaW5nbGVzc1xuXG4gIERlZmF1bHQgTWVuZGl4IFRlbXBsYXRlZ3JpZCBXaWRnZXQgd2l0aG91dCBzdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1zdHlsaW5nbGVzcy5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVx0XHRcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGVtcGxhdGVncmlkIFRyYW5zcGFyZW50XG5cbiAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldCB3aXRob3V0IGJhY2tncm91bmQgYW5kIHBhZGRpbmcgaW4gaXRlbXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVtcGxhdGVncmlkLXRyYW5zcGFyZW50Lm14LXRlbXBsYXRlZ3JpZCB7XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnAge1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5sYWJlbCB7IFxuXHRwYWRkaW5nLXRvcDogMDsgXG59XG4ubXgtdGl0bGUge1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWhlYWRlcnM7XG5cdGNvbG9yOiAkZm9udC1iYXNlLWNvbG9yO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtaDE7XG59XG5oMSwgLmgxLCAuaDEgPiAqIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9IFxuaDIsIC5oMiwgLmgyID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMywgLmgzID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCwgLmg0ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSwgLmg1ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiwgLmg2ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtaGVhZGVycztcblx0Y29sb3I6ICRmb250LWNvbG9yLWhlYWRlcnM7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cblxuLyogVGV4dCBXZWlnaHRzICovXG4udGV4dC1saWdodCwgLnRleHQtbGlnaHQgPiAqLCAudGV4dC1saWdodCBsYWJlbCB7IFxuXHRAaW5jbHVkZSBmb250KGxpZ2h0KTtcbn1cbi50ZXh0LW5vcm1hbCwgLnRleHQtbm9ybWFsID4gKiwgLnRleHQtbm9ybWFsIGxhYmVsICB7IFxuXHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG59XG4udGV4dC1zZW1pYm9sZCwgLnRleHQtc2VtaWJvbGQgPiAqLCAudGV4dC1zZW1pYm9sZCBsYWJlbCAgeyBcblx0QGluY2x1ZGUgZm9udChzZW1pYm9sZCk7XG59XG4udGV4dC1ib2xkLCAudGV4dC1ib2xkID4gKiwgLnRleHQtYm9sZCBsYWJlbCAgeyBcblx0QGluY2x1ZGUgZm9udChib2xkKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBVdGlsaXR5IENsYXNzZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1zcGFjaW5nIHtcblx0bWFyZ2luLXRvcDogMWVtO1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XHRcbn1cbi50ZXh0LWxpbmVkIHtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG59XG5cblxuLyogVGV4dCBCcmVhayAqL1xuLnRleHQtYnJlYWsge1xuXHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuXG4gICBUZXh0IENvbG9yc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIEdyYXkgc2hhZGVzXG4udGV4dC1ncmF5LWRhcmtlciBcdHtcdGNvbG9yOiAkZ3JheS1kYXJrZXI7IFx0fVx0XHRcdFx0XG4udGV4dC1ncmF5LWRhcmsgXHR7XHRjb2xvcjogJGdyYXktZGFyazsgXHRcdH1cbi50ZXh0LWdyYXkgXHRcdFx0e1x0Y29sb3I6ICRncmF5O1x0XHRcdH1cbi50ZXh0LWdyYXktbGlnaHRcdHtcdGNvbG9yOiAkZ3JheS1saWdodDtcdFx0fVxuLnRleHQtZ3JheS1wcmltYXJ5XHR7XHRjb2xvcjogJGdyYXktcHJpbWFyeTtcdH1cbi50ZXh0LWdyYXktbGlnaHRlclx0e1x0Y29sb3I6ICRncmF5LWxpZ2h0ZXI7XHR9XHRcblx0IFx0XHRcdFx0IFxuLy8gQ29sb3JzXG4udGV4dC1kZWZhdWx0LCAudGV4dC1kZWZhdWx0OmhvdmVyXHR7XHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2s7IH1cbi50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXJcdHtcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcdH1cbi50ZXh0LWluZm8sIC50ZXh0LWluZm86aG92ZXJcdFx0e1x0Y29sb3I6ICRicmFuZC1pbmZvO1x0XHR9XG4udGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVyXHR7XHRjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XHR9XG4udGV4dC13YXJuaW5nLCAudGV4dC13YXJuaW5nOmhvdmVyXHR7XHRjb2xvcjogJGJyYW5kLXdhcm5pbmc7XHR9XG4udGV4dC1kYW5nZXIsIC50ZXh0LWRhbmdlcjpob3Zlclx0e1x0Y29sb3I6ICRicmFuZC1kYW5nZXI7XHR9XG5cbi8vIFRleHQgY29sb3JzXG4udGV4dC1ibGFjayBcdFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2s7XHR9XG4udGV4dC1ibGFjay1zZWNvbmRhcnlcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7IH1cbi50ZXh0LWJsYWNrLWRpc2FibGVkIFx0XHRcdFx0e1x0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLWRpc2FibGVkOyBcdH1cbi50ZXh0LWJsYWNrLWhpbnQgXHRcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1oaW50OyBcdFx0fVxuXG4udGV4dC13aGl0ZSBcdFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGU7IFx0fVxuLnRleHQtd2hpdGUtc2Vjb25kYXJ5XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGUtc2Vjb25kYXJ5OyB9XG4udGV4dC13aGl0ZS1kaXNhYmxlZCBcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC13aGl0ZS1kaXNhYmxlZDsgXHR9XG4udGV4dC13aGl0ZS1oaW50IFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGUtaGludDsgXHRcdH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIERhc2hib2FyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLWRhc2hib2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdC5jaGFydGpzLW5vZGUge1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdH1cbn1cbi5wYWdlLWRhc2hib2FyZC1kZWZhdWx0IHtcblx0LmNhcmQge1xuXHRcdG1pbi1oZWlnaHQ6IDM0NXB4O1xuXHR9XG59XG4ucGFnZS1kYXNoYm9hcmQtbXl0YXNrcyB7XG5cdC5jYXJkIHtcblx0XHRtaW4taGVpZ2h0OiAzMjBweDtcblx0fVxufVxuLnBhZ2UtZGFzaGJvYXJkLWFjdGlvbnMge1xuXG59XG4ucGFnZS1kYXNoYm9hcmQtYWN0aW9ucy10YXNrcyB7XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIEZvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1mb3JtIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLWZvcm0tZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS1mb3JtLWltYWdlbWFwIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLWZvcm0tdGFicyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBMb2dpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLWxvZ2luIHtcblxufVxuLnBhZ2UtbG9naW4tdXNlcnMge1xuXG4gICAgLnByb2ZpbGVjYXJkIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubXgtbmF2aWdhdGlvbmxpc3Qge1xuICAgICAgICAubXgtbmF2aWdhdGlvbmxpc3QtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIE1hc3RlciBEZXRhaWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1tYXN0ZXJkZXRhaWwge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBhZ2UtbWFzdGVyZGV0YWlsLWJhc2ljIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLW1hc3RlcmRldGFpbC1iaWcge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBhZ2UtbWFzdGVyZGV0YWlsLWltYWdlbWFwIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLW1hc3RlcmRldGFpbC1tdWx0aWxldmVsIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFRhYnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS10YWJzIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cblx0LnRhYnNmdWxsd2lkdGgge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdH1cbn1cbi5wYWdlLXRhYnMtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS10YWJzLWZ1bGx3aWR0aCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG5cdC5wYWdlaGVhZGVyLnBhZ2VoZWFkZXItZnVsbHdpZHRoIHtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFdlYnNpdGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS13ZWJzaXRlIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtYWN0aW9ucyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13ZWJzaXRlLWl0ZW1zIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtaXRlbXMtZGV0YWlsIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtcHJlc2VudGF0aW9uIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFdpemFyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLXdpemFyZCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13aXphcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13aXphcmQtdGl0bGVjZW50ZXJlZCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5waG9uZS1wYWdlLWRhc2hib2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG59XG4ucGhvbmUtcGFnZS1kYXNoYm9hcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZSBGb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBob25lLXBhZ2UtZm9ybSB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGhvbmUtcGFnZS1mb3JtLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2UtZm9ybS1lZGl0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFBob25lIExpc3R2aWV3XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBob25lLXBhZ2UtbGlzdHZpZXcge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2UtbGlzdHZpZXctZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZSBXaXphcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGhvbmUtcGFnZS13aXphcmQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2Utd2l6YXJkLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIFBhZ2UgVGVtcGxhdGUgVGFibGV0IERhc2hib2FyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xufVxuLnRhYmxldC1wYWdlLWRhc2hib2FyZC1kZWZhdWx0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQtYmlnIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQtbXl0YXNrcyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBUYWJsZXQgRm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1mb3JtIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1mb3JtLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnRhYmxldC1wYWdlLWZvcm0tZWRpdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBUYWJsZXQgTWFzdGVyIERldGFpbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1tYXN0ZXJkZXRhaWwge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnRhYmxldC1wYWdlLW1hc3RlcmRldGFpbC1kZWZhdWx0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1tYXN0ZXJkZXRhaWwtbGVmdHJpZ2h0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFRhYmxldCBXaXphcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGFibGV0LXBhZ2Utd2l6YXJkIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS13aXphcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWN0aW9uIEJsb2NrXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFjdGlvbmJsb2NrIHtcblx0QGluY2x1ZGUgZm9udChib2xkKTtcblx0cGFkZGluZzogMjBweCAwO1xuXHRtYXJnaW46IDEwcHggMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IGF1dG8gYXV0byAyMHB4IGF1dG87XG5cdFx0Zm9udC1zaXplOiA3MnB4O1xuXHR9XG5cdGltZyB7XG5cdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogYXV0byBhdXRvIDIwcHggYXV0bztcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMCAwIDMwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHR9XG59XG4uY2FyZC1tYXBzIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVGl0bGUgKyBidXR0b24gKyBib3JkZXIgYmVsb3cgdGl0bGUgYW5kIGJ1dHRvbiAqL1xuLmNhcmQtaGVhZGVyLWFjdGlvbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdC5jYXJkLXRpdGxlIHtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxuXHQuYnRuIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cbi5jYXJkLWRldGFpbHMge1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuLmNhcmQtdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHR9XG59XG4uY2FyZC1zdWJ0aXRsZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5jYXJkLWFubm90YXRpb24ge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogOHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5jYXJkLWljb24ge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdG1hcmdpbjogMzBweCBhdXRvO1xuXHR3aWR0aDogMTI1cHg7XG5cdGhlaWdodDogMTI1cHg7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHR3aWR0aDogNzVweDtcbiAgXHRcdGhlaWdodDogNzVweDtcblx0fVxuXG5cdC5nbHlwaGljb24ge1xuXHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHR9XG5cdH1cbn1cbi5jYXJkLWltYWdlIHtcblx0bWFyZ2luOiAzMHB4IGF1dG87XG59XG4uY2FyZC11c2VyLWltYWdlIHtcblx0Ym9yZGVyOiA0cHggc29saWQgI0ZGRjtcbn1cbi5jYXJkLWxpbmsge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGFzaGJvYXJkIENhcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGFzaGJvYXJkY2FyZCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMCAwIDQwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uZGFzaGJvYXJkY2FyZC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4uZGFzaGJvYXJkY2FyZC1zdWJ0aXRsZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5kYXNoYm9hcmRjYXJkLWxpbmsge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcblx0LmRhc2hib2FyZGNhcmQge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGFzaGJvYXJkIFN0YXRzXG5cbiAgIFVzZWQgaW4gZGFzaGJvYXJkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhc2hib2FyZHN0YXQge1xuXHRtYXJnaW46IDMwcHggMDtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdG1hcmdpbjogMTBweCAwO1xuXHR9XG5cblx0LmRhc2hib2FyZHN0YXQtbGVmdCxcblx0LmRhc2hib2FyZHN0YXQtcmlnaHQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuLmRhc2hib2FyZHN0YXQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMzBweDtcblx0cGFkZGluZzogOHB4IDE0cHg7XG5cdG1hcmdpbjogNXB4IDEwcHggMCAwO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG59XG4uZGFzaGJvYXJkc3RhdC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Y29sb3I6ICRncmF5LWxpZ2h0O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHR9XG59XG4uZGFzaGJvYXJkc3RhdC1udW1iZXIge1xuXHRmb250LXNpemU6IDcycHg7XG5cdGxpbmUtaGVpZ2h0OiAxZW07XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjaztcblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cblxuICAgVG8gZXh0ZW5kIHRoZSBkZWZhdWx0IEJvb3RzdHJhcCBmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0ge1xuXHRcbn1cbi5mb3JtLWZvb3RlciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xuIFx0cGFkZGluZzogMTBweCAwO1xuIFx0bWFyZ2luLXRvcDogMjBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIEJsb2NrXG5cbiAgIFVzZWQgaW4gZGVmYXVsdCBmb3Jtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb3JtYmxvY2sge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuLmZvcm1ibG9jay1oZWFkZXIge1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWFzdGVyIERldGFpbCBMaXN0dmlld1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYXN0ZXJkZXRhaWwtbGlzdHZpZXcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xuXHQubXgtbGlzdHZpZXcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdFx0Lm14LWxpbmsge1xuXHRcdFx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE11bHRpbGV2ZWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXVsdGlsZXZlbC10YWJzIC5teC10YWJjb250YWluZXItdGFicyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ubXVsdGlsZXZlbC1saXN0IHtcblx0QGV4dGVuZCAubGlzdHZpZXctbGluZWQ7XG5cdEBleHRlbmQgLmxpc3R2aWV3LWhvdmVyO1xuXHQubXgtbGlzdHZpZXctbGlzdCB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XG5cdFx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMTBweDtcbiAgXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBcdFx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XG4gIFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcbiAgXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcbiAgXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xuXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4ycztcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cbiAgXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0fVxuICBcdFx0XHQmLnNlbGVjdGVkIHtcbiAgXHRcdFx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICBcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWltcG9ydGFudDtcbiAgXHRcdFx0fVxuICBcdFx0fVxuXHR9XG59XG4ubXVsdGlsZXZlbC10aXRsZSB7XG5cdGxhYmVsIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuLm11bHRpbGV2ZWwtc3VidGl0bGUge1xuXHRjb2xvcjogJGdyYXk7XG59XG4ubXVsdGlsZXZlbC1tZXNzYWdlLWhlYWRlciB7XG5cdGNvbG9yOiAkZ3JheTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LXByaW1hcnk7XG59XG4ubXVsdGlsZXZlbC1tZXNzYWdlLWhlYWRlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjtcbn1cbi5tdWx0aWxldmVsLW1lc3NhZ2UtaGVhZGVyLXN1YnRpdGxlIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm11bHRpbGV2ZWwtbWVzc2FnZS10ZXh0IHtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG4ubXVsdGlsZXZlbC1ncmlkIHtcblx0IEBleHRlbmQgLmRhdGFncmlkLWhvdmVyO1xuXHQgQGV4dGVuZCAuZGF0YWdyaWQtZnVsbHNlYXJjaDtcblx0IEBleHRlbmQgLmRhdGFncmlkLXRyYW5zcGFyZW50O1xuXG5cdC5teC1kYXRhZ3JpZC1oZWFkLXRhYmxlIHRoIHtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cblx0Lm14LWRhdGFncmlkLWJvZHktdGFibGUge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuXHQgIFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXktbGlnaHRlcjtcblx0ICBcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHR9XG5cdFx0XHQmLnNlbGVjdGVkIHRkLFxuXHRcdFx0Ji5zZWxlY3RlZDpob3ZlciB0ZCB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlaGVhZGVyIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBtYXJnaW4sICRkaXJlY3Rpb246IGJvdHRvbSwgJGRldmljZTogcmVzcG9uc2l2ZSk7XG59XG4ucGFnZWhlYWRlci5wYWdlaGVhZGVyLWZ1bGx3aWR0aCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZWhlYWRlci10aXRsZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4ucGFnZWhlYWRlci1zdWJ0aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvbiBIZWFkZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VjdGlvbmhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItc3VidGl0bGUge1xuXHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItYXZhdGFyIHtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZmlsZSBDYXJkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2ZpbGVjYXJkIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHQucHJvZmlsZWNhcmQtY29udGVudHdyYXBwZXIge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cdC5wcm9maWxlY2FyZC1pbWd3cmFwcGVyIHtcblx0XHR3aWR0aDogMTUwcHg7XG5cdH1cblx0LnByb2ZpbGVjYXJkLWFjdGlvbndyYXBwZXIge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cdC5wcm9maWxlY2FyZC1jb250ZW50d3JhcHBlcixcblx0LnByb2ZpbGVjYXJkLWltZ3dyYXBwZXIsXG5cdC5wcm9maWxlY2FyZC1hY3Rpb253cmFwcGVyIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5wcm9maWxlY2FyZC1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxNTBweDtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnByb2ZpbGVjYXJkLWltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0bWFyZ2luLXJpZ2h0OiA0MHB4O1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cbi5wcm9maWxlY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMztcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cbi5wcm9maWxlY2FyZC1zdWJ0aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7XG59XG4ucGFnZWhlYWRlciAucHJvZmlsZWNhcmQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2ZpbGUgSGVhZGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2ZpbGVoZWFkZXIge1xuXHRtYXJnaW46IDIwcHggMDtcblxuXHQucHJvZmlsZWhlYWRlci1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdH1cblxuXHQucHJvZmlsZWhlYWRlci1pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiBhdXRvIGF1dG8gMTBweCBhdXRvO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZHVjdHNcblxuICAgVXNlZCBpbiBXZWJzaXRlIHBhZ2UgdGVtcGxhdGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3QtaGVhZGVyIHtcblx0cGFkZGluZzogMjVweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xufVxuLnByb2R1Y3QtY29udGVudCB7XG5cdFxufVxuLnByb2R1Y3QtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuLnByb2R1Y3Qtc3VidGl0bGUge1xuXHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xufVxuLnByb2R1Y3QtYnRuIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlYmFyIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyaGVhZGVyIHtcblx0cGFkZGluZzogMTBweCAyMHB4O1xufVxuLnNpZGViYXJoZWFkZXItY29udGVudCB7XG5cbn1cbi5zaWRlYmFyaGVhZGVyLWltZyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uc2lkZWJhcmhlYWRlci10aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC13aGl0ZTtcbn1cbi5zaWRlYmFyaGVhZGVyLXN1YnRpdGxlIHtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcbn0gXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFicyBmdWxsIHdpZHRoXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYnNmdWxsd2lkdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xuXHQ+IC5teC10YWJjb250YWluZXItdGFicyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDQwcHg7XG5cdFx0fVxuXHR9XG5cdD4gLm14LXRhYmNvbnRhaW5lci1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2l6YXJkXG5cbiAgIFN0eWxpbmcgZm9yIFdpemFyZCAoU3RlcHMvTnVtYmVycylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud2l6YXJkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IGF1dG87XG5cdC5yb3c6YmVmb3JlIHtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogNDBweDtcblx0XHRib3R0b206IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cdH1cblx0LnJvdyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdG1hcmdpbjogYXV0bztcblx0fVxufVxuLndpemFyZC1zdGVwIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG4ud2l6YXJkLXN0ZXAtbnVtYmVyIHtcblx0QGluY2x1ZGUgZm9udChib2xkKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdHdpZHRoOiA3MnB4O1xuXHRoZWlnaHQ6IDcycHg7XG5cdGNvbG9yOiAkZ3JheS1wcmltYXJ5O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cblx0Ly8gTGFiZWxzIGFuZCBidXR0b25zXG5cdGxpbmUtaGVpZ2h0OiAzLjVlbTtcblx0cGFkZGluZzogMDtcbn1cbi53aXphcmQtc3RlcC1udW1iZXItYWN0aXZlIHtcblx0Y29sb3I6ICNGRkY7XG5cdGJvcmRlci1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xufVxuLndpemFyZC1zdGVwLW51bWJlci12aXNpdGVkIHtcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5O1x0XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4ud2l6YXJkLXN0ZXAtdGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvZmlsZS1waG9uZSAud2l6YXJkIHtcblx0LnJvdzpiZWZvcmUge1xuXHRcdHRvcDogMjBweDtcblx0fVxuXHQud2l6YXJkLXN0ZXAtbnVtYmVyIHtcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDJlbTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2l6YXJkIFByb2dyZXNzXG5cbiAgIFN0eWxpbmcgZm9yIFdpemFyZCAoUHJvZ3Jlc3MgU3RlcHMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLndpemFyZC1wcm9ncmVzcyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmF5LXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgW2NsYXNzKj1jb2wtXTpmaXJzdC1jaGlsZCAud2l6YXJkLXByb2dyZXNzLXN0ZXAge1xuICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuLndpemFyZC1zdGVwcy1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktcHJpbWFyeTtcbn1cbi53aXphcmQtcHJvZ3Jlc3Mtc3RlcCB7XG5cdG1hcmdpbjogMCAwIDAgLTMwcHg7XG4gICAgcGFkZGluZzogNXB4IDIwcHggMTRweCAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xuIFxuXHQmOmFmdGVyLCBcblx0JjpiZWZvcmUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGxlZnQ6IDEwMCU7XG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblx0JjpiZWZvcmUge1xuXHQgICAgdG9wOiA1MCU7XG5cdCAgICBtYXJnaW4tdG9wOiAtMjVweDtcblx0ICAgIGJvcmRlci13aWR0aDogMjVweCAxNXB4O1xuXHQgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRncmF5LXByaW1hcnk7XG5cdH1cblx0JjphZnRlciB7XG5cdCAgICB0b3A6IDUwJTtcblx0ICAgIG1hcmdpbi10b3A6IC0yNHB4O1xuXHQgICAgYm9yZGVyLXdpZHRoOiAyNHB4IDE0cHg7XG5cdCAgICBib3JkZXItbGVmdC1jb2xvcjogJGdyYXktbGlnaHRlcjtcblx0fVxufVxuLndpemFyZC1wcm9ncmVzcy1zdGVwLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI7XG5cdH1cblx0LndpemFyZC1wcm9ncmVzcy1udW1iZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG59XG4ud2l6YXJkLXByb2dyZXNzLXN0ZXAtdmlzaXRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI7XG5cblx0JjphZnRlciB7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI7XG5cdH1cblx0LndpemFyZC1wcm9ncmVzcy1udW1iZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuXHR9XG5cdC53aXphcmQtcHJvZ3Jlc3MtdGl0bGUge1xuXHRcdGNvbG9yOiAkYnJhbmQtc3VjY2Vzcztcblx0fVxufVxuLndpemFyZC1wcm9ncmVzcy1udW1iZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMXB4IDdweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLndpemFyZC1wcm9ncmVzcy10aXRsZSB7XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbn1cbi53aXphcmQtc3RlcC1jb250ZW50IHtcblx0cGFkZGluZzogMTBweCAyMHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBQcm9maWxlIENhcmRcblxuICAgUHJvZmlsZSBjYXJkIHN0eWxlZCBmb3IgdGVtcGxhdGVncmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWNvbnRlbnR3cmFwcGVyIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWltZ3dyYXBwZXIge1xuXHRcdHdpZHRoOiAxNTBweDtcblx0fVxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWNvbnRlbnR3cmFwcGVyLFxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWltZ3dyYXBwZXIge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWJ0biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLWltZyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWgzO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQudGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLXN1YnRpdGxlIHtcblx0XHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGF5b3V0XG5cbiAgIERlZmF1bHQgTWVuZGl4IExheW91dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9maWxlLXBob25lIHtcblx0LnJlZ2lvbi10b3BiYXIge1xuXHRcdG1pbi1oZWlnaHQ6ICRtLWhlYWRlci1oZWlnaHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG0taGVhZGVyLWJnO1xuXHRcdGJvcmRlcjogMDtcblx0fVxufVxuIiwiLypcbiogTWVuZGl4IERvY3VtZW50YXRpb25cbiogU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgbW9iaWxlIGNvbXBvbmVudHNcbiovXG5cblxuLypcbiogTGlzdHZpZXdcbipcbiogRGVmYXVsdCBNZW5kaXggTGlzdHZpZXcgXG4qL1xuXG4ucHJvZmlsZS1waG9uZSxcbi5wcm9maWxlLXRhYmxldCB7XG5cdC5teC1saXN0dmlldyB7XG5cdFx0Lm14LWxpc3R2aWV3LXNlYXJjaGJhciB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0LyogUmVzZXQgU2VhcmNoIEJ1dHRvbiAqL1xuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0Ly9kaXNwbGF5OiBub25lO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0fVxuXHRcdFx0LyogU2VhcmNoIEZpZWxkICovXG5cdFx0XHQubXgtbGlzdHZpZXctc2VhcmNoLWlucHV0IHtcblx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6XHRub25lO1xuXHRcdFx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubXgtbGlzdCB7XG5cdFx0XHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGxhYmVsIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cdC8qIExpc3R2aWV3IExvYWQgTW9yZSBidXR0b24gKi9cblx0Lm14LWxpc3R2aWV3LWxvYWRNb3JlIHtcblx0XHRtYXJnaW46IDIwcHggYXV0bztcblx0XHR3aWR0aDogOTUlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4iLCIvKlxuKiBNZW5kaXggRG9jdW1lbnRhdGlvblxuKiBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBtb2JpbGUgY29tcG9uZW50c1xuKi9cblxuXG4vKlxuKiBMb2FkZXJcbipcbiogRGVmYXVsdCBNZW5kaXggTG9hZGVyXG4qL1xuXG4ucHJvZmlsZS1waG9uZSB7XG5cdC5teC1wcm9ncmVzcyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR0b3A6IDA7XG5cdFx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJveC1zaGFkb3c6XHRub25lO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdCAgICBiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH1cblx0XHQubW9kYWwtaGVhZGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5teC1kaWFsb2ctYm9keSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQubXgtcHJvZ3Jlc3MtbGlzdCB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdFx0Lm14LXByb2dyZXNzLWl0ZW0ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0LXdlYmtpdC1hbmltYXRpb246IGxvYWRlcjEwbSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXHRcdFx0YW5pbWF0aW9uOiBsb2FkZXIxMG0gMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMHB4O1xuXHRcdFx0XHRsZWZ0OiAtMjVweDtcblx0XHRcdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdFx0LXdlYmtpdC1hbmltYXRpb246IGxvYWRlcjEwZyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXHRcdFx0XHRhbmltYXRpb246IGxvYWRlcjEwZyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwcHg7XG5cdFx0XHRcdGxlZnQ6IDI1cHg7XG5cdFx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkZXIxMGQgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdFx0YW5pbWF0aW9uOiBsb2FkZXIxMGQgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlcjEwZyB7XG5cdDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MjUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxuXHQ1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ3NSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cbn1cbkBrZXlmcmFtZXMgbG9hZGVyMTBnIHtcblx0MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQyNSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG5cdDUwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDc1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyMTBtIHtcblx0MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQyNSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG5cdDc1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxufVxuQGtleWZyYW1lcyBsb2FkZXIxMG0ge1xuXHQwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDI1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDUwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7IH1cblx0NzUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXIxMGQge1xuXHQwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDI1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDUwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDc1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7IH1cblx0MTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG59XG5Aa2V5ZnJhbWVzIGxvYWRlcjEwZCB7XG5cdDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MjUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0NTAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0NzUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxuXHQxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cbn1cbiIsIi8qXG4qIE1lbmRpeCBEb2N1bWVudGF0aW9uXG4qIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIG1vYmlsZSBjb21wb25lbnRzXG4qL1xuXG5cbi8qXG4qIEhlYWRlclxuKlxuKiBEZWZhdWx0IE1lbmRpeCBIZWFkZXIgZm9yIE1vYmlsZSBcbiovXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAgXG5cdC5teC1oZWFkZXIgLm14LWhlYWRlci1yaWdodCB7IHJpZ2h0OiA2M3B4ICFpbXBvcnRhbnQ7IH1cbn1cblxuYm9keSAubXgtaGVhZGVyIHtcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiAkbS1oZWFkZXItaGVpZ2h0O1xuXHRjb2xvcjogJG0taGVhZGVyLWNvbG9yO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbS1oZWFkZXItYmc7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQubXgtaGVhZGVyLWNlbnRlciB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0Lm14LWhlYWRlci1sZWZ0LFxuXHQubXgtaGVhZGVyLXJpZ2h0IHtcdFxuXHRcdGRpc3BsYXk6IHRhYmxlO1x0XG5cdFx0d2lkdGg6IDI1JTtcblx0XHR0b3A6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdGhlaWdodDogJG0taGVhZGVyLWhlaWdodDtcblx0XHQubXgtcGxhY2Vob2xkZXIge1xuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0fVxufVxuXHQubXgtbGluayB7XG5cdFx0Y29sb3I6ICRtLWhlYWRlci1saW5rLWNvbG9yO1xuXHR9XG5cdC5teC1zaWRlYmFydG9nZ2xlIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bWFyZ2luLXRvcDogNHB4O1xuXHR9XG5cblx0Ly8gSGVhZGVyIFRpdGxlXG5cdC5teC10aXRsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbG9yOiAkbS1oZWFkZXItY29sb3I7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA0NHB4O1xuXHRcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cblx0LmJ0bi1pbWFnZS5nbHlwaGljb24ge1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcbiBcdH1cbn1cblxuYm9keVtkaXI9XCJsdHJcIl0gLm14LWhlYWRlci1sZWZ0LCBcbmJvZHlbZGlyPVwicnRsXCJdIC5teC1oZWFkZXItcmlnaHQge1xuXHRsZWZ0OiAwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuYm9keVtkaXI9XCJydGxcIl0gLm14LWhlYWRlci1sZWZ0LCBcbmJvZHlbZGlyPVwibHRyXCJdIC5teC1oZWFkZXItcmlnaHQge1xuXHRyaWdodDogMDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIvKlxuKiBNZW5kaXggRG9jdW1lbnRhdGlvblxuKiBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBtb2JpbGUgY29tcG9uZW50c1xuKi9cblxuXG4vKlxuKiBUYWJjb250YWluZXJcbipcbiogRGVmYXVsdCBNZW5kaXggVGFiY29udGFpbmVyIGZvciBNb2JpbGUgXG4qL1xuLyoucHJvZmlsZS1waG9uZSxcbi5wcm9maWxlLXRhYmxldCB7XG5cdC5teC10YWJjb250YWluZXItdGFicyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbS10YWJzLWJnO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxJTtcblx0XHRcdGEge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHRib3gtc2hhZG93Olx0bm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICRtLXRhYnMtY29sb3I7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzLFxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6Zmlyc3QtY2hpbGQgYSB7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIGEge1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlIGEge1xuXHRcdFx0XHRjb2xvcjogJG0tdGFicy1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdGJvcmRlci1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICBcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIFx0XHRcdFx0QGluY2x1ZGUgY3NzLWFycm93KGJvdHRvbSwgNXB4LCA1cHgsICNGRkYsICNGRkYsIDApO1xuXG4gIFx0XHRcdFx0JjphZnRlcixcbiAgXHRcdFx0XHQmOmJlZm9yZSB7XG4gIFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIFx0XHRcdFx0fVxuICBcdFx0XHRcdCY6YWZ0ZXIge1xuICBcdFx0XHRcdFx0dG9wOiA4MCU7XG4gIFx0XHRcdFx0fVxuICBcdFx0XHRcdCY6YmVmb3JlIHtcbiAgXHRcdFx0XHRcdHRvcDogNzUlO1xuICBcdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0qL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlZ2lvbnNcblxuICAgVXNlZCBmb3IgbmF2aWdhdGlvbiBsYXlvdXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJlZ2lvbi10b3BiYXIge1xuXHRtaW4taGVpZ2h0OiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2dG9wYmFyLWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZztcblx0PiAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQudG9nZ2xlLWJ0biB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbjogLTIwcHggMTVweCAwIDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0b3BiYXItbWluaW1hbGhlaWdodCAvIDIpO1xuXHR9XG5cdC5uYXZiYXItaGVhZGVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQvLyBTU08gd2lkZ2V0c1xuXHQubmF2YmFyLXJpZ2h0IHtcblx0XHRtaW4taGVpZ2h0OiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdC5teC1hcHBzd2l0Y2hlci1idXR0b24tcGxhY2Vob2xkZXIsXG5cdFx0Lm14LXByb2ZpbGVtZW51LWJ1dHRvbi1wbGFjZWhvbGRlciAge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdFx0XHR3aWR0aDogJHRvcGJhci1taW5pbWFsaGVpZ2h0O1xuXHRcdFx0aGVpZ2h0OiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0aWZyYW1lIHtcblx0XHRcdFx0d2lkdGg6IDQ4cHg7XG5cdFx0XHRcdGhlaWdodDogNDhweDtcblxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bWFyZ2luOiBhdXRvIGF1dG87XG5cdFx0XHR9XG5cdFx0XG5cdFx0fVxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbi5yZWdpb24tc2lkZWJhcixcbi5yZWdpb24tc2lkZWJhci1maXhlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnO1xuXHQ+IC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuLnJlZ2lvbi1jb250ZW50IHtcblx0cGFkZGluZzogMDsgLy8gZm9yIGlmIHJlZ2lvbi1jb250ZW50IGlzIG9uIGEgY29sIHNvIHlvdSBkb250IGdldCBzY29sbGJhclxuXHQ+IC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHQ+IC5teC1wbGFjZWhvbGRlcixcblx0PiAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIgLm14LXBsYWNlaG9sZGVyIHtcblx0XHRcblx0XHQvLyBGYWtlIG9yZ2luYWwgY29udGFpbmVyIHN0eWxpbmcgb24gdGhlIGZpcnN0IGNvbnRhaW5lciBvbiB0aGUgcGFnZVxuXHRcdC5teC1sYXlvdXRncmlkLWZpeGVkIHtcblx0XHRcdG1heC13aWR0aDogMTE3MHB4O1xuXHRcdFx0bWFyZ2luOiBhdXRvXG5cdFx0fVxuXHR9XG59XG4ucmVnaW9uLWZvb3RlciB7XG5cdD4gLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG5cbi5sYXlvdXQtc2lkZWJhci1yZXNwb25zaXZlIHtcblx0LnJlZ2lvbi1zaWRlYmFyLWZpeGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdEBleHRlbmQgLnJlZ2lvbi1zaWRlYmFyO1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdCAgcG9zaXRpb246IGZpeGVkO1xuXHRcdCAgei1pbmRleDogMTA7XG5cdFx0ICBkaXNwbGF5OiBibG9jaztcblx0XHQgIG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHQgIG92ZXJmbG93LXk6IGF1dG87XG5cdFx0ICBoZWlnaHQ6IDEwMCU7XG5cdFx0ICBwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxuXHQubXgtc2Nyb2xsY29udGFpbmVyLW9wZW4ge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdFx0bGVmdDogLTIwMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5ib2R5W2Rpcj1cInJ0bFwiXSAubGF5b3V0LXNpZGViYXItcmVzcG9uc2l2ZSAucmVnaW9uLXNpZGViYXItZml4ZWQge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0ICByaWdodDogMDtcblx0fVxufVxuYm9keVtkaXI9XCJsdHJcIl0gLmxheW91dC1zaWRlYmFyLXJlc3BvbnNpdmUgLnJlZ2lvbi1zaWRlYmFyLWZpeGVkIHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdCAgbGVmdDogMDtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2YmFyIEJyYW5kXG5cbiAgIEZvciB5b3VyIGNvbXBhbnksIHByb2R1Y3QsIG9yIHByb2plY3QgbmFtZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZiYXItYnJhbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWluLWhlaWdodDogJHRvcGJhci1taW5pbWFsaGVpZ2h0O1xuXHRmbG9hdDogbGVmdDtcblx0cGFkZGluZzogMDtcblx0bGluZS1oZWlnaHQ6ICR0b3BiYXItbWluaW1hbGhlaWdodDtcblxuXHRAaWYgJGJyYW5kLWxvZ28gIT0gZmFsc2Uge1xuXHRcdGltZyB7XG4gICAgXHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgXHR9XG4gICAgXHQmOmJlZm9yZSB7XG5cdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgd2lkdGg6ICRicmFuZC1sb2dvLXdpZHRoO1xuXHRcdCAgICBoZWlnaHQ6ICRicmFuZC1sb2dvLWhlaWdodDtcblx0XHQgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRicmFuZC1sb2dvKTtcbiAgICBcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIFx0XHRtYXJnaW4tdG9wOiAtNXB4O1xuICAgIFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBcdH1cblx0fSBAZWxzZSB7XG5cdFx0aW1nIHtcblx0XHRcdGhlaWdodDogJGJyYW5kLWxvZ28taGVpZ2h0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRjb2xvcjogJG5hdmJhci1icmFuZC1uYW1lO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZWdpb24gQ29udGVudFxuXG4gICBTcGVjaWZpYyBjb250ZW50IHN0eWxpbmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmVnaW9uLWNvbnRlbnQge1xuXHRcblx0PiAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdFxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVnaW9uIFNpZGViYXJcblxuICAgU3BlY2lmaWMgc2lkZWJhciBzdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJlZ2lvbi1zaWRlYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cdD4gLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVnaW9uIFRvcGJhclxuXG4gICBTcGVjaWZpYyB0b3BiYXIgc3R5bGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZsYXlvdXQtdG9wYmFyIHtcblx0LnJlZ2lvbi10b3BiYXIge1xuXHRcdC8qIFJlc2V0IExheW91dCBHcmlkIHNwYWNpbmcgKi9cblx0XHQuY29udGFpbmVyLWZsdWlkIHtcblx0XHRcdCBwYWRkaW5nOiAwIDIwcHg7XG5cdFx0fVxuXHRcdC5teC1uYXZiYXIge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdH1cblx0XHRcdHVsLm5hdiB7IFxuXHRcdFx0XHQ+IGxpLm14LW5hdmJhci1pdGVtID4gYSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAzMHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUMrQ0EsT0FBTyxDQUFDLHdEQUFJO0FDd0JSLE9BQU8sQ0FBQyx3REFBSTtBRHRCaEIsVUFBVTtFQUNSLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEdBQUcsRUFBRyxpQ0FBaUM7RUFDdkMsR0FBRyxFQUFHLHVDQUF1QyxDQUFDLDJCQUEyQixF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 */
