@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap);
h1,
.h1 {
  font-size: 2.04rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h1,
    .h1 {
      font-size: 1.92rem; } }
  @media (min-width: 900px) {
    h1,
    .h1 {
      font-size: 4.32rem; } }

h2,
.h2 {
  font-size: 2.32rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h2,
    .h2 {
      font-size: 1.92rem; } }
  @media (min-width: 900px) {
    h2,
    .h2 {
      font-size: 3.6rem; } }

h3,
.h3 {
  font-size: 1.32rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h3,
    .h3 {
      font-size: 1.4rem; } }
  @media (min-width: 900px) {
    h3,
    .h3 {
      font-size: 2rem; } }

h4,
.h4 {
  font-size: 1.32rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h4,
    .h4 {
      font-size: 0.96rem; } }
  @media (min-width: 900px) {
    h4,
    .h4 {
      font-size: 1.32rem; } }

h5,
.h5,
.block.timeline .timeline-title,
.block.timeline .title {
  font-size: 0.92rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h5,
    .h5,
    .block.timeline .timeline-title,
    .block.timeline .title {
      font-size: 0.64rem; } }
  @media (min-width: 900px) {
    h5,
    .h5,
    .block.timeline .timeline-title,
    .block.timeline .title {
      font-size: 1rem; } }

h6,
.h6 {
  font-size: 0.7rem;
  line-height: 1.2;
  font-family: "Inter";
  font-weight: 700;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 0; }
  @media (min-width: 600px) {
    h6,
    .h6 {
      font-size: 0.8rem; } }
  @media (min-width: 900px) {
    h6,
    .h6 {
      font-size: 0.9rem; } }

html,
.p {
  color: #000000;
  font-family: "Inter";
  font-weight: 400;
  line-height: 1.74;
  font-size: 18px;
  -webkit-font-smoothing: antialiased; }
  @media (min-width: 600px) {
    html,
    .p {
      font-size: 20px; } }
  @media (min-width: 900px) {
    html,
    .p {
      font-size: 22px; } }
  @media (min-width: 1200px) {
    html,
    .p {
      font-size: 25px; } }

p {
  margin-top: 0;
  margin-bottom: 20px; }
  p a {
    color: #D80000;
    text-decoration: underline; }

a {
  color: #000000;
  text-decoration-skip: auto;
  text-decoration: none;
  transition: all 300ms ease-in-out;
  outline-offset: 10px;
  outline: 3px solid rgba(0, 0, 0, 0); }
  a:hover {
    color: #ffffff;
    background-color: #000000; }
    a:hover.item .title:before {
      background: #ffffff; }
  a:focus {
    outline: 3px solid #000000;
    transition: none; }

hr {
  border-bottom: 3px solid #000000;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 1.5em 0; }

blockquote {
  position: relative;
  margin: 0;
  padding: 0;
  font-weight: bold; }
  blockquote > * {
    position: relative;
    z-index: 2; }
  blockquote:after {
    content: "";
    display: block;
    width: calc(100% + 2rem);
    height: calc(100% + 20px);
    position: absolute;
    top: -10px;
    left: -1rem;
    right: -1rem;
    bottom: -10px;
    z-index: 1;
    background-color: #f4c254; }

.block.basic-content.style-2 {
  overflow: hidden; }
  @media (min-width: 900px) {
    .block.basic-content.style-2 .col:only-child blockquote:after {
      width: calc(100% + 20% + 2.4rem);
      left: calc(-10% - 1.2rem);
      right: calc(-10% - 1.2rem); } }

.title .line {
  margin-bottom: 0;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .title .line {
      display: block; } }

.title .white {
  color: #ffffff; }

.title .yellow {
  color: #f4c254; }

.title .underline {
  text-shadow: 0.03em 0 rgba(255, 255, 255, 0), -0.03em 0 rgba(255, 255, 255, 0), 0 0.03em rgba(255, 255, 255, 0), 0 -0.03em rgba(255, 255, 255, 0), 0.06em 0 rgba(255, 255, 255, 0), -0.06em 0 rgba(255, 255, 255, 0), 0.09em 0 rgba(255, 255, 255, 0), -0.09em 0 rgba(255, 255, 255, 0), 0.12em 0 rgba(255, 255, 255, 0), -0.12em 0 rgba(255, 255, 255, 0), 0.15em 0 rgba(255, 255, 255, 0), -0.15em 0 rgba(255, 255, 255, 0);
  background-image: linear-gradient(90deg, #f4c254 50%, rgba(255, 255, 255, 0) 50%);
  background-size: 200% 10px;
  background-repeat: no-repeat;
  display: inline !important;
  padding-bottom: 3px;
  background-position: 0% 100%; }
  .ready .title .underline {
    background-position: 100% 100%;
    transition: background-position 0ms ease-in-out 0ms; }
  .animate .title .underline {
    background-position: 0% 100%;
    transition: background-position 800ms ease-in-out 400ms; }

.component.page-title {
  margin-bottom: 2rem; }
  .component.page-title .wrapper {
    max-width: 85%;
    padding: 0; }
  .component.page-title .title {
    font-size: 2.6rem;
    text-shadow: 0.03em 0 rgba(255, 255, 255, 0), -0.03em 0 rgba(255, 255, 255, 0), 0 0.03em rgba(255, 255, 255, 0), 0 -0.03em rgba(255, 255, 255, 0), 0.06em 0 rgba(255, 255, 255, 0), -0.06em 0 rgba(255, 255, 255, 0), 0.09em 0 rgba(255, 255, 255, 0), -0.09em 0 rgba(255, 255, 255, 0), 0.12em 0 rgba(255, 255, 255, 0), -0.12em 0 rgba(255, 255, 255, 0), 0.15em 0 rgba(255, 255, 255, 0), -0.15em 0 rgba(255, 255, 255, 0);
    background-image: linear-gradient(90deg, #f4c254 50%, rgba(255, 255, 255, 0) 50%);
    background-size: 200% 10px;
    background-repeat: no-repeat;
    display: inline !important;
    padding-bottom: 3px;
    background-position: 0% 100%; }
  .component.page-title.ready .title {
    background-position: 100% 100%;
    transition: background-position 0ms ease-in-out 0ms; }
  .component.page-title.animate .title {
    background-position: 0% 100%;
    transition: background-position 800ms ease-in-out 400ms; }

button,
a {
  cursor: pointer; }
  button.lg-icon:focus,
  a.lg-icon:focus {
    outline: 3px solid #ffffff !important; }

button:focus, [type='button']:focus, [type='reset']:focus, [type='submit']:focus {
  outline: 3px solid #000000;
  outline-offset: 10px; }

.block .bx--btn {
  min-height: auto; }

.block .buttons .btn {
  position: relative;
  display: inline-block;
  padding: 3px 46px 3px 0;
  font-family: "Inter", sans-serif;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  color: #000000;
  background-color: rgba(255, 255, 255, 0);
  border: none;
  border-radius: 0;
  transition: all 300ms ease-in-out;
  user-select: none;
  vertical-align: middle;
  appearance: none;
  box-sizing: content-box;
  cursor: pointer;
  background-image: url(images/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: 28px 15px;
  background-position: calc(100% - 10px) 50%; }
  @media (min-width: 600px) {
    .block .buttons .btn {
      font-size: 20px; } }
  @media (min-width: 900px) {
    .block .buttons .btn {
      font-size: 22px; } }
  @media (min-width: 1200px) {
    .block .buttons .btn {
      font-size: 25px; } }
  .block .buttons .btn.prev {
    padding: 3px 0 3px 46px;
    background-image: url(images/arrow-left.svg);
    background-position: 10px 50%; }
  .block .buttons .btn.prev, .block .buttons .btn.next {
    text-decoration: none; }
  .block .buttons .btn:hover {
    color: #ffffff;
    background-color: #000000;
    background-image: url(images/arrow-right-white.svg);
    background-position: 100% 50%; }
    .block .buttons .btn:hover.prev:hover {
      background-image: url(images/arrow-left-white.svg);
      background-position: 0 50%; }
  .block .buttons .btn:focus {
    outline: 3px solid #000000;
    outline-offset: 3px; }
  .block .buttons .btn:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .block .buttons .btn.lg-prev:focus, .block .buttons .btn.lg-next:focus {
    outline: 3px solid #ffffff; }

.block .buttons {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 5px;
  z-index: 1;
  margin-left: -1rem;
  margin-right: -1rem; }
  .block .buttons .btn {
    margin-left: 1rem;
    margin-right: 1rem; }

.block p + .buttons {
  padding-top: 0; }

.skip-nav {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 140px;
  text-align: center;
  font-size: 2em;
  text-decoration: none;
  text-transform: uppercase;
  color: #ffffff;
  background: #000000;
  opacity: 0;
  z-index: -999999; }
  .skip-nav:focus {
    opacity: 1;
    z-index: 999999;
    outline: none;
    outline-offset: 0; }

form,
body .gform_wrapper form {
  max-width: 800px;
  margin: 0;
  font-family: "Inter", sans-serif;
  color: #000000; }

fieldset {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  font-weight: 600;
  margin-bottom: 0.375em;
  padding: 0; }

label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.375em; }

input,
select,
textarea {
  display: block;
  font-size: 16px; }

[type='color'], [type='date'], [type='datetime'], [type='datetime-local'], [type='email'], [type='month'], [type='number'], [type='password'], [type='search'], [type='tel'], [type='text'], [type='time'], [type='url'], [type='week'], input:not([type]), textarea {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0.65em 0.8em 0.6em;
  color: inherit;
  background-color: inherit;
  border: 3px solid #000000;
  border-radius: 0px;
  box-shadow: none;
  box-sizing: border-box;
  appearance: none; }
  [type='color']:hover, [type='date']:hover, [type='datetime']:hover, [type='datetime-local']:hover, [type='email']:hover, [type='month']:hover, [type='number']:hover, [type='password']:hover, [type='search']:hover, [type='tel']:hover, [type='text']:hover, [type='time']:hover, [type='url']:hover, [type='week']:hover, input:not([type]):hover, textarea:hover {
    border-color: shade(#000000, 20%); }
  [type='color']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='email']:focus, [type='month']:focus, [type='number']:focus, [type='password']:focus, [type='search']:focus, [type='tel']:focus, [type='text']:focus, [type='time']:focus, [type='url']:focus, [type='week']:focus, input:not([type]):focus, textarea:focus {
    border-color: rgba(233, 10, 89, 0.6);
    outline: 3px solid #000000;
    outline-offset: 5px; }
  [type='color']:disabled, [type='date']:disabled, [type='datetime']:disabled, [type='datetime-local']:disabled, [type='email']:disabled, [type='month']:disabled, [type='number']:disabled, [type='password']:disabled, [type='search']:disabled, [type='tel']:disabled, [type='text']:disabled, [type='time']:disabled, [type='url']:disabled, [type='week']:disabled, input:not([type]):disabled, textarea:disabled {
    background-color: shade(#fff, 5%);
    cursor: not-allowed; }
    [type='color']:disabled:hover, [type='date']:disabled:hover, [type='datetime']:disabled:hover, [type='datetime-local']:disabled:hover, [type='email']:disabled:hover, [type='month']:disabled:hover, [type='number']:disabled:hover, [type='password']:disabled:hover, [type='search']:disabled:hover, [type='tel']:disabled:hover, [type='text']:disabled:hover, [type='time']:disabled:hover, [type='url']:disabled:hover, [type='week']:disabled:hover, input:not([type]):disabled:hover, textarea:disabled:hover {
      border: 3px solid #000000; }
  [type='color']::placeholder, [type='date']::placeholder, [type='datetime']::placeholder, [type='datetime-local']::placeholder, [type='email']::placeholder, [type='month']::placeholder, [type='number']::placeholder, [type='password']::placeholder, [type='search']::placeholder, [type='tel']::placeholder, [type='text']::placeholder, [type='time']::placeholder, [type='url']::placeholder, [type='week']::placeholder, input:not([type])::placeholder, textarea::placeholder {
    color: tint(#000000, 60%); }

[type="range"] {
  margin-bottom: 0.75em; }

textarea {
  resize: vertical; }

input[type="checkbox"],
input[type="radio"],
body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"],
body .gform_wrapper .gfield_radio .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0; }
  input[type="checkbox"] + label,
  input[type="radio"] + label,
  body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"] + label,
  body .gform_wrapper .gfield_radio .gchoice input[type="radio"] + label {
    margin: 0;
    font-size: 22px; }
    input[type="checkbox"] + label:before,
    input[type="radio"] + label:before,
    body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"] + label:before,
    body .gform_wrapper .gfield_radio .gchoice input[type="radio"] + label:before {
      content: "";
      width: 1rem;
      height: 1rem;
      border: 2px solid #000000;
      display: inline-block;
      margin-right: 0.6rem;
      transform: translateY(0.16rem); }
  input[type="checkbox"]:checked + label,
  input[type="radio"]:checked + label,
  body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"]:checked + label,
  body .gform_wrapper .gfield_radio .gchoice input[type="radio"]:checked + label {
    font-weight: 400; }
    input[type="checkbox"]:checked + label:before,
    input[type="radio"]:checked + label:before,
    body .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"]:checked + label:before,
    body .gform_wrapper .gfield_radio .gchoice input[type="radio"]:checked + label:before {
      background: #000000; }

input[type="radio"] + label:before,
body .gform_wrapper .gfield_radio .gchoice input[type="radio"] + label:before {
  border-radius: 50%; }

input[type="checkbox"]:focus,
input[type="radio"]:focus,
input[type="file"]:focus,
select:focus {
  border-color: #000000;
  box-shadow: none;
  outline: none; }

input[type="file"] {
  margin-bottom: 0.75em;
  width: 100%; }

/* Custom select styling */
select,
body .gform_wrapper.gf_browser_chrome select,
body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select,
body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select {
  color: #000000;
  -webkit-font-smoothing: antialiased;
  line-height: 1.3;
  padding: 0.65em calc(0.7em + 14px) 0.52em 0.7em;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 0.2rem;
  border: 1px solid #000000;
  box-shadow: none;
  border-radius: 0px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #ffffff;
  /* note: bg image below uses 2 urls. The first is an svg data uri for the arrow icon, and the second is the gradient. 
      for the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's a url. You can also swap in a different svg icon or an external image reference
    */
  background-image: url(images/down-arrow.svg), linear-gradient(to bottom, #ffffff 0%, #ffffff 100%);
  background-repeat: no-repeat, repeat;
  /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
  background-position: right 0.7em top 54%, 0 0;
  /* icon size, then gradient */
  background-size: 14px auto, 100%;
  /* Hide arrow icon in IE browsers */
  /* Set options to normal weight */
  /* Disabled styles */ }
  select::-ms-expand,
  body .gform_wrapper.gf_browser_chrome select::-ms-expand,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select::-ms-expand,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select::-ms-expand {
    display: none; }
  select option,
  body .gform_wrapper.gf_browser_chrome select option,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select option,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select option {
    font-weight: normal; }
  select:disabled, select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome select:disabled,
  body .gform_wrapper.gf_browser_chrome select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select:disabled,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select:disabled,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select[aria-disabled="true"] {
    color: graytext;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ddd 0%, #ddd 100%); }
  select:disabled:hover, select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome select:disabled:hover,
  body .gform_wrapper.gf_browser_chrome select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select:disabled:hover,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield div.ginput_complex span.ginput_right select[aria-disabled="true"],
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select:disabled:hover,
  body .gform_wrapper.gf_browser_chrome .gform_fields .gfield select[aria-disabled="true"] {
    border-color: #aaa; }

body .gform_wrapper.gf_browser_chrome select {
  padding: 2px 32px 2px 10px; }

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir="rtl"] select,
:root:lang(ar) select,
:root:lang(iw) select {
  background-position: left 0.7em top 50%, 0 0;
  padding: 0.6em 0.8em 0.5em 1.4em; }

.ui-datepicker {
  background-color: white; }
  .ui-datepicker .ui-datepicker-title {
    display: flex;
    justify-content: space-between; }
  .ui-datepicker .ui-datepicker-calendar {
    background-color: white; }

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

form input[type="submit"] {
  position: relative;
  display: inline-block;
  margin-bottom: 0;
  padding: 3px 46px 3px 8px;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  color: #000000;
  background-color: rgba(255, 255, 255, 0);
  border: none;
  transition: all 300ms ease-in-out;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  appearance: none;
  box-sizing: content-box;
  cursor: pointer;
  background-image: url(images/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: 28px 15px;
  background-position: 90% 50%; }
  form input[type="submit"]:hover {
    color: #ffffff;
    background-color: #000000;
    background-image: url(images/arrow-right-white.svg);
    background-position: 100% 50%; }
  form input[type="submit"]:focus {
    outline: 3px solid #000000;
    outline-offset: 3px; }
  form input[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: 0.5; }

body .gform_wrapper {
  text-align: left; }
  body .gform_wrapper .ginput_complex.ginput_container span:only-of-type {
    width: 100%;
    margin-right: 0;
    padding-right: 0; }
  body .gform_wrapper span.gform_description {
    width: 100%; }
  body .gform_wrapper .gform_fields .gfield,
  body .gform_wrapper .gfield.gf_right_half,
  body .gform_wrapper .top_label .gfield.gf_right_half {
    padding-right: 0; }
  body .gform_wrapper .description,
  body .gform_wrapper .gfield_description,
  body .gform_wrapper .gsection_description,
  body .gform_wrapper .instruction {
    font-style: italic; }
  body .gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label,
  body .gform_wrapper .field_sublabel_above div[class*="gfield_date_"].ginput_container label,
  body .gform_wrapper .field_sublabel_above div[class*="gfield_time_"].ginput_container label,
  body .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
  body .gform_wrapper .field_sublabel_below div[class*="gfield_date_"].ginput_container label,
  body .gform_wrapper .field_sublabel_below div[class*="gfield_time_"].ginput_container label {
    font-weight: 400; }
  body .gform_wrapper.gravity-theme .gfield_label {
    font-size: inherit;
    line-height: 1.3; }
  body .gform_wrapper .ginput_complex .ginput_left input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="file"]),
  body .gform_wrapper .ginput_complex .ginput_right input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="file"]),
  body .gform_wrapper .ginput_complex input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="file"]) {
    margin-bottom: 0.2rem; }
  body .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
    margin-bottom: 1rem; }
  body .gform_wrapper img.gform_ajax_spinner {
    display: none !important; }
  body .gform_wrapper .gform_footer {
    padding-top: 15px; }
  body .gform_wrapper .top_label div.ginput_container,
  body .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_1,
  body .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_2,
  body .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_3 {
    margin-top: 0;
    width: 100%; }
  body .gform_wrapper .gfield_required {
    color: #D80000; }
    body .gform_wrapper .gfield_required.gfield_required_asterisk {
      font-size: 25px; }
  body .gform_wrapper .field_description_below .gfield_description {
    padding-top: 6px; }
  body .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
    width: 100%;
    padding: 0.65em 0.8em 0.6em;
    font-size: inherit; }
  body .gform_wrapper .gform_footer input.button,
  body .gform_wrapper .gform_page_footer input.button,
  body .gform_wrapper .gform_footer input[type="submit"],
  body .gform_wrapper .gform_page_footer input[type="submit"] {
    font-size: 24px; }
  body .gform_wrapper .gfield_checkbox .gchoice label,
  body .gform_wrapper .gfield_radio .gchoice label {
    font-weight: 400; }
  body .gform_wrapper div.validation_error {
    color: #D80000;
    font-size: 1em;
    font-weight: 400;
    margin-bottom: 0;
    border-top: 3px solid #D80000;
    border-bottom: 3px solid #D80000;
    padding: 16px 0 16px 0;
    clear: both;
    width: 100%;
    text-align: center; }
  body .gform_wrapper .validation_message {
    color: #D80000;
    font-weight: 400;
    font-style: italic;
    letter-spacing: normal; }
  body .gform_wrapper .gfield_error .gfield_label {
    color: #D80000; }
  body .gform_wrapper .gfield.gfield_error,
  body .gform_wrapper .gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    border: none;
    background: none; }
  body .gform_wrapper .gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
  body .gform_wrapper .gfield_error textarea {
    border: 3px solid #D80000; }
  body .gform_wrapper.gform_validation_error {
    padding-top: 20px; }
  @media only screen and (min-width: 641px) {
    body .gform_wrapper.gform_validation_error .gform_body .gform_fields .gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
      max-width: 100% !important; } }

html {
  background-color: #ffffff;
  box-sizing: border-box; }
  html::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0px;
    height: 50px;
    background-color: #000000;
    z-index: -1; }

.block {
  margin: 0 auto 75px; }
  .block:last-of-type.hero.style-2 {
    margin-bottom: 0; }
  @media (min-width: 900px) {
    .block {
      margin: 0 auto 200px; } }

*,
*::before,
*::after {
  box-sizing: inherit; }
  *:focus,
  *::before:focus,
  *::after:focus {
    transition: none; }

html,
body {
  height: 100%; }

body {
  margin: 0;
  background-color: #ffffff; }
  body.front-end {
    padding-top: 200px; }

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%; }
  .page-wrapper main {
    flex: 1; }

.wrapper,
.wp-block-group__inner-container {
  max-width: 1800px;
  margin: auto;
  padding: 0 2rem; }
  @media (min-width: 900px) {
    .wrapper,
    .wp-block-group__inner-container {
      padding: 0 1.2rem; } }
  @media (max-width: 599px) {
    .wrapper,
    .wp-block-group__inner-container {
      max-width: 100%; } }

.wp-block-group__inner-container .wrapper {
  padding-left: 0;
  padding-right: 0; }

.visually-hidden,
.visually-hide-label,
.visually-hide-text {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.align-left,
.text-align-left {
  text-align: left; }

.text-align-center,
.align-center {
  text-align: center; }

.align-right,
.text-align-right {
  text-align: right; }

.content-left .row {
  flex-direction: row-reverse; }

.content-right .row {
  flex-direction: row; }

.content-center .row {
  text-align: center; }
  .content-center .row .buttons {
    justify-content: center; }

.stop-it {
  display: none !important; }

.front-end .wp-block-group {
  overflow: hidden; }

@media (min-width: 600px) {
  .wp-block-column {
    flex-wrap: nowrap; } }

ul,
ol {
  margin: 0;
  padding: 0 0 0 17px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    padding: 0 0 0 17px; }

dl {
  margin: 0; }

dt {
  font-weight: 600;
  margin: 0; }

dd {
  margin: 0; }

.logo-site {
  display: block;
  width: 100%;
  max-width: 9.8rem;
  transition: all 300ms ease-in-out; }
  .logo-site.white {
    fill: #ffffff; }

.white-svg {
  fill: #ffffff; }

.logo-small {
  display: block;
  width: 100%;
  max-width: 5.8rem; }

figure {
  margin: 0; }

img,
picture {
  margin: 0;
  max-width: 100%;
  height: auto; }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }
  .embed-container iframe,
  .embed-container object,
  .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.block.video .wrapper {
  max-width: 85%; }

table {
  min-width: 500px;
  margin: 0 auto;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left; }

thead {
  line-height: 1.2;
  vertical-align: bottom; }

tbody {
  vertical-align: top; }

th,
td {
  font-weight: 600;
  border-left: 10px solid #ffffff;
  border-right: 10px solid #ffffff; }

th {
  padding: 0.75em;
  background-color: #f4c254; }

tr:first-child td {
  padding-top: 0.8em; }

td {
  position: relative;
  padding: 0.4em 0.75em; }
  td:after {
    content: "";
    display: block;
    width: calc(100% - (0.75em * 2));
    height: 1px;
    background-color: #000000;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }

td.amount {
  text-align: right; }

tr:last-child td:after,
td.amount:after {
  content: none; }

.fieldset.filters {
  margin-bottom: 2.4rem; }
  .fieldset.filters .facet-wrap {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    width: calc((1 / 3 * 100%) - 2.8rem);
    min-width: 300px;
    margin-bottom: 0.6rem;
    padding: 0.4rem 0; }
  .fieldset.filters .facet-label {
    margin: 0 1rem 0 0;
    font-weight: normal;
    white-space: nowrap; }
  .fieldset.filters .title {
    text-decoration: underline; }
  .fieldset.filters input[type="text"] {
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    font-family: "Inter";
    font-size: 0.9rem;
    line-height: 1.5; }
  .fieldset.filters .facetwp-facet {
    margin-bottom: 0;
    font-size: 0.9rem;
    line-height: 1.5; }
  .fieldset.filters .facetwp-type-date_range.facetwp-facet-end_date {
    margin-left: 10px; }
  .fieldset.filters .facetwp-type-date_range:after {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #000000; }
  .fieldset.filters .facetwp-type-dropdown select:focus {
    outline: 3px solid #000000;
    outline-offset: 10px; }
  .fieldset.filters .facetwp-type-dropdown .fs-dropdown {
    position: relative;
    width: auto; }
  .fieldset.filters .facetwp-type-dropdown .fs-wrap {
    display: block; }
  .fieldset.filters .facetwp-type-dropdown .fs-label-wrap {
    width: auto;
    border: none; }
  .fieldset.filters .facetwp-type-dropdown:after {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #000000; }
  .fieldset.filters .facetwp-checkbox,
  .fieldset.filters .facetwp-radio {
    margin: 0;
    padding: 0;
    background: none;
    text-indent: -9999px; }
    .fieldset.filters .facetwp-checkbox:before,
    .fieldset.filters .facetwp-radio:before {
      content: "";
      width: 1rem;
      height: 1rem;
      margin-right: 0.6rem;
      border: 2px solid #000000;
      border-radius: 50%;
      float: left; }
      @media (max-width: 599px) {
        .fieldset.filters .facetwp-checkbox:before,
        .fieldset.filters .facetwp-radio:before {
          transform: translateY(-0.16rem); } }
    .fieldset.filters .facetwp-checkbox.checked,
    .fieldset.filters .facetwp-radio.checked {
      font-weight: 400; }
      .fieldset.filters .facetwp-checkbox.checked:before,
      .fieldset.filters .facetwp-radio.checked:before {
        background: #000000; }
    .fieldset.filters .facetwp-checkbox[data-value="0"],
    .fieldset.filters .facetwp-radio[data-value="0"] {
      display: none; }
    .fieldset.filters .facetwp-checkbox#text,
    .fieldset.filters .facetwp-radio#text {
      display: none; }
    .fieldset.filters .facetwp-checkbox .facetwp-counter,
    .fieldset.filters .facetwp-radio .facetwp-counter {
      display: none; }

.page-id-1717 .fieldset.filters .facet-wrap:first-of-type {
  flex-direction: row;
  justify-content: flex-start; }

.fieldset.search-bar .facet-label {
  margin: 0 0 0.6rem;
  font-weight: normal;
  white-space: nowrap; }

.fieldset.search-bar .facetwp-type-search .facetwp-input-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap; }

.fieldset.search-bar .facetwp-type-search .facetwp-icon {
  right: auto;
  left: 0;
  height: 44px;
  padding-left: 0.4rem; }

.fieldset.search-bar .facetwp-type-search input.facetwp-search {
  margin-bottom: 0.6rem;
  padding-left: 1.8rem;
  box-shadow: none; }

.fieldset.search-bar .facetwp-type-search button {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: auto;
  height: auto;
  padding: 0;
  font-size: 25px;
  line-height: 1.74;
  background: rgba(255, 255, 255, 0);
  border: none;
  color: #000000;
  transform: translate(0);
  text-transform: none;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
  position: relative;
  display: inline-block;
  padding: 3px 46px 3px 0;
  font-family: "Inter", sans-serif;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: underline;
  color: #000000;
  background-color: rgba(255, 255, 255, 0);
  border: none;
  border-radius: 0;
  transition: all 300ms ease-in-out;
  user-select: none;
  vertical-align: middle;
  appearance: none;
  box-sizing: content-box;
  cursor: pointer;
  background-image: url(images/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: 28px 15px;
  background-position: calc(100% - 10px) 50%; }
  .fieldset.search-bar .facetwp-type-search button:before, .fieldset.search-bar .facetwp-type-search button:after {
    content: none; }
  @media (min-width: 600px) {
    .fieldset.search-bar .facetwp-type-search button {
      font-size: 20px; } }
  @media (min-width: 900px) {
    .fieldset.search-bar .facetwp-type-search button {
      font-size: 22px; } }
  @media (min-width: 1200px) {
    .fieldset.search-bar .facetwp-type-search button {
      font-size: 25px; } }
  .fieldset.search-bar .facetwp-type-search button.prev {
    padding: 3px 0 3px 46px;
    background-image: url(images/arrow-left.svg);
    background-position: 10px 50%; }
  .fieldset.search-bar .facetwp-type-search button.prev, .fieldset.search-bar .facetwp-type-search button.next {
    text-decoration: none; }
  .fieldset.search-bar .facetwp-type-search button:hover {
    color: #ffffff;
    background-color: #000000;
    background-image: url(images/arrow-right-white.svg);
    background-position: 100% 50%; }
    .fieldset.search-bar .facetwp-type-search button:hover.prev:hover {
      background-image: url(images/arrow-left-white.svg);
      background-position: 0 50%; }
  .fieldset.search-bar .facetwp-type-search button:focus {
    outline: 3px solid #000000;
    outline-offset: 3px; }
  .fieldset.search-bar .facetwp-type-search button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .fieldset.search-bar .facetwp-type-search button.lg-prev:focus, .fieldset.search-bar .facetwp-type-search button.lg-next:focus {
    outline: 3px solid #ffffff; }

.fieldset.search-bar .facetwp-type-search button:last-of-type {
  margin-right: 6px; }

.fieldset.search-bar .facetwp-type-search .facetwp-search-submit {
  margin-left: auto;
  margin-right: 1rem; }

.load-more-btn {
  margin-bottom: 1rem;
  text-align: center; }
  .load-more-btn .facet-label {
    display: none; }
  .load-more-btn button {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 25px;
    line-height: 1.74;
    background: rgba(255, 255, 255, 0);
    border: none;
    color: #000000;
    transform: translate(0);
    text-transform: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    position: relative;
    display: inline-block;
    padding: 3px 46px 3px 0;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    color: #000000;
    background-color: rgba(255, 255, 255, 0);
    border: none;
    border-radius: 0;
    transition: all 300ms ease-in-out;
    user-select: none;
    vertical-align: middle;
    appearance: none;
    box-sizing: content-box;
    cursor: pointer;
    background-image: url(images/arrow-right.svg);
    background-repeat: no-repeat;
    background-size: 28px 15px;
    background-position: calc(100% - 10px) 50%; }
    .load-more-btn button:before, .load-more-btn button:after {
      content: none; }
    @media (min-width: 600px) {
      .load-more-btn button {
        font-size: 20px; } }
    @media (min-width: 900px) {
      .load-more-btn button {
        font-size: 22px; } }
    @media (min-width: 1200px) {
      .load-more-btn button {
        font-size: 25px; } }
    .load-more-btn button.prev {
      padding: 3px 0 3px 46px;
      background-image: url(images/arrow-left.svg);
      background-position: 10px 50%; }
    .load-more-btn button.prev, .load-more-btn button.next {
      text-decoration: none; }
    .load-more-btn button:hover {
      color: #ffffff;
      background-color: #000000;
      background-image: url(images/arrow-right-white.svg);
      background-position: 100% 50%; }
      .load-more-btn button:hover.prev:hover {
        background-image: url(images/arrow-left-white.svg);
        background-position: 0 50%; }
    .load-more-btn button:focus {
      outline: 3px solid #000000;
      outline-offset: 3px; }
    .load-more-btn button:disabled {
      cursor: not-allowed;
      opacity: 0.5; }
    .load-more-btn button.lg-prev:focus, .load-more-btn button.lg-next:focus {
      outline: 3px solid #ffffff; }
    .load-more-btn button:not(.prev):before {
      width: calc(100% - 33px); }
    .load-more-btn button:not(.prev):after {
      background-image: url(images/arrow-down.svg);
      width: 15px;
      height: 28px;
      transform: translateY(8px); }
    .load-more-btn button:hover:not(.prev):after {
      transform: translateY(15px); }

.carbon-app button {
  min-width: 0 !important; }
  .carbon-app button:hover {
    border: none !important; }
  .carbon-app button:focus {
    background-color: #0062ff !important;
    color: #ffffff !important;
    border: none !important; }

.carbon-app .bx--btn--primary:hover, .carbon-app .bx--btn--primary:focus,
.carbon-app .bx--btn--secondary:hover,
.carbon-app .bx--btn--secondary:focus {
  border: 3px solid transparent !important; }

.carbon-app .bx--data-table th:last-of-type {
  width: 300px; }

.carbon-app .bx--data-table .cell-address a {
  color: #e90a59; }

.carbon-app .bx--file__drop-container {
  border: 1px dashed #000;
  padding: 15px; }

.carbon-app .bx--combo-box.bx--list-box:hover {
  background-color: #ffffff; }

.carbon-app .bx--combo-box.bx--list-box .bx--list-box__field:hover {
  border: 0; }

.carbon-app .bx--pagination__left {
  min-width: 320px; }

.carbon-app .bx--pagination__right {
  min-width: 238px; }

table.bx--data-table {
  margin-top: 0;
  margin-bottom: 0; }
  table.bx--data-table tbody th,
  table.bx--data-table td {
    padding: 0.875rem 0.75rem;
    padding-bottom: 0.8125rem; }

.bx--table-sort {
  min-width: 0; }

.bx--pagination .bx--select-input {
  margin-bottom: 0; }

.bx--pagination__button {
  min-width: 0; }

.bx--tooltip__trigger:not(.bx--btn--icon-only) {
  min-width: 0; }

.bx--overflow-menu.bx--toolbar-action {
  min-width: 0; }

.cv-combo-box.bx--list-box__wrapper {
  margin-bottom: 30px; }

@keyframes skeleton {
  0% {
    width: 0%;
    left: 0;
    right: auto;
    opacity: 0.3; }
  20% {
    width: 100%;
    left: 0;
    right: auto;
    opacity: 1; }
  28% {
    width: 100%;
    left: auto;
    right: 0; }
  51% {
    width: 0%;
    left: auto;
    right: 0; }
  58% {
    width: 0%;
    left: auto;
    right: 0; }
  82% {
    width: 100%;
    left: auto;
    right: 0; }
  83% {
    width: 100%;
    left: 0;
    right: auto; }
  96% {
    width: 0%;
    left: 0;
    right: auto; }
  100% {
    width: 0%;
    left: 0;
    right: auto;
    opacity: 0.3; } }

.bx--text-truncate--end {
  width: 100%;
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.bx--text-truncate--front {
  width: 100%;
  display: inline-block;
  direction: rtl;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.bx--assistive-text,
.bx--visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000;
  background-color: #ffffff;
  line-height: 1; }
  .bx--body *,
  .bx--body *:before,
  .bx--body *:after {
    box-sizing: inherit; }

.bx--grid {
  margin-right: auto;
  margin-left: auto;
  max-width: 99rem;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 42rem) {
    .bx--grid {
      padding-left: 2rem;
      padding-right: 2rem; } }
  @media (min-width: 99rem) {
    .bx--grid {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }

@media (min-width: 99rem) {
  .bx--grid--full-width {
    max-width: 100%; } }

.bx--row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -1rem;
  margin-left: -1rem; }

.bx--grid--condensed .bx--row:not(:last-of-type) {
  margin-bottom: 0.125rem; }

.bx--row--condensed + .bx--row--condensed {
  margin-top: 0.125rem; }

.bx--col {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col,
  .bx--grid--condensed .bx--col {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-sm-1 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-sm-1,
  .bx--grid--condensed .bx--col-sm-1 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-sm-2 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-sm-2,
  .bx--grid--condensed .bx--col-sm-2 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-sm-3 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-sm-3,
  .bx--grid--condensed .bx--col-sm-3 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-sm-4 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-sm-4,
  .bx--grid--condensed .bx--col-sm-4 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-sm,
.bx--col-sm--auto {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-sm,
  .bx--grid--condensed .bx--col-sm, .bx--row--condensed
  .bx--col-sm--auto,
  .bx--grid--condensed
  .bx--col-sm--auto {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col,
.bx--col-sm {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.bx--col--auto,
.bx--col-sm--auto {
  flex: 1 0 0%;
  width: auto;
  max-width: 100%; }

.bx--col-sm-1 {
  flex: 0 0 25%;
  max-width: 25%; }

.bx--col-sm-2 {
  flex: 0 0 50%;
  max-width: 50%; }

.bx--col-sm-3 {
  flex: 0 0 75%;
  max-width: 75%; }

.bx--col-sm-4 {
  flex: 0 0 100%;
  max-width: 100%; }

.bx--offset-sm-0 {
  margin-left: 0; }

.bx--offset-sm-1 {
  margin-left: 25%; }

.bx--offset-sm-2 {
  margin-left: 50%; }

.bx--offset-sm-3 {
  margin-left: 75%; }

.bx--col-md-1 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-1,
  .bx--grid--condensed .bx--col-md-1 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-2 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-2,
  .bx--grid--condensed .bx--col-md-2 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-3 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-3,
  .bx--grid--condensed .bx--col-md-3 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-4 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-4,
  .bx--grid--condensed .bx--col-md-4 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-5 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-5,
  .bx--grid--condensed .bx--col-md-5 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-6 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-6,
  .bx--grid--condensed .bx--col-md-6 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-7 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-7,
  .bx--grid--condensed .bx--col-md-7 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md-8 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md-8,
  .bx--grid--condensed .bx--col-md-8 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-md,
.bx--col-md--auto {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-md,
  .bx--grid--condensed .bx--col-md, .bx--row--condensed
  .bx--col-md--auto,
  .bx--grid--condensed
  .bx--col-md--auto {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

@media (min-width: 42rem) {
  .bx--col,
  .bx--col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bx--col--auto,
  .bx--col-md--auto {
    flex: 1 0 0%;
    width: auto;
    max-width: 100%; }
  .bx--col-md-1 {
    flex: 0 0 12.5%;
    max-width: 12.5%; }
  .bx--col-md-2 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bx--col-md-3 {
    flex: 0 0 37.5%;
    max-width: 37.5%; }
  .bx--col-md-4 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bx--col-md-5 {
    flex: 0 0 62.5%;
    max-width: 62.5%; }
  .bx--col-md-6 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bx--col-md-7 {
    flex: 0 0 87.5%;
    max-width: 87.5%; }
  .bx--col-md-8 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bx--offset-md-0 {
    margin-left: 0; }
  .bx--offset-md-1 {
    margin-left: 12.5%; }
  .bx--offset-md-2 {
    margin-left: 25%; }
  .bx--offset-md-3 {
    margin-left: 37.5%; }
  .bx--offset-md-4 {
    margin-left: 50%; }
  .bx--offset-md-5 {
    margin-left: 62.5%; }
  .bx--offset-md-6 {
    margin-left: 75%; }
  .bx--offset-md-7 {
    margin-left: 87.5%; } }

.bx--col-lg-1 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-1,
  .bx--grid--condensed .bx--col-lg-1 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-2 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-2,
  .bx--grid--condensed .bx--col-lg-2 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-3 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-3,
  .bx--grid--condensed .bx--col-lg-3 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-4 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-4,
  .bx--grid--condensed .bx--col-lg-4 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-5 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-5,
  .bx--grid--condensed .bx--col-lg-5 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-6 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-6,
  .bx--grid--condensed .bx--col-lg-6 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-7 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-7,
  .bx--grid--condensed .bx--col-lg-7 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-8 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-8,
  .bx--grid--condensed .bx--col-lg-8 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-9 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-9,
  .bx--grid--condensed .bx--col-lg-9 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-10 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-10,
  .bx--grid--condensed .bx--col-lg-10 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-11 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-11,
  .bx--grid--condensed .bx--col-lg-11 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg-12 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg-12,
  .bx--grid--condensed .bx--col-lg-12 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-lg,
.bx--col-lg--auto {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-lg,
  .bx--grid--condensed .bx--col-lg, .bx--row--condensed
  .bx--col-lg--auto,
  .bx--grid--condensed
  .bx--col-lg--auto {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

@media (min-width: 66rem) {
  .bx--col,
  .bx--col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bx--col--auto,
  .bx--col-lg--auto {
    flex: 1 0 0%;
    width: auto;
    max-width: 100%; }
  .bx--col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bx--col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bx--col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bx--col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bx--col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bx--col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bx--col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bx--col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bx--col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bx--col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bx--col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bx--col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bx--offset-lg-0 {
    margin-left: 0; }
  .bx--offset-lg-1 {
    margin-left: 8.33333%; }
  .bx--offset-lg-2 {
    margin-left: 16.66667%; }
  .bx--offset-lg-3 {
    margin-left: 25%; }
  .bx--offset-lg-4 {
    margin-left: 33.33333%; }
  .bx--offset-lg-5 {
    margin-left: 41.66667%; }
  .bx--offset-lg-6 {
    margin-left: 50%; }
  .bx--offset-lg-7 {
    margin-left: 58.33333%; }
  .bx--offset-lg-8 {
    margin-left: 66.66667%; }
  .bx--offset-lg-9 {
    margin-left: 75%; }
  .bx--offset-lg-10 {
    margin-left: 83.33333%; }
  .bx--offset-lg-11 {
    margin-left: 91.66667%; } }

.bx--col-xlg-1 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-1,
  .bx--grid--condensed .bx--col-xlg-1 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-2 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-2,
  .bx--grid--condensed .bx--col-xlg-2 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-3 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-3,
  .bx--grid--condensed .bx--col-xlg-3 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-4 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-4,
  .bx--grid--condensed .bx--col-xlg-4 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-5 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-5,
  .bx--grid--condensed .bx--col-xlg-5 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-6 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-6,
  .bx--grid--condensed .bx--col-xlg-6 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-7 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-7,
  .bx--grid--condensed .bx--col-xlg-7 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-8 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-8,
  .bx--grid--condensed .bx--col-xlg-8 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-9 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-9,
  .bx--grid--condensed .bx--col-xlg-9 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-10 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-10,
  .bx--grid--condensed .bx--col-xlg-10 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-11 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-11,
  .bx--grid--condensed .bx--col-xlg-11 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg-12 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg-12,
  .bx--grid--condensed .bx--col-xlg-12 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-xlg,
.bx--col-xlg--auto {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-xlg,
  .bx--grid--condensed .bx--col-xlg, .bx--row--condensed
  .bx--col-xlg--auto,
  .bx--grid--condensed
  .bx--col-xlg--auto {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

@media (min-width: 82rem) {
  .bx--col,
  .bx--col-xlg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bx--col--auto,
  .bx--col-xlg--auto {
    flex: 1 0 0%;
    width: auto;
    max-width: 100%; }
  .bx--col-xlg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bx--col-xlg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bx--col-xlg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bx--col-xlg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bx--col-xlg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bx--col-xlg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bx--col-xlg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bx--col-xlg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bx--col-xlg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bx--col-xlg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bx--col-xlg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bx--col-xlg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bx--offset-xlg-0 {
    margin-left: 0; }
  .bx--offset-xlg-1 {
    margin-left: 8.33333%; }
  .bx--offset-xlg-2 {
    margin-left: 16.66667%; }
  .bx--offset-xlg-3 {
    margin-left: 25%; }
  .bx--offset-xlg-4 {
    margin-left: 33.33333%; }
  .bx--offset-xlg-5 {
    margin-left: 41.66667%; }
  .bx--offset-xlg-6 {
    margin-left: 50%; }
  .bx--offset-xlg-7 {
    margin-left: 58.33333%; }
  .bx--offset-xlg-8 {
    margin-left: 66.66667%; }
  .bx--offset-xlg-9 {
    margin-left: 75%; }
  .bx--offset-xlg-10 {
    margin-left: 83.33333%; }
  .bx--offset-xlg-11 {
    margin-left: 91.66667%; } }

.bx--col-max-1 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-1,
  .bx--grid--condensed .bx--col-max-1 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-2 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-2,
  .bx--grid--condensed .bx--col-max-2 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-3 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-3,
  .bx--grid--condensed .bx--col-max-3 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-4 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-4,
  .bx--grid--condensed .bx--col-max-4 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-5 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-5,
  .bx--grid--condensed .bx--col-max-5 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-6 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-6,
  .bx--grid--condensed .bx--col-max-6 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-7 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-7,
  .bx--grid--condensed .bx--col-max-7 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-8 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-8,
  .bx--grid--condensed .bx--col-max-8 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-9 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-9,
  .bx--grid--condensed .bx--col-max-9 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-10 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-10,
  .bx--grid--condensed .bx--col-max-10 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-11 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-11,
  .bx--grid--condensed .bx--col-max-11 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max-12 {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max-12,
  .bx--grid--condensed .bx--col-max-12 {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

.bx--col-max,
.bx--col-max--auto {
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem; }
  .bx--row--condensed .bx--col-max,
  .bx--grid--condensed .bx--col-max, .bx--row--condensed
  .bx--col-max--auto,
  .bx--grid--condensed
  .bx--col-max--auto {
    padding-right: 0.0625rem;
    padding-left: 0.0625rem; }

@media (min-width: 99rem) {
  .bx--col,
  .bx--col-max {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bx--col--auto,
  .bx--col-max--auto {
    flex: 1 0 0%;
    width: auto;
    max-width: 100%; }
  .bx--col-max-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bx--col-max-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bx--col-max-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bx--col-max-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bx--col-max-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bx--col-max-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bx--col-max-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bx--col-max-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bx--col-max-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bx--col-max-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bx--col-max-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bx--col-max-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bx--offset-max-0 {
    margin-left: 0; }
  .bx--offset-max-1 {
    margin-left: 8.33333%; }
  .bx--offset-max-2 {
    margin-left: 16.66667%; }
  .bx--offset-max-3 {
    margin-left: 25%; }
  .bx--offset-max-4 {
    margin-left: 33.33333%; }
  .bx--offset-max-5 {
    margin-left: 41.66667%; }
  .bx--offset-max-6 {
    margin-left: 50%; }
  .bx--offset-max-7 {
    margin-left: 58.33333%; }
  .bx--offset-max-8 {
    margin-left: 66.66667%; }
  .bx--offset-max-9 {
    margin-left: 75%; }
  .bx--offset-max-10 {
    margin-left: 83.33333%; }
  .bx--offset-max-11 {
    margin-left: 91.66667%; } }

.bx--no-gutter,
.bx--row.bx--no-gutter [class*='bx--col'] {
  padding-left: 0;
  padding-right: 0; }

.bx--no-gutter--left,
.bx--row.bx--no-gutter--left [class*='bx--col'] {
  padding-left: 0; }

.bx--no-gutter--right,
.bx--row.bx--no-gutter--right [class*='bx--col'] {
  padding-right: 0; }

.bx--hang--left {
  padding-left: 1rem; }

.bx--hang--right {
  padding-right: 1rem; }

.bx--aspect-ratio {
  height: 0;
  position: relative; }

.bx--aspect-ratio--object {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100; }

.bx--aspect-ratio--16x9 {
  padding-bottom: 56.25%; }

.bx--aspect-ratio--2x1 {
  padding-bottom: 50%; }

.bx--aspect-ratio--4x3 {
  padding-bottom: 75%; }

.bx--aspect-ratio--1x1 {
  padding-bottom: 100%; }

.bx--aspect-ratio--1x2 {
  padding-bottom: 200%; }

.bx--btn-set {
  display: flex; }

.bx--btn-set > .bx--btn {
  width: 100%; }

.bx--btn--secondary.bx--btn--disabled + .bx--btn--primary.bx--btn--disabled,
.bx--btn--tertiary.bx--btn--disabled + .bx--btn--danger.bx--btn--disabled {
  border-left: 0.04rem solid #8c8c8c; }

.bx--btn {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  vertical-align: top;
  flex-shrink: 0;
  min-height: 1.92rem;
  padding: calc(0.875rem - 3px) 60px calc(0.875rem - 3px) 12px;
  border-radius: 0;
  text-align: left;
  text-decoration: none;
  transition: all 70ms cubic-bezier(0, 0, 0.38, 0.9);
  outline: 1px solid transparent;
  outline-offset: -4px;
  position: relative;
  max-width: 12.8rem; }
  .bx--btn *,
  .bx--btn *:before,
  .bx--btn *:after {
    box-sizing: inherit; }
  .bx--btn:disabled, .bx--btn.bx--btn--disabled {
    cursor: not-allowed;
    color: #8c8c8c;
    background: #bebebe;
    border-color: #bebebe; }
  .bx--btn .bx--btn__icon {
    position: absolute;
    right: 0.64rem;
    flex-shrink: 0;
    width: 0.64rem;
    height: 0.64rem; }
  .bx--btn.bx--btn--disabled > svg.bx--btn__icon,
  .bx--btn:disabled > svg.bx--btn__icon {
    fill: #8c8c8c; }

.bx--btn::-moz-focus-inner {
  padding: 0;
  border: 0; }

.bx--btn--primary {
  background-color: #0062ff;
  border-width: 3px;
  border-style: solid;
  border-color: transparent;
  color: #ffffff; }
  .bx--btn--primary:hover {
    background-color: #0353e9; }
  .bx--btn--primary:focus {
    border-color: #0062ff;
    outline-color: #f3f3f3; }
  .bx--btn--primary:disabled:hover, .bx--btn--primary:disabled:focus, .bx--btn--primary:hover.bx--btn--disabled, .bx--btn--primary:focus.bx--btn--disabled {
    color: #8c8c8c;
    background-color: #bebebe;
    border-color: #bebebe;
    text-decoration: none;
    outline-color: #bebebe; }
  .bx--btn--primary:active {
    background-color: #0530ad; }
  .bx--btn--primary .bx--btn__icon,
  .bx--btn--primary .bx--btn__icon path {
    fill: currentColor; }
  .bx--btn--primary:hover {
    color: #ffffff; }

.bx--btn--secondary {
  background-color: #3d3d3d;
  border-width: 3px;
  border-style: solid;
  border-color: transparent;
  color: #ffffff; }
  .bx--btn--secondary:hover {
    background-color: #4c4c4c; }
  .bx--btn--secondary:focus {
    border-color: #0062ff;
    outline-color: #f3f3f3; }
  .bx--btn--secondary:disabled:hover, .bx--btn--secondary:disabled:focus, .bx--btn--secondary:hover.bx--btn--disabled, .bx--btn--secondary:focus.bx--btn--disabled {
    color: #8c8c8c;
    background-color: #bebebe;
    border-color: #bebebe;
    text-decoration: none;
    outline-color: #bebebe; }
  .bx--btn--secondary:active {
    background-color: #6f6f6f; }
  .bx--btn--secondary .bx--btn__icon,
  .bx--btn--secondary .bx--btn__icon path {
    fill: currentColor; }
  .bx--btn--secondary:hover, .bx--btn--secondary:focus {
    color: #ffffff; }

.bx--btn--tertiary {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #0062ff;
  color: #0062ff; }
  .bx--btn--tertiary:hover {
    background-color: #0353e9; }
  .bx--btn--tertiary:focus {
    border-color: #0062ff;
    outline-color: #f3f3f3; }
  .bx--btn--tertiary:disabled:hover, .bx--btn--tertiary:disabled:focus, .bx--btn--tertiary:hover.bx--btn--disabled, .bx--btn--tertiary:focus.bx--btn--disabled {
    color: #8c8c8c;
    background-color: #bebebe;
    border-color: #bebebe;
    text-decoration: none;
    outline-color: #bebebe; }
  .bx--btn--tertiary:active {
    background-color: #0530ad; }
  .bx--btn--tertiary .bx--btn__icon,
  .bx--btn--tertiary .bx--btn__icon path {
    fill: currentColor; }
  .bx--btn--tertiary:hover {
    color: #ffffff; }
  .bx--btn--tertiary:focus {
    color: #ffffff;
    background-color: #0062ff; }
  .bx--btn--tertiary:active {
    background-color: #0530ad; }
  .bx--btn--tertiary:disabled, .bx--btn--tertiary:hover:disabled, .bx--btn--tertiary:focus:disabled, .bx--btn--tertiary.bx--btn--disabled, .bx--btn--tertiary.bx--btn--disabled:hover, .bx--btn--tertiary.bx--btn--disabled:focus {
    background: transparent;
    color: #bebebe; }
    .bx--btn--tertiary:disabled > .bx--btn__icon path, .bx--btn--tertiary:hover:disabled > .bx--btn__icon path, .bx--btn--tertiary:focus:disabled > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled:hover > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled:focus > .bx--btn__icon path {
      fill: #bebebe; }
  .bx--btn--tertiary:hover > .bx--btn__icon path {
    fill: #ffffff; }

.bx--btn--ghost {
  background-color: transparent;
  border-width: 3px;
  border-style: solid;
  border-color: transparent;
  color: #0062ff;
  padding: calc(0.875rem - 3px) 12px; }
  .bx--btn--ghost:hover {
    background-color: #e5e5e5; }
  .bx--btn--ghost:focus {
    border-color: #0062ff;
    outline-color: #f3f3f3; }
  .bx--btn--ghost:disabled:hover, .bx--btn--ghost:disabled:focus, .bx--btn--ghost:hover.bx--btn--disabled, .bx--btn--ghost:focus.bx--btn--disabled {
    color: #8c8c8c;
    background-color: #bebebe;
    border-color: #bebebe;
    text-decoration: none;
    outline-color: #bebebe; }
  .bx--btn--ghost:active {
    background-color: #bebebe; }
  .bx--btn--ghost .bx--btn__icon,
  .bx--btn--ghost .bx--btn__icon path {
    fill: currentColor; }
  .bx--btn--ghost .bx--btn__icon {
    position: static;
    margin-left: 0.5rem; }
  .bx--btn--ghost:hover, .bx--btn--ghost:active {
    color: #054ada; }
    .bx--btn--ghost:hover .bx--btn__icon path, .bx--btn--ghost:active .bx--btn__icon path {
      fill: #054ada; }
  .bx--btn--ghost:active {
    background-color: #bebebe; }
  .bx--btn--ghost:disabled, .bx--btn--ghost:hover:disabled, .bx--btn--ghost:focus:disabled, .bx--btn--ghost.bx--btn--disabled, .bx--btn--ghost.bx--btn--disabled:hover, .bx--btn--ghost.bx--btn--disabled:focus {
    color: #bebebe;
    background: transparent;
    border-color: transparent; }
    .bx--btn--ghost:disabled .bx--btn__icon path, .bx--btn--ghost:hover:disabled .bx--btn__icon path, .bx--btn--ghost:focus:disabled .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled:hover .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled:focus .bx--btn__icon path {
      fill: #bebebe; }
  .bx--btn--ghost.bx--btn--sm {
    padding: calc(0.375rem - 3px) 1rem; }
  .bx--btn--ghost.bx--btn--field {
    padding: calc(0.675rem - 3px) 12px; }

.bx--btn.bx--btn--icon-only.bx--tooltip__trigger {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible;
  outline: 1px solid transparent;
  outline-offset: -4px; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger *,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger *:before,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger *:after {
    box-sizing: inherit; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus {
    outline: 1px solid transparent; }
    .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus svg {
      outline: 1px solid #0062ff; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger + .bx--assistive-text {
        display: inline-block; } }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger.bx--tooltip--a11y::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger.bx--tooltip--a11y::after {
    transition: none; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text,
      .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger::after {
    content: attr(aria-label); }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger.bx--tooltip--a11y::after {
    content: none; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover::after, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover + .bx--assistive-text, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:hover.bx--tooltip--a11y::before, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus .bx--assistive-text,
  .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus + .bx--assistive-text, .bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus {
  border-color: #0062ff;
  outline-color: #f3f3f3; }

.bx--btn.bx--btn--icon-only.bx--tooltip__trigger:focus svg {
  outline-color: transparent; }

.bx--btn--icon-only--top {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--btn--icon-only--top *,
  .bx--btn--icon-only--top *:before,
  .bx--btn--icon-only--top *:after {
    box-sizing: inherit; }
  .bx--btn--icon-only--top:focus {
    outline: 1px solid transparent; }
    .bx--btn--icon-only--top:focus svg {
      outline: 1px solid #0062ff; }
  .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after,
  .bx--btn--icon-only--top .bx--assistive-text,
  .bx--btn--icon-only--top + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after,
      .bx--btn--icon-only--top .bx--assistive-text,
      .bx--btn--icon-only--top + .bx--assistive-text {
        display: inline-block; } }
  .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--btn--icon-only--top.bx--tooltip--a11y::before, .bx--btn--icon-only--top.bx--tooltip--a11y::after {
    transition: none; }
  .bx--btn--icon-only--top::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--btn--icon-only--top .bx--assistive-text,
  .bx--btn--icon-only--top + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--btn--icon-only--top::after,
  .bx--btn--icon-only--top:hover .bx--assistive-text,
  .bx--btn--icon-only--top:focus .bx--assistive-text,
  .bx--btn--icon-only--top:hover + .bx--assistive-text,
  .bx--btn--icon-only--top:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--btn--icon-only--top::after,
      .bx--btn--icon-only--top:hover .bx--assistive-text,
      .bx--btn--icon-only--top:focus .bx--assistive-text,
      .bx--btn--icon-only--top:hover + .bx--assistive-text,
      .bx--btn--icon-only--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--btn--icon-only--top::after,
      .bx--btn--icon-only--top:hover .bx--assistive-text,
      .bx--btn--icon-only--top:focus .bx--assistive-text,
      .bx--btn--icon-only--top:hover + .bx--assistive-text,
      .bx--btn--icon-only--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--btn--icon-only--top::after,
      .bx--btn--icon-only--top:hover .bx--assistive-text,
      .bx--btn--icon-only--top:focus .bx--assistive-text,
      .bx--btn--icon-only--top:hover + .bx--assistive-text,
      .bx--btn--icon-only--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--btn--icon-only--top::after {
    content: attr(aria-label); }
  .bx--btn--icon-only--top.bx--tooltip--a11y::after {
    content: none; }
  .bx--btn--icon-only--top:hover::before, .bx--btn--icon-only--top:hover::after, .bx--btn--icon-only--top:focus::before, .bx--btn--icon-only--top:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--btn--icon-only--top:hover .bx--assistive-text,
  .bx--btn--icon-only--top:hover + .bx--assistive-text, .bx--btn--icon-only--top:focus .bx--assistive-text,
  .bx--btn--icon-only--top:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--btn--icon-only--top:hover .bx--assistive-text,
  .bx--btn--icon-only--top:hover + .bx--assistive-text, .bx--btn--icon-only--top:hover.bx--tooltip--a11y::before, .bx--btn--icon-only--top:focus .bx--assistive-text,
  .bx--btn--icon-only--top:focus + .bx--assistive-text, .bx--btn--icon-only--top:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after,
  .bx--btn--icon-only--top:hover .bx--assistive-text,
  .bx--btn--icon-only--top:focus .bx--assistive-text,
  .bx--btn--icon-only--top:hover + .bx--assistive-text,
  .bx--btn--icon-only--top:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--btn--icon-only--top::before {
    top: -0.32rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--btn--icon-only--top::after,
  .bx--btn--icon-only--top:hover .bx--assistive-text,
  .bx--btn--icon-only--top:focus .bx--assistive-text,
  .bx--btn--icon-only--top:hover + .bx--assistive-text,
  .bx--btn--icon-only--top:focus + .bx--assistive-text {
    top: -0.52rem;
    left: 50%;
    transform: translate(-50%, -100%); }

.bx--btn--icon-only--bottom::before, .bx--btn--icon-only--bottom::after,
.bx--btn--icon-only--bottom:hover .bx--assistive-text,
.bx--btn--icon-only--bottom:focus .bx--assistive-text,
.bx--btn--icon-only--bottom:hover + .bx--assistive-text,
.bx--btn--icon-only--bottom:focus + .bx--assistive-text {
  bottom: 0;
  left: 50%; }

.bx--btn--icon-only--bottom::before {
  bottom: -0.32rem;
  border-width: 0 0.16rem 0.2rem 0.16rem;
  border-color: transparent transparent #3d3d3d transparent;
  transform: translate(-50%, 100%); }

.bx--btn--icon-only--bottom::after,
.bx--btn--icon-only--bottom:hover .bx--assistive-text,
.bx--btn--icon-only--bottom:focus .bx--assistive-text,
.bx--btn--icon-only--bottom:hover + .bx--assistive-text,
.bx--btn--icon-only--bottom:focus + .bx--assistive-text {
  bottom: -0.52rem;
  transform: translate(-50%, 100%); }

.bx--btn--icon-only,
.bx--btn--sm.bx--btn--icon-only,
.bx--btn--field.bx--btn--icon-only {
  padding-right: 0.52rem; }
  .bx--btn--icon-only .bx--btn__icon,
  .bx--btn--sm.bx--btn--icon-only .bx--btn__icon,
  .bx--btn--field.bx--btn--icon-only .bx--btn__icon {
    position: static; }
  .bx--btn--icon-only.bx--btn--ghost .bx--btn__icon,
  .bx--btn--sm.bx--btn--icon-only.bx--btn--ghost .bx--btn__icon,
  .bx--btn--field.bx--btn--icon-only.bx--btn--ghost .bx--btn__icon {
    margin: 0; }

.bx--btn--danger {
  background-color: #dc222b;
  border-width: 3px;
  border-style: solid;
  border-color: #dc222b;
  color: #ffffff; }
  .bx--btn--danger:hover {
    background-color: #ba1b23; }
  .bx--btn--danger:focus {
    border-color: #0062ff;
    outline-color: #f3f3f3; }
  .bx--btn--danger:disabled:hover, .bx--btn--danger:disabled:focus, .bx--btn--danger:hover.bx--btn--disabled, .bx--btn--danger:focus.bx--btn--disabled {
    color: #8c8c8c;
    background-color: #bebebe;
    border-color: #bebebe;
    text-decoration: none;
    outline-color: #bebebe; }
  .bx--btn--danger:active {
    background-color: #750e13; }
  .bx--btn--danger .bx--btn__icon,
  .bx--btn--danger .bx--btn__icon path {
    fill: #ffffff; }
  .bx--btn--danger:hover {
    color: #ffffff;
    border: 3px solid transparent; }

.bx--btn--sm {
  min-height: 1.28rem;
  padding: calc(0.375rem - 3px) 60px calc(0.375rem - 3px) 12px; }

.bx--btn--field {
  height: 40px;
  min-height: 40px;
  padding: calc(0.675rem - 3px) 60px calc(0.675rem - 3px) 12px; }

.bx--btn.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 6rem; }
  .bx--btn.bx--skeleton:hover, .bx--btn.bx--skeleton:focus, .bx--btn.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--btn.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--btn.bx--skeleton:before {
        animation: none; } }

.bx--btn--copy {
  position: relative;
  overflow: visible; }
  .bx--btn--copy .bx--btn__icon {
    margin-left: 0.2rem; }

.bx--btn--copy__feedback {
  position: absolute;
  display: none;
  top: 1.2rem;
  left: 50%; }
  .bx--btn--copy__feedback:focus {
    border: 2px solid red; }
  .bx--btn--copy__feedback:before {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1rem;
    letter-spacing: 0.32px;
    top: 1.1rem;
    padding: 0.25rem;
    color: #ffffff;
    content: attr(data-feedback);
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
    border-radius: 4px;
    font-weight: 400;
    z-index: 2; }
  .bx--btn--copy__feedback:after {
    top: 0.85rem;
    width: 0.6rem;
    height: 0.6rem;
    left: -0.3rem;
    border-right: 1px solid #3d3d3d;
    border-bottom: 1px solid #3d3d3d;
    content: '';
    transform: rotate(-135deg);
    z-index: 1; }
  .bx--btn--copy__feedback:before, .bx--btn--copy__feedback:after {
    position: absolute;
    display: block;
    background: #3d3d3d; }
  .bx--btn--copy__feedback--displayed {
    display: inline-flex; }

.bx--fieldset {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  margin-bottom: 2rem; }
  .bx--fieldset *,
  .bx--fieldset *:before,
  .bx--fieldset *:after {
    box-sizing: inherit; }

.bx--form-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start; }

.bx--label {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  color: #565656;
  font-weight: 400;
  display: inline-block;
  vertical-align: baseline;
  margin-bottom: 0.5rem;
  line-height: 0.64rem; }
  .bx--label *,
  .bx--label *:before,
  .bx--label *:after {
    box-sizing: inherit; }

.bx--label .bx--tooltip__trigger {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px; }

.bx--label.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 3rem;
  height: 0.56rem; }
  .bx--label.bx--skeleton:hover, .bx--label.bx--skeleton:focus, .bx--label.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--label.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--label.bx--skeleton:before {
        animation: none; } }

input[type='number'] {
  font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace; }

input[data-invalid],
.bx--text-input__field-wrapper[data-invalid],
.bx--text-area__wrapper[data-invalid] > .bx--text-area--invalid,
.bx--select-input__wrapper[data-invalid],
.bx--list-box[data-invalid],
.bx--combo-box[data-invalid] .bx--text-input {
  outline: 2px solid #da1e28;
  outline-offset: -2px; }

input[data-invalid] ~ .bx--form-requirement,
.bx--text-input__field-wrapper[data-invalid] ~ .bx--form-requirement,
.bx--text-area__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--select-input__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--time-picker[data-invalid] ~ .bx--form-requirement,
.bx--list-box[data-invalid] ~ .bx--form-requirement {
  max-height: 8rem;
  display: block;
  color: #da1e28; }

input:not(output):not([data-invalid]):-moz-ui-invalid {
  box-shadow: none; }

.bx--form-requirement {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  margin: 0.25rem 0 0;
  max-height: 0;
  overflow: hidden;
  line-height: 1.5;
  display: none; }
  .bx--form-requirement *,
  .bx--form-requirement *:before,
  .bx--form-requirement *:after {
    box-sizing: inherit; }

.bx--label + .bx--form__helper-text {
  margin-top: -0.24rem; }

.bx--form__helper-text {
  font-size: 0.75rem;
  font-style: italic;
  line-height: 1rem;
  letter-spacing: 0.32px;
  font-style: italic;
  color: #565656;
  z-index: 0;
  opacity: 1;
  margin-bottom: 0.5rem;
  max-width: 75%; }

.bx--label--disabled,
.bx--form__helper-text--disabled {
  color: #bebebe; }

@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p1 {
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p2 {
  100% {
    transform: rotate(-360deg); } }

/* Stroke animations */
@keyframes init-stroke {
  0% {
    stroke-dashoffset: 240; }
  100% {
    stroke-dashoffset: 40; } }

@keyframes stroke-end {
  0% {
    stroke-dashoffset: 40; }
  100% {
    stroke-dashoffset: 240; } }

.bx--loading {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  animation-name: rotate;
  animation-duration: 690ms;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  width: 10.5rem;
  height: 10.5rem; }
  .bx--loading *,
  .bx--loading *:before,
  .bx--loading *:after {
    box-sizing: inherit; }
  .bx--loading svg circle {
    animation-name: init-stroke;
    animation-duration: 10ms;
    animation-timing-function: cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--loading__svg {
  fill: transparent; }

.bx--loading__svg circle {
  stroke-width: 8;
  stroke-linecap: butt;
  stroke-dasharray: 240; }

.bx--loading__stroke {
  stroke: #0062ff;
  stroke-dashoffset: 40; }

.bx--loading--stop {
  animation: rotate-end-p1 700ms cubic-bezier(0.2, 0, 1, 0.9) forwards, rotate-end-p2 700ms cubic-bezier(0.2, 0, 1, 0.9) 700ms forwards; }
  .bx--loading--stop svg circle {
    animation-name: stroke-end;
    animation-duration: 700ms;
    animation-timing-function: cubic-bezier(0.2, 0, 1, 0.9);
    animation-delay: 700ms;
    animation-fill-mode: forwards; }

.bx--loading--small {
  width: 2rem;
  height: 2rem; }
  .bx--loading--small circle {
    stroke-width: 12; }

.bx--loading--small .bx--loading__svg {
  stroke: #0062ff; }

.bx--loading__background {
  stroke: #dcdcdc;
  stroke-dashoffset: 0; }

.bx--loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(243, 243, 243, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 720ms cubic-bezier(0.4, 0.14, 0.3, 1);
  z-index: 8000; }

.bx--loading-overlay--stop {
  display: none; }

.bx--file {
  width: 100%; }

.bx--file--invalid {
  margin-right: 0.5rem;
  fill: #da1e28; }

.bx--file--label {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000;
  margin-bottom: 0.5rem; }
  .bx--file--label *,
  .bx--file--label *:before,
  .bx--file--label *:after {
    box-sizing: inherit; }

.bx--file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--file-btn {
  display: inline-flex;
  margin: 0;
  padding-right: 2.56rem; }

.bx--label-description {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #565656;
  margin-bottom: 1rem; }
  .bx--label-description *,
  .bx--label-description *:before,
  .bx--label-description *:after {
    box-sizing: inherit; }

.bx--file-container {
  display: block;
  width: 100%;
  margin-top: 1.5rem; }

.bx--file__selected-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 1.6rem;
  max-width: 12rem;
  margin-bottom: 0.5rem;
  padding: 0 0.5rem 0 1rem;
  background-color: #ffffff;
  overflow: hidden; }
  .bx--file__selected-file:last-child {
    margin-bottom: 0; }
  .bx--file__selected-file .bx--inline-loading__animation,
  .bx--file__selected-file .bx--loading {
    right: -0.25rem;
    width: 1.5rem;
    height: 1.5rem; }

.bx--file__selected-file--invalid {
  outline: 2px solid #da1e28;
  outline-offset: -2px;
  margin-bottom: 0.25rem; }

.bx--file__selected-file--invalid + .bx--form-requirement {
  display: block;
  max-height: 8rem;
  color: #da1e28;
  font-weight: 400;
  margin: 0 0 0.5rem 0;
  overflow: visible; }

.bx--file-filename {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: block;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 300px;
  display: inline-block;
  align-items: center;
  color: #000000;
  margin-right: 1rem;
  padding: 1px 0;
  /*rtl:ignore*/
  direction: ltr;
  justify-content: flex-start;
  /*rtl:{flex-end}*/ }

.bx--file__state-container {
  display: flex;
  align-items: center; }
  .bx--file__state-container .bx--loading__svg {
    stroke: #000000; }

.bx--file__state-container .bx--file-complete {
  fill: #24a148;
  cursor: pointer; }
  .bx--file__state-container .bx--file-complete:focus {
    outline: 1px solid #0062ff; }

.bx--file__state-container .bx--file-close {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0; }

.bx--form-item.bx--checkbox-wrapper {
  margin-bottom: 0.32rem; }

.bx--form-item.bx--checkbox-wrapper:first-of-type {
  margin-top: 0.12rem; }

.bx--label + .bx--form-item.bx--checkbox-wrapper {
  margin-top: 0; }

.bx--form-item.bx--checkbox-wrapper:last-of-type {
  margin-bottom: 0.12rem; }

.bx--checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--checkbox-label {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  line-height: 1.5rem;
  position: relative;
  display: flex;
  cursor: pointer;
  padding-left: 1.04rem;
  min-height: 0.96rem;
  user-select: none; }
  .bx--checkbox-label *,
  .bx--checkbox-label *:before,
  .bx--checkbox-label *:after {
    box-sizing: inherit; }

.bx--checkbox-label::before {
  box-sizing: border-box;
  content: '';
  width: 0.64rem;
  height: 0.64rem;
  margin: 0.08rem;
  position: absolute;
  left: 0;
  top: 0.08rem;
  background-color: transparent;
  border: 1px solid #000000;
  border-radius: 1px; }

.bx--checkbox-label::after {
  content: '';
  position: absolute;
  left: 0.24rem;
  top: 0.32rem;
  width: 0.28rem;
  height: 0.12rem;
  background: none;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: scale(0) rotate(-45deg);
  transform-origin: bottom right;
  margin-top: -0.12rem; }

.bx--checkbox:checked + .bx--checkbox-label::before,
.bx--checkbox:indeterminate + .bx--checkbox-label::before,
.bx--checkbox-label[data-contained-checkbox-state='true']::before,
.bx--checkbox-label[data-contained-checkbox-state='mixed']::before {
  background-color: #000000;
  border-color: #000000;
  border-width: 1px; }

.bx--checkbox:checked + .bx--checkbox-label::after,
.bx--checkbox-label[data-contained-checkbox-state='true']::after {
  transform: scale(1) rotate(-45deg); }

.bx--checkbox:indeterminate + .bx--checkbox-label::after,
.bx--checkbox-label[data-contained-checkbox-state='mixed']::after {
  transform: scale(1) rotate(0deg);
  border-left: 0 solid #ffffff;
  border-bottom: 2px solid #ffffff;
  width: 0.32rem;
  top: 0.44rem; }

.bx--checkbox:focus + .bx--checkbox-label::before,
.bx--checkbox-label__focus::before,
.bx--checkbox:checked:focus + .bx--checkbox-label::before,
.bx--checkbox-label[data-contained-checkbox-state='true'].bx--checkbox-label__focus::before,
.bx--checkbox:indeterminate:focus + .bx--checkbox-label::before,
.bx--checkbox-label[data-contained-checkbox-state='mixed'].bx--checkbox-label__focus::before {
  border-color: #0062ff;
  border-width: 3px;
  width: 0.8rem;
  height: 0.8rem;
  left: -2px;
  top: 0; }

[disabled] ~ _ {
  font-size: inherit; }

.bx--checkbox:disabled + .bx--checkbox-label,
.bx--checkbox-label[data-contained-checkbox-disabled='true'] {
  cursor: not-allowed;
  color: #bebebe; }

.bx--checkbox:disabled + .bx--checkbox-label::before,
.bx--checkbox-label[data-contained-checkbox-disabled='true']::before {
  border-color: #bebebe; }

.bx--checkbox:checked:disabled + .bx--checkbox-label::before,
.bx--checkbox:indeterminate:disabled + .bx--checkbox-label::before,
.bx--checkbox-label[data-contained-checkbox-state='true'][data-contained-checkbox-disabled='true']::before,
.bx--checkbox-label[data-contained-checkbox-state='mixed'][data-contained-checkbox-disabled='true']::before {
  background-color: #bebebe; }

.bx--list-box__wrapper--inline {
  display: inline-grid;
  align-items: center;
  grid-template: auto auto / auto auto;
  grid-gap: 0.16rem; }
  .bx--list-box__wrapper--inline .bx--label {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px; }
  .bx--list-box__wrapper--inline .bx--label,
  .bx--list-box__wrapper--inline .bx--form__helper-text,
  .bx--list-box__wrapper--inline .bx--form-requirement {
    margin: 0; }
  .bx--list-box__wrapper--inline .bx--form__helper-text {
    max-width: none; }
  .bx--list-box__wrapper--inline .bx--form-requirement {
    grid-column: 2; }

.bx--list-box {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  width: 100%;
  height: 1.6rem;
  max-height: 1.6rem;
  background-color: #ffffff;
  border: none;
  border-bottom: 1px solid #8c8c8c;
  cursor: pointer;
  color: #000000;
  transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--list-box *,
  .bx--list-box *:before,
  .bx--list-box *:after {
    box-sizing: inherit; }
  .bx--list-box:hover {
    background-color: #e5e5e5; }

.bx--list-box--expanded {
  border-bottom-color: #dcdcdc; }

.bx--list-box--expanded:hover {
  background-color: #ffffff; }

.bx--list-box--expanded:hover.bx--list-box--light:hover {
  background-color: #f3f3f3; }

.bx--list-box .bx--text-input {
  height: 100%; }

.bx--list-box__invalid-icon {
  position: absolute;
  top: 0.75rem;
  right: 2.5rem;
  fill: #da1e28; }

.bx--list-box--inline .bx--list-box__invalid-icon {
  top: 0.5rem; }

.bx--list-box[data-invalid] .bx--list-box__field {
  border-bottom: 0;
  padding-right: 4rem; }

.bx--list-box[data-invalid].bx--list-box--inline .bx--list-box__field {
  padding-right: 3.5rem; }

.bx--list-box--light {
  background-color: #f3f3f3; }

.bx--list-box--light.bx--list-box--expanded {
  border-bottom-width: 0; }

.bx--list-box--disabled:hover {
  background-color: #ffffff; }

.bx--list-box--light.bx--list-box--disabled {
  background-color: #f3f3f3; }

.bx--list-box--disabled,
.bx--list-box--disabled .bx--list-box__field,
.bx--list-box--disabled .bx--list-box__field:focus {
  border-bottom-width: 0;
  outline: none; }

.bx--list-box--disabled .bx--list-box__label,
.bx--list-box--disabled.bx--list-box--inline .bx--list-box__label {
  color: #bebebe; }

.bx--list-box--disabled .bx--list-box__menu-icon > svg {
  fill: #bebebe; }

.bx--list-box--disabled,
.bx--list-box--disabled .bx--list-box__field,
.bx--list-box--disabled .bx--list-box__menu-icon {
  cursor: not-allowed; }

.bx--list-box--disabled .bx--list-box__menu-item,
.bx--list-box--disabled .bx--list-box__menu-item:hover,
.bx--list-box--disabled .bx--list-box__menu-item--highlighted {
  color: #bebebe;
  text-decoration: none; }

.bx--list-box--disabled .bx--list-box__selection:hover {
  cursor: not-allowed; }

.bx--list-box--disabled.bx--list-box[data-invalid] .bx--list-box__field {
  padding-right: 3rem; }

.bx--list-box--disabled.bx--list-box[data-invalid].bx--list-box--inline .bx--list-box__field {
  padding-right: 2rem; }

.bx--list-box.bx--list-box--inline {
  background-color: #f3f3f3;
  border-width: 0; }
  .bx--list-box.bx--list-box--inline:hover {
    background-color: #e5e5e5; }

.bx--list-box.bx--list-box--inline.bx--list-box--expanded {
  border-bottom-width: 0; }

.bx--list-box.bx--list-box--inline.bx--list-box--expanded .bx--list-box__field[aria-expanded='true'] {
  border-width: 0; }

.bx--list-box.bx--list-box--inline.bx--list-box--disabled:hover,
.bx--list-box.bx--list-box--inline.bx--list-box--expanded:hover {
  background-color: #f3f3f3; }

.bx--list-box.bx--list-box--inline,
.bx--list-box.bx--list-box--inline .bx--list-box__field {
  height: 1.28rem; }

.bx--list-box.bx--list-box--inline .bx--list-box__field {
  padding: 0 2rem 0 0.5rem; }

.bx--list-box.bx--list-box--inline .bx--list-box__menu-icon {
  right: 0.5rem; }

.bx--list-box.bx--list-box--inline .bx--list-box__invalid-icon {
  right: 2rem; }

.bx--list-box--inline .bx--list-box__label {
  color: #000000; }

.bx--list-box__field {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: top;
  height: 1.6rem;
  padding: 0 3rem 0 1rem;
  cursor: pointer;
  outline: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }
  .bx--list-box__field *,
  .bx--list-box__field *:before,
  .bx--list-box__field *:after {
    box-sizing: inherit; }
  .bx--list-box__field::-moz-focus-inner {
    border: 0; }

.bx--list-box__field:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--list-box__field[disabled] {
  outline: none;
  color: #bebebe; }

.bx--list-box__field .bx--text-input[value] {
  padding-right: 4.5rem; }

.bx--list-box[data-invalid] .bx--list-box__field .bx--text-input[value] {
  padding-right: 3.92rem; }

.bx--list-box[data-invalid] .bx--list-box__field .bx--text-input[value] + .bx--list-box__invalid-icon {
  right: 2.64rem; }

.bx--list-box__field .bx--text-input[value=''] {
  padding-right: 3rem; }

.bx--list-box[data-invalid] .bx--list-box__field .bx--text-input[value=''] {
  padding-right: 4.5rem; }

.bx--list-box[data-invalid] .bx--list-box__field .bx--text-input[value=''] + .bx--list-box__invalid-icon {
  right: 1.6rem; }

.bx--list-box__label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000;
  user-select: none;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }

.bx--list-box__menu-icon {
  position: absolute;
  right: 1rem;
  height: 100%;
  transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  cursor: pointer; }

.bx--list-box__menu-icon > svg {
  fill: #000000;
  height: 100%; }

.bx--list-box__menu-icon--open {
  transform: rotate(180deg); }

.bx--list-box__selection {
  position: absolute;
  right: 1.32rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.2rem;
  width: 1.2rem;
  cursor: pointer;
  user-select: none;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--list-box__selection:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }

.bx--list-box__selection > svg {
  fill: #565656; }

.bx--list-box--disabled .bx--list-box__selection:focus {
  outline: none; }

.bx--list-box--disabled .bx--list-box__selection > svg {
  fill: #bebebe; }

.bx--list-box__selection--multi {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  background-color: #3d3d3d;
  height: 0.96rem;
  width: auto;
  color: #ffffff;
  line-height: 0;
  padding: 0.32rem;
  padding-right: 0.08rem;
  margin-right: 0.4rem;
  border-radius: 0.48rem; }

.bx--list-box__selection--multi > svg {
  fill: #ffffff;
  margin-left: 0.16rem;
  width: 0.8rem;
  height: 0.8rem;
  padding: 0.08rem; }

.bx--list-box__selection--multi > svg:hover {
  border-radius: 50%;
  background-color: #4c4c4c;
  fill: #ffffff; }

.bx--list-box__selection--multi:focus,
.bx--list-box__selection--multi:hover {
  outline: none; }

.bx--list-box__menu {
  box-shadow: 0px 3px 3px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  background-color: #ffffff;
  max-height: 5.6rem;
  overflow-y: auto;
  z-index: 9100; }

.bx--list-box__menu-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  height: 1.6rem;
  color: #565656;
  cursor: pointer;
  user-select: none;
  position: relative;
  transition: background 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--list-box__menu-item:hover {
    background-color: #e5e5e5; }
  .bx--list-box__menu-item:active {
    background-color: #dcdcdc; }

.bx--list-box--disabled .bx--list-box__menu-item:hover {
  background-color: transparent; }

.bx--list-box--disabled .bx--list-box__menu-item__option:hover {
  border-top-color: #dcdcdc; }

.bx--list-box__menu-item:first-of-type .bx--list-box__menu-item__option {
  border-top-color: transparent; }

.bx--list-box__menu-item:hover .bx--list-box__menu-item__option {
  color: #000000; }

.bx--list-box__menu-item:hover + .bx--list-box__menu-item .bx--list-box__menu-item__option {
  border-top-color: transparent; }

.bx--list-box--disabled .bx--list-box__menu-item:hover + .bx--list-box__menu-item .bx--list-box__menu-item__option {
  border-top-color: #dcdcdc; }

.bx--list-box__menu-item__option {
  outline: 2px solid transparent;
  outline-offset: -2px;
  display: block;
  height: 1.6rem;
  color: #565656;
  text-decoration: none;
  font-weight: normal;
  line-height: 0.64rem;
  padding: 0.44rem 0;
  margin: 0 1rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-top-color: #dcdcdc;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  transition: border-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--list-box__menu-item__option:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px;
    margin: 0;
    padding: 0.44rem 0.64rem;
    border-color: transparent; }
  .bx--list-box__menu-item__option:hover {
    color: #000000;
    border-color: transparent; }

.bx--list-box--disabled .bx--list-box__menu-item:hover .bx--list-box__menu-item__option,
.bx--list-box--disabled .bx--list-box__menu-item__option {
  color: #bebebe; }

.bx--list-box.bx--list-box--inline .bx--list-box__menu-item__option {
  margin: 0 0.5rem; }
  .bx--list-box.bx--list-box--inline .bx--list-box__menu-item__option:focus {
    margin: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem; }

.bx--list-box__menu-item--highlighted {
  background-color: #e5e5e5;
  color: #000000;
  border-color: transparent; }

.bx--list-box__menu-item--highlighted .bx--list-box__menu-item__option,
.bx--list-box__menu-item--highlighted + .bx--list-box__menu-item .bx--list-box__menu-item__option {
  border-top-color: transparent; }

.bx--list-box__menu-item--highlighted .bx--list-box__menu-item__option {
  color: #000000; }

.bx--list-box__menu-item--active {
  color: #000000;
  border-bottom-color: #dcdcdc; }
  .bx--list-box__menu-item--active:hover {
    background-color: #dcdcdc; }

.bx--list-box__menu-item--active .bx--list-box__menu-item__option {
  color: #000000; }

.bx--list-box__menu-item .bx--checkbox-label {
  width: 100%; }

.bx--list-box__menu-item .bx--checkbox-label-text {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }

.bx--list-box input[role='combobox'] {
  margin-bottom: 0;
  background-color: inherit;
  min-width: 0; }

.bx--combo-box .bx--text-input::placeholder {
  color: #565656;
  opacity: 1; }

.bx--combo-box .bx--text-input[disabled]::placeholder {
  color: #bebebe; }

.bx--combo-box.bx--list-box--expanded .bx--text-input {
  border-bottom-color: #dcdcdc; }

.bx--combo-box .bx--list-box__field,
.bx--combo-box.bx--list-box[data-invalid] .bx--list-box__field {
  padding: 0; }

.bx--radio-button-group {
  display: flex;
  align-items: center;
  margin-top: 0.24rem; }

.bx--radio-button-group--vertical {
  flex-direction: column;
  align-items: flex-start; }
  .bx--radio-button-group--vertical.bx--radio-button-group--label-left {
    align-items: flex-end; }
  .bx--radio-button-group--vertical .bx--radio-button__label {
    margin-right: 0; }
  .bx--radio-button-group--vertical .bx--radio-button__label:not(:last-of-type) {
    margin-bottom: 0.5rem; }

.bx--radio-button {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap;
  visibility: inherit; }

.bx--radio-button__label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-right: 1rem; }

.bx--radio-button__appearance {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  background-color: transparent;
  border-radius: 50%;
  border: 1px solid #000000;
  flex-shrink: 0;
  height: 0.72rem;
  width: 0.72rem;
  margin-right: 0.5rem; }
  .bx--radio-button__appearance *,
  .bx--radio-button__appearance *:before,
  .bx--radio-button__appearance *:after {
    box-sizing: inherit; }

.bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance {
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: #000000; }
  .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance:before {
    content: '';
    display: inline-block;
    position: relative;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: #000000; }
    @media screen and (-ms-high-contrast: active) {
      .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance:before {
        background-color: windowText; } }

[disabled] ~ _ {
  font-size: inherit; }

.bx--radio-button:disabled + .bx--radio-button__label {
  color: #bebebe;
  cursor: not-allowed; }

.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance {
  border-color: #bebebe; }
  .bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance::before,
  .bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
    background-color: #bebebe; }

.bx--radio-button:focus + .bx--radio-button__label .bx--radio-button__appearance {
  box-shadow: 0 0 0 2px #0062ff;
  outline: 1px solid transparent; }

.bx--radio-button__label.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 4rem;
  height: 0.72rem; }
  .bx--radio-button__label.bx--skeleton:hover, .bx--radio-button__label.bx--skeleton:focus, .bx--radio-button__label.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--radio-button__label.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--radio-button__label.bx--skeleton:before {
        animation: none; } }

.bx--radio-button__label.bx--skeleton .bx--radio-button__appearance {
  display: none; }

.bx--radio-button-wrapper .bx--radio-button__label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0; }

.bx--radio-button-wrapper:not(:last-of-type) {
  margin-right: 1rem; }

.bx--radio-button-group--vertical .bx--radio-button-wrapper:not(:last-of-type) {
  margin-right: 0;
  margin-bottom: 0.5rem; }

.bx--radio-button-group--label-right .bx--radio-button__label,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-right .bx--radio-button__label {
  flex-direction: row; }

.bx--radio-button-group--label-left .bx--radio-button__label,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__label {
  flex-direction: row-reverse; }

.bx--radio-button-group--label-left .bx--radio-button__appearance,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__appearance {
  margin-right: 0;
  margin-left: 0.5rem; }

.bx--toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }
  .bx--toggle:focus {
    outline: none; }

.bx--toggle__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  margin: 0.5rem 0; }

.bx--toggle__appearance {
  position: relative;
  width: 3rem;
  height: 1.5rem; }
  .bx--toggle__appearance:before {
    position: absolute;
    display: block;
    content: '';
    background-color: #8c8c8c;
    cursor: pointer;
    box-sizing: border-box;
    height: 1.5rem;
    width: 3rem;
    border-radius: 0.9375rem;
    top: 0;
    will-change: box-shadow;
    box-shadow: 0 0 0 1px transparent, 0 0 0 3px transparent;
    transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9); }
  .bx--toggle__appearance:after {
    box-sizing: border-box;
    position: absolute;
    display: block;
    cursor: pointer;
    left: 0.1875rem;
    top: 0.1875rem;
    width: 1.125rem;
    height: 1.125rem;
    background-color: #ffffff;
    border-radius: 50%;
    content: '';
    transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9); }

.bx--toggle__check {
  fill: #ffffff;
  position: absolute;
  left: 0.375rem;
  top: 0.375rem;
  width: 0.375rem;
  height: 0.3125rem;
  z-index: 1;
  transition: 70ms cubic-bezier(0.2, 0, 1, 0.9);
  transform: scale(0.2); }

.bx--toggle__text--left,
.bx--toggle__text--right {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  position: relative;
  margin-left: 0.5rem; }

.bx--toggle__text--left {
  position: absolute;
  left: 3rem; }

.bx--toggle:checked + .bx--toggle__label .bx--toggle__text--left,
.bx--toggle:not(:checked) + .bx--toggle__label .bx--toggle__text--right {
  visibility: hidden; }

.bx--toggle:checked + .bx--toggle__label .bx--toggle__text--right,
.bx--toggle:not(:checked) + .bx--toggle__label .bx--toggle__text--left {
  display: inline; }

.bx--toggle:checked + .bx--toggle__label .bx--toggle__appearance:before {
  background-color: #24a148; }

.bx--toggle:checked + .bx--toggle__label .bx--toggle__appearance:after {
  background-color: #ffffff;
  transform: translateX(1.5rem); }

.bx--toggle + .bx--toggle__label .bx--toggle__appearance:before,
.bx--toggle + .bx--toggle__label .bx--toggle__appearance:before {
  box-shadow: 0 0 0 1px transparent, 0 0 0 3px transparent; }

.bx--toggle:focus + .bx--toggle__label .bx--toggle__appearance:before,
.bx--toggle:active + .bx--toggle__label .bx--toggle__appearance:before {
  box-shadow: 0 0 0 1px #f3f3f3, 0 0 0 3px #0062ff; }

.bx--toggle:disabled + .bx--toggle__label {
  cursor: not-allowed; }

.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:before {
  background-color: #ffffff; }

.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:after {
  background-color: #bebebe; }

.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:before, .bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:after {
  cursor: not-allowed;
  transition: 70ms cubic-bezier(0.2, 0, 1, 0.9); }

.bx--toggle:disabled + .bx--toggle__label .bx--toggle__text--left,
.bx--toggle:disabled + .bx--toggle__label .bx--toggle__text--right {
  color: #bebebe; }

.bx--toggle:disabled:active + .bx--toggle__label .bx--toggle__appearance:before {
  box-shadow: none; }

.bx--toggle:disabled + .bx--toggle__label .bx--toggle__check {
  fill: #bebebe; }

.bx--toggle--small + .bx--toggle__label .bx--toggle__appearance {
  width: 2rem;
  height: 1rem; }
  .bx--toggle--small + .bx--toggle__label .bx--toggle__appearance:before {
    box-sizing: border-box;
    height: 1rem;
    width: 2rem;
    border-radius: 0.9375rem;
    top: 0; }
  .bx--toggle--small + .bx--toggle__label .bx--toggle__appearance:after {
    width: 0.625rem;
    height: 0.625rem;
    top: 0.1875rem;
    left: 0.1875rem; }

.bx--toggle--small:checked + .bx--toggle__label .bx--toggle__check {
  fill: #24a148;
  transform: scale(1) translateX(1rem); }

.bx--toggle--small + .bx--toggle__label .bx--toggle__text--left {
  left: 2rem; }

.bx--toggle--small:checked + .bx--toggle__label .bx--toggle__appearance:after {
  margin-left: 0px;
  transform: translateX(1.0625rem); }

.bx--toggle-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }
  .bx--toggle-input:focus {
    outline: none; }

.bx--toggle-input__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  color: #565656;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer; }

.bx--toggle__switch {
  position: relative;
  display: flex;
  align-items: center;
  width: 3rem;
  height: 1.5rem;
  margin: 0.5rem 0;
  cursor: pointer; }
  .bx--toggle__switch::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    display: block;
    width: 3rem;
    height: 1.5rem;
    border-radius: 0.9375rem;
    content: '';
    background-color: #8c8c8c;
    will-change: box-shadow;
    box-shadow: 0 0 0 1px transparent, 0 0 0 3px transparent;
    transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9); }
  .bx--toggle__switch::after {
    box-sizing: border-box;
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem;
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background-color: #ffffff;
    content: '';
    transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9); }

.bx--toggle__text--off,
.bx--toggle__text--on {
  position: absolute;
  margin-left: 3.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  user-select: none; }

.bx--toggle-input:checked + .bx--toggle-input__label > .bx--toggle__switch > .bx--toggle__text--off,
.bx--toggle-input:not(:checked) + .bx--toggle-input__label > .bx--toggle__switch > .bx--toggle__text--on {
  visibility: hidden; }

.bx--toggle-input:checked + .bx--toggle-input__label > .bx--toggle__switch::before {
  background-color: #24a148; }

.bx--toggle-input:checked + .bx--toggle-input__label > .bx--toggle__switch::after {
  background-color: #ffffff;
  transform: translateX(1.5rem); }

.bx--toggle-input:focus + .bx--toggle-input__label > .bx--toggle__switch::before,
.bx--toggle-input:active + .bx--toggle-input__label > .bx--toggle__switch::before {
  box-shadow: 0 0 0 1px #f3f3f3, 0 0 0 3px #0062ff; }

.bx--toggle-input:disabled + .bx--toggle-input__label {
  cursor: not-allowed; }

.bx--toggle-input:disabled + .bx--toggle-input__label > .bx--toggle__switch {
  cursor: not-allowed; }
  .bx--toggle-input:disabled + .bx--toggle-input__label > .bx--toggle__switch::before {
    background-color: #ffffff; }
  .bx--toggle-input:disabled + .bx--toggle-input__label > .bx--toggle__switch::after {
    background-color: #bebebe; }
  .bx--toggle-input:disabled + .bx--toggle-input__label > .bx--toggle__switch::before, .bx--toggle-input:disabled + .bx--toggle-input__label > .bx--toggle__switch::after {
    cursor: not-allowed;
    transition: 70ms cubic-bezier(0.2, 0, 1, 0.9); }

.bx--toggle-input:disabled + .bx--toggle-input__label {
  color: #bebebe; }

.bx--toggle-input:disabled:active + .bx--toggle-input__label > .bx--toggle__switch::before {
  box-shadow: none; }

.bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch {
  width: 2rem;
  height: 1rem; }
  .bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch::before {
    width: 2rem;
    height: 1rem;
    border-radius: 0.9375rem; }
  .bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch::after {
    width: 0.625rem;
    height: 0.625rem; }

.bx--toggle-input--small + .bx--toggle-input__label .bx--toggle__text--off,
.bx--toggle-input--small + .bx--toggle-input__label .bx--toggle__text--on {
  margin-left: 2.5rem; }

.bx--toggle-input--small:checked + .bx--toggle-input__label > .bx--toggle__switch::after {
  transform: translateX(1.0625rem); }

.bx--toggle-input--small:checked + .bx--toggle-input__label .bx--toggle__check {
  fill: #24a148;
  transform: scale(1) translateX(1rem); }

.bx--toggle-input--small:disabled:checked + .bx--toggle-input__label .bx--toggle__check {
  fill: #bebebe; }

.bx--search {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%; }

.bx--search .bx--label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--search-input {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.375rem;
  letter-spacing: 0;
  outline: 2px solid transparent;
  outline-offset: -2px;
  appearance: none;
  border: none;
  background-color: #ffffff;
  color: #000000;
  padding: 0 2.5rem;
  text-overflow: ellipsis;
  width: 100%;
  order: 1;
  transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  border-bottom: 1px solid #8c8c8c; }
  .bx--search-input *,
  .bx--search-input *:before,
  .bx--search-input *:after {
    box-sizing: inherit; }
  .bx--search-input:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--search-input::placeholder {
    color: #8c8c8c;
    font-weight: 400; }
  .bx--search-input::-ms-clear {
    display: none; }

.bx--search-input[disabled] {
  color: #bebebe;
  background-color: #f3f3f3;
  border-bottom: 1px solid transparent;
  cursor: not-allowed; }
  .bx--search-input[disabled]::placeholder {
    color: #bebebe;
    font-weight: 400; }

.bx--search-input[disabled] ~ .bx--search-magnifier {
  fill: #bebebe; }

.bx--search--light .bx--search-input {
  background: #f3f3f3; }

.bx--search--sm .bx--search-input {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  height: 1.28rem; }

.bx--search--xl .bx--search-input {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.375rem;
  letter-spacing: 0;
  height: 1.92rem;
  padding: 0 2.56rem 0 1.92rem; }

.bx--search-magnifier {
  left: 0.75rem;
  z-index: 2;
  position: absolute;
  height: 0.64rem;
  width: 0.64rem;
  top: 50%;
  transform: translateY(-50%);
  fill: #565656;
  pointer-events: none; }

.bx--search--xl .bx--search-magnifier {
  height: 0.8rem;
  width: 0.8rem;
  left: 0.96rem;
  transform: translate(-50%, -50%); }

.bx--search-close {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  outline: 2px solid transparent;
  outline-offset: -2px;
  position: absolute;
  right: 0; }
  .bx--search-close *,
  .bx--search-close *:before,
  .bx--search-close *:after {
    box-sizing: inherit; }
  .bx--search-close::-moz-focus-inner {
    border: 0; }
  .bx--search-close::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0.04rem;
    height: calc(100% - 2px);
    width: 2px;
    background-color: #ffffff;
    transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--search-close:hover {
    border-bottom: 1px solid #8c8c8c; }

.bx--search-button {
  flex-shrink: 0;
  margin-left: 0.125rem;
  background-color: #ffffff; }
  .bx--search-button svg {
    vertical-align: middle;
    fill: currentColor; }

.bx--search-close,
.bx--search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), border 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  cursor: pointer;
  visibility: visible;
  opacity: 1;
  height: 1.6rem;
  width: 1.6rem;
  fill: #000000;
  border: 1px solid transparent;
  border-left: 0; }
  .bx--search-close:hover,
  .bx--search-button:hover {
    background-color: #f3f3f3; }
  .bx--search-close:focus,
  .bx--search-button:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--search-close:active,
  .bx--search-button:active {
    outline: 2px solid #0062ff;
    outline-offset: -2px;
    background-color: #dcdcdc; }

.bx--search-close:hover::before {
  background-color: #f3f3f3; }

.bx--search-close:focus::before,
.bx--search-close:active::before {
  background-color: #0062ff; }

.bx--search-input:focus ~ .bx--search-close:hover {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--search--sm .bx--search-close,
.bx--search--sm ~ .bx--search-button {
  height: 1.28rem;
  width: 1.28rem; }

.bx--search--xl .bx--search-close,
.bx--search--xl ~ .bx--search-button {
  height: 1.92rem;
  width: 1.92rem; }

.bx--search-close--hidden {
  visibility: hidden;
  opacity: 0; }

.bx--search--lg.bx--skeleton .bx--search-input,
.bx--search--sm.bx--skeleton .bx--search-input {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%; }
  .bx--search--lg.bx--skeleton .bx--search-input:hover, .bx--search--lg.bx--skeleton .bx--search-input:focus, .bx--search--lg.bx--skeleton .bx--search-input:active,
  .bx--search--sm.bx--skeleton .bx--search-input:hover,
  .bx--search--sm.bx--skeleton .bx--search-input:focus,
  .bx--search--sm.bx--skeleton .bx--search-input:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--search--lg.bx--skeleton .bx--search-input:before,
  .bx--search--sm.bx--skeleton .bx--search-input:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--search--lg.bx--skeleton .bx--search-input:before,
      .bx--search--sm.bx--skeleton .bx--search-input:before {
        animation: none; } }
  .bx--search--lg.bx--skeleton .bx--search-input::placeholder,
  .bx--search--sm.bx--skeleton .bx--search-input::placeholder {
    color: transparent; }

.bx--select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: flex;
  flex-direction: column; }
  .bx--select *,
  .bx--select *:before,
  .bx--select *:after {
    box-sizing: inherit; }

.bx--select-input__wrapper {
  position: relative;
  display: flex;
  align-items: center; }
  .bx--select-input__wrapper:hover .bx--select-input {
    background-color: #e5e5e5; }

.bx--select-input {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  height: 1.6rem;
  appearance: none;
  display: block;
  width: 8.96rem;
  min-width: 5.12rem;
  max-width: 17.92rem;
  padding: 0 1.68rem 0 1rem;
  color: #000000;
  background-color: #ffffff;
  border: none;
  border-bottom: 1px solid #8c8c8c;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--select-input:hover {
    background-color: #e5e5e5; }
  .bx--select-input::-ms-expand {
    display: none; }

@-moz-document url-prefix() {
  .bx--select-input {
    padding-top: 0.16rem; }
    .bx--select-input:-moz-focusring, .bx--select-input::-moz-focus-inner {
      color: transparent;
      text-shadow: 0 0 0 #000;
      background-image: none; } }
  .bx--select-input:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--select-input:disabled, .bx--select-input:hover:disabled {
    cursor: not-allowed;
    background-color: #f3f3f3;
    color: #bebebe;
    border-bottom-color: #f3f3f3; }

.bx--select--disabled .bx--label,
.bx--select--disabled .bx--form__helper-text {
  color: #bebebe; }

.bx--select-input__wrapper[data-invalid] .bx--select-input {
  padding-right: 2.56rem; }

.bx--select-input__wrapper[data-invalid] .bx--select-input,
.bx--select-input__wrapper[data-invalid] .bx--select-input:focus {
  outline: 2px solid #da1e28;
  outline-offset: -2px; }

.bx--form-requirement {
  display: block;
  color: #da1e28;
  font-weight: 400;
  overflow: visible; }

.bx--select-input:disabled ~ .bx--select__arrow {
  fill: #bebebe; }

.bx--select--light .bx--select-input {
  background-color: #f3f3f3; }
  .bx--select--light .bx--select-input:hover {
    background-color: #ffffff; }
  .bx--select--light .bx--select-input:disabled, .bx--select--light .bx--select-input:hover:disabled {
    cursor: not-allowed;
    background-color: #f3f3f3;
    color: #bebebe; }

.bx--select__arrow {
  fill: #000000;
  position: absolute;
  right: 1rem;
  pointer-events: none; }

.bx--select-input__wrapper[data-invalid] .bx--select-input ~ .bx--select__invalid-icon {
  position: absolute;
  right: 1.36rem; }

.bx--select-input__wrapper[data-invalid] .bx--select-input ~ .bx--select__invalid-icon {
  fill: #da1e28; }

.bx--select-optgroup,
.bx--select-option {
  color: #000000; }

.bx--select-option[disabled] {
  opacity: 0.5;
  cursor: not-allowed; }

@-moz-document url-prefix() {
  .bx--select-option {
    background-color: #ffffff;
    color: #000000; }
  .bx--select-optgroup {
    color: #000000; } }

.bx--select--inline {
  display: flex;
  flex-direction: row;
  align-items: center; }

.bx--select--inline.bx--select--invalid .bx--label,
.bx--select--inline.bx--select--invalid .bx--form__helper-text {
  margin-top: 0.52rem;
  align-self: flex-start; }

.bx--select--inline .bx--form__helper-text {
  margin-bottom: 0;
  margin-left: 0.32rem; }

.bx--select--inline .bx--label {
  white-space: nowrap;
  margin: 0 0.5rem 0 0; }

.bx--select--inline .bx--select-input {
  background-color: transparent;
  color: #000000;
  border-bottom: none;
  padding-left: 0.5rem;
  padding-right: 1.04rem; }

@-moz-document url-prefix() {
  .bx--select--inline .bx--select-input {
    padding-top: 0; } }
  .bx--select--inline .bx--select-input:hover {
    background-color: #e5e5e5; }

.bx--select--inline .bx--select__arrow {
  bottom: auto;
  top: 1.125rem;
  right: 0.5rem; }

.bx--select--inline.bx--select--invalid .bx--select-input {
  padding-right: 2rem; }

.bx--select--inline.bx--select--invalid .bx--select-input ~ .bx--select__invalid-icon {
  right: 0.96rem; }

.bx--select--inline .bx--select-input:disabled {
  color: #bebebe;
  cursor: not-allowed; }
  .bx--select--inline .bx--select-input:disabled:hover {
    background-color: transparent; }
  .bx--select--inline .bx--select-input:disabled ~ * {
    cursor: not-allowed; }

.bx--select--inline .bx--select-input:disabled {
  cursor: not-allowed; }

.bx--select.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 2.5rem; }
  .bx--select.bx--skeleton:hover, .bx--select.bx--skeleton:focus, .bx--select.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--select.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--select.bx--skeleton:before {
        animation: none; } }

.bx--select.bx--skeleton .bx--select-input {
  display: none; }

.bx--text-input {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  background-color: #ffffff;
  width: 100%;
  height: 1.6rem;
  padding: 0 1rem;
  color: #000000;
  border: none;
  border-bottom: 1px solid #8c8c8c;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--text-input *,
  .bx--text-input *:before,
  .bx--text-input *:after {
    box-sizing: inherit; }
  .bx--text-input:focus, .bx--text-input:active {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--text-input-wrapper svg[hidden] {
    display: none; }

.bx--password-input {
  padding-right: 2.5rem; }

.bx--text-input::-webkit-input-placeholder {
  color: #8c8c8c; }

.bx--text-input--light {
  background-color: #f3f3f3; }

.bx--text-input__field-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%; }
  .bx--text-input__field-wrapper .bx--text-input__invalid-icon {
    position: absolute;
    right: 1rem;
    fill: #da1e28; }
  .bx--text-input__field-wrapper .bx--text-input--password__visibility {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    overflow: visible; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility *,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility *:before,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility *:after {
      box-sizing: inherit; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus {
      outline: 1px solid transparent; }
      .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus svg {
        outline: 1px solid #0062ff; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility + .bx--assistive-text {
      font-size: 0.875rem;
      font-weight: 400;
      line-height: 1.125rem;
      letter-spacing: 0.16px;
      position: absolute;
      z-index: 10000;
      display: flex;
      align-items: center;
      opacity: 0;
      pointer-events: none; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility + .bx--assistive-text {
          display: inline-block; } }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after {
      transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::after {
      transition: none; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::before {
      width: 0;
      height: 0;
      border-style: solid;
      content: ''; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility + .bx--assistive-text {
      box-sizing: content-box;
      color: inherit;
      opacity: 1;
      white-space: normal; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
      box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
      width: max-content;
      max-width: 8.32rem;
      height: auto;
      padding: 0.08rem 0.64rem;
      border-radius: 0.08rem;
      color: #ffffff;
      font-weight: 400;
      text-align: left;
      transform: translateX(-50%);
      pointer-events: none;
      background-color: #3d3d3d; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
          width: 8.32rem; } }
      @supports (-ms-accelerator: true) {
        .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
          width: 8.32rem; } }
      @supports (-ms-ime-align: auto) {
        .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
        .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
          width: 8.32rem; } }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::after {
      content: attr(aria-label); }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::after {
      content: none; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover::after, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus::after {
      opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
      clip: auto;
      margin: auto;
      overflow: visible; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover.bx--tooltip--a11y::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus.bx--tooltip--a11y::before {
      animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
      bottom: 0;
      left: 50%; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::before {
      bottom: -0.32rem;
      border-width: 0 0.16rem 0.2rem 0.16rem;
      border-color: transparent transparent #3d3d3d transparent;
      transform: translate(-50%, 100%); }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {
      bottom: -0.52rem;
      transform: translate(-50%, 100%); }
  .bx--text-input__field-wrapper .bx--text-input--password__visibility,
  .bx--text-input__field-wrapper .bx--text-input--password__visibility__toggle.bx--tooltip__trigger {
    position: absolute;
    height: 0.64rem;
    width: 0.64rem;
    right: 1rem;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer; }
    .bx--text-input__field-wrapper .bx--text-input--password__visibility svg,
    .bx--text-input__field-wrapper .bx--text-input--password__visibility__toggle.bx--tooltip__trigger svg {
      fill: #565656; }
  .bx--text-input__field-wrapper .bx--text-input--invalid {
    padding-right: 2.5rem; }
  .bx--text-input__field-wrapper .bx--text-input--invalid.bx--password-input {
    padding-right: 2.56rem; }
  .bx--text-input__field-wrapper .bx--text-input--invalid + .bx--text-input--password__visibility,
  .bx--text-input__field-wrapper .bx--text-input--invalid + .bx--text-input--password__visibility__toggle {
    right: 1rem; }

.bx--password-input-wrapper .bx--text-input__invalid-icon {
  right: 2.5rem; }

.bx--text-input:disabled + .bx--text-input--password__visibility svg,
.bx--text-input:disabled + .bx--text-input--password__visibility__toggle svg {
  opacity: 0.5;
  cursor: not-allowed; }

.bx--text-input:disabled {
  cursor: not-allowed;
  outline: none;
  background-color: #ffffff;
  border-bottom: 1px solid transparent;
  color: #bebebe; }

.bx--text-input--light:disabled {
  background-color: #f3f3f3; }

.bx--text-input:disabled::placeholder {
  opacity: 1;
  color: #bebebe; }

.bx--text-input--invalid {
  outline: 2px solid #da1e28;
  outline-offset: -2px;
  box-shadow: none; }
  .bx--text-input--invalid .bx--text-input--password__visibility,
  .bx--text-input--invalid .bx--text-input--password__visibility__toggle {
    right: 2.5rem; }

.bx--text-area {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  background-color: #ffffff;
  width: 100%;
  min-width: 10rem;
  min-height: 1.6rem;
  padding: 0.44rem 1rem;
  color: #000000;
  order: 3;
  resize: vertical;
  border: none;
  border-bottom: 1px solid #8c8c8c;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--text-area *,
  .bx--text-area *:before,
  .bx--text-area *:after {
    box-sizing: inherit; }
  .bx--text-area ~ .bx--form__helper-text {
    margin-top: 0;
    order: 2;
    font-style: italic; }
  .bx--text-area ~ .bx--form-requirement {
    order: 4;
    color: #da1e28;
    font-weight: 400;
    margin-top: 0.25rem; }
    .bx--text-area ~ .bx--form-requirement::before {
      display: none; }

.bx--text-area:focus,
.bx--text-area:active {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--text-area::placeholder {
  color: #8c8c8c;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  opacity: 1; }

.bx--text-area--light {
  background-color: #f3f3f3; }

.bx--text-area--invalid {
  padding-right: 2.5rem; }

.bx--text-area__wrapper {
  position: relative;
  display: flex; }

.bx--text-area__invalid-icon {
  position: absolute;
  right: 1rem;
  top: 0.75rem;
  fill: #da1e28; }

.bx--text-area:disabled {
  cursor: not-allowed;
  outline: none;
  background-color: #f3f3f3;
  border-bottom: 1px solid transparent; }

.bx--text-area:disabled::placeholder {
  color: #bebebe; }

bx--text-area.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  height: 4rem; }
  bx--text-area.bx--skeleton:hover, bx--text-area.bx--skeleton:focus, bx--text-area.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  bx--text-area.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      bx--text-area.bx--skeleton:before {
        animation: none; } }
  bx--text-area.bx--skeleton::placeholder {
    color: transparent; }

.bx--number {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
  flex-direction: column;
  position: relative; }
  .bx--number *,
  .bx--number *:before,
  .bx--number *:after {
    box-sizing: inherit; }

.bx--number input[type='number'] {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;
  box-sizing: border-box;
  display: inline-flex;
  width: 100%;
  min-width: 9.375rem;
  padding-left: 1rem;
  padding-right: 2rem;
  font-weight: 300;
  height: 1.6rem;
  color: #000000;
  background-color: #ffffff;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #8c8c8c;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  -moz-appearance: textfield; }
  .bx--number input[type='number']:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--number input[type='number']:disabled ~ .bx--number__controls {
    cursor: not-allowed;
    pointer-events: none; }
  .bx--number input[type='number']:disabled ~ .bx--number__controls svg {
    fill: #bebebe; }
  .bx--number input[type='number']::-ms-clear {
    display: none; }
  .bx--number input[type='number']::-webkit-inner-spin-button {
    appearance: none; }

.bx--number input[type='number']:disabled,
.bx--number--readonly input[type='number'] {
  cursor: not-allowed;
  background-color: #f3f3f3;
  color: #bebebe; }

.bx--number__input-wrapper {
  display: flex;
  align-items: center; }
  .bx--number__input-wrapper ~ .bx--form-requirement {
    color: #da1e28;
    font-weight: 400;
    margin-top: 0.25rem;
    overflow: visible; }
    .bx--number__input-wrapper ~ .bx--form-requirement::before {
      display: none; }

.bx--number__controls {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: absolute;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .bx--number__controls *,
  .bx--number__controls *:before,
  .bx--number__controls *:after {
    box-sizing: inherit; }

.bx--number__control-btn {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.28rem;
  height: 0.8rem;
  color: #000000; }
  .bx--number__control-btn *,
  .bx--number__control-btn *:before,
  .bx--number__control-btn *:after {
    box-sizing: inherit; }
  .bx--number__control-btn::-moz-focus-inner {
    border: 0; }
  .bx--number__control-btn svg {
    fill: currentColor;
    position: relative; }
  .bx--number__control-btn.up-icon svg {
    top: 0.2rem; }
  .bx--number__control-btn.down-icon svg {
    top: -0.2rem; }
  .bx--number__control-btn:focus {
    outline: 1px solid #0062ff;
    color: #000000;
    outline-width: 2px;
    outline-offset: -2px; }
  .bx--number__control-btn:hover {
    cursor: pointer; }
  .bx--number__control-btn:hover {
    color: #000000; }
  .bx--number__control-btn:disabled {
    cursor: not-allowed;
    color: #bebebe; }

.bx--number--readonly .bx--number__control-btn {
  display: none; }

.bx--number[data-invalid] .bx--form-requirement {
  display: inline-block;
  max-height: 8rem; }

.bx--number[data-invalid] input[type='number'] {
  outline: 2px solid #da1e28;
  outline-offset: -2px; }

.bx--number__invalid {
  position: absolute;
  right: 2rem;
  fill: #da1e28; }

.bx--number--light input[type='number'] {
  background-color: #f3f3f3; }

.bx--number--mobile {
  min-width: 5.76rem;
  width: auto; }
  .bx--number--mobile .bx--number__control-btn,
  .bx--number--mobile.bx--number--light .bx--number__control-btn {
    position: static;
    width: 1.6rem;
    height: 1.6rem;
    background-color: #ffffff; }
    .bx--number--mobile .bx--number__control-btn:hover, .bx--number--mobile .bx--number__control-btn:focus,
    .bx--number--mobile.bx--number--light .bx--number__control-btn:hover,
    .bx--number--mobile.bx--number--light .bx--number__control-btn:focus {
      background-color: #e5e5e5; }
    .bx--number--mobile .bx--number__control-btn:focus,
    .bx--number--mobile.bx--number--light .bx--number__control-btn:focus {
      outline-width: 2px;
      outline-offset: -2px; }
    .bx--number--mobile .bx--number__control-btn svg,
    .bx--number--mobile.bx--number--light .bx--number__control-btn svg {
      position: static; }
  .bx--number--mobile input[type='number'] {
    min-width: 2.56rem;
    width: auto;
    margin: 0;
    border-right: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
    padding: 0;
    text-align: center;
    background-color: #ffffff; }
  .bx--number--mobile.bx--number--light input[type='number'] {
    background-color: #f3f3f3; }
  .bx--number--mobile.bx--number--light .bx--number__control-btn {
    background-color: #f3f3f3; }

.bx--number.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 2.5rem; }
  .bx--number.bx--skeleton:hover, .bx--number.bx--skeleton:focus, .bx--number.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--number.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--number.bx--skeleton:before {
        animation: none; } }
  .bx--number.bx--skeleton input[type='number'] {
    display: none; }

.bx--link {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  color: #0062ff;
  text-decoration: none;
  outline: none;
  transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--link *,
  .bx--link *:before,
  .bx--link *:after {
    box-sizing: inherit; }
  .bx--link:hover {
    color: #0062ff;
    text-decoration: underline; }
  .bx--link:active, .bx--link:active:visited {
    color: #000000;
    text-decoration: underline; }
  .bx--link:focus {
    outline: 1px solid #0062ff; }
  .bx--link:not([href]) {
    color: #bebebe;
    cursor: not-allowed;
    pointer-events: none;
    touch-action: none; }
  .bx--link:visited {
    color: #0062ff; }

.bx--link--visited {
  color: #8a3ffc; }

.bx--link--disabled {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  display: inline;
  color: #bebebe;
  font-weight: 400;
  cursor: not-allowed; }
  .bx--link--disabled *,
  .bx--link--disabled *:before,
  .bx--link--disabled *:after {
    box-sizing: inherit; }

.bx--list--nested,
.bx--list--unordered,
.bx--list--ordered {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  counter-reset: listitem; }
  .bx--list--nested *,
  .bx--list--nested *:before,
  .bx--list--nested *:after,
  .bx--list--unordered *,
  .bx--list--unordered *:before,
  .bx--list--unordered *:after,
  .bx--list--ordered *,
  .bx--list--ordered *:before,
  .bx--list--ordered *:after {
    box-sizing: inherit; }

.bx--list__item {
  font-weight: 400;
  color: #000000;
  list-style-type: none;
  counter-increment: listitem;
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  position: relative; }

.bx--list__item:before {
  position: absolute;
  left: -0.5rem; }

.bx--list--nested {
  margin-bottom: 0.16rem;
  margin-left: 2rem; }

.bx--list--unordered > .bx--list__item:before,
.bx--list--ordered > .bx--list__item:before {
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.16rem; }

.bx--list--unordered .bx--list--nested > .bx--list__item:before,
.bx--list--ordered .bx--list--nested > .bx--list__item:before {
  margin-right: 0.5rem;
  display: inline-block; }

.bx--list--unordered > .bx--list__item:before {
  content: '\002013'; }

.bx--list--unordered ul.bx--list--nested > .bx--list__item:before {
  content: '\0025AA'; }

.bx--list--unordered ol.bx--list--nested > .bx--list__item:before {
  content: counter(listitem, lower-alpha) "."; }

.bx--list--ordered > .bx--list__item:before {
  content: counter(listitem) "."; }

.bx--list--ordered ol.bx--list--nested {
  counter-reset: ol-counter; }

.bx--list--ordered ol.bx--list--nested > .bx--list__item {
  counter-increment: ol-counter; }

.bx--list--ordered ol.bx--list--nested > .bx--list__item:before {
  content: counter(ol-counter, lower-alpha) ".";
  width: 0.6rem; }

.bx--list--ordered ul.bx--list--nested > .bx--list__item:before {
  content: '\0025AA'; }

.bx--table-toolbar {
  display: flex;
  width: 100%;
  background: #ffffff;
  height: 3rem;
  position: relative; }

.bx--toolbar-content {
  display: flex;
  height: 3rem;
  width: 100%;
  justify-content: flex-end;
  transform: translate3d(0, 0, 0);
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--batch-actions ~ .bx--toolbar-content {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }

.bx--toolbar-content .bx--search .bx--search-input {
  background-color: transparent; }

.bx--batch-actions ~ .bx--toolbar-search-container {
  opacity: 1;
  transition: opacity 110ms;
  display: flex;
  align-items: center; }

.bx--toolbar-search-container-expandable {
  height: 3rem;
  width: 3rem;
  position: relative;
  transition: flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9);
  box-shadow: none; }

.bx--toolbar-search-container-expandable .bx--search {
  width: 3rem;
  height: 100%;
  position: initial; }

.bx--toolbar-search-container-expandable .bx--search .bx--search-magnifier {
  height: 3rem;
  width: 3rem;
  padding: 1rem;
  left: 0;
  cursor: pointer;
  pointer-events: all;
  transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }

.bx--toolbar-search-container-expandable .bx--search .bx--search-magnifier:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--toolbar-search-container-expandable .bx--search .bx--search-magnifier:hover {
  background: #f3f3f3; }

.bx--toolbar-search-container-expandable .bx--search .bx--search-input {
  outline: 2px solid #0062ff;
  outline-offset: -2px;
  height: 100%;
  visibility: hidden;
  padding: 0;
  background-color: transparent; }

.bx--toolbar-search-container-expandable .bx--search .bx--search-close {
  height: 3rem;
  width: 3rem; }
  .bx--toolbar-search-container-expandable .bx--search .bx--search-close:before {
    top: 2px;
    height: calc(100% - 4px);
    background-color: #e5e5e5; }

.bx--toolbar-search-container-active {
  flex: auto;
  transition: flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--toolbar-search-container-active .bx--search {
  width: 100%; }

.bx--toolbar-search-container-active .bx--search .bx--search-input {
  padding-left: 3rem;
  visibility: visible; }

.bx--toolbar-search-container-active .bx--search .bx--search-input:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--toolbar-search-container-active .bx--search .bx--search-input:focus + .bx--search-close {
  border: none;
  box-shadow: none;
  outline: none; }

.bx--toolbar-search-container-active .bx--search .bx--search-input:not(:placeholder-shown) {
  background: #f3f3f3;
  border: none; }

.bx--toolbar-search-container-active .bx--search .bx--search-magnifier:focus,
.bx--toolbar-search-container-active .bx--search .bx--search-magnifier:active,
.bx--toolbar-search-container-active .bx--search .bx--search-magnifier:hover {
  outline: none;
  border: none;
  background: transparent; }

.bx--toolbar-search-container-persistent .bx--search-close,
.bx--toolbar-search-container-persistent .bx--search-close:hover,
.bx--toolbar-search-container-active .bx--search .bx--search-close,
.bx--toolbar-search-container-active .bx--search .bx--search-close:hover {
  border: none;
  background-color: transparent; }

.bx--overflow-menu.bx--toolbar-action {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  display: flex;
  cursor: pointer;
  height: 3rem;
  width: 3rem;
  padding: 1rem;
  transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--overflow-menu.bx--toolbar-action *,
  .bx--overflow-menu.bx--toolbar-action *:before,
  .bx--overflow-menu.bx--toolbar-action *:after {
    box-sizing: inherit; }
  .bx--overflow-menu.bx--toolbar-action::-moz-focus-inner {
    border: 0; }

.bx--toolbar-action {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  display: flex;
  cursor: pointer;
  height: 3rem;
  width: 3rem;
  transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--toolbar-action *,
  .bx--toolbar-action *:before,
  .bx--toolbar-action *:after {
    box-sizing: inherit; }
  .bx--toolbar-action::-moz-focus-inner {
    border: 0; }

.bx--toolbar-action:hover:not([disabled]) {
  background: #f3f3f3; }

.bx--toolbar-action:hover[aria-expanded='true'] {
  background: #ffffff; }

.bx--toolbar-action[disabled] {
  cursor: not-allowed; }

.bx--toolbar-action[disabled] .bx--toolbar-action__icon {
  fill: #bebebe;
  cursor: not-allowed; }

.bx--toolbar-action:focus:not([disabled]),
.bx--toolbar-action:active:not([disabled]) {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }
  .bx--toolbar-action:focus:not([disabled]).bx--toolbar-search-container-expandable,
  .bx--toolbar-action:active:not([disabled]).bx--toolbar-search-container-expandable {
    outline: none; }

.bx--toolbar-action ~ .bx--btn {
  margin: 0;
  height: 3rem; }

.bx--overflow-menu--data-table {
  height: 3rem; }

.bx--toolbar-action__icon {
  height: 1rem;
  width: auto;
  max-width: 1rem;
  fill: #000000; }

.bx--toolbar-search-container-persistent {
  width: 100%;
  height: 3rem;
  opacity: 1;
  position: relative; }

.bx--toolbar-search-container-persistent + .bx--toolbar-content {
  position: relative;
  width: auto; }

.bx--toolbar-search-container-persistent .bx--search {
  position: initial; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-magnifier {
  left: 1rem; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-input {
  height: 3rem;
  padding-left: 3rem;
  border: none; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-input:focus:not([disabled]) {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-input:hover:not([disabled]) {
  background: #f3f3f3; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-input:active:not([disabled]),
.bx--toolbar-search-container-persistent .bx--search .bx--search-input:not(:placeholder-shown) {
  background: #f3f3f3; }

.bx--toolbar-search-container-persistent .bx--search .bx--search-close {
  height: 3rem;
  width: 3rem; }

.bx--batch-actions--active ~ .bx--toolbar-search-container,
.bx--batch-actions--active ~ .bx--toolbar-content {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transform: translate3d(0, 48px, 0);
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--batch-actions {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  height: 100%;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  will-change: transform;
  background-color: #0062ff;
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9), opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  transform: translate3d(0, 48px, 0); }

.bx--batch-actions:focus {
  outline: 1px solid #0062ff; }

.bx--batch-actions--active {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: all;
  transform: translate3d(0, 0, 0); }

.bx--action-list {
  position: absolute;
  top: 0;
  right: 0;
  display: flex; }

.bx--action-list .bx--btn {
  color: #ffffff; }

.bx--action-list .bx--btn .bx--btn__icon {
  fill: #ffffff;
  margin-left: 0.5rem; }

.bx--action-list .bx--btn .bx--btn__icon .st0 {
  fill: none; }

.bx--batch-download {
  padding: 0.04rem; }

.bx--action-list .bx--btn--primary:focus::before,
.bx--action-list .bx--btn--primary:focus::before,
.bx--action-list .bx--btn--primary::before,
.bx--action-list .bx--btn--primary::before,
.bx--action-list .bx--btn--primary:focus::after,
.bx--action-list .bx--btn--primary:focus::after,
.bx--action-list .bx--btn--primary::after,
.bx--action-list .bx--btn--primary::after {
  display: none; }

.bx--action-list .bx--btn--primary:focus {
  outline: 2px solid #ffffff;
  outline-offset: -0.08rem; }

.bx--action-list .bx--btn {
  min-width: 0; }

.bx--action-list .bx--btn--primary:nth-child(3):hover + .bx--btn--primary.bx--batch-summary__cancel::before,
.bx--action-list .bx--btn--primary:nth-child(3):focus + .bx--btn--primary.bx--batch-summary__cancel::before {
  opacity: 0; }

.bx--btn--primary.bx--batch-summary__cancel::before {
  display: block;
  position: absolute;
  opacity: 1;
  top: 0.6rem;
  left: 0;
  height: 1rem;
  width: 0.04rem;
  content: '';
  background-color: #ffffff;
  border: none;
  transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--btn--primary.bx--batch-summary__cancel:hover::before {
  opacity: 0;
  transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--batch-summary__cancel {
  padding-right: 1rem;
  position: relative; }

.bx--batch-summary {
  position: absolute;
  left: 0;
  margin-left: 1rem;
  display: flex;
  align-items: center;
  color: #ffffff; }

.bx--batch-summary__para {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px; }

.bx--table-toolbar--small {
  height: 1.28rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable,
  .bx--table-toolbar--small .bx--toolbar-search-container-persistent {
    height: 1.28rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable .bx--search .bx--search-input,
  .bx--table-toolbar--small .bx--toolbar-search-container-persistent .bx--search .bx--search-input {
    height: 1.28rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable .bx--search .bx--search-close,
  .bx--table-toolbar--small .bx--toolbar-search-container-persistent .bx--search .bx--search-close {
    height: 1.28rem;
    width: 1.28rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable .bx--search .bx--search-magnifier,
  .bx--table-toolbar--small .bx--toolbar-search-container-persistent .bx--search .bx--search-magnifier {
    height: 1.28rem;
    width: 1.28rem;
    padding: 0.5rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable {
    width: 1.28rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-expandable .bx--search .bx--search-input {
    padding-left: 2rem; }
  .bx--table-toolbar--small .bx--toolbar-search-container-active {
    flex: auto;
    transition: flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-input {
    visibility: visible; }
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-input:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px;
    background: #f3f3f3; }
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-input:active,
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-input:not(:placeholder-shown) {
    background: #f3f3f3; }
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-magnifier:focus,
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-magnifier:active,
  .bx--table-toolbar--small .bx--toolbar-search-container-active .bx--search .bx--search-magnifier:hover {
    outline: 2px solid transparent;
    outline-offset: -2px;
    background: transparent; }

.bx--table-toolbar--small .bx--batch-actions .bx--action-list {
  height: 1.28rem; }

.bx--table-toolbar--small .bx--toolbar-action {
  height: 1.28rem;
  width: 1.28rem;
  padding: 0.5rem; }

.bx--table-toolbar--small .bx--btn--primary {
  padding-top: 0.12rem;
  height: 1.28rem; }

.bx--table-toolbar--small .bx--btn--primary.bx--batch-summary__cancel::before {
  top: 0.32rem; }

.bx--table-toolbar--small .bx--toolbar-action ~ .bx--btn {
  height: 1.28rem;
  width: 6.4rem;
  overflow: hidden; }

.bx--data-table-container {
  min-width: 20rem;
  overflow-x: auto;
  padding-top: 0.125rem; }

.bx--data-table-header {
  background: #ffffff;
  padding: 1rem 0 1.5rem 1rem; }

.bx--data-table-header__title {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.625rem;
  letter-spacing: 0;
  color: #000000; }

.bx--data-table-header__description {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000; }

.bx--data-table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

.bx--data-table thead {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  background-color: #dcdcdc; }

.bx--data-table tbody {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  background-color: #ffffff;
  width: 100%; }

.bx--data-table tr {
  border: none;
  height: 3rem;
  width: 100%; }

.bx--data-table tbody tr,
.bx--data-table tbody tr td,
.bx--data-table tbody tr th {
  transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9); }

.bx--data-table tbody tr:hover {
  background: #f3f3f3; }

.bx--data-table tbody tr:hover td,
.bx--data-table tbody tr:hover th {
  color: #000000;
  background: #f3f3f3;
  border-bottom: 1px solid #f3f3f3;
  border-top: 1px solid #f3f3f3; }

.bx--data-table th,
.bx--data-table td {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  vertical-align: top;
  text-align: left; }

.bx--data-table th {
  color: #ffffff;
  background-color: #000000; }

.bx--data-table th:first-of-type:not(.bx--table-expand) {
  padding-left: 1rem; }

.bx--data-table th:last-of-type {
  position: relative;
  width: auto; }

.bx--data-table .bx--table-header-label {
  display: block;
  padding: 0.56rem 0;
  text-align: left; }

.bx--data-table td,
.bx--data-table tbody th {
  background: #ffffff;
  color: #000000;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #dcdcdc;
  padding: 0.56rem 0.75rem;
  padding-bottom: 0.52rem; }
  .bx--data-table td + td:first-of-type,
  .bx--data-table tbody th + td:first-of-type {
    padding-left: 0.75rem; }

@supports (-moz-appearance: none) {
  .bx--data-table td {
    background-clip: padding-box; } }

.bx--data-table td:first-of-type {
  padding-left: 1rem; }

.bx--data-table td:last-of-type {
  padding-right: 1rem; }

.bx--data-table .bx--table-column-menu,
.bx--data-table .bx--table-column-menu:last-of-type {
  width: 2.08rem;
  min-width: 2.08rem;
  padding-top: 0.5rem;
  padding-right: 0.5rem; }

.bx--data-table td.bx--table-column-menu {
  padding-bottom: 0; }

.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='false']:hover {
  background: #dcdcdc; }

.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='false']:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='true']:focus {
  outline: none; }

@media screen and (hover: hover), (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .bx--data-table td.bx--table-column-menu .bx--overflow-menu .bx--overflow-menu__icon {
    opacity: 0; } }

.bx--data-table.bx--data-table--visible-overflow-menu td.bx--table-column-menu .bx--overflow-menu .bx--overflow-menu__icon,
.bx--data-table td.bx--table-column-menu .bx--overflow-menu:hover .bx--overflow-menu__icon,
.bx--data-table td.bx--table-column-menu .bx--overflow-menu:focus .bx--overflow-menu__icon,
.bx--data-table tr:hover td.bx--table-column-menu .bx--overflow-menu .bx--overflow-menu__icon {
  opacity: 1; }

.bx--table-row--menu-option .bx--overflow-menu-options__btn .bx--overflow-menu-options__option-content svg {
  margin-right: 0.5rem;
  position: relative;
  top: 0.12rem; }

.bx--data-table--zebra tbody tr:nth-child(even) td {
  border-bottom: 1px solid #ffffff; }

.bx--data-table--zebra tbody tr:nth-child(odd) td {
  background-color: #ffffff;
  border-bottom: 1px solid #ffffff;
  border-top: 1px solid #ffffff; }

.bx--data-table--zebra tbody tr:hover td {
  background-color: #f3f3f3;
  border-bottom: 1px solid #f3f3f3;
  border-top: 1px solid #f3f3f3; }

.bx--table-column-checkbox .bx--checkbox-label {
  padding-left: 1rem; }

.bx--data-table th.bx--table-column-checkbox {
  position: relative;
  background: #dcdcdc;
  padding: 0.48rem 0.5rem 0 1rem;
  width: 1.76rem;
  transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9); }

.bx--data-table td.bx--table-column-checkbox {
  padding-top: 0.44rem;
  padding-bottom: 0; }

th.bx--table-column-checkbox:hover {
  background: #cacaca; }

.bx--data-table--zebra tbody tr:nth-child(odd).bx--data-table--selected td,
tr.bx--data-table--selected td {
  color: #000000;
  background-color: #dcdcdc;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #bebebe; }

.bx--data-table--zebra tbody tr:first-of-type:nth-child(odd).bx--data-table--selected td,
tr.bx--data-table--selected:first-of-type td {
  border-top: 1px solid #bebebe; }

.bx--data-table--zebra tbody tr:last-of-type:nth-child(odd).bx--data-table--selected td,
.bx--data-table--zebra tbody tr:last-of-type:nth-child(even).bx--data-table--selected td,
tr.bx--data-table--selected:last-of-type td {
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc; }

.bx--data-table--zebra tbody tr:nth-child(even).bx--data-table--selected td {
  border-bottom: 1px solid #bebebe; }

.bx--data-table--zebra tbody tr:nth-child(even).bx--data-table--selected:hover td {
  border-bottom: 1px solid #cacaca; }

.bx--data-table--zebra tbody tr:nth-child(odd).bx--data-table--selected:hover td,
.bx--data-table tbody .bx--data-table--selected:hover td {
  color: #000000;
  background: #cacaca;
  border-top: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca; }

.bx--data-table--selected .bx--overflow-menu .bx--overflow-menu__icon {
  opacity: 1; }

.bx--data-table--compact thead tr,
.bx--data-table--compact tbody tr {
  height: 0.96rem; }

.bx--data-table--compact .bx--table-header-label {
  padding: 0.08rem 0; }

.bx--data-table--compact td {
  padding-top: 0.08rem;
  padding-bottom: 0.08rem; }

.bx--data-table--compact .bx--overflow-menu {
  width: 1.28rem;
  height: 0.92rem; }

.bx--data-table.bx--data-table--compact .bx--table-column-menu {
  padding-top: 0; }

.bx--data-table.bx--data-table--compact .bx--table-column-checkbox {
  padding-top: 0;
  padding-bottom: 0; }

.bx--data-table.bx--data-table--compact .bx--table-column-checkbox .bx--checkbox-label {
  min-height: 0.92rem;
  height: 0.92rem; }

.bx--data-table--short thead tr,
.bx--data-table--short tbody tr {
  height: 1.28rem; }

.bx--data-table--short .bx--table-header-label {
  padding: 0.28rem 0; }

.bx--data-table--short td {
  padding-top: 0.28rem;
  padding-bottom: 0.24rem; }

.bx--data-table--short .bx--overflow-menu {
  height: 1.24rem; }

.bx--data-table.bx--data-table--short .bx--table-column-menu {
  padding-top: 0; }

.bx--data-table.bx--data-table--short .bx--table-column-checkbox {
  padding-top: 0.12rem;
  padding-bottom: 0.12rem; }

.bx--data-table--tall thead tr,
.bx--data-table--tall tbody tr {
  height: 2.56rem; }

.bx--data-table--tall .bx--table-header-label {
  padding: 0.64rem 0; }

.bx--data-table--tall td {
  padding-top: 1rem; }

.bx--data-table--cell-secondary-text {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px; }

.bx--data-table.bx--data-table--tall .bx--table-column-menu,
.bx--data-table.bx--data-table--tall .bx--table-column-checkbox {
  padding-top: 0.48rem; }

.bx--data-table--static {
  width: auto; }

.bx--data-table_inner-container {
  background-color: #dcdcdc;
  padding-top: 1.92rem;
  transform: translateZ(0); }

.bx--data-table--sticky-header {
  display: block;
  overflow-y: scroll; }
  .bx--data-table--sticky-header thead,
  .bx--data-table--sticky-header tbody,
  .bx--data-table--sticky-header tr,
  .bx--data-table--sticky-header th,
  .bx--data-table--sticky-header td {
    display: flex; }
  .bx--data-table--sticky-header thead {
    position: fixed;
    top: 0;
    width: 100%;
    overflow: scroll;
    -ms-overflow-style: none;
    will-change: transform; }
  .bx--data-table--sticky-header thead tr th {
    border-bottom: 1px solid #bebebe; }
  .bx--data-table--sticky-header tbody {
    flex-direction: column;
    overflow-x: scroll;
    -ms-overflow-style: none;
    will-change: transform; }
  .bx--data-table--sticky-header tr {
    min-height: 1.92rem;
    height: auto; }
  .bx--data-table--sticky-header tr.bx--data-table--selected:first-of-type td {
    border-top: none; }
  .bx--data-table--sticky-header thead::-webkit-scrollbar,
  .bx--data-table--sticky-header tbody::-webkit-scrollbar {
    display: none; }

@-moz-document url-prefix() {
  .bx--data-table--sticky-header thead,
  .bx--data-table--sticky-header tbody {
    scrollbar-width: none; } }
  .bx--data-table--sticky-header tbody tr:last-of-type {
    border-bottom: 0; }
  .bx--data-table--sticky-header th:not(.bx--table-column-checkbox):not(.bx--table-column-menu):not(.bx--table-expand-v2):not(.bx--table-column-icon),
  .bx--data-table--sticky-header td:not(.bx--table-column-checkbox):not(.bx--table-column-menu):not(.bx--table-expand-v2):not(.bx--table-column-icon) {
    width: 100%;
    min-width: 0; }
  .bx--data-table--sticky-header .bx--table-header-label {
    max-width: calc(100% - 10px);
    display: block;
    overflow-x: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

.bx--data-table--max-width {
  max-width: 36rem; }

.bx--data-table--sticky-header {
  max-height: 12rem; }

.bx--data-table tr.bx--parent-row:first-of-type td {
  border-top: 1px solid #dcdcdc; }

.bx--expandable-row--hidden td {
  border-top: 0;
  width: auto;
  padding: 1rem; }

tr.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] {
  height: 0;
  transition: height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] td {
  padding-top: 0;
  padding-bottom: 0;
  border: 0;
  background-color: #e5e5e5;
  transition: padding 150ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] td .bx--child-row-inner-container {
  overflow: hidden;
  max-height: 0; }

tr.bx--parent-row.bx--expandable-row + tr[data-child-row] {
  transition: height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row.bx--expandable-row + tr[data-child-row] td {
  padding-bottom: 0.92rem;
  transition: padding 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row.bx--expandable-row + tr[data-child-row] td .bx--child-row-inner-container {
  max-height: 100%; }

.bx--parent-row.bx--expandable-row > td,
.bx--parent-row.bx--expandable-row + tr[data-child-row] > td {
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #dcdcdc; }

.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] > td {
  box-shadow: none; }

.bx--parent-row.bx--expandable-row > td:first-of-type {
  box-shadow: none; }

tr.bx--parent-row:not(.bx--expandable-row) td,
tr.bx--parent-row.bx--expandable-row td,
tr.bx--parent-row.bx--expandable-row {
  transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row.bx--expandable-row + tr[data-child-row] td {
  transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

tr.bx--parent-row:not(.bx--expandable-row):first-of-type:hover td {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }

tr.bx--parent-row.bx--expandable-row:hover td {
  background-color: #e5e5e5;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #dcdcdc;
  color: #000000; }

tr.bx--parent-row.bx--expandable-row:hover td:first-of-type {
  border-bottom: 1px solid #e5e5e5; }

tr.bx--parent-row.bx--expandable-row:hover + tr[data-child-row] td {
  background-color: #e5e5e5;
  color: #000000;
  border-bottom: 1px solid #dcdcdc; }

tr.bx--expandable-row--hover + tr[data-child-row] td {
  border-bottom: 1px solid #dcdcdc; }

tr.bx--expandable-row--hover {
  background-color: #e5e5e5; }

tr.bx--expandable-row--hover td {
  background-color: #e5e5e5;
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #e5e5e5;
  color: #000000; }

tr.bx--parent-row.bx--expandable-row.bx--expandable-row--hover td:first-of-type {
  border-bottom: 1px solid #e5e5e5; }

.bx--data-table td.bx--table-expand {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 3rem;
  vertical-align: top;
  padding: 0; }

.bx--table-expand[data-previous-value='collapsed'] .bx--table-expand__svg {
  transform: rotate(270deg);
  transition: transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--table-expand__button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  width: 100%; }
  .bx--table-expand__button *,
  .bx--table-expand__button *:before,
  .bx--table-expand__button *:after {
    box-sizing: inherit; }
  .bx--table-expand__button::-moz-focus-inner {
    border: 0; }

.bx--data-table--short .bx--table-expand__button {
  height: auto; }

.bx--table-expand__button:focus {
  outline: 1px solid transparent; }

.bx--table-expand__button:focus .bx--table-expand__svg {
  box-shadow: inset 0px 0px 0px 1px #0062ff; }

.bx--table-expand__svg {
  fill: #000000;
  transform: rotate(90deg);
  transition: transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

th.bx--table-expand {
  position: relative;
  vertical-align: middle; }

th.bx--table-expand + th.bx--table-column-checkbox {
  padding-left: 0.5rem; }

tr.bx--parent-row.bx--expandable-row td.bx--table-expand + td::after {
  position: absolute;
  content: '';
  left: 0;
  bottom: -0.04rem;
  height: 0.04rem;
  width: 0.32rem;
  background: #ffffff; }

tr.bx--parent-row.bx--expandable-row:hover td.bx--table-expand + td::after,
tr.bx--parent-row.bx--expandable-row.bx--expandable-row--hover td.bx--table-expand + td::after {
  background: #e5e5e5; }

tr.bx--parent-row.bx--data-table--selected td.bx--table-expand + td::after {
  display: none; }

tr.bx--parent-row.bx--data-table--selected:first-of-type td {
  background: #dcdcdc;
  border-top: 1px solid #bebebe;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #bebebe; }

tr.bx--parent-row.bx--data-table--selected td {
  background: #dcdcdc;
  color: #000000;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #bebebe; }

tr.bx--parent-row.bx--data-table--selected:last-of-type td {
  background: #dcdcdc;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #dcdcdc; }

tr.bx--parent-row.bx--data-table--selected:not(.bx--expandable-row):hover td {
  background: #cacaca;
  border-top: 1px solid #cacaca;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #cacaca; }

tr.bx--parent-row.bx--data-table--selected.bx--expandable-row td,
tr.bx--parent-row.bx--data-table--selected.bx--expandable-row td:first-of-type {
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #dcdcdc; }

tr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover td,
tr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover td:first-of-type,
tr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover td,
tr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover td:first-of-type {
  background: #cacaca;
  border-top: 1px solid #cacaca;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #cacaca; }

tr.bx--parent-row.bx--data-table--selected.bx--expandable-row + tr[data-child-row] td {
  color: #000000;
  background-color: #e5e5e5;
  border-bottom: 1px solid transparent;
  box-shadow: 0 1px #bebebe;
  border-top: 1px solid #bebebe; }

tr.bx--parent-row.bx--data-table--selected.bx--expandable-row + tr[data-child-row]:last-of-type td {
  box-shadow: inset 0 -1px #bebebe;
  padding-bottom: 0.96rem; }

tr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover + tr[data-child-row] td,
tr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover + tr[data-child-row] td {
  background: #dcdcdc; }

.bx--data-table--sort th,
.bx--data-table--sort th:first-of-type:not(.bx--table-column-checkbox):not(.bx--table-expand) {
  padding: 0; }

.bx--data-table--sort th {
  height: 3rem;
  border-top: none;
  border-bottom: none; }

.bx--data-table--sort td {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

.bx--data-table--sort th:first-of-type .bx--table-sort {
  padding-left: 0.75rem; }

.bx--table-sort {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  position: relative;
  font: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: #ffffff;
  padding: 0 0.5rem;
  height: 100%;
  background-color: #000000;
  transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9), outline 70ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--table-sort *,
  .bx--table-sort *:before,
  .bx--table-sort *:after {
    box-sizing: inherit; }
  .bx--table-sort::-moz-focus-inner {
    border: 0; }

.bx--table-sort:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--table-sort:hover {
  color: #ffffff;
  background: #000000; }

.bx--table-sort:focus svg,
.bx--table-sort:hover svg {
  opacity: 1; }

.bx--table-sort .bx--table-sort__icon-inactive {
  display: block; }

.bx--table-sort .bx--table-sort__icon {
  display: none; }

.bx--table-sort__icon-unsorted {
  position: relative;
  left: 0.08rem;
  margin-left: 0.5rem;
  margin-right: 0;
  opacity: 0;
  fill: #ffffff;
  width: auto;
  min-width: 1rem; }

.bx--table-sort.bx--table-sort--active .bx--table-sort__icon-unsorted {
  display: none; }

.bx--table-sort.bx--table-sort--active .bx--table-sort__icon {
  display: block;
  opacity: 1; }

.bx--table-sort--ascending .bx--table-sort__icon {
  transform: rotate(180deg); }

.bx--table-sort__icon {
  position: relative;
  left: 0.08rem;
  margin-left: 0.5rem;
  margin-right: 0;
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  transform: rotate(0);
  opacity: 0;
  fill: #ffffff;
  width: auto;
  min-width: 1rem; }

.bx--data-table--compact.bx--data-table--sort th {
  height: 0.96rem; }

.bx--data-table--compact.bx--data-table--sort th .bx--table-sort {
  padding-top: 0;
  padding-bottom: 0; }

.bx--data-table--short.bx--data-table--sort th {
  height: 1.28rem; }

.bx--data-table--short.bx--data-table--sort th .bx--table-sort {
  padding-top: 0;
  padding-bottom: 0; }

.bx--data-table--tall.bx--data-table--sort th {
  height: 2.56rem; }

.bx--data-table--tall.bx--data-table--sort th .bx--table-sort {
  padding-top: 0;
  padding-bottom: 0; }

.bx--data-table--tall.bx--data-table--sort th .bx--table-sort svg {
  align-self: flex-start;
  top: 0.5rem; }

.bx--data-table--tall.bx--data-table--sort th .bx--table-sort .bx--table-header-label {
  align-self: flex-start;
  position: relative;
  top: -0.32rem;
  max-height: 3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; }

.bx--inline-edit-label {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .bx--inline-edit-label:hover .bx--inline-edit-label__icon {
    opacity: 1; }

.bx--inline-edit-label--inactive {
  display: none; }

.bx--inline-edit-label__action {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer; }
  .bx--inline-edit-label__action *,
  .bx--inline-edit-label__action *:before,
  .bx--inline-edit-label__action *:after {
    box-sizing: inherit; }
  .bx--inline-edit-label__action::-moz-focus-inner {
    border: 0; }
  .bx--inline-edit-label__action:hover {
    cursor: pointer; }
  .bx--inline-edit-label__action:focus {
    outline: 1px solid #0062ff;
    padding: 0.125rem; }
    .bx--inline-edit-label__action:focus .bx--inline-edit-label__icon {
      width: auto;
      opacity: 1; }

.bx--inline-edit-label__icon {
  fill: #000000;
  opacity: 0; }

.bx--inline-edit-input {
  display: none; }

.bx--inline-edit-input--active {
  display: block;
  margin-left: -0.48rem; }
  .bx--inline-edit-input--active input {
    padding-left: 0.75rem; }

.bx--data-table--short input {
  height: 1.28rem; }

.bx--data-table--short select {
  padding: 0.45rem 2.75rem 0.45rem 1rem; }

.bx--data-table--short .bx--select__arrow {
  top: 0.875rem; }

.bx--data-table.bx--skeleton th {
  border-bottom: 1px solid #0062ff;
  vertical-align: middle; }
  .bx--data-table.bx--skeleton th:nth-child(3n + 1) {
    width: 10%; }
  .bx--data-table.bx--skeleton th:nth-child(3n + 2) {
    width: 30%; }
  .bx--data-table.bx--skeleton th:nth-child(3n + 3) {
    width: 15%; }

.bx--data-table.bx--skeleton th span,
.bx--data-table.bx--skeleton td span {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 75%;
  height: 1rem;
  display: block; }
  .bx--data-table.bx--skeleton th span:hover, .bx--data-table.bx--skeleton th span:focus, .bx--data-table.bx--skeleton th span:active,
  .bx--data-table.bx--skeleton td span:hover,
  .bx--data-table.bx--skeleton td span:focus,
  .bx--data-table.bx--skeleton td span:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--data-table.bx--skeleton th span:before,
  .bx--data-table.bx--skeleton td span:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--data-table.bx--skeleton th span:before,
      .bx--data-table.bx--skeleton td span:before {
        animation: none; } }

.bx--data-table.bx--skeleton tr:hover td {
  border-color: #dcdcdc;
  background: transparent; }
  .bx--data-table.bx--skeleton tr:hover td:first-of-type, .bx--data-table.bx--skeleton tr:hover td:last-of-type {
    border-color: #dcdcdc; }

.bx--data-table-v2.bx--skeleton .bx--table-sort-v2 {
  pointer-events: none; }

.bx--structured-list--selection .bx--structured-list-td,
.bx--structured-list--selection .bx--structured-list-th {
  padding-left: 1rem;
  padding-right: 1rem; }
  .bx--structured-list--selection .bx--structured-list-td:first-child,
  .bx--structured-list--selection .bx--structured-list-th:first-child {
    padding-left: 1rem;
    padding-right: 1rem; }

.bx--structured-list-input {
  display: none; }

.bx--structured-list {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: table;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 5rem;
  background-color: transparent; }
  .bx--structured-list *,
  .bx--structured-list *:before,
  .bx--structured-list *:after {
    box-sizing: inherit; }
  .bx--structured-list.bx--structured-list--condensed .bx--structured-list-td,
  .bx--structured-list.bx--structured-list--condensed .bx--structured-list-th {
    padding: 0.5rem;
    padding-left: 0; }

.bx--structured-list-row {
  display: table-row;
  border-bottom: 1px solid #dcdcdc;
  transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--structured-list--selection .bx--structured-list-row:hover:not(.bx--structured-list-row--header-row):not(.bx--structured-list-row--selected) {
  background-color: #e5e5e5;
  cursor: pointer;
  border-bottom: 1px solid #e5e5e5; }

.bx--structured-list-row.bx--structured-list-row--selected {
  background-color: #dcdcdc; }

.bx--structured-list-row.bx--structured-list-row--header-row {
  border-bottom: 1px solid #dcdcdc;
  cursor: inherit; }

.bx--structured-list-row:focus:not(.bx--structured-list-row--header-row) {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--structured-list--selection .bx--structured-list-row:hover:not(.bx--structured-list-row--header-row) > .bx--structured-list-td,
.bx--structured-list-row.bx--structured-list-row--selected > .bx--structured-list-td {
  color: #000000; }

.bx--structured-list--selection .bx--structured-list-row:hover:not(.bx--structured-list-row--header-row) > .bx--structured-list-td {
  border-top: 1px solid #ffffff; }

.bx--structured-list-thead {
  display: table-header-group;
  vertical-align: middle; }

.bx--structured-list-th {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: table-cell;
  font-weight: 600;
  height: 1.6rem;
  text-align: left;
  text-transform: none;
  vertical-align: bottom; }
  .bx--structured-list-th *,
  .bx--structured-list-th *:before,
  .bx--structured-list-th *:after {
    box-sizing: inherit; }

.bx--structured-list-tbody {
  display: table-row-group;
  vertical-align: middle; }

.bx--structured-list-td {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  line-height: 1.3125rem;
  position: relative;
  display: table-cell;
  max-width: 36rem;
  transition: color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--structured-list-td *,
  .bx--structured-list-td *:before,
  .bx--structured-list-td *:after {
    box-sizing: inherit; }

.bx--structured-list-th {
  color: #000000; }

.bx--structured-list-td {
  color: #565656; }

.bx--structured-list-content--nowrap {
  white-space: nowrap; }

.bx--structured-list-svg {
  display: inline-block;
  fill: transparent;
  vertical-align: middle;
  transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--structured-list-row:hover .bx--structured-list-svg {
  fill: #a4a4a4; }

.bx--structured-list-input:checked + .bx--structured-list-row .bx--structured-list-svg,
.bx--structured-list-input:checked + .bx--structured-list-td .bx--structured-list-svg {
  fill: #000000; }

.bx--structured-list.bx--skeleton .bx--structured-list-th:first-child {
  width: 8%; }

.bx--structured-list.bx--skeleton .bx--structured-list-th:nth-child(3n + 2) {
  width: 30%; }

.bx--structured-list.bx--skeleton .bx--structured-list-th:nth-child(3n + 3) {
  width: 15%; }

.bx--structured-list.bx--skeleton .bx--structured-list-th span {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 75%;
  height: 1rem;
  display: block; }
  .bx--structured-list.bx--skeleton .bx--structured-list-th span:hover, .bx--structured-list.bx--skeleton .bx--structured-list-th span:focus, .bx--structured-list.bx--skeleton .bx--structured-list-th span:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {
        animation: none; } }

.bx--structured-list.bx--skeleton .bx--structured-list-th span {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 75%;
  height: 1rem;
  display: block; }
  .bx--structured-list.bx--skeleton .bx--structured-list-th span:hover, .bx--structured-list.bx--skeleton .bx--structured-list-th span:focus, .bx--structured-list.bx--skeleton .bx--structured-list-th span:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {
        animation: none; } }

.bx--structured-list.bx--structured-list--selection.bx--skeleton .bx--structured-list-th:first-child {
  width: 5%; }
  .bx--structured-list.bx--structured-list--selection.bx--skeleton .bx--structured-list-th:first-child span {
    display: none; }

.bx--snippet {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline; }
  .bx--snippet *,
  .bx--snippet *:before,
  .bx--snippet *:after {
    box-sizing: inherit; }

.bx--snippet code {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px; }

.bx--snippet--inline {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  position: relative;
  display: inline;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 4px;
  background-color: #ffffff;
  color: #000000;
  cursor: pointer; }
  .bx--snippet--inline *,
  .bx--snippet--inline *:before,
  .bx--snippet--inline *:after {
    box-sizing: inherit; }
  .bx--snippet--inline:hover {
    background-color: #dcdcdc; }
  .bx--snippet--inline:active {
    background-color: #bebebe; }
  .bx--snippet--inline:focus {
    outline: none;
    border: 2px solid #0062ff; }

.bx--snippet--inline code {
  padding: 0 0.5rem; }

.bx--snippet--inline.bx--snippet--light {
  background-color: #f3f3f3; }
  .bx--snippet--inline.bx--snippet--light:hover {
    background-color: rgba(61, 61, 61, 0.1); }

.bx--snippet--single {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  background: #f3f3f3;
  border: 1px solid #dcdcdc;
  position: relative;
  max-width: 24rem;
  width: 100%;
  border: none;
  max-width: 30.4rem;
  min-width: 12.8rem;
  height: 2.5rem;
  padding: 0 56px 0 1rem; }

.bx--snippet--single .bx--snippet-container {
  display: flex;
  align-items: center;
  overflow-x: auto;
  position: relative;
  padding: 0 0 1rem 0;
  height: 2.24rem; }

.bx--snippet--single pre {
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  padding-right: 0.5rem; }

.bx--snippet--single::after {
  width: 0.64rem;
  height: 100%;
  content: '';
  position: absolute;
  top: 0;
  right: 2.24rem;
  background-image: linear-gradient(to right, transparent, #ffffff); }

.bx--snippet--multi {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  background: #f3f3f3;
  border: 1px solid #dcdcdc;
  position: relative;
  max-width: 24rem;
  width: 100%;
  border: none;
  padding: 1rem;
  min-width: 12.8rem;
  max-width: 100%; }

.bx--snippet--multi .bx--snippet-container {
  overflow: hidden;
  position: relative;
  max-height: 9.52rem;
  min-height: 2.24rem;
  transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--snippet--multi.bx--snippet--expand .bx--snippet-container {
  max-height: 60rem;
  transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--snippet--multi .bx--snippet-container pre {
  overflow: hidden;
  padding-bottom: 0.96rem; }

.bx--snippet--multi.bx--snippet--expand .bx--snippet-container pre {
  overflow-x: scroll; }

.bx--snippet--multi .bx--snippet-container pre::after {
  width: 0.64rem;
  height: 100%;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  background-image: linear-gradient(to right, transparent, #ffffff); }

.bx--snippet--multi .bx--snippet-container pre code {
  overflow: hidden; }

.bx--snippet__icon {
  fill: #000000;
  height: 0.64rem;
  width: 0.64rem;
  transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--snippet-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  background-color: #ffffff;
  outline: none;
  padding: 0;
  height: 2.5rem;
  width: 2.5rem;
  overflow: visible; }
  .bx--snippet-button *,
  .bx--snippet-button *:before,
  .bx--snippet-button *:after {
    box-sizing: inherit; }
  .bx--snippet-button:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px;
    outline-color: #0062ff; }

.bx--snippet--multi .bx--snippet-button {
  height: 2rem;
  width: 2rem;
  top: 0.5rem;
  right: 0.5rem; }

.bx--snippet-button:hover {
  background: #e5e5e5; }

.bx--snippet-button:active {
  background-color: #bebebe; }

.bx--btn--copy__feedback {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  z-index: 8000;
  font-weight: 400;
  left: inherit;
  top: 0.75rem;
  right: 1.25rem; }

.bx--btn--copy__feedback:before, .bx--btn--copy__feedback:after {
  background: #3d3d3d; }

.bx--btn--copy__feedback:after {
  border: none; }

button.bx--btn.bx--snippet-btn--expand {
  display: inline-flex;
  align-items: center;
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  padding: 0.5rem;
  padding-left: 1rem;
  color: #000000;
  background-color: #ffffff; }

button.bx--btn.bx--snippet-btn--expand .bx--snippet-btn--text {
  position: relative;
  top: -0.04rem; }

.bx--snippet-btn--expand--hide.bx--snippet-btn--expand {
  display: none; }

.bx--snippet-btn--expand .bx--icon-chevron--down {
  fill: #000000;
  margin-left: 0.5rem;
  margin-bottom: 0.04rem;
  transform: rotate(0deg);
  transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

button.bx--btn.bx--snippet-btn--expand:hover {
  background: #e5e5e5;
  color: #000000; }

.bx--snippet-btn--expand:active {
  background-color: #bebebe; }

.bx--snippet-btn--expand:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--snippet--expand .bx--snippet-btn--expand .bx--icon-chevron--down {
  transform: rotate(180deg);
  transition: transform 240ms; }

.bx--snippet--code.bx--skeleton {
  height: 3.92rem; }

.bx--snippet--terminal.bx--skeleton {
  height: 2.24rem; }

.bx--snippet.bx--skeleton .bx--snippet-container {
  height: 100%; }

.bx--snippet.bx--skeleton code {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 1rem;
  display: block; }
  .bx--snippet.bx--skeleton code:hover, .bx--snippet.bx--skeleton code:focus, .bx--snippet.bx--skeleton code:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--snippet.bx--skeleton code:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--snippet.bx--skeleton code:before {
        animation: none; } }

.bx--snippet-button .bx--btn--copy__feedback {
  top: 1rem;
  left: 1rem;
  right: auto; }

.bx--snippet--inline .bx--btn--copy__feedback {
  right: auto;
  left: 50%; }

bx--snippet--multi.bx--skeleton {
  height: 3.92rem; }

.bx--snippet--single.bx--skeleton {
  height: 2.24rem; }

.bx--snippet.bx--skeleton .bx--snippet-container {
  height: 100%; }

.bx--snippet.bx--skeleton span {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 1rem;
  display: block;
  margin-top: 0.5rem; }
  .bx--snippet.bx--skeleton span:hover, .bx--snippet.bx--skeleton span:focus, .bx--snippet.bx--skeleton span:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--snippet.bx--skeleton span:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--snippet.bx--skeleton span:before {
        animation: none; } }
  .bx--snippet.bx--skeleton span:first-child {
    margin: 0; }
  .bx--snippet.bx--skeleton span:nth-child(2) {
    width: 85%; }
  .bx--snippet.bx--skeleton span:nth-child(3) {
    width: 95%; }

.bx--snippet--single.bx--skeleton .bx--snippet-container {
  padding-bottom: 0; }

.bx--snippet--inline .bx--btn--copy__feedback {
  right: auto; }

.bx--snippet--code.bx--skeleton {
  height: 3.92rem; }

.bx--snippet--terminal.bx--skeleton {
  height: 2.24rem; }

.bx--snippet.bx--skeleton .bx--snippet-container {
  height: 100%; }

.bx--snippet.bx--skeleton code {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 1rem;
  display: block; }
  .bx--snippet.bx--skeleton code:hover, .bx--snippet.bx--skeleton code:focus, .bx--snippet.bx--skeleton code:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--snippet.bx--skeleton code:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--snippet.bx--skeleton code:before {
        animation: none; } }

.bx--overflow-menu__trigger {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%; }
  .bx--overflow-menu__trigger *,
  .bx--overflow-menu__trigger *:before,
  .bx--overflow-menu__trigger *:after {
    box-sizing: inherit; }
  .bx--overflow-menu__trigger::-moz-focus-inner {
    border: 0; }

.bx--overflow-menu,
.bx--overflow-menu__trigger {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  outline: 2px solid transparent;
  outline-offset: -2px;
  position: relative;
  width: 1.28rem;
  height: 1.28rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--overflow-menu *,
  .bx--overflow-menu *:before,
  .bx--overflow-menu *:after,
  .bx--overflow-menu__trigger *,
  .bx--overflow-menu__trigger *:before,
  .bx--overflow-menu__trigger *:after {
    box-sizing: inherit; }
  .bx--overflow-menu:focus,
  .bx--overflow-menu__trigger:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--overflow-menu:hover,
  .bx--overflow-menu__trigger:hover {
    background-color: #e5e5e5; }

.bx--overflow-menu__trigger.bx--tooltip--a11y.bx--tooltip__trigger:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }
  .bx--overflow-menu__trigger.bx--tooltip--a11y.bx--tooltip__trigger:focus svg {
    outline: none; }

.bx--overflow-menu.bx--overflow-menu--open,
.bx--overflow-menu.bx--overflow-menu--open .bx--overflow-menu__trigger {
  background-color: #ffffff;
  transition: none;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3); }

.bx--overflow-menu__icon {
  height: 0.64rem;
  width: 0.64rem;
  fill: #000000; }

.bx--overflow-menu-options {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
  display: none;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  z-index: 10000;
  background-color: #ffffff;
  width: 6.4rem;
  list-style: none;
  top: 32px;
  left: 0; }
  .bx--overflow-menu-options *,
  .bx--overflow-menu-options *:before,
  .bx--overflow-menu-options *:after {
    box-sizing: inherit; }
  .bx--overflow-menu-options::after {
    content: '';
    position: absolute;
    display: block;
    background-color: #ffffff;
    transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }

.bx--overflow-menu-options[data-floating-menu-direction='bottom']::after {
  top: -0.12rem;
  left: 0;
  width: 1.28rem;
  height: 0.12rem; }

.bx--overflow-menu-options[data-floating-menu-direction='top']::after {
  bottom: -0.24rem;
  left: 0;
  width: 1.28rem;
  height: 0.24rem; }

.bx--overflow-menu-options[data-floating-menu-direction='left']::after {
  right: -0.24rem;
  top: 0;
  height: 1.28rem;
  width: 0.24rem; }

.bx--overflow-menu-options[data-floating-menu-direction='right']::after {
  top: 0;
  left: -0.24rem;
  height: 1.28rem;
  width: 0.24rem; }

.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='top']::after,
.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='bottom']::after {
  left: auto;
  right: 0; }

.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='left']::after,
.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='right']::after {
  top: auto;
  bottom: 0; }

.bx--overflow-menu-options--open {
  display: flex; }

.bx--overflow-menu-options__option {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
  background-color: transparent;
  align-items: center;
  width: 100%;
  height: 1.6rem;
  padding: 0;
  transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--overflow-menu-options__option *,
  .bx--overflow-menu-options__option *:before,
  .bx--overflow-menu-options__option *:after {
    box-sizing: inherit; }

.bx--overflow-menu--divider {
  border-top: 1px solid #dcdcdc; }

a.bx--overflow-menu-options__btn::before {
  content: '';
  height: 100%;
  vertical-align: middle;
  display: inline-block; }

.bx--overflow-menu-options__btn {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  font-weight: 400;
  width: 100%;
  height: 100%;
  border: none;
  display: inline-flex;
  align-items: center;
  background-color: transparent;
  text-align: left;
  padding: 0 1rem;
  cursor: pointer;
  color: #565656;
  max-width: 11.25rem;
  transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9), color 110ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--overflow-menu-options__btn:hover {
    color: #000000; }
  .bx--overflow-menu-options__btn:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--overflow-menu-options__btn::-moz-focus-inner {
    border: none; }

.bx--overflow-menu-options__btn svg {
  fill: #565656; }

.bx--overflow-menu-options__btn:hover svg {
  fill: #000000; }

.bx--overflow-menu-options__option-content {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.bx--overflow-menu-options__option:hover {
  background-color: #e5e5e5; }

.bx--overflow-menu-options__option--danger {
  border-top: 1px solid #dcdcdc; }

.bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:hover,
.bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:focus {
  color: #ffffff;
  background-color: #da1e28; }
  .bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:hover svg,
  .bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:focus svg {
    fill: #ffffff; }

.bx--overflow-menu-options__option--disabled:hover {
  background-color: #ffffff;
  cursor: not-allowed; }

.bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn {
  color: #bebebe;
  pointer-events: none; }
  .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:hover, .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:active, .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:focus {
    outline: 2px solid transparent;
    outline-offset: -2px;
    background-color: #ffffff; }

.bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn svg {
  fill: #bebebe; }

.bx--overflow-menu--flip {
  left: -140px; }
  .bx--overflow-menu--flip:before {
    left: 145px; }

.bx--content-switcher {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  height: 1.6rem; }

.bx--content-switcher--disabled {
  cursor: not-allowed; }

.bx--content-switcher-btn {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  width: 100%;
  padding: 0.5rem 1rem;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
  text-decoration: none;
  border: none;
  color: #565656;
  transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  position: relative; }
  .bx--content-switcher-btn *,
  .bx--content-switcher-btn *:before,
  .bx--content-switcher-btn *:after {
    box-sizing: inherit; }
  .bx--content-switcher-btn:focus {
    box-shadow: inset 0 0 0 2px #0062ff;
    z-index: 3; }
  .bx--content-switcher-btn:hover {
    cursor: pointer; }
  .bx--content-switcher-btn:hover, .bx--content-switcher-btn:active {
    background-color: #e5e5e5;
    color: #000000;
    z-index: 3; }
  .bx--content-switcher-btn:disabled {
    color: #bebebe;
    background-color: #ffffff;
    pointer-events: none; }
    .bx--content-switcher-btn:disabled:hover {
      cursor: not-allowed; }

.bx--content-switcher-btn:first-child {
  border-top-left-radius: 0.16rem;
  border-bottom-left-radius: 0.16rem; }

.bx--content-switcher-btn:last-child {
  border-top-right-radius: 0.16rem;
  border-bottom-right-radius: 0.16rem; }

.bx--content-switcher-btn:not(:first-of-type)::before {
  content: '';
  display: block;
  height: 0.64rem;
  width: 0.04rem;
  background-color: #dcdcdc;
  position: absolute;
  z-index: 2;
  left: 0; }

.bx--content-switcher-btn.bx--content-switcher--selected::before,
.bx--content-switcher-btn.bx--content-switcher--selected + .bx--content-switcher-btn::before,
.bx--content-switcher-btn:focus::before,
.bx--content-switcher-btn:focus + .bx--content-switcher-btn::before,
.bx--content-switcher-btn:hover::before,
.bx--content-switcher-btn:hover + .bx--content-switcher-btn::before {
  background-color: transparent; }

.bx--content-switcher__icon {
  fill: #565656;
  transition: fill 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--content-switcher__icon + span {
  margin-left: 0.5rem; }

.bx--content-switcher__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%; }

.bx--content-switcher-btn:hover .bx--content-switcher__icon,
.bx--content-switcher-btn:focus .bx--content-switcher__icon {
  fill: #000000; }

.bx--content-switcher-btn.bx--content-switcher--selected {
  background-color: #000000;
  color: #ffffff;
  z-index: 3; }
  .bx--content-switcher-btn.bx--content-switcher--selected:disabled {
    background-color: #8c8c8c;
    color: #bebebe; }

.bx--content-switcher-btn.bx--content-switcher--selected .bx--content-switcher__icon {
  fill: #ffffff; }

.flatpickr-calendar {
  background: transparent;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  text-align: center;
  padding: 0;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 315px;
  box-sizing: border-box;
  touch-action: manipulation;
  background: #fff;
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); }

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  visibility: visible;
  overflow: visible;
  max-height: 640px; }

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999; }

.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 110ms cubic-bezier(0, 0, 0.38, 0.9);
  animation: fpFadeInDown 110ms cubic-bezier(0, 0, 0.38, 0.9); }

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px; }

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px); }

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block; }

.flatpickr-calendar.hasWeeks {
  width: auto; }

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0; }

.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6; }

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto; }

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px; }

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.rightMost:after {
  left: auto;
  right: 22px; }

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px; }

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px; }

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%; }

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6; }

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff; }

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%; }

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6; }

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff; }

.flatpickr-calendar:focus {
  outline: 0; }

.flatpickr-wrapper {
  position: relative;
  display: inline-block; }

.flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 28px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden; }

.flatpickr-prev-month,
.flatpickr-next-month {
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0px;
  line-height: 16px;
  height: 28px;
  padding: 10px calc(3.57% - 1.5px);
  z-index: 3; }

.flatpickr-prev-month i,
.flatpickr-next-month i {
  position: relative; }

.flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */ }

/*
        /*rtl:begin:ignore*/
/*
        /*rtl:end:ignore*/
.flatpickr-prev-month.flatpickr-next-month,
.flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */ }

/*
        /*rtl:begin:ignore*/
/*
        /*rtl:end:ignore*/
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
  color: #959ea9; }

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
  fill: #f64747; }

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  width: 14px; }

.flatpickr-prev-month svg path,
.flatpickr-next-month svg path {
  transition: fill 0.1s;
  fill: inherit; }

.numInputWrapper {
  position: relative;
  height: auto; }

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block; }

.numInputWrapper input {
  width: 100%; }

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.05);
  box-sizing: border-box; }

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1); }

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2); }

.numInputWrapper span:after {
  display: block;
  content: '';
  position: absolute;
  top: 33%; }

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0; }

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6); }

.numInputWrapper span.arrowDown {
  top: 50%; }

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6); }

.numInputWrapper span svg {
  width: inherit;
  height: auto; }

.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5); }

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05); }

.numInputWrapper:hover span {
  opacity: 1; }

.flatpickr-current-month {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 6.16px 0 0 0;
  height: 28px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px); }

.flatpickr-current-month.slideLeft {
  -webkit-transform: translate3d(-100%, 0px, 0px);
  transform: translate3d(-100%, 0px, 0px);
  -webkit-animation: fpFadeOut 400ms ease, fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeOut 400ms ease, fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-current-month.slideLeftNew {
  -webkit-transform: translate3d(100%, 0px, 0px);
  transform: translate3d(100%, 0px, 0px);
  -webkit-animation: fpFadeIn 400ms ease, fpSlideLeftNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeIn 400ms ease, fpSlideLeftNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-current-month.slideRight {
  -webkit-transform: translate3d(100%, 0px, 0px);
  transform: translate3d(100%, 0px, 0px);
  -webkit-animation: fpFadeOut 400ms ease, fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeOut 400ms ease, fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-current-month.slideRightNew {
  -webkit-transform: translate3d(0, 0, 0px);
  transform: translate3d(0, 0, 0px);
  -webkit-animation: fpFadeIn 400ms ease, fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeIn 400ms ease, fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 600;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0; }

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05); }

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  display: inline-block; }

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9); }

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9); }

.flatpickr-current-month input.cur-year {
  background: transparent;
  box-sizing: border-box;
  color: inherit;
  cursor: default;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: baseline; }

.flatpickr-current-month input.cur-year:focus {
  outline: 0; }

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none; }

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 315px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px; }

span.flatpickr-weekday {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  cursor: default;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  margin: 0;
  text-align: center;
  display: block;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0; }

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 315px; }

.flatpickr-days:focus {
  outline: 0; }

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 315px;
  min-width: 315px;
  max-width: 315px;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1; }

.flatpickr-calendar.animate .dayContainer.slideLeft {
  -webkit-animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-calendar.animate .dayContainer.slideLeft,
.flatpickr-calendar.animate .dayContainer.slideLeftNew {
  -webkit-transform: translate3d(-100%, 0px, 0px);
  transform: translate3d(-100%, 0px, 0px); }

.flatpickr-calendar.animate .dayContainer.slideLeftNew {
  -webkit-animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-calendar.animate .dayContainer.slideRight {
  -webkit-animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transform: translate3d(100%, 0px, 0px);
  transform: translate3d(100%, 0px, 0px); }

.flatpickr-calendar.animate .dayContainer.slideRightNew {
  -webkit-animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center; }

.flatpickr-day.week.selected {
  border-radius: 0;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; }

.flatpickr-weekwrapper {
  display: inline-block;
  float: left; }

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  box-shadow: 1px 0 0 #e6e6e6; }

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px; }

.flatpickr-weekwrapper span.flatpickr-day {
  display: block;
  width: 100%;
  max-width: none; }

.flatpickr-innerContainer {
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  box-sizing: border-box;
  overflow: hidden; }

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  box-sizing: border-box; }

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flatpickr-time:after {
  content: '';
  display: table;
  clear: both; }

.flatpickr-time .numInputWrapper {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left; }

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939; }

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939; }

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%; }

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%; }

.flatpickr-time input {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  cursor: pointer;
  color: #393939;
  font-size: 14px;
  position: relative;
  box-sizing: border-box; }

.flatpickr-time input.flatpickr-hour {
  font-weight: bold; }

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400; }

.flatpickr-time input:focus {
  outline: 0;
  border: 0; }

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  display: inline-block;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center; }

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400; }

.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #f0f0f0; }

.flatpickr-input[readonly] {
  cursor: pointer; }

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes fpSlideLeft {
  from {
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px); }
  to {
    -webkit-transform: translate3d(-100%, 0px, 0px);
    transform: translate3d(-100%, 0px, 0px); } }

@keyframes fpSlideLeft {
  from {
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px); }
  to {
    -webkit-transform: translate3d(-100%, 0px, 0px);
    transform: translate3d(-100%, 0px, 0px); } }

@-webkit-keyframes fpSlideLeftNew {
  from {
    -webkit-transform: translate3d(100%, 0px, 0px);
    transform: translate3d(100%, 0px, 0px); }
  to {
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px); } }

@keyframes fpSlideLeftNew {
  from {
    -webkit-transform: translate3d(100%, 0px, 0px);
    transform: translate3d(100%, 0px, 0px); }
  to {
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px); } }

@-webkit-keyframes fpSlideRight {
  from {
    -webkit-transform: translate3d(0, 0, 0px);
    transform: translate3d(0, 0, 0px); }
  to {
    -webkit-transform: translate3d(100%, 0px, 0px);
    transform: translate3d(100%, 0px, 0px); } }

@keyframes fpSlideRight {
  from {
    -webkit-transform: translate3d(0, 0, 0px);
    transform: translate3d(0, 0, 0px); }
  to {
    -webkit-transform: translate3d(100%, 0px, 0px);
    transform: translate3d(100%, 0px, 0px); } }

@-webkit-keyframes fpSlideRightNew {
  from {
    -webkit-transform: translate3d(-100%, 0, 0px);
    transform: translate3d(-100%, 0, 0px); }
  to {
    -webkit-transform: translate3d(0, 0, 0px);
    transform: translate3d(0, 0, 0px); } }

@keyframes fpSlideRightNew {
  from {
    -webkit-transform: translate3d(-100%, 0, 0px);
    transform: translate3d(-100%, 0, 0px); }
  to {
    -webkit-transform: translate3d(0, 0, 0px);
    transform: translate3d(0, 0, 0px); } }

@-webkit-keyframes fpFadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fpFadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@-webkit-keyframes fpFadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fpFadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.bx--date-picker {
  display: flex; }

.bx--date-picker--light .bx--date-picker__input {
  background: #f3f3f3; }

.bx--date-picker ~ .bx--label {
  order: 1; }

.bx--date-picker-container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }

.bx--date-picker-input__wrapper {
  display: flex;
  align-items: center; }
  .bx--date-picker-input__wrapper ~ .bx--form-requirement {
    max-height: 8rem;
    display: block;
    color: #da1e28;
    font-weight: 400;
    margin-top: 0.25rem;
    overflow: visible; }
    .bx--date-picker-input__wrapper ~ .bx--form-requirement::before {
      display: none; }

.bx--date-picker.bx--date-picker--simple .bx--date-picker__input {
  width: 4.8rem; }

.bx--date-picker.bx--date-picker--simple.bx--date-picker--short .bx--date-picker__input {
  width: 5.7rem; }

.bx--date-picker.bx--date-picker--single .bx--date-picker-container {
  max-width: 11.52rem; }

.bx--date-picker.bx--date-picker--single .bx--date-picker__input {
  width: 11.52rem; }

.bx--date-picker__input {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.32px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  display: block;
  position: relative;
  height: 1.6rem;
  max-width: 11.52rem;
  padding: 0 1rem;
  background-color: #ffffff;
  border: none;
  color: #000000;
  border-bottom: 1px solid #8c8c8c;
  transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9) all; }
  .bx--date-picker__input *,
  .bx--date-picker__input *:before,
  .bx--date-picker__input *:after {
    box-sizing: inherit; }
  .bx--date-picker__input:focus, .bx--date-picker__input.bx--focused {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--date-picker__input[data-invalid], .bx--date-picker__input[data-invalid]:focus {
    outline: 2px solid #da1e28;
    outline-offset: -2px; }
  .bx--date-picker__input:disabled {
    color: #bebebe;
    background-color: #f3f3f3;
    border-bottom: 1px solid transparent;
    cursor: not-allowed; }
  .bx--date-picker__input:disabled::placeholder {
    color: #bebebe; }
  .bx--date-picker__input:disabled:hover {
    border-bottom: 1px solid transparent; }
  .bx--date-picker__input::placeholder {
    color: #8c8c8c;
    opacity: 1; }

.bx--date-picker__icon {
  position: absolute;
  right: 1rem;
  fill: #000000;
  cursor: pointer;
  z-index: 1; }

.bx--date-picker__icon ~ .bx--date-picker__input {
  padding-right: 3rem; }

.bx--date-picker__input:disabled ~ .bx--date-picker__icon {
  fill: #bebebe;
  cursor: not-allowed; }

.bx--date-picker--range > .bx--date-picker-container:first-child {
  margin-right: 0.04rem; }

.bx--date-picker--range .bx--date-picker-container,
.bx--date-picker--range .bx--date-picker__input {
  width: 5.74rem; }

.bx--date-picker__calendar,
.flatpickr-calendar.open {
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.25rem 0.5rem 0.25rem;
  width: 11.52rem !important;
  height: 13.44rem;
  border-radius: 0;
  border: none;
  overflow: hidden;
  margin-top: -2px; }
  .bx--date-picker__calendar:before, .bx--date-picker__calendar:after,
  .flatpickr-calendar.open:before,
  .flatpickr-calendar.open:after {
    display: none; }
  .bx--date-picker__calendar:focus,
  .flatpickr-calendar.open:focus {
    outline: 1px solid #0062ff; }

.bx--date-picker__month,
.flatpickr-month {
  display: flex;
  align-items: center;
  width: 100%;
  height: 1.6rem;
  margin-bottom: 0.25rem; }

.bx--date-picker__month .flatpickr-prev-month,
.bx--date-picker__month .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 1.6rem;
  width: 1.6rem;
  padding: 0;
  fill: #000000;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--date-picker__month .flatpickr-prev-month:hover,
  .bx--date-picker__month .flatpickr-next-month:hover,
  .flatpickr-months .flatpickr-prev-month:hover,
  .flatpickr-months .flatpickr-next-month:hover {
    background-color: #e5e5e5; }

.flatpickr-current-month .numInputWrapper {
  width: 7ch; }

.bx--date-picker__month .flatpickr-current-month,
.flatpickr-month .flatpickr-current-month {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  padding: 0; }

.bx--date-picker__month .flatpickr-current-month svg,
.flatpickr-month .flatpickr-current-month svg {
  fill: #000000; }

.bx--date-picker__month .flatpickr-current-month .cur-month,
.flatpickr-month .flatpickr-current-month .cur-month {
  margin-right: 0.25rem;
  color: #000000; }

.bx--date-picker__month .numInputWrapper .numInput,
.flatpickr-month .numInputWrapper .numInput {
  font-weight: 600;
  color: #000000;
  background-color: #ffffff;
  border: none;
  border-radius: 0;
  padding: 0.25rem;
  -moz-appearance: textfield;
  /* Firefox */ }
  .bx--date-picker__month .numInputWrapper .numInput:focus,
  .flatpickr-month .numInputWrapper .numInput:focus {
    outline: 1px solid #0062ff; }
  .bx--date-picker__month .numInputWrapper .numInput::-webkit-outer-spin-button, .bx--date-picker__month .numInputWrapper .numInput::-webkit-inner-spin-button,
  .flatpickr-month .numInputWrapper .numInput::-webkit-outer-spin-button,
  .flatpickr-month .numInputWrapper .numInput::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
    /* <-- Apparently some margin are still there even though it's hidden */ }

.bx--date-picker__month .numInputWrapper span.arrowUp,
.bx--date-picker__month .numInputWrapper span.arrowDown,
.flatpickr-month .numInputWrapper span.arrowUp,
.flatpickr-month .numInputWrapper span.arrowDown {
  left: 2.6rem;
  border: none;
  width: 0.48rem; }
  .bx--date-picker__month .numInputWrapper span.arrowUp:hover,
  .bx--date-picker__month .numInputWrapper span.arrowDown:hover,
  .flatpickr-month .numInputWrapper span.arrowUp:hover,
  .flatpickr-month .numInputWrapper span.arrowDown:hover {
    background: none; }
    .bx--date-picker__month .numInputWrapper span.arrowUp:hover:after,
    .bx--date-picker__month .numInputWrapper span.arrowDown:hover:after,
    .flatpickr-month .numInputWrapper span.arrowUp:hover:after,
    .flatpickr-month .numInputWrapper span.arrowDown:hover:after {
      border-bottom-color: #0062ff;
      border-top-color: #0062ff; }
  .bx--date-picker__month .numInputWrapper span.arrowUp:after,
  .bx--date-picker__month .numInputWrapper span.arrowDown:after,
  .flatpickr-month .numInputWrapper span.arrowUp:after,
  .flatpickr-month .numInputWrapper span.arrowDown:after {
    border-bottom-color: #000000;
    border-top-color: #000000; }

.bx--date-picker__month .numInputWrapper span.arrowUp,
.flatpickr-month .numInputWrapper span.arrowUp {
  top: 4px; }

.bx--date-picker__month .numInputWrapper span.arrowDown,
.flatpickr-month .numInputWrapper span.arrowDown {
  top: 11px; }

span.bx--date-picker__weekday,
span.flatpickr-weekday {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000;
  font-weight: 400; }

.bx--date-picker__day,
.flatpickr-day {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  height: 1.6rem;
  width: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000000;
  border-radius: 0;
  border: none;
  transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--date-picker__day:hover,
  .flatpickr-day:hover {
    background: #e5e5e5; }
  .bx--date-picker__day:focus,
  .flatpickr-day:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px;
    outline-color: #0062ff; }

.bx--date-picker__days .nextMonthDay,
.bx--date-picker__days .prevMonthDay {
  color: #565656; }

.bx--date-picker__day.today,
.flatpickr-day.today {
  position: relative;
  color: #0062ff;
  font-weight: 600; }
  .bx--date-picker__day.today::after,
  .flatpickr-day.today::after {
    content: '';
    position: absolute;
    display: block;
    bottom: 0.28rem;
    left: 50%;
    transform: translateX(-50%);
    height: 0.16rem;
    width: 0.16rem;
    background: #0062ff; }

.bx--date-picker__day.today.no-border,
.flatpickr-day.today.no-border {
  border: none; }

.bx--date-picker__day.today.selected {
  border: 2px solid #0062ff; }
  .bx--date-picker__day.today.selected::after {
    display: none; }

.bx--date-picker__day.disabled,
.flatpickr-day.disabled {
  cursor: not-allowed;
  opacity: 0.5;
  color: #000000; }
  .bx--date-picker__day.disabled:hover,
  .flatpickr-day.disabled:hover {
    background: transparent; }

.bx--date-picker__day.inRange,
.flatpickr-day.inRange {
  background: #c9deff;
  color: #000000; }

.bx--date-picker__day.selected,
.flatpickr-day.selected {
  color: #ffffff;
  background: #0062ff; }

.bx--date-picker__day.startRange.selected,
.flatpickr-day.startRange.selected {
  box-shadow: none;
  z-index: 2; }

.bx--date-picker__day.endRange:hover,
.flatpickr-day.endRange:hover {
  outline: 2px solid #0062ff;
  outline-offset: -2px;
  background: #ffffff;
  color: #000000; }

.bx--date-picker__day.endRange.inRange,
.flatpickr-day.endRange.inRange {
  outline: 2px solid #0062ff;
  outline-offset: -2px;
  background: #ffffff;
  z-index: 3; }

.bx--date-picker__day.endRange.inRange.selected,
.flatpickr-day.endRange.inRange.selected {
  color: #ffffff;
  background: #0062ff; }

.bx--date-picker__day.startRange.inRange:not(.selected),
.flatpickr-day.startRange.inRange:not(.selected) {
  outline: 2px solid #0062ff;
  outline-offset: -2px;
  background: #ffffff;
  z-index: 3; }

.bx--date-picker__days,
.dayContainer {
  width: 100%;
  min-width: 100%;
  height: 9.84rem; }

.flatpickr-innerContainer,
.flatpickr-rContainer {
  width: 100%;
  height: auto; }

.bx--date-picker__weekdays,
.flatpickr-weekdays,
.flatpickr-weekdaycontainer {
  width: 100%; }

.flatpickr-weekdays {
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center; }

.flatpickr-weekdaycontainer {
  display: flex; }

.flatpickr-months {
  display: flex;
  width: 100%;
  position: relative; }

.flatpickr-prev-month,
.flatpickr-next-month {
  padding-top: 12px; }

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
  fill: #000000; }

.flatpickr-next-month.disabled svg,
.flatpickr-prev-month.disabled svg {
  fill: #000000;
  opacity: 0.5;
  cursor: not-allowed; }

.flatpickr-next-month.disabled:hover svg,
.flatpickr-prev-month.disabled:hover svg {
  fill: #000000; }

.bx--date-picker.bx--skeleton input,
.bx--date-picker__input.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%; }
  .bx--date-picker.bx--skeleton input:hover, .bx--date-picker.bx--skeleton input:focus, .bx--date-picker.bx--skeleton input:active,
  .bx--date-picker__input.bx--skeleton:hover,
  .bx--date-picker__input.bx--skeleton:focus,
  .bx--date-picker__input.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--date-picker.bx--skeleton input:before,
  .bx--date-picker__input.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--date-picker.bx--skeleton input:before,
      .bx--date-picker__input.bx--skeleton:before {
        animation: none; } }
  .bx--date-picker.bx--skeleton input::-webkit-input-placeholder,
  .bx--date-picker__input.bx--skeleton::-webkit-input-placeholder {
    color: transparent; }

.bx--date-picker.bx--skeleton .bx--label {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 3rem;
  height: 0.56rem; }
  .bx--date-picker.bx--skeleton .bx--label:hover, .bx--date-picker.bx--skeleton .bx--label:focus, .bx--date-picker.bx--skeleton .bx--label:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--date-picker.bx--skeleton .bx--label:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--date-picker.bx--skeleton .bx--label:before {
        animation: none; } }

.bx--dropdown__wrapper--inline {
  display: inline-grid;
  align-items: center;
  grid-template: auto auto / auto min-content;
  grid-gap: 0.16rem; }
  .bx--dropdown__wrapper--inline .bx--label {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px; }
  .bx--dropdown__wrapper--inline .bx--label,
  .bx--dropdown__wrapper--inline .bx--form__helper-text,
  .bx--dropdown__wrapper--inline .bx--form-requirement {
    margin: 0; }
  .bx--dropdown__wrapper--inline .bx--form-requirement {
    grid-column: 2; }

.bx--dropdown {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  outline: 2px solid transparent;
  outline-offset: -2px;
  position: relative;
  list-style: none;
  display: block;
  background-color: #ffffff;
  border: none;
  border-bottom: 1px solid #8c8c8c;
  width: 100%;
  height: 1.6rem;
  cursor: pointer;
  color: #000000;
  outline: 2px solid transparent;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--dropdown *,
  .bx--dropdown *:before,
  .bx--dropdown *:after {
    box-sizing: inherit; }
  .bx--dropdown:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--dropdown:hover {
    background-color: #e5e5e5; }

.bx--dropdown--open {
  border-bottom-color: #dcdcdc; }

.bx--dropdown--invalid {
  outline: 2px solid #da1e28;
  outline-offset: -2px; }
  .bx--dropdown--invalid .bx--dropdown-text {
    padding-right: 2.24rem; }
  .bx--dropdown--invalid + .bx--form-requirement {
    display: inline-block;
    max-height: 8rem;
    color: #da1e28; }

.bx--dropdown__invalid-icon {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  fill: #da1e28;
  transform: translateY(-50%); }

.bx--dropdown--open:hover {
  background-color: #ffffff; }

.bx--dropdown--open:focus {
  outline: 1px solid transparent; }

.bx--dropdown--open .bx--dropdown-list {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); }

.bx--dropdown--light {
  background-color: #f3f3f3; }

.bx--dropdown--up .bx--dropdown-list {
  bottom: 2rem; }

.bx--dropdown__arrow {
  fill: #000000;
  position: absolute;
  right: 1rem;
  top: 0.52rem;
  pointer-events: none;
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  transform-origin: 50% 45%; }

button.bx--dropdown-text {
  background: none;
  border: none;
  width: 100%;
  text-align: left; }
  button.bx--dropdown-text:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }

.bx--dropdown-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: block;
  height: 1.6rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1.68rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.bx--dropdown-list {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  outline: 2px solid transparent;
  outline-offset: -2px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  width: 100%;
  list-style: none;
  position: absolute;
  z-index: 9100;
  max-height: 0;
  transition: max-height 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  overflow: hidden auto; }
  .bx--dropdown-list *,
  .bx--dropdown-list *:before,
  .bx--dropdown-list *:after {
    box-sizing: inherit; }

.bx--dropdown:not(.bx--dropdown--open) .bx--dropdown-item {
  visibility: hidden; }

.bx--dropdown-item {
  transition: visibility 70ms cubic-bezier(0.2, 0, 0.38, 0.9), opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  opacity: 0;
  visibility: inherit; }
  .bx--dropdown-item:hover {
    background-color: #e5e5e5; }
    .bx--dropdown-item:hover + .bx--dropdown-item .bx--dropdown-link {
      border-color: transparent; }
  .bx--dropdown-item:active {
    background-color: #dcdcdc; }
  .bx--dropdown-item:first-of-type .bx--dropdown-link {
    border-top-color: transparent; }

.bx--dropdown-item:last-of-type .bx--dropdown-link {
  border-bottom: none; }

.bx--dropdown-link {
  outline: 2px solid transparent;
  outline-offset: -2px;
  display: block;
  height: 1.6rem;
  color: #565656;
  text-decoration: none;
  font-weight: normal;
  line-height: 0.64rem;
  padding: 0.44rem 0;
  margin: 0 1rem;
  border: 1px solid transparent;
  border-top-color: #dcdcdc;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }
  .bx--dropdown-link:hover {
    color: #000000;
    border-color: transparent; }

.bx--dropdown--focused,
.bx--dropdown-link:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px;
  margin: 0;
  padding: 0.44rem 0.64rem; }

.bx--dropdown-item:hover .bx--dropdown-link {
  border-bottom-color: #e5e5e5; }

.bx--dropdown--selected {
  display: none; }

.bx--dropdown--open .bx--dropdown__arrow {
  transform: rotate(-180deg); }

.bx--dropdown--open .bx--dropdown-list {
  max-height: 15rem;
  transition: max-height 110ms cubic-bezier(0, 0, 0.38, 0.9); }

.bx--dropdown--open .bx--dropdown-item {
  opacity: 1; }

.bx--dropdown--disabled {
  border-bottom-color: transparent;
  cursor: not-allowed; }
  .bx--dropdown--disabled:hover {
    background-color: #ffffff; }
  .bx--dropdown--disabled:focus {
    outline: none; }
  .bx--dropdown--disabled .bx--dropdown-text {
    color: #bebebe; }
  .bx--dropdown--disabled .bx--dropdown__arrow {
    fill: #bebebe; }
  .bx--dropdown--disabled.bx--dropdown--light:hover {
    background-color: #f3f3f3; }

.bx--dropdown--auto-width {
  width: auto;
  max-width: 16rem; }

.bx--dropdown--inline {
  justify-self: start;
  display: inline-block;
  border-bottom-color: transparent;
  width: auto;
  height: 1.28rem;
  background-color: #f3f3f3;
  transition: background 70ms cubic-bezier(0, 0, 0.38, 0.9); }
  .bx--dropdown--inline:hover {
    background-color: #e5e5e5; }
  .bx--dropdown--inline.bx--dropdown--disabled {
    background-color: #f3f3f3; }
  .bx--dropdown--inline .bx--dropdown__arrow {
    top: 0.32rem;
    right: 0.32rem; }

.bx--dropdown--inline.bx--dropdown--open {
  background-color: transparent; }

.bx--dropdown--inline .bx--dropdown-text {
  display: inline-block;
  padding: 0.28rem 1.28rem 0.28rem 0.75rem;
  height: 1.28rem;
  overflow: visible;
  color: #000000; }

.bx--dropdown--inline.bx--dropdown--disabled .bx--dropdown-text {
  color: #bebebe; }

.bx--dropdown--inline.bx--dropdown--disabled:focus .bx--dropdown-text {
  outline: 0; }

.bx--dropdown--inline.bx--dropdown--invalid .bx--dropdown__invalid-icon {
  right: 1.28rem; }

.bx--dropdown--inline.bx--dropdown--invalid .bx--dropdown-text {
  padding-right: 2.24rem; }

.bx--dropdown--inline.bx--dropdown--open:focus .bx--dropdown-list {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); }

.bx--dropdown--inline .bx--dropdown-link {
  font-weight: normal;
  margin-right: 0.75rem;
  margin-left: 0.4rem; }
  .bx--dropdown--inline .bx--dropdown-link:focus {
    margin: 0;
    padding-left: 0.4rem; }

.bx--dropdown-v2.bx--skeleton,
.bx--dropdown.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5; }
  .bx--dropdown-v2.bx--skeleton:hover, .bx--dropdown-v2.bx--skeleton:focus, .bx--dropdown-v2.bx--skeleton:active,
  .bx--dropdown.bx--skeleton:hover,
  .bx--dropdown.bx--skeleton:focus,
  .bx--dropdown.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--dropdown-v2.bx--skeleton:before,
  .bx--dropdown.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--dropdown-v2.bx--skeleton:before,
      .bx--dropdown.bx--skeleton:before {
        animation: none; } }

@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p1 {
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p2 {
  100% {
    transform: rotate(-360deg); } }

/* Stroke animations */
@keyframes init-stroke {
  0% {
    stroke-dashoffset: 240; }
  100% {
    stroke-dashoffset: 40; } }

@keyframes stroke-end {
  0% {
    stroke-dashoffset: 40; }
  100% {
    stroke-dashoffset: 240; } }

.bx--modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
  content: '';
  background-color: transparent;
  opacity: 0;
  visibility: hidden;
  transition: background-color 720ms cubic-bezier(0.4, 0.14, 1, 1), opacity 240ms cubic-bezier(0.4, 0.14, 1, 1), z-index 720ms cubic-bezier(0.4, 0.14, 1, 1), visibility 240ms cubic-bezier(0.4, 0.14, 1, 1); }
  .bx--modal.is-visible {
    z-index: 9000;
    visibility: visible;
    opacity: 1;
    background-color: rgba(23, 23, 23, 0.5);
    transition: background-color 720ms cubic-bezier(0, 0, 0.3, 1), opacity 240ms cubic-bezier(0, 0, 0.3, 1), z-index 720ms cubic-bezier(0, 0, 0.3, 1), visibility 240ms cubic-bezier(0, 0, 0.3, 1); }
  .bx--modal .bx--text-input,
  .bx--modal .bx--text-area,
  .bx--modal .bx--search-input,
  .bx--modal .bx--select-input,
  .bx--modal .bx--dropdown,
  .bx--modal .bx--dropdown-list,
  .bx--modal .bx--number input[type='number'] {
    background-color: #f3f3f3; }

.bx--modal.is-visible .bx--modal-container {
  transition: transform 240ms cubic-bezier(0, 0, 0.3, 1);
  transform: translate3d(0, 0, 0); }

.bx--modal-container {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  transform-origin: top center;
  transform: translate3d(0, -24px, 0);
  transition: transform 240ms cubic-bezier(0.4, 0.14, 1, 1); }
  @media (min-width: 42rem) {
    .bx--modal-container {
      width: 50%;
      max-width: 768px;
      max-height: 90%;
      height: auto; } }
  @media (min-width: 66rem) {
    .bx--modal-container {
      max-height: 80%; } }

.bx--modal-header,
.bx--modal-content {
  padding-right: 25%;
  padding-left: 1rem; }

.bx--modal-header,
.bx--modal-footer {
  flex-shrink: 0; }

.bx--modal-header {
  padding-top: 1rem;
  margin-bottom: 1rem; }

.bx--modal-header__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  color: #565656;
  margin-bottom: 0.25rem; }

.bx--modal-header__heading {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.625rem;
  letter-spacing: 0;
  color: #000000; }

.bx--modal-content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  overflow-y: auto;
  margin-bottom: 3rem;
  color: #000000;
  font-weight: 400; }
  .bx--modal-content:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }

.bx--modal-content > * {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px; }

.bx--modal-footer {
  display: flex;
  margin-top: auto;
  height: 4rem;
  background-color: #dcdcdc; }
  .bx--modal-footer button.bx--btn {
    max-width: none;
    flex: 1;
    height: 4rem;
    margin: 0;
    padding-top: 1rem;
    padding-bottom: 2rem; }

.bx--modal-close {
  position: absolute;
  top: 0;
  right: 0;
  height: 3rem;
  width: 3rem;
  padding: 0.48rem;
  border: 2px solid transparent;
  overflow: hidden;
  cursor: pointer;
  background-color: transparent;
  transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--modal-close:hover {
    background-color: #e5e5e5; }
  .bx--modal-close:focus {
    outline: none;
    border-color: #0062ff; }

.bx--modal-close::-moz-focus-inner {
  border: 0; }

.bx--modal-close__icon {
  fill: #000000;
  height: 0.8rem;
  width: 0.8rem; }

.bx--body--with-modal-open {
  overflow: hidden; }

.bx--multi-select .bx--list-box__menu {
  min-width: auto; }

.bx--multi-select .bx--list-box__menu-item__option .bx--checkbox-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center; }

.bx--multi-select .bx--list-box__menu-item__option > .bx--form-item {
  margin: 0;
  flex-direction: row; }

.bx--multi-select .bx--list-box__menu-item .bx--checkbox:checked ~ .bx--checkbox-label-text {
  color: #000000; }

.bx--multi-select--filterable .bx--list-box__selection--multi {
  position: absolute;
  left: 0.5rem;
  right: auto; }

.bx--multi-select--selected .bx--text-input {
  padding-left: 3.5rem; }

.bx--inline-notification {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
  justify-content: space-between;
  height: auto;
  min-height: 1.92rem;
  min-width: 11.52rem;
  max-width: 11.52rem;
  color: #ffffff;
  margin-top: 1rem;
  margin-bottom: 1rem; }
  .bx--inline-notification *,
  .bx--inline-notification *:before,
  .bx--inline-notification *:after {
    box-sizing: inherit; }
  @media (min-width: 42rem) {
    .bx--inline-notification {
      max-width: 24.32rem; } }
  @media (min-width: 66rem) {
    .bx--inline-notification {
      max-width: 29.44rem; } }
  @media (min-width: 99rem) {
    .bx--inline-notification {
      max-width: 33.28rem; } }

.bx--inline-notification--low-contrast {
  color: #000000;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2); }

.bx--inline-notification--error {
  border-left: 3px solid #fb4b53;
  background: #3d3d3d; }
  .bx--inline-notification--error .bx--inline-notification__icon,
  .bx--inline-notification--error .bx--toast-notification__icon {
    fill: #fb4b53; }

.bx--inline-notification--low-contrast.bx--inline-notification--error {
  border-left: 3px solid #da1e28;
  background: #fff0f1; }
  .bx--inline-notification--low-contrast.bx--inline-notification--error .bx--inline-notification__icon,
  .bx--inline-notification--low-contrast.bx--inline-notification--error .bx--toast-notification__icon {
    fill: #da1e28; }

.bx--inline-notification--success {
  border-left: 3px solid #3dbb61;
  background: #3d3d3d; }
  .bx--inline-notification--success .bx--inline-notification__icon,
  .bx--inline-notification--success .bx--toast-notification__icon {
    fill: #3dbb61; }

.bx--inline-notification--low-contrast.bx--inline-notification--success {
  border-left: 3px solid #24a148;
  background: #dafbe4; }
  .bx--inline-notification--low-contrast.bx--inline-notification--success .bx--inline-notification__icon,
  .bx--inline-notification--low-contrast.bx--inline-notification--success .bx--toast-notification__icon {
    fill: #24a148; }

.bx--inline-notification--info {
  border-left: 3px solid #408bfc;
  background: #3d3d3d; }
  .bx--inline-notification--info .bx--inline-notification__icon,
  .bx--inline-notification--info .bx--toast-notification__icon {
    fill: #408bfc; }

.bx--inline-notification--low-contrast.bx--inline-notification--info {
  border-left: 3px solid #054ada;
  background: #edf4ff; }
  .bx--inline-notification--low-contrast.bx--inline-notification--info .bx--inline-notification__icon,
  .bx--inline-notification--low-contrast.bx--inline-notification--info .bx--toast-notification__icon {
    fill: #054ada; }

.bx--inline-notification--info .bx--inline-notification__icon {
  display: none; }

.bx--inline-notification--warning {
  border-left: 3px solid #fdd13a;
  background: #3d3d3d; }
  .bx--inline-notification--warning .bx--inline-notification__icon,
  .bx--inline-notification--warning .bx--toast-notification__icon {
    fill: #fdd13a; }

.bx--inline-notification--low-contrast.bx--inline-notification--warning {
  border-left: 3px solid #fdd13a;
  background: #fff8e1; }
  .bx--inline-notification--low-contrast.bx--inline-notification--warning .bx--inline-notification__icon,
  .bx--inline-notification--low-contrast.bx--inline-notification--warning .bx--toast-notification__icon {
    fill: #fdd13a; }

.bx--inline-notification--warning .bx--inline-notification__icon path[opacity='0'] {
  fill: #000000;
  opacity: 1; }

.bx--inline-notification__details {
  display: flex;
  margin: 0 1rem; }

.bx--inline-notification__icon {
  flex-shrink: 0;
  margin-right: 1rem;
  margin-top: 0.56rem; }

.bx--inline-notification__text-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.75rem 0; }

.bx--inline-notification__title {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  margin: 0 0.25rem 0 0;
  line-height: 0.96rem; }

.bx--inline-notification__subtitle {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  word-break: break-word; }

.bx--inline-notification__action-button {
  height: 1.28rem;
  margin: 0.5rem 0; }
  .bx--inline-notification__action-button, .bx--inline-notification__action-button:hover, .bx--inline-notification__action-button:focus, .bx--inline-notification__action-button:active {
    color: #6ea6ff; }
  .bx--inline-notification__action-button:hover {
    background-color: #4c4c4c; }

.bx--inline-notification__close-button {
  outline: 2px solid transparent;
  outline-offset: -2px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  height: 1.92rem;
  width: 1.92rem;
  min-width: 1.92rem;
  max-width: 1.92rem;
  transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--inline-notification__close-button .bx--inline-notification__close-icon {
    height: 1rem;
    width: 1rem;
    fill: #ffffff; }

.bx--inline-notification--low-contrast .bx--inline-notification__close-button .bx--inline-notification__close-icon {
  fill: #000000; }

.bx--inline-notification--low-contrast .bx--inline-notification__action-button {
  color: #0062ff; }
  .bx--inline-notification--low-contrast .bx--inline-notification__action-button:active {
    color: #0530ad; }
  .bx--inline-notification--low-contrast .bx--inline-notification__action-button:active, .bx--inline-notification--low-contrast .bx--inline-notification__action-button:hover {
    background-color: #ffffff; }

.bx--toast-notification {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
  width: 11.52rem;
  height: auto;
  padding-left: 1rem;
  color: #ffffff;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-right: 1rem;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2); }
  .bx--toast-notification *,
  .bx--toast-notification *:before,
  .bx--toast-notification *:after {
    box-sizing: inherit; }
  .bx--toast-notification:first-child {
    margin-top: 1rem; }
  @media (min-width: 99rem) {
    .bx--toast-notification {
      width: 14.08rem; } }

.bx--toast-notification--low-contrast {
  color: #000000; }

.bx--toast-notification--error {
  border-left: 3px solid #fb4b53;
  background: #3d3d3d; }
  .bx--toast-notification--error .bx--inline-notification__icon,
  .bx--toast-notification--error .bx--toast-notification__icon {
    fill: #fb4b53; }

.bx--toast-notification--low-contrast.bx--toast-notification--error {
  border-left: 3px solid #da1e28;
  background: #fff0f1; }
  .bx--toast-notification--low-contrast.bx--toast-notification--error .bx--inline-notification__icon,
  .bx--toast-notification--low-contrast.bx--toast-notification--error .bx--toast-notification__icon {
    fill: #da1e28; }

.bx--toast-notification--success {
  border-left: 3px solid #3dbb61;
  background: #3d3d3d; }
  .bx--toast-notification--success .bx--inline-notification__icon,
  .bx--toast-notification--success .bx--toast-notification__icon {
    fill: #3dbb61; }

.bx--toast-notification--low-contrast.bx--toast-notification--success {
  border-left: 3px solid #24a148;
  background: #dafbe4; }
  .bx--toast-notification--low-contrast.bx--toast-notification--success .bx--inline-notification__icon,
  .bx--toast-notification--low-contrast.bx--toast-notification--success .bx--toast-notification__icon {
    fill: #24a148; }

.bx--toast-notification--info {
  border-left: 3px solid #408bfc;
  background: #3d3d3d; }
  .bx--toast-notification--info .bx--inline-notification__icon,
  .bx--toast-notification--info .bx--toast-notification__icon {
    fill: #408bfc; }

.bx--toast-notification--low-contrast.bx--toast-notification--info {
  border-left: 3px solid #054ada;
  background: #edf4ff; }
  .bx--toast-notification--low-contrast.bx--toast-notification--info .bx--inline-notification__icon,
  .bx--toast-notification--low-contrast.bx--toast-notification--info .bx--toast-notification__icon {
    fill: #054ada; }

.bx--toast-notification--warning {
  border-left: 3px solid #fdd13a;
  background: #3d3d3d; }
  .bx--toast-notification--warning .bx--inline-notification__icon,
  .bx--toast-notification--warning .bx--toast-notification__icon {
    fill: #fdd13a; }

.bx--toast-notification--low-contrast.bx--toast-notification--warning {
  border-left: 3px solid #fdd13a;
  background: #fff8e1; }
  .bx--toast-notification--low-contrast.bx--toast-notification--warning .bx--inline-notification__icon,
  .bx--toast-notification--low-contrast.bx--toast-notification--warning .bx--toast-notification__icon {
    fill: #fdd13a; }

.bx--toast-notification--warning .bx--toast-notification__icon path[opacity='0'] {
  fill: #000000;
  opacity: 1; }

.bx--toast-notification__icon {
  flex-shrink: 0;
  margin-right: 1rem;
  margin-top: 1rem; }

.bx--toast-notification__details {
  margin-right: 1rem; }

.bx--toast-notification__close-button {
  outline: 2px solid transparent;
  outline-offset: -2px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 0;
  height: 1.92rem;
  width: 1.92rem;
  min-height: 1.92rem;
  min-width: 1.92rem;
  transition: outline 110ms, background-color 110ms; }
  .bx--toast-notification__close-button:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--toast-notification__close-button .bx--toast-notification__close-icon {
    height: 1rem;
    width: 1rem;
    fill: #ffffff; }

.bx--toast-notification--low-contrast .bx--toast-notification__close-button .bx--toast-notification__close-icon {
  fill: #000000; }

.bx--toast-notification__title {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  font-weight: 600;
  margin-top: 1rem;
  word-break: break-word; }

.bx--toast-notification__subtitle {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #ffffff;
  margin-top: 0;
  margin-bottom: 1.5rem;
  word-break: break-word; }

.bx--toast-notification--low-contrast .bx--toast-notification__subtitle {
  color: #000000; }

.bx--toast-notification__caption {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #ffffff;
  margin-bottom: 1rem; }

.bx--toast-notification--low-contrast .bx--toast-notification__caption {
  color: #000000; }

.bx--tooltip__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  display: inline-flex;
  align-items: center;
  color: #565656; }
  .bx--tooltip__label:focus {
    outline: 1px solid #0062ff; }
  .bx--tooltip__label .bx--tooltip__trigger {
    margin-left: 0.5rem; }

.bx--tooltip__trigger svg {
  fill: #565656; }

.bx--tooltip__trigger:not(.bx--btn--icon-only) {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 1rem; }
  .bx--tooltip__trigger:not(.bx--btn--icon-only) *,
  .bx--tooltip__trigger:not(.bx--btn--icon-only) *:before,
  .bx--tooltip__trigger:not(.bx--btn--icon-only) *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger:not(.bx--btn--icon-only)::-moz-focus-inner {
    border: 0; }
  .bx--tooltip__trigger:not(.bx--btn--icon-only):focus {
    outline: 1px solid #0062ff;
    fill: #0353e9; }

.bx--tooltip__label--bold {
  font-weight: 600; }

.bx--tooltip {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: absolute;
  display: none;
  min-width: 8.32rem;
  max-width: 11.52rem;
  background: #3d3d3d;
  margin-top: 0.25rem;
  padding: 1rem;
  border-radius: 0.08rem;
  z-index: 10000;
  word-wrap: break-word;
  color: #ffffff; }
  .bx--tooltip *,
  .bx--tooltip *:before,
  .bx--tooltip *:after {
    box-sizing: inherit; }
  .bx--tooltip:focus {
    box-shadow: inset 0 0 0 1px #3d3d3d, inset 0 0 0 2px #f3f3f3;
    outline: 0; }
  .bx--tooltip p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px; }
  .bx--tooltip button {
    padding-right: 2rem; }
  .bx--tooltip .bx--btn:focus {
    border-color: #ffffff;
    outline-color: #3d3d3d; }
  .bx--tooltip .bx--link {
    color: #6ea6ff;
    font-size: 0.56rem; }
    .bx--tooltip .bx--link:focus {
      outline: 1px solid #ffffff;
      outline-offset: 2px; }
    .bx--tooltip .bx--link:active {
      color: #ffffff; }
    .bx--tooltip .bx--link:visited {
      color: #6ea6ff; }
  .bx--tooltip .bx--tooltip__caret {
    border-left: 0.275rem solid transparent;
    border-right: 0.275rem solid transparent;
    border-bottom: 0.275rem solid #3d3d3d;
    position: absolute;
    left: 0;
    top: calc(-0.275rem + 1px);
    right: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    content: ''; }
  .bx--tooltip .bx--tooltip__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem; }
  .bx--tooltip[data-floating-menu-direction='left'] .bx--tooltip__caret {
    left: auto;
    top: 50%;
    right: calc(-0.275rem + 1px);
    transform: rotate(90deg) translate(50%, -50%); }
  .bx--tooltip[data-floating-menu-direction='top'] .bx--tooltip__caret {
    top: auto;
    bottom: calc(-0.275rem + 1px);
    transform: rotate(180deg); }
  .bx--tooltip[data-floating-menu-direction='right'] .bx--tooltip__caret {
    left: calc(-0.275rem + 1px);
    top: 50%;
    right: auto;
    transform: rotate(270deg) translate(50%, -50%); }

.bx--tooltip__heading {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  margin-bottom: 0.5rem; }

.bx--tooltip--shown {
  display: block; }

/* begin legacy definition tooltip TODO: deprecate */
.bx--tooltip--definition {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative; }
  .bx--tooltip--definition *,
  .bx--tooltip--definition *:before,
  .bx--tooltip--definition *:after {
    box-sizing: inherit; }
  .bx--tooltip--definition .bx--tooltip__trigger {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1rem;
    letter-spacing: 0.32px;
    display: inline-flex;
    position: relative;
    border-bottom: 1px dotted #0062ff;
    color: #000000; }
    .bx--tooltip--definition .bx--tooltip__trigger:hover {
      cursor: pointer; }
      .bx--tooltip--definition .bx--tooltip__trigger:hover + .bx--tooltip--definition__top,
      .bx--tooltip--definition .bx--tooltip__trigger:hover + .bx--tooltip--definition__bottom {
        display: block; }
    .bx--tooltip--definition .bx--tooltip__trigger:focus {
      outline: 1px solid #0062ff; }
      .bx--tooltip--definition .bx--tooltip__trigger:focus + .bx--tooltip--definition__top,
      .bx--tooltip--definition .bx--tooltip__trigger:focus + .bx--tooltip--definition__bottom {
        display: block; }

.bx--tooltip--definition__bottom,
.bx--tooltip--definition__top {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  z-index: 1;
  display: none;
  background: #3d3d3d;
  width: 8.32rem;
  margin-top: 0.75rem;
  padding: 0.5rem 1rem;
  border-radius: 0.08rem;
  pointer-events: none;
  cursor: pointer; }
  .bx--tooltip--definition__bottom p,
  .bx--tooltip--definition__top p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    color: #ffffff; }
  .bx--tooltip--definition__bottom .bx--tooltip__caret,
  .bx--tooltip--definition__top .bx--tooltip__caret {
    position: absolute;
    right: 0;
    left: 0;
    width: 0.6rem;
    height: 0.6rem;
    background: #3d3d3d;
    margin-left: 1rem; }

.bx--tooltip--definition__bottom .bx--tooltip__caret {
  top: -0.2rem;
  transform: rotate(-135deg); }

.bx--tooltip--definition__top {
  transform: translateY(-100%);
  margin-top: -1.28rem; }
  .bx--tooltip--definition__top .bx--tooltip__caret {
    bottom: -0.2rem;
    transform: rotate(45deg); }

.bx--tooltip--definition__align-end {
  right: 0; }

.bx--tooltip--definition__align-center {
  margin-left: 50%;
  transform: translateX(-50%); }

.bx--tooltip--definition__top.bx--tooltip--definition__align-center {
  margin-left: 50%;
  transform: translate(-50%, -100%); }

.bx--tooltip--definition__align-center .bx--tooltip__caret {
  left: auto;
  margin-left: auto;
  margin-right: calc(50% - 6px); }

.bx--tooltip--definition__align-end .bx--tooltip__caret {
  left: auto;
  margin-left: auto;
  margin-right: 0.64rem; }

/* end legacy definition tooltip */
.bx--tooltip--definition.bx--tooltip--a11y {
  display: inline-flex; }

.bx--tooltip--definition button.bx--tooltip--a11y {
  margin: 0; }

.bx--tooltip__trigger.bx--tooltip__trigger--definition {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  border-bottom: 0.04rem dotted #0062ff; }

.bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top *,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top *:before,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.32rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover::after, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before {
    top: -0.16rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {
    top: -0.36rem;
    left: 0;
    transform: translate(0, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::before {
    top: -0.16rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: -0.36rem;
    left: 0;
    transform: translate(0, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::before {
    top: -0.16rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: -0.36rem;
    left: 50%;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::before {
    top: -0.16rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: -0.36rem;
    right: 0;
    left: auto;
    transform: translate(0, -100%); }

.bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom *,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom *:before,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.32rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover::after, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before {
    bottom: -0.16rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {
    bottom: -0.36rem;
    left: 0;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y + .bx--assistive-text {
    bottom: -0.32rem;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::before {
    bottom: -0.16rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {
    bottom: -0.36rem;
    left: 0;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start.bx--tooltip--a11y + .bx--assistive-text {
    bottom: -0.32rem;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::before {
    bottom: -0.16rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {
    bottom: -0.36rem;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center.bx--tooltip--a11y + .bx--assistive-text {
    bottom: -0.32rem;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::before {
    bottom: -0.16rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {
    bottom: -0.36rem;
    right: 0;
    left: auto;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end.bx--tooltip--a11y + .bx--assistive-text {
    bottom: -0.32rem;
    transform: translate(0, 100%); }

/* begin tooltip icon (TODO: deprecate) */
.bx--tooltip--icon {
  display: inline-flex;
  align-items: center; }

.bx--tooltip--icon__top,
.bx--tooltip--icon__bottom {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip--icon__top *,
  .bx--tooltip--icon__top *:before,
  .bx--tooltip--icon__top *:after,
  .bx--tooltip--icon__bottom *,
  .bx--tooltip--icon__bottom *:before,
  .bx--tooltip--icon__bottom *:after {
    box-sizing: inherit; }
  .bx--tooltip--icon__top::before, .bx--tooltip--icon__top::after,
  .bx--tooltip--icon__bottom::before,
  .bx--tooltip--icon__bottom::after {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip--icon__top::before,
  .bx--tooltip--icon__bottom::before {
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-style: solid;
    border-color: transparent transparent #3d3d3d transparent;
    margin: 0 auto;
    content: '';
    margin-top: 1px;
    margin-left: 50%; }
  .bx--tooltip--icon__top::after,
  .bx--tooltip--icon__bottom::after {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    min-width: 0.96rem;
    max-width: 8.32rem;
    height: 0.96rem;
    margin-left: 50%;
    padding: 0 1rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    content: attr(aria-label);
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
    background-color: #3d3d3d; }
  .bx--tooltip--icon__top:hover::before, .bx--tooltip--icon__top:hover::after, .bx--tooltip--icon__top:focus::before, .bx--tooltip--icon__top:focus::after,
  .bx--tooltip--icon__bottom:hover::before,
  .bx--tooltip--icon__bottom:hover::after,
  .bx--tooltip--icon__bottom:focus::before,
  .bx--tooltip--icon__bottom:focus::after {
    opacity: 1; }
  .bx--tooltip--icon__top:hover svg, .bx--tooltip--icon__top:focus svg,
  .bx--tooltip--icon__bottom:hover svg,
  .bx--tooltip--icon__bottom:focus svg {
    fill: #565656; }
  .bx--tooltip--icon__top:focus,
  .bx--tooltip--icon__bottom:focus {
    outline: 1px solid transparent; }
    .bx--tooltip--icon__top:focus svg,
    .bx--tooltip--icon__bottom:focus svg {
      outline: 1px solid #0062ff; }

.bx--tooltip--icon__top::before {
  top: 1px;
  transform: translate(-50%, calc(-100% - 9px)) rotate(180deg); }

.bx--tooltip--icon__top::after {
  top: 0;
  transform: translate(-50%, calc(-100% - 12px)); }

.bx--tooltip--icon__bottom::before {
  bottom: 0;
  transform: translate(-50%, 10px) rotate(0); }

.bx--tooltip--icon__bottom::after {
  bottom: 0;
  transform: translate(-50%, calc(100% + 10px)); }

.bx--tooltip--icon__top.bx--tooltip--icon__align-start::before {
  top: 1px;
  margin-left: 4px;
  transform: translate(0, calc(-100% - 9px)) rotate(180deg); }

.bx--tooltip--icon__top.bx--tooltip--icon__align-start::after {
  top: 0;
  margin-left: 0;
  transform: translate(0, calc(-100% - 12px)); }

.bx--tooltip--icon__top.bx--tooltip--icon__align-end::before {
  top: 1px;
  margin-right: 4px;
  left: auto;
  right: 0;
  transform: translate(0, calc(-100% - 9px)) rotate(180deg); }

.bx--tooltip--icon__top.bx--tooltip--icon__align-end::after {
  top: 0;
  margin-left: 0;
  right: 0;
  transform: translate(0, calc(-100% - 12px)); }

.bx--tooltip--icon__bottom.bx--tooltip--icon__align-start::before {
  bottom: 0;
  margin-left: 4px;
  transform: translate(0, 10px) rotate(0); }

.bx--tooltip--icon__bottom.bx--tooltip--icon__align-start::after {
  bottom: 0;
  margin-left: 0;
  transform: translate(0, calc(100% + 10px)); }

.bx--tooltip--icon__bottom.bx--tooltip--icon__align-end::before {
  bottom: 0;
  margin-right: 4px;
  left: auto;
  right: 0;
  transform: translate(0, 10px) rotate(0); }

.bx--tooltip--icon__bottom.bx--tooltip--icon__align-end::after {
  bottom: 0;
  margin-left: 0;
  right: 0;
  transform: translate(0, calc(100% + 10px)); }

.bx--tooltip--icon .bx--tooltip__trigger svg {
  margin-left: 0; }

/* end legacy tooltip icon */
.bx--tooltip__trigger:hover svg, .bx--tooltip__trigger:focus svg {
  fill: #565656; }

.bx--tooltip__trigger.bx--tooltip--top {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--top *,
  .bx--tooltip__trigger.bx--tooltip--top *:before,
  .bx--tooltip__trigger.bx--tooltip--top *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip--top:focus {
    outline: 1px solid transparent; }
    .bx--tooltip__trigger.bx--tooltip--top:focus svg {
      outline: 1px solid #0062ff; }
  .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip--top .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip--top .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip--top::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip--top .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip--top::after,
      .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip--top::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip--top:hover::before, .bx--tooltip__trigger.bx--tooltip--top:hover::after, .bx--tooltip__trigger.bx--tooltip--top:focus::before, .bx--tooltip__trigger.bx--tooltip--top:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--top::before {
    top: -0.32rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top::after,
  .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {
    top: -0.52rem;
    left: 50%;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::before {
    top: -0.32rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: -0.52rem;
    left: 0;
    transform: translate(0, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::before {
    top: -0.32rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: -0.52rem;
    left: 50%;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::before {
    top: -0.32rem;
    border-width: 0.2rem 0.16rem 0 0.16rem;
    border-color: #3d3d3d transparent transparent transparent;
    transform: translate(-50%, -100%); }
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: -0.52rem;
    right: 0;
    left: auto;
    transform: translate(0, -100%); }

.bx--tooltip__trigger.bx--tooltip--right {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--right *,
  .bx--tooltip__trigger.bx--tooltip--right *:before,
  .bx--tooltip__trigger.bx--tooltip--right *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip--right:focus {
    outline: 1px solid transparent; }
    .bx--tooltip__trigger.bx--tooltip--right:focus svg {
      outline: 1px solid #0062ff; }
  .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after,
  .bx--tooltip__trigger.bx--tooltip--right .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after,
      .bx--tooltip__trigger.bx--tooltip--right .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip--right::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip--right .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip--right::after,
  .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--right::after,
      .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip--right::after,
      .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip--right::after,
      .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip--right::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip--right:hover::before, .bx--tooltip__trigger.bx--tooltip--right:hover::after, .bx--tooltip__trigger.bx--tooltip--right:focus::before, .bx--tooltip__trigger.bx--tooltip--right:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after,
  .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
    top: 50%;
    right: 0; }
  .bx--tooltip__trigger.bx--tooltip--right::before {
    right: -0.32rem;
    border-width: 0.16rem 0.2rem 0.16rem 0;
    border-color: transparent #3d3d3d transparent transparent;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right::after,
  .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {
    right: -0.52rem;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: 50%;
    right: 0; }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::before {
    right: -0.32rem;
    border-width: 0.16rem 0.2rem 0.16rem 0;
    border-color: transparent #3d3d3d transparent transparent;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus + .bx--assistive-text {
    right: -0.52rem;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: 50%;
    right: 0; }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::before {
    right: -0.32rem;
    border-width: 0.16rem 0.2rem 0.16rem 0;
    border-color: transparent #3d3d3d transparent transparent;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus + .bx--assistive-text {
    right: -0.52rem;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: 50%;
    right: 0; }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::before {
    right: -0.32rem;
    border-width: 0.16rem 0.2rem 0.16rem 0;
    border-color: transparent #3d3d3d transparent transparent;
    transform: translate(100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus + .bx--assistive-text {
    right: -0.52rem;
    transform: translate(100%, -50%); }

.bx--tooltip__trigger.bx--tooltip--bottom {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--bottom *,
  .bx--tooltip__trigger.bx--tooltip--bottom *:before,
  .bx--tooltip__trigger.bx--tooltip--bottom *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip--bottom:focus {
    outline: 1px solid transparent; }
    .bx--tooltip__trigger.bx--tooltip--bottom:focus svg {
      outline: 1px solid #0062ff; }
  .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip--bottom .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip--bottom .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip--bottom::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip--bottom .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip--bottom::after,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip--bottom::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip--bottom:hover::before, .bx--tooltip__trigger.bx--tooltip--bottom:hover::after, .bx--tooltip__trigger.bx--tooltip--bottom:focus::before, .bx--tooltip__trigger.bx--tooltip--bottom:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--bottom::before {
    bottom: -0.32rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom::after,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {
    bottom: -0.52rem;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::before {
    bottom: -0.32rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {
    bottom: -0.52rem;
    left: 0;
    transform: translate(0, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::before {
    bottom: -0.32rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {
    bottom: -0.52rem;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {
    bottom: 0;
    left: 50%; }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::before {
    bottom: -0.32rem;
    border-width: 0 0.16rem 0.2rem 0.16rem;
    border-color: transparent transparent #3d3d3d transparent;
    transform: translate(-50%, 100%); }
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {
    bottom: -0.52rem;
    right: 0;
    left: auto;
    transform: translate(0, 100%); }

.bx--tooltip__trigger.bx--tooltip--left {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--left *,
  .bx--tooltip__trigger.bx--tooltip--left *:before,
  .bx--tooltip__trigger.bx--tooltip--left *:after {
    box-sizing: inherit; }
  .bx--tooltip__trigger.bx--tooltip--left:focus {
    outline: 1px solid transparent; }
    .bx--tooltip__trigger.bx--tooltip--left:focus svg {
      outline: 1px solid #0062ff; }
  .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after,
  .bx--tooltip__trigger.bx--tooltip--left .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left + .bx--assistive-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    letter-spacing: 0.16px;
    position: absolute;
    z-index: 10000;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after,
      .bx--tooltip__trigger.bx--tooltip--left .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left + .bx--assistive-text {
        display: inline-block; } }
  .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after {
    transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::after {
    transition: none; }
  .bx--tooltip__trigger.bx--tooltip--left::before {
    width: 0;
    height: 0;
    border-style: solid;
    content: ''; }
  .bx--tooltip__trigger.bx--tooltip--left .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left + .bx--assistive-text {
    box-sizing: content-box;
    color: inherit;
    opacity: 1;
    white-space: normal; }
  .bx--tooltip__trigger.bx--tooltip--left::after,
  .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    width: max-content;
    max-width: 8.32rem;
    height: auto;
    padding: 0.08rem 0.64rem;
    border-radius: 0.08rem;
    color: #ffffff;
    font-weight: 400;
    text-align: left;
    transform: translateX(-50%);
    pointer-events: none;
    background-color: #3d3d3d; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .bx--tooltip__trigger.bx--tooltip--left::after,
      .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-accelerator: true) {
      .bx--tooltip__trigger.bx--tooltip--left::after,
      .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
        width: 8.32rem; } }
    @supports (-ms-ime-align: auto) {
      .bx--tooltip__trigger.bx--tooltip--left::after,
      .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
      .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
        width: 8.32rem; } }
  .bx--tooltip__trigger.bx--tooltip--left::after {
    content: attr(aria-label); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::after {
    content: none; }
  .bx--tooltip__trigger.bx--tooltip--left:hover::before, .bx--tooltip__trigger.bx--tooltip--left:hover::after, .bx--tooltip__trigger.bx--tooltip--left:focus::before, .bx--tooltip__trigger.bx--tooltip--left:focus::after {
    opacity: 1; }

@keyframes tooltip-fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
    clip: auto;
    margin: auto;
    overflow: visible; }
  .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:focus.bx--tooltip--a11y::before {
    animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after,
  .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
    top: 50%;
    left: 0; }
  .bx--tooltip__trigger.bx--tooltip--left::before {
    left: -0.32rem;
    border-width: 0.16rem 0 0.16rem 0.2rem;
    border-color: transparent transparent transparent #3d3d3d;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left::after,
  .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {
    left: -0.52rem;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus + .bx--assistive-text {
    top: 50%;
    left: 0; }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::before {
    left: -0.32rem;
    border-width: 0.16rem 0 0.16rem 0.2rem;
    border-color: transparent transparent transparent #3d3d3d;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus + .bx--assistive-text {
    left: -0.52rem;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus + .bx--assistive-text {
    top: 50%;
    left: 0; }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::before {
    left: -0.32rem;
    border-width: 0.16rem 0 0.16rem 0.2rem;
    border-color: transparent transparent transparent #3d3d3d;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus + .bx--assistive-text {
    left: -0.52rem;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus + .bx--assistive-text {
    top: 50%;
    left: 0; }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::before {
    left: -0.32rem;
    border-width: 0.16rem 0 0.16rem 0.2rem;
    border-color: transparent transparent transparent #3d3d3d;
    transform: translate(-100%, -50%); }
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::after,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover + .bx--assistive-text,
  .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus + .bx--assistive-text {
    left: -0.52rem;
    transform: translate(-100%, -50%); }

.bx--tabs {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #000000;
  height: auto;
  width: 100%;
  position: relative; }
  .bx--tabs *,
  .bx--tabs *:before,
  .bx--tabs *:after {
    box-sizing: inherit; }
  @media (min-width: 42rem) {
    .bx--tabs {
      background: none;
      min-height: 1.6rem; } }

.bx--tabs-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  height: 1.6rem;
  cursor: pointer;
  color: #000000;
  outline: 2px solid transparent;
  border-bottom: 1px solid #8c8c8c;
  background-color: #ffffff; }
  @media (min-width: 42rem) {
    .bx--tabs-trigger {
      display: none; } }

.bx--tabs-trigger:focus,
.bx--tabs-trigger:active {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--tabs-trigger svg {
  width: 0.48rem;
  height: 0.28rem;
  fill: #000000;
  transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--tabs-trigger--open:focus,
.bx--tabs-trigger--open:active {
  outline: 2px solid transparent;
  outline-offset: -2px;
  transition: outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--tabs-trigger--open {
  background: #dcdcdc; }

.bx--tabs-trigger--open svg {
  transform: rotate(-180deg);
  transition: transform 70ms;
  transform-origin: 50% 45%; }

.bx--tabs--light.bx--tabs-trigger {
  background-color: #f3f3f3; }

.bx--tabs-trigger-text {
  text-decoration: none;
  padding-top: 2px;
  color: #000000;
  font-weight: 400; }

.bx--tabs-trigger-text:hover {
  color: #000000; }

.bx--tabs-trigger-text:focus {
  outline: none; }

.bx--tabs__nav {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  margin: 0;
  padding: 0;
  position: absolute;
  list-style: none;
  display: flex;
  flex-direction: column;
  z-index: 9100;
  background: #ffffff;
  transition: max-height 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  max-height: 600px;
  width: 100%; }
  @media (min-width: 42rem) {
    .bx--tabs__nav {
      flex-direction: row;
      background: none;
      box-shadow: none;
      z-index: auto;
      transition: inherit;
      width: auto; } }

.bx--tabs__nav--hidden {
  transition: max-height 70ms cubic-bezier(0.2, 0, 0.38, 0.9);
  overflow: hidden;
  max-height: 0; }
  @media (min-width: 42rem) {
    .bx--tabs__nav--hidden {
      display: flex;
      transition: inherit;
      overflow: visible;
      max-height: none; } }

.bx--tabs__nav-item {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  background-color: #ffffff;
  display: flex;
  padding: 0;
  cursor: pointer;
  width: 100%;
  height: 1.6rem;
  transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tabs__nav-item *,
  .bx--tabs__nav-item *:before,
  .bx--tabs__nav-item *:after {
    box-sizing: inherit; }
  @media (min-width: 42rem) {
    .bx--tabs__nav-item {
      background: transparent;
      height: auto; }
      .bx--tabs__nav-item + .bx--tabs__nav-item {
        margin-left: 0.08rem; } }

.bx--tabs__nav-item .bx--tabs__nav-link {
  transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), border-bottom-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }

@media (min-width: 42rem) {
  .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected) {
    background: transparent; } }

.bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--disabled) {
  background-color: #e5e5e5;
  box-shadow: 0 -1px 0 #e5e5e5; }
  @media (min-width: 42rem) {
    .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--disabled) {
      background-color: transparent;
      box-shadow: none; } }

.bx--tabs__nav-item--disabled,
.bx--tabs__nav-item--disabled:hover {
  cursor: not-allowed;
  outline: none; }

.bx--tabs__nav-item--disabled .bx--tabs__nav-link {
  pointer-events: none; }

.bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {
  border: none;
  display: none;
  transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  @media (min-width: 42rem) {
    .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {
      display: flex; }
      .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link {
        color: #000000;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.125rem;
        letter-spacing: 0.16px;
        border-bottom: 3px solid #0062ff; }
      .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link:focus,
      .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link:active {
        color: #000000;
        border-bottom: 2px solid #0062ff; } }

a.bx--tabs__nav-link {
  outline: 2px solid transparent;
  outline-offset: -2px;
  display: inline-block;
  color: #565656;
  text-decoration: none;
  font-weight: 400;
  padding: 0.75rem 0;
  width: calc(100% - 32px);
  height: 1.6rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0 1rem;
  line-height: 0.64rem;
  border-bottom: 1px solid #dcdcdc;
  overflow: hidden;
  transition: border 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  a.bx--tabs__nav-link:focus, a.bx--tabs__nav-link:active {
    width: 100%;
    margin: 0;
    padding-left: 16px;
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  @media (min-width: 42rem) {
    a.bx--tabs__nav-link {
      border-bottom: 3px solid #dcdcdc;
      padding: 0.5rem 1rem;
      width: 6.4rem;
      margin: 0;
      line-height: inherit; }
      a.bx--tabs__nav-link:focus, a.bx--tabs__nav-link:active {
        width: 6.4rem;
        padding: 0.5rem 1rem;
        border-bottom: 2px; } }

.bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link {
  color: #000000; }
  @media (min-width: 42rem) {
    .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link {
      color: #000000;
      border-bottom: 3px solid #8c8c8c; } }

.bx--tabs__nav-item--disabled .bx--tabs__nav-link {
  color: #bebebe;
  border-bottom: 3px solid #f3f3f3; }

.bx--tabs__nav-item--disabled:hover .bx--tabs__nav-link {
  cursor: no-drop;
  border-bottom: 3px solid #f3f3f3; }

.bx--tabs__nav-item--disabled .bx--tabs__nav-link:focus,
.bx--tabs__nav-item--disabled a.bx--tabs__nav-link:active {
  outline: none;
  border-bottom: 3px solid #f3f3f3; }

.bx--tabs__nav-item:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled):not(.bx--tabs__nav-item--selected) .bx--tabs__nav-link:focus,
.bx--tabs__nav-item:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled):not(.bx--tabs__nav-item--selected) a.bx--tabs__nav-link:active {
  color: #565656; }

.bx--tabs.bx--skeleton {
  pointer-events: none;
  cursor: default; }

.bx--tabs.bx--skeleton .bx--tabs__nav-link {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 3rem;
  height: 0.48rem; }
  .bx--tabs.bx--skeleton .bx--tabs__nav-link:hover, .bx--tabs.bx--skeleton .bx--tabs__nav-link:focus, .bx--tabs.bx--skeleton .bx--tabs__nav-link:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--tabs.bx--skeleton .bx--tabs__nav-link:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--tabs.bx--skeleton .bx--tabs__nav-link:before {
        animation: none; } }

.bx--tabs.bx--skeleton .bx--tabs-trigger {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 4rem; }
  .bx--tabs.bx--skeleton .bx--tabs-trigger:hover, .bx--tabs.bx--skeleton .bx--tabs-trigger:focus, .bx--tabs.bx--skeleton .bx--tabs-trigger:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--tabs.bx--skeleton .bx--tabs-trigger:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--tabs.bx--skeleton .bx--tabs-trigger:before {
        animation: none; } }

.bx--tabs.bx--skeleton .bx--tabs-trigger svg {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--tag {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.5rem;
  height: 1.5rem;
  margin: 0.25rem;
  border-radius: 0.6rem; }
  .bx--tag:not(:first-child) {
    margin-left: 0; }
  .bx--tag.bx--skeleton {
    background-color: #dcdcdc;
    color: #000000; }

.bx--tag--red {
  background-color: #fcd0d3;
  color: #a51920; }

.bx--tag--magenta {
  background-color: #ffcfe1;
  color: #a11950; }

.bx--tag--purple {
  background-color: #e6d6ff;
  color: #6e32c9; }

.bx--tag--blue {
  background-color: #c9deff;
  color: #054ada; }

.bx--tag--cyan {
  background-color: #b3e6ff;
  color: #0058a1; }

.bx--tag--teal {
  background-color: #92eeee;
  color: #006161; }

.bx--tag--green {
  background-color: #9deeb2;
  color: #10642a; }

.bx--tag--gray {
  background-color: #dcdcdc;
  color: #171717; }

.bx--tag--cool-gray {
  background-color: #d5d9e0;
  color: #13171a; }

.bx--tag--warm-gray {
  background-color: #e0dbda;
  color: #1a1717; }

.bx--tag--disabled {
  background-color: #f3f3f3;
  color: #bebebe; }
  .bx--tag--disabled:hover {
    cursor: not-allowed; }

.bx--tag--filter {
  background-color: #3d3d3d;
  color: #ffffff;
  cursor: pointer;
  padding-right: 0.08rem; }

.bx--tag--filter > svg {
  fill: #ffffff;
  margin-left: 0.16rem;
  padding: 0.08rem;
  width: 0.8rem;
  height: 0.8rem; }

.bx--tag--filter > svg:hover {
  border-radius: 50%;
  background-color: #4c4c4c; }

.bx--tag--filter:focus,
.bx--tag--filter:hover {
  outline: none; }

.bx--tag--filter:focus > svg {
  border: 2px solid #ffffff;
  border-radius: 50%; }

.bx--tag.bx--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 2.4rem;
  overflow: hidden; }
  .bx--tag.bx--skeleton:hover, .bx--tag.bx--skeleton:focus, .bx--tag.bx--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--tag.bx--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--tag.bx--skeleton:before {
        animation: none; } }

.bx--data-table-container + .bx--pagination {
  border-top: 0; }

.bx--pagination {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  width: 100%;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #dcdcdc;
  height: 1.92rem; }
  .bx--pagination *,
  .bx--pagination *:before,
  .bx--pagination *:after {
    box-sizing: inherit; }

.bx--pagination .bx--select {
  height: 100%;
  align-items: center;
  grid-template-columns: auto 0; }

.bx--select-input__wrapper,
.bx--select-input--inline__wrapper {
  height: 100%; }

.bx--pagination .bx--select-input {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  width: auto;
  min-width: auto;
  height: 100%;
  padding: 0 2.5rem 0 1rem;
  margin-right: -0.65rem; }
  @media (min-width: 42rem) {
    .bx--pagination .bx--select-input {
      padding-right: 2.25rem;
      margin-right: 0; } }

.bx--pagination .bx--select-input:hover {
  background: #e5e5e5; }

.bx--pagination .bx--select__arrow {
  top: auto;
  bottom: auto; }
  @media (min-width: 42rem) {
    .bx--pagination .bx--select__arrow {
      right: 1rem; } }

.bx--pagination .bx--select__item-count .bx--select-input {
  border-right: 0.0625rem solid #dcdcdc; }

.bx--pagination .bx--select__page-number .bx--select-input {
  border-left: 1px solid #dcdcdc; }

.bx--pagination__left,
.bx--pagination__right {
  display: flex;
  height: 100%;
  align-items: center; }

.bx--pagination__left > .bx--form-item,
.bx--pagination__right > .bx--form-item {
  height: 100%; }

.bx--pagination__left .bx--pagination__text {
  margin-right: 0.04rem; }

.bx--pagination__right .bx--pagination__text {
  margin-right: 1rem;
  margin-left: 0.04rem; }

@media (min-width: 42rem) {
  .bx--pagination__left {
    padding: 0 1rem; } }

.bx--pagination__text {
  display: none; }
  @media (min-width: 42rem) {
    .bx--pagination__text {
      display: inline-block; } }

span.bx--pagination__text {
  margin-left: 1rem;
  color: #565656; }

.bx--pagination__button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  border: none;
  background: none;
  cursor: pointer;
  height: 100%;
  margin: 0;
  padding: 0 0.56rem;
  border-left: 1px solid #dcdcdc;
  display: flex;
  justify-content: center;
  align-items: center;
  fill: #000000;
  transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--pagination__button *,
  .bx--pagination__button *:before,
  .bx--pagination__button *:after {
    box-sizing: inherit; }

.bx--pagination__button:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--pagination__button:hover {
  background: #e5e5e5; }

.bx--pagination__button--no-index {
  fill: #bebebe;
  cursor: not-allowed; }

.bx--pagination__button:disabled:hover,
.bx--pagination__button--no-index:hover {
  cursor: not-allowed;
  fill: #bebebe;
  background: #ffffff; }

.bx--pagination--inline {
  height: 1.68rem;
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
  margin-right: -1rem; }

.bx--pagination--inline .bx--pagination__button {
  height: 1.6rem;
  border-left: 1px solid #dcdcdc;
  border-right: 1px solid #dcdcdc;
  margin: 0; }

.bx--pagination--inline .bx--pagination__button--forward {
  border-right: 0;
  padding: 0 1rem;
  margin-left: 1rem; }

.bx--pagination--inline .bx--pagination__button--backward {
  margin: 0 1rem;
  padding: 0 1rem; }

.bx--pagination.bx--skeleton .bx--skeleton__text {
  margin-right: 1rem;
  margin-bottom: 0; }

.bx--accordion {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  list-style: none;
  width: 100%; }
  .bx--accordion *,
  .bx--accordion *:before,
  .bx--accordion *:after {
    box-sizing: inherit; }

.bx--accordion__item {
  transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  border-top: 1px solid #dcdcdc;
  overflow: visible; }
  .bx--accordion__item:last-child {
    border-bottom: 1px solid #dcdcdc; }

.bx--accordion__heading {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  color: #000000;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  padding: 0.24rem 0;
  flex-direction: row-reverse;
  position: relative;
  width: 100%;
  margin: 0;
  transition: background-color cubic-bezier(0.2, 0, 0.38, 0.9) 110ms; }
  .bx--accordion__heading *,
  .bx--accordion__heading *:before,
  .bx--accordion__heading *:after {
    box-sizing: inherit; }
  .bx--accordion__heading::-moz-focus-inner {
    border: 0; }
  .bx--accordion__heading:hover:before, .bx--accordion__heading:focus:before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: calc(100% + 2px); }
  .bx--accordion__heading:hover:before {
    background-color: #e5e5e5; }
  .bx--accordion__heading:focus {
    outline: none; }
  .bx--accordion__heading:focus:before {
    border: 2px solid #0062ff;
    box-sizing: border-box; }

.bx--accordion__arrow {
  outline: 2px solid transparent;
  outline-offset: -2px;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  margin: 0 1rem 0 0;
  fill: #000000;
  transform: rotate(90deg);
  transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--accordion__title {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  margin: 0 0 0 1rem;
  width: 100%;
  text-align: left;
  z-index: 0; }

.bx--accordion__content {
  transition: height cubic-bezier(0.2, 0, 0.38, 0.9) 110ms, padding cubic-bezier(0.2, 0, 0.38, 0.9) 110ms;
  padding-left: 1rem;
  padding-right: 25%;
  height: 0;
  visibility: hidden;
  opacity: 0; }
  @media (max-width: 42rem) {
    .bx--accordion__content {
      padding-right: 3rem; } }
  .bx--accordion__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    letter-spacing: 0.16px; }

.bx--accordion__item--active {
  overflow: visible; }
  .bx--accordion__item--active .bx--accordion__content {
    padding-bottom: 1.5rem;
    padding-top: 0.5rem;
    height: auto;
    visibility: visible;
    opacity: 1;
    transition: height cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-top cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-bottom cubic-bezier(0, 0, 0.38, 0.9) 110ms; }
  .bx--accordion__item--active .bx--accordion__arrow {
    /*rtl:ignore*/
    transform: rotate(-90deg);
    fill: #000000; }

.bx--accordion.bx--skeleton .bx--accordion__heading,
.bx--accordion.bx--skeleton .bx--accordion__button {
  cursor: default; }

.bx--accordion.bx--skeleton .bx--accordion__arrow {
  pointer-events: none;
  fill: #000000;
  cursor: default; }
  .bx--accordion.bx--skeleton .bx--accordion__arrow:hover, .bx--accordion.bx--skeleton .bx--accordion__arrow:focus, .bx--accordion.bx--skeleton .bx--accordion__arrow:active {
    border: none;
    outline: none;
    cursor: default; }

.bx--skeleton .bx--accordion__heading:focus .bx--accordion__arrow {
  border: none;
  outline: none;
  cursor: default; }

.bx--accordion__title.bx--skeleton__text {
  margin-bottom: 0; }

.bx--progress {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: flex;
  list-style: none; }
  .bx--progress *,
  .bx--progress *:before,
  .bx--progress *:after {
    box-sizing: inherit; }

.bx--progress-step {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  min-width: 7rem;
  width: 5.12rem;
  overflow: visible; }
  .bx--progress-step .bx--tooltip__label {
    display: block; }

.bx--progress-line {
  position: absolute;
  left: 0;
  height: 1px;
  width: 5.12rem;
  border: 1px inset transparent; }

.bx--progress-step svg {
  position: relative;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  margin: 9px 0.5rem 0 0;
  fill: #0062ff; }

.bx--progress-label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  line-height: 1.45;
  max-width: 3.52rem;
  margin: 0.5rem 0 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9), color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--progress-label::before {
    content: '';
    display: block; }

.bx--progress-label:hover {
  color: #0062ff;
  cursor: pointer;
  box-shadow: 0 0.04rem #0062ff; }

.bx--progress-label:focus {
  outline: none;
  color: #0062ff;
  box-shadow: 0 0.12rem 0 0 #0062ff; }

.bx--progress-label:active {
  color: #0062ff;
  box-shadow: 0 0.12rem 0 0 #0062ff; }

.bx--progress-label-overflow:hover ~ .bx--tooltip,
.bx--progress-label-overflow:focus ~ .bx--tooltip {
  visibility: visible; }

.bx--progress-step .bx--tooltip .bx--tooltip__caret {
  margin-left: 0.4rem; }

.bx--tooltip__text {
  padding: 0;
  margin: 0;
  font-weight: normal; }

.bx--progress-step .bx--tooltip {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  min-width: 4.6rem;
  width: 5rem;
  min-height: 1.5rem;
  margin-left: 0.88rem;
  margin-top: 1.6rem;
  padding: 0.5rem 1rem;
  display: block;
  visibility: hidden;
  color: #ffffff; }

.bx--progress-step .bx--tooltip_multi {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.16px;
  width: 6rem;
  height: auto;
  color: #ffffff; }

.bx--progress-optional {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  position: absolute;
  left: 0;
  margin-left: 1.5rem;
  margin-top: 1.12rem;
  color: #000000; }

.bx--progress-step--current .bx--progress-line {
  background-color: #0062ff; }

.bx--progress-step--current svg {
  width: 14px;
  height: 14px;
  fill: #0062ff;
  margin-top: 0.38rem; }

.bx--progress-step--incomplete svg {
  fill: #000000; }

.bx--progress-step--incomplete .bx--progress-line {
  background-color: #dcdcdc; }

.bx--progress-step--complete .bx--progress-line {
  background-color: #0062ff; }

.bx--progress-step-button {
  display: flex; }

.bx--progress-step-button--unclickable {
  outline: none; }

.bx--progress-step--disabled {
  cursor: not-allowed; }
  .bx--progress-step--disabled svg {
    fill: #bebebe;
    cursor: not-allowed; }
  .bx--progress-step--disabled .bx--progress-label,
  .bx--progress-step--disabled .bx--progress-label:hover {
    color: #bebebe;
    cursor: not-allowed;
    box-shadow: none; }
  .bx--progress-step--disabled .bx--progress-label:focus,
  .bx--progress-step--disabled .bx--progress-label:active {
    outline: none;
    box-shadow: none; }
  .bx--progress-step--disabled .bx--progress-line {
    cursor: not-allowed; }
  .bx--progress-step--disabled .bx--progress-label-overflow:hover ~ .bx--tooltip--definition .bx--tooltip--definition__bottom {
    display: none; }

.bx--progress__warning > path {
  fill: #da1e28; }

.bx--progress.bx--skeleton .bx--progress-label {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  height: 0.48rem;
  width: 1.6rem; }
  .bx--progress.bx--skeleton .bx--progress-label:hover, .bx--progress.bx--skeleton .bx--progress-label:focus, .bx--progress.bx--skeleton .bx--progress-label:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--progress.bx--skeleton .bx--progress-label:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--progress.bx--skeleton .bx--progress-label:before {
        animation: none; } }

.bx--progress--vertical {
  display: block; }

.bx--progress--vertical .bx--progress-step {
  display: list-item;
  min-height: 6rem;
  width: initial;
  min-width: initial; }
  .bx--progress--vertical .bx--progress-step svg {
    display: inline-block;
    margin: 0.1rem 0.5rem; }

.bx--progress--vertical .bx--progress-step--current svg {
  margin-left: 0.563rem; }

.bx--progress--vertical .bx--progress-label {
  display: inline-block;
  width: initial;
  max-width: none;
  vertical-align: top;
  margin: 0; }

.bx--progress--vertical .bx--progress-step .bx--tooltip {
  margin-top: 0.5rem; }

.bx--progress--vertical .bx--progress-optional {
  margin-top: auto;
  position: initial;
  margin-left: 2.25rem; }

.bx--progress--vertical .bx--progress-line {
  top: 0;
  left: 0;
  height: 100%;
  width: 1px; }

.bx--breadcrumb {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: inline; }
  @media (min-width: 42rem) {
    .bx--breadcrumb {
      display: flex;
      flex-wrap: wrap; } }

.bx--breadcrumb-item {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 0.5rem; }

.bx--breadcrumb-item::after {
  content: '/';
  color: #000000;
  margin-left: 0.5rem; }

.bx--breadcrumb--no-trailing-slash .bx--breadcrumb-item:last-child::after {
  content: ''; }

.bx--breadcrumb-item:last-child,
.bx--breadcrumb-item:last-child::after {
  margin-right: 0; }

.bx--breadcrumb .bx--link {
  white-space: nowrap; }

.bx--breadcrumb-item [aria-current='page'],
.bx--breadcrumb-item.bx--breadcrumb-item--current .bx--link {
  color: #000000;
  cursor: auto; }
  .bx--breadcrumb-item [aria-current='page']:hover,
  .bx--breadcrumb-item.bx--breadcrumb-item--current .bx--link:hover {
    text-decoration: none; }

.bx--breadcrumb.bx--skeleton .bx--link {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 4rem;
  height: 1rem; }
  .bx--breadcrumb.bx--skeleton .bx--link:hover, .bx--breadcrumb.bx--skeleton .bx--link:focus, .bx--breadcrumb.bx--skeleton .bx--link:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--breadcrumb.bx--skeleton .bx--link:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--breadcrumb.bx--skeleton .bx--link:before {
        animation: none; } }

.bx--toolbar {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin: 1rem 0; }
  .bx--toolbar > div {
    margin: 0 0.16rem; }
  .bx--toolbar .bx--search-input {
    height: 1.28rem;
    background-color: transparent;
    outline: none; }
  .bx--toolbar .bx--search-close {
    display: none; }
  .bx--toolbar .bx--overflow-menu__icon {
    fill: #565656;
    transition: fill 50ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--toolbar .bx--search-magnifier {
    fill: #565656;
    transform: scale(1.15);
    transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9);
    top: 0.32rem;
    left: 0.24rem;
    cursor: pointer; }
  .bx--toolbar fieldset {
    border: 0;
    padding: 0; }
  .bx--toolbar .bx--toolbar-search--active {
    width: 10rem; }
    .bx--toolbar .bx--toolbar-search--active .bx--search-magnifier {
      transform: scale(1);
      top: 0.36rem; }
    .bx--toolbar .bx--toolbar-search--active .bx--search-input {
      background-color: #f3f3f3; }
    .bx--toolbar .bx--toolbar-search--active .bx--search-close {
      display: block; }
  .bx--toolbar .bx--checkbox-label {
    margin-bottom: 0; }
  .bx--toolbar .bx--overflow-menu--open > .bx--overflow-menu__icon {
    fill: #0062ff; }

.bx--toolbar-search {
  width: 1.8rem;
  transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--toolbar-search__btn {
  position: absolute;
  left: 0;
  top: 0;
  background: transparent;
  border: 0;
  height: 1.28rem;
  width: 1.28rem; }
  .bx--toolbar-search__btn:focus {
    outline: 1px solid #0062ff; }

.bx--toolbar-filter-icon {
  padding-left: 0;
  padding-right: 0; }

.bx--toolbar-menu__title {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.32px;
  font-weight: 600;
  padding: 0.5rem 1.25rem; }

.bx--toolbar-menu__option {
  padding: 0.5rem 1.25rem; }

.bx--toolbar-menu__divider {
  width: 100%;
  border: 0;
  border-top: 1px solid #dcdcdc; }

.bx--radio-button-group {
  border: none; }

.bx--toolbar-search:not(.bx--toolbar-search--active) .bx--search-input {
  border-bottom: none; }

.bx--time-picker {
  display: flex;
  align-items: flex-end; }

.bx--time-picker[data-invalid] .bx--time-picker__input-field {
  outline: 2px solid #da1e28;
  outline-offset: -2px; }

.bx--time-picker__select {
  justify-content: center; }
  .bx--time-picker__select:not(:last-of-type) {
    margin: 0 0.125rem; }

.bx--time-picker__input {
  display: flex;
  flex-direction: column; }

.bx--time-picker .bx--select-input {
  min-width: auto;
  width: auto;
  padding-right: 1.92rem;
  line-height: 1; }

.bx--time-picker__input-field {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  outline: 2px solid transparent;
  outline-offset: -2px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.32px;
  display: flex;
  align-items: center;
  width: 4.875rem;
  height: 1.6rem;
  transition: outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--time-picker__input-field *,
  .bx--time-picker__input-field *:before,
  .bx--time-picker__input-field *:after {
    box-sizing: inherit; }

.bx--slider-container {
  display: flex;
  align-items: center;
  user-select: none; }

.bx--slider {
  position: relative;
  width: 100%;
  margin: 0 1rem;
  max-width: 25.6rem;
  min-width: 8rem; }

.bx--slider__range-label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.32px;
  color: #000000; }
  .bx--slider__range-label:last-of-type {
    margin-right: 1rem; }

.bx--slider__track {
  position: absolute;
  width: 100%;
  height: 0.08rem;
  background: #dcdcdc;
  cursor: pointer;
  transform: translate(0%, -50%); }

.bx--slider__track:before {
  content: '';
  position: absolute;
  display: inline-block;
  height: 0.16rem;
  width: 0.08rem;
  left: 50%;
  transform: translate(-50%, 0);
  top: -0.2rem;
  background: #dcdcdc; }

.bx--slider__filled-track {
  position: absolute;
  width: 100%;
  height: 0.08rem;
  background: #000000;
  transform-origin: left;
  pointer-events: none;
  transform: translate(0%, -50%);
  transition: background 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--slider__thumb {
  position: absolute;
  height: 0.56rem;
  width: 0.56rem;
  background: #000000;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px transparent, inset 0 0 0 2px transparent;
  top: 0;
  transform: translate(-50%, -50%);
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background 110ms cubic-bezier(0.2, 0, 0.38, 0.9), box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  cursor: pointer;
  outline: none;
  z-index: 3; }
  .bx--slider__thumb:hover {
    transform: translate(-50%, -50%) scale(1.42857); }
  .bx--slider__thumb:focus {
    transform: translate(-50%, -50%) scale(1.42857);
    box-shadow: inset 0 0 0 2px #0062ff, inset 0 0 0 3px #ffffff;
    background-color: #0062ff; }
  .bx--slider__thumb:active {
    transform: translate(-50%, -50%) scale(1.42857);
    box-shadow: inset 0 0 0 2px #0062ff; }

.bx--slider__input {
  display: none; }

.bx--slider-text-input,
.bx-slider-text-input {
  width: 2.56rem;
  height: 1.6rem;
  padding: 0;
  text-align: center;
  -moz-appearance: textfield; }
  .bx--slider-text-input::-webkit-outer-spin-button, .bx--slider-text-input::-webkit-inner-spin-button,
  .bx-slider-text-input::-webkit-outer-spin-button,
  .bx-slider-text-input::-webkit-inner-spin-button {
    display: none; }

.bx--slider__thumb:focus ~ .bx--slider__filled-track {
  background-color: #0062ff; }

.bx--label--disabled ~ .bx--slider-container > .bx--slider__range-label {
  color: #bebebe; }

.bx--slider--disabled .bx--slider__thumb {
  background-color: #dcdcdc; }
  .bx--slider--disabled .bx--slider__thumb:hover {
    transform: translate(-50%, -50%);
    cursor: not-allowed; }
  .bx--slider--disabled .bx--slider__thumb:focus {
    box-shadow: none;
    outline: none;
    background-color: #dcdcdc;
    transform: translate(-50%, -50%); }
  .bx--slider--disabled .bx--slider__thumb:active {
    background: #dcdcdc;
    transform: translate(-50%, -50%); }

.bx--slider--disabled .bx--slider__track,
.bx--slider--disabled .bx--slider__filled-track,
.bx--slider--disabled .bx--slider__thumb:focus ~ .bx--slider__filled-track {
  background-color: #dcdcdc;
  cursor: not-allowed; }

.bx--slider--disabled ~ .bx--form-item .bx--slider-text-input,
.bx--slider--disabled ~ .bx--slider-text-input {
  background-color: #ffffff;
  color: #bebebe;
  transition: none;
  cursor: not-allowed; }
  .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:active, .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:focus, .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:hover,
  .bx--slider--disabled ~ .bx--slider-text-input:active,
  .bx--slider--disabled ~ .bx--slider-text-input:focus,
  .bx--slider--disabled ~ .bx--slider-text-input:hover {
    outline: none;
    color: #bebebe; }

.bx--slider-container.bx--skeleton .bx--slider__range-label {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 0.8rem;
  height: 0.48rem; }
  .bx--slider-container.bx--skeleton .bx--slider__range-label:hover, .bx--slider-container.bx--skeleton .bx--slider__range-label:focus, .bx--slider-container.bx--skeleton .bx--slider__range-label:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--slider-container.bx--skeleton .bx--slider__range-label:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--slider-container.bx--skeleton .bx--slider__range-label:before {
        animation: none; } }

.bx--slider-container.bx--skeleton .bx--slider__track {
  cursor: default;
  pointer-events: none; }

.bx--slider-container.bx--skeleton .bx--slider__thumb {
  left: 50%;
  cursor: default;
  pointer-events: none; }

.bx--tile {
  display: block;
  min-width: 8rem;
  min-height: 4rem;
  background-color: #ffffff;
  position: relative;
  padding: 1rem;
  outline: 2px solid transparent;
  outline-offset: -2px; }
  .bx--tile:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }

.bx--tile--clickable,
.bx--tile--selectable,
.bx--tile--expandable {
  transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9);
  cursor: pointer; }
  .bx--tile--clickable:hover,
  .bx--tile--selectable:hover,
  .bx--tile--expandable:hover {
    background: #e5e5e5; }
  .bx--tile--clickable:hover .bx--tile__checkmark, .bx--tile--clickable:focus .bx--tile__checkmark,
  .bx--tile--selectable:hover .bx--tile__checkmark,
  .bx--tile--selectable:focus .bx--tile__checkmark,
  .bx--tile--expandable:hover .bx--tile__checkmark,
  .bx--tile--expandable:focus .bx--tile__checkmark {
    opacity: 1; }

.bx--tile--clickable:focus,
.bx--tile--expandable:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--tile--selectable {
  padding-right: 3rem; }

.bx--tile__checkmark,
.bx--tile__chevron {
  position: absolute;
  transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  border: none;
  background: transparent; }

.bx--tile__checkmark {
  height: 1rem;
  top: 1rem;
  right: 1rem;
  opacity: 0; }
  .bx--tile__checkmark svg {
    border-radius: 50%;
    fill: #565656; }
  .bx--tile__checkmark:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }

.bx--tile__chevron {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  height: 1rem; }
  .bx--tile__chevron svg {
    transform-origin: center;
    transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
    fill: #000000; }
  .bx--tile__chevron:hover {
    cursor: pointer; }
  .bx--tile__chevron:focus {
    outline: none; }

.bx--tile--expandable {
  overflow: hidden;
  transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--tile-content__above-the-fold {
  display: block; }

.bx--tile-content__below-the-fold {
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), visibility 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--tile--is-expanded {
  overflow: visible;
  transition: max-height 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }
  .bx--tile--is-expanded .bx--tile__chevron svg {
    transform: rotate(-180deg); }
  .bx--tile--is-expanded .bx--tile-content__below-the-fold {
    visibility: visible;
    opacity: 1;
    transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), visibility 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--tile--is-selected {
  outline: 1px solid #3d3d3d;
  outline-offset: -1px; }

.bx--tile--is-selected .bx--tile__checkmark {
  opacity: 1; }

.bx--tile-input:checked + .bx--tile > .bx--tile__checkmark svg {
  fill: #000000; }

.bx--tile-content {
  width: 100%;
  height: 100%; }

.bx--tile-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--skeleton__text {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  width: 100%;
  height: 1rem;
  margin-bottom: 0.5rem; }
  .bx--skeleton__text:hover, .bx--skeleton__text:focus, .bx--skeleton__text:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--skeleton__text:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--skeleton__text:before {
        animation: none; } }

.bx--skeleton__heading {
  height: 1.5rem; }

.bx--icon--skeleton {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  display: inline-block;
  width: 0.64rem;
  height: 0.64rem; }
  .bx--icon--skeleton:hover, .bx--icon--skeleton:focus, .bx--icon--skeleton:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--icon--skeleton:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--icon--skeleton:before {
        animation: none; } }

.bx--skeleton__placeholder {
  position: relative;
  border: none;
  padding: 0;
  box-shadow: none;
  pointer-events: none;
  background: #e5e5e5;
  height: 4rem;
  width: 4rem; }
  .bx--skeleton__placeholder:hover, .bx--skeleton__placeholder:focus, .bx--skeleton__placeholder:active {
    border: none;
    outline: none;
    cursor: default; }
  .bx--skeleton__placeholder:before {
    content: '';
    width: 0%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #bebebe;
    animation: 3000ms ease-in-out skeleton infinite; }
    @media (prefers-reduced-motion: reduce) {
      .bx--skeleton__placeholder:before {
        animation: none; } }

@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p1 {
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-end-p2 {
  100% {
    transform: rotate(-360deg); } }

/* Stroke animations */
@keyframes init-stroke {
  0% {
    stroke-dashoffset: 240; }
  100% {
    stroke-dashoffset: 40; } }

@keyframes stroke-end {
  0% {
    stroke-dashoffset: 40; }
  100% {
    stroke-dashoffset: 240; } }

@keyframes stroke {
  100% {
    stroke-dashoffset: 0; } }

.bx--inline-loading {
  display: flex;
  width: 100%;
  min-height: 2rem;
  align-items: center; }
  .bx--inline-loading .bx--loading__svg circle {
    stroke-width: 12; }
  .bx--inline-loading .bx--loading__stroke {
    stroke-dashoffset: 99; }

.bx--inline-loading__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  color: #565656; }

.bx--inline-loading__animation {
  position: relative;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center; }

.bx--inline-loading__checkmark-container {
  fill: #0062ff; }
  .bx--inline-loading__checkmark-container.bx--inline-loading__svg {
    width: 0.75rem;
    position: absolute;
    top: 0.75rem; }
  .bx--inline-loading__checkmark-container[hidden] {
    display: none; }

.bx--inline-loading__checkmark {
  fill: none;
  stroke: #0062ff;
  transform-origin: 50% 50%;
  stroke-width: 1.8;
  stroke-dasharray: 12;
  stroke-dashoffset: 12;
  animation-name: stroke;
  animation-duration: 0.25s;
  animation-fill-mode: forwards; }

.bx--inline-loading--error {
  fill: #da1e28;
  width: 0.64rem;
  height: 0.64rem; }
  .bx--inline-loading--error[hidden] {
    display: none; }

.bx--loading--small .bx--inline-loading__svg {
  stroke: #0062ff; }

/* If IE11 Don't show check animation */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .bx--inline-loading__checkmark-container {
    top: 1px;
    right: 0.5rem; }
  .bx--inline-loading__checkmark {
    animation: none;
    stroke-dashoffset: 0;
    stroke-dasharray: 0; } }

.bx--pagination-nav {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  line-height: 0; }
  .bx--pagination-nav *,
  .bx--pagination-nav *:before,
  .bx--pagination-nav *:after {
    box-sizing: inherit; }

.bx--pagination-nav__list {
  align-items: center;
  display: flex;
  list-style: none; }

.bx--pagination-nav__list-item {
  padding: 0; }
  .bx--pagination-nav__list-item:first-child {
    padding-left: 0; }
  .bx--pagination-nav__list-item:last-child {
    padding-right: 0; }

.bx--pagination-nav__page {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  border-radius: 0;
  color: #565656;
  display: block;
  font-weight: 400;
  line-height: 1;
  min-width: 3rem;
  outline: 0;
  padding: 1.0625rem 0.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color, color;
  transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
  user-select: none; }
  .bx--pagination-nav__page *,
  .bx--pagination-nav__page *:before,
  .bx--pagination-nav__page *:after {
    box-sizing: inherit; }
  .bx--pagination-nav__page::-moz-focus-inner {
    border: 0; }
  .bx--pagination-nav__page:hover {
    background-color: #e5e5e5;
    color: #565656; }
  .bx--pagination-nav__page:focus {
    outline: 2px solid #0062ff;
    outline-offset: -2px; }
  .bx--pagination-nav__page:disabled, .bx--pagination-nav__page.bx--pagination-nav__page--disabled {
    background: none;
    color: rgba(86, 86, 86, 0.5);
    outline: none;
    pointer-events: none; }
  .bx--pagination-nav__page:not(.bx--pagination-nav__page--direction)::after {
    background-color: #0062ff;
    bottom: 0;
    content: '';
    display: block;
    height: 0.25rem;
    left: 50%;
    position: absolute;
    opacity: 0;
    transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
    width: 0; }
  .bx--pagination-nav__page--active + .bx--pagination-nav__page::after, .bx--pagination-nav__page.bx--pagination-nav__page--active::after {
    left: calc(50% - 0.5rem);
    opacity: 1;
    width: 1rem; }
  .bx--pagination-nav__page.bx--pagination-nav__page--active {
    background-color: initial;
    color: #565656;
    font-weight: 600;
    outline: none; }
  .bx--pagination-nav__page .bx--pagination-nav__icon {
    fill: currentColor;
    pointer-events: none; }

.bx--pagination-nav__page--direction {
  align-items: center;
  display: flex;
  height: 3rem;
  justify-content: center;
  line-height: 0;
  width: 3rem; }

.bx--pagination-nav__select {
  position: relative; }

.bx--pagination-nav__page--select {
  appearance: none;
  max-height: 3rem;
  text-indent: calc(50% - 4.5px); }

@-moz-document url-prefix() {
  .bx--pagination-nav__page--select {
    text-indent: 0; } }

.bx--pagination-nav__select-icon-wrapper {
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%; }
  .bx--pagination-nav__select-icon-wrapper:not(.bx--pagination-nav__page--direction)::after {
    background-color: #0062ff;
    bottom: 0;
    content: '';
    display: block;
    height: 0.25rem;
    left: 50%;
    position: absolute;
    opacity: 0;
    transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
    width: 0; }
  .bx--pagination-nav__page--active + .bx--pagination-nav__select-icon-wrapper::after, .bx--pagination-nav__select-icon-wrapper.bx--pagination-nav__page--active::after {
    left: calc(50% - 0.5rem);
    opacity: 1;
    width: 1rem; }
  .bx--pagination-nav__page--active + .bx--pagination-nav__select-icon-wrapper .bx--pagination-nav__select-icon {
    display: none; }

.bx--pagination-nav__select-icon {
  left: calc(50% - 0.5rem);
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.5rem); }

.bx--pagination-nav__accessibility-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--header {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3rem;
  background-color: #171717;
  border-bottom: 1px solid #3d3d3d;
  z-index: 6000; }

.bx--header__action {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  width: 3rem;
  height: 3rem;
  border: 0.08rem solid transparent;
  transition: background-color 110ms, border-color 110ms; }
  .bx--header__action *,
  .bx--header__action *:before,
  .bx--header__action *:after {
    box-sizing: inherit; }
  .bx--header__action::-moz-focus-inner {
    border: 0; }

.bx--header__action > svg.bx--navigation-menu-panel-collapse-icon,
.bx--header__action--active > svg.bx--navigation-menu-panel-expand-icon {
  display: none; }

.bx--header__action--active > svg.bx--navigation-menu-panel-collapse-icon {
  display: inline; }

.bx--header__action > svg.bx--navigation-menu-panel-collapse-icon,
.bx--header__action--active > svg.bx--navigation-menu-panel-expand-icon {
  display: none; }

.bx--header__action--active > svg.bx--navigation-menu-panel-collapse-icon {
  display: inline; }

.bx--header__action:hover {
  background-color: #353535; }

.bx--header__action--active {
  border-left: 1px solid #3d3d3d;
  border-right: 1px solid #3d3d3d;
  border-bottom: 1px solid #171717; }

.bx--header__action:focus {
  border-color: #ffffff;
  outline: none; }

.bx--header__action:active {
  background-color: #3d3d3d; }

.bx--header__action > svg {
  fill: #ffffff; }

.bx--header__menu-trigger {
  margin-right: -0.32rem; }

.bx--header__menu-trigger > svg {
  fill: #f3f3f3; }

.bx--header__menu-trigger:hover {
  fill: #2c2c2c; }

.bx--header__menu-toggle {
  display: block; }

@media (min-width: 66rem) {
  .bx--header__menu-toggle__hidden {
    display: none; } }

a.bx--header__name {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 2rem 0 1rem;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.1px;
  line-height: 20px;
  user-select: none;
  border: 0.08rem solid transparent;
  transition: border-color 110ms;
  outline: none; }

a.bx--header__name:focus {
  border-color: #ffffff; }

.bx--header__name--prefix {
  font-weight: 400; }

a.bx--header__name,
a.bx--header__name:hover {
  color: #f3f3f3; }

.bx--header__nav {
  height: 100%;
  padding-left: 1rem;
  position: relative;
  display: block; }
  @media (max-width: 66rem) {
    .bx--header__nav {
      display: none; } }
  .bx--header__nav::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 0.96rem;
    width: 0.04rem;
    background-color: #3d3d3d; }

.bx--header__menu-bar[role='menubar'] {
  display: flex;
  height: 100%; }

a.bx--header__menu-item[role='menuitem'] {
  display: flex;
  align-items: center;
  color: #bebebe;
  padding: 0 1rem;
  height: 100%;
  font-size: 0.56rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.72rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid transparent;
  transition: background-color 110ms, border-color 110ms, color 110ms; }

a.bx--header__menu-item[role='menuitem']:hover {
  background-color: #2c2c2c;
  color: #f3f3f3; }

.bx--header__action:active,
a.bx--header__menu-item[role='menuitem']:active {
  background-color: #3d3d3d;
  color: #f3f3f3; }

a.bx--header__menu-item[role='menuitem']:focus {
  border-color: #ffffff;
  color: #f3f3f3;
  outline: none; }

a.bx--header__menu-item[role='menuitem']:hover > svg,
a.bx--header__menu-item[role='menuitem']:active > svg,
a.bx--header__menu-item[role='menuitem']:focus > svg {
  fill: #f3f3f3; }

.bx--header__submenu {
  position: relative; }

.bx--header__menu-title[role='menuitem'][aria-haspopup='true'] {
  position: relative; }

.bx--header__menu-title[role='menuitem'][aria-expanded='true'] {
  background-color: #282828;
  color: #ffffff;
  z-index: 6001; }

.bx--header__menu-title[role='menuitem'][aria-expanded='true'] > .bx--header__menu-arrow {
  transform: rotate(180deg); }

.bx--header__menu[role='menu'] {
  display: none; }

.bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 12.5rem;
  flex-direction: column;
  transform: translateY(100%);
  background-color: #282828;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  z-index: 6000; }

.bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu .bx--header__menu-item:hover {
  background-color: #353535; }

.bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu .bx--header__menu-item:active {
  background-color: #3d3d3d; }

.bx--header__menu .bx--header__menu-item[role='menuitem'] {
  height: 3rem; }

.bx--header__menu .bx--header__menu-item[role='menuitem']:hover {
  background-color: #282828;
  color: #f3f3f3; }

.bx--header__menu-arrow {
  fill: #bebebe;
  margin-left: 0.5rem;
  transition: transform 110ms, fill 110ms; }

.bx--header__global {
  display: flex;
  justify-content: flex-end;
  flex: 1 1 0%;
  height: 100%; }

.bx--skip-to-content {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  visibility: visible;
  white-space: nowrap; }

.bx--skip-to-content:focus {
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  width: auto;
  height: 3rem;
  clip: auto;
  border: 4px solid #0062ff;
  z-index: 9999;
  background-color: #171717;
  color: #f3f3f3;
  outline: none;
  padding: 0 1rem; }

.bx--header-panel {
  transition-timing-function: cubic-bezier(0.2, 0, 1, 0.9);
  position: fixed;
  top: 3rem;
  bottom: 0;
  right: 0;
  width: 0;
  background-color: #171717;
  border: none;
  will-change: width;
  transition: width 0.11s;
  overflow: hidden;
  z-index: 6000;
  color: #bebebe; }

.bx--header-panel--expanded {
  width: 16rem;
  border-left: 1px solid #3d3d3d;
  border-right: 1px solid #3d3d3d; }

.bx--panel--overlay {
  position: fixed;
  top: 3rem;
  right: 0;
  bottom: 0;
  width: 16rem;
  will-change: transform;
  transform: translate3d(100%, 0, 0);
  padding: 1rem 0;
  overflow-y: auto;
  z-index: 1000;
  background-color: #171717;
  height: 100%;
  overflow-x: hidden;
  transition: transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9); }

.bx--panel--expanded {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.25);
  transform: translate3d(0, 0, 0); }

.bx--product-switcher__search {
  padding: 0 1rem;
  margin-bottom: 1.5rem; }

.bx--search--shell input {
  background-color: #dcdcdc; }

.bx--product-switcher__subheader,
.bx--product-switcher__all-btn {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  padding: 0.5rem;
  color: #bebebe; }

.bx--product-switcher__subheader {
  padding-left: 3.5rem; }

.bx--product-switcher__all-btn {
  padding-left: 3.5rem; }

.bx--product-switcher__all-btn,
.bx--product-switcher__back-btn {
  display: inline-block;
  background: transparent;
  width: 100%;
  border: none;
  color: #0062ff;
  cursor: pointer;
  text-align: left; }

.bx--product-switcher__all-btn:hover,
.bx--product-switcher__back-btn:hover {
  text-decoration: underline; }

.bx--product-switcher__all-btn:focus,
.bx--product-switcher__back-btn:focus {
  outline: none;
  box-shadow: inset 0 0 0 3px #0062ff; }

.bx--product-switcher__back-btn {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  padding: 0.5rem 1rem; }

.bx--product-switcher__back-arrow {
  fill: #0062ff;
  margin-right: 1rem; }

.bx--product-list__item {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.bx--product-list__item:hover {
  background: #dcdcdc; }

.bx--product-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 0.5rem 1rem;
  text-decoration: none; }

.bx--product-link:focus {
  outline: none;
  box-shadow: inset 0 0 0 3px #0062ff; }

.bx--product-switcher__icon {
  margin-right: 1rem; }

.bx--product-link__name {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  margin-left: 0.25rem;
  font-weight: 400;
  color: #bebebe; }

.bx--product-switcher__product-list .bx--overflow-menu {
  display: none;
  justify-content: center;
  align-items: center;
  width: 2.5rem; }
  .bx--product-switcher__product-list .bx--overflow-menu.bx--overflow-menu--open {
    display: flex; }

.bx--product-switcher__product-list .bx--overflow-menu > svg {
  fill: #bebebe; }

.bx--product-switcher__product-list .bx--overflow-menu:hover {
  background: #bebebe; }

.bx--product-switcher__product-list .bx--overflow-menu:hover > svg {
  fill: #bebebe; }

.bx--product-switcher__product-list .bx--overflow-menu:focus {
  display: flex;
  outline: none;
  box-shadow: inset 0 0 0 3px #0062ff; }

.bx--product-switcher__product-list .bx--overflow-menu-options__option:hover {
  background: #ffffff; }

.bx--product-list__item:hover .bx--overflow-menu {
  display: flex; }

.bx--switcher {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #bebebe; }

.bx--switcher__item {
  width: 100%;
  height: 2rem; }

.bx--switcher__item:nth-child(1) {
  margin-top: 1rem; }

.bx--switcher__item--divider {
  display: block;
  width: 8.96rem;
  height: 1px;
  margin: 0.5rem 1rem;
  background: #3d3d3d;
  border: none; }

.bx--switcher__item-link {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  display: block;
  height: 2rem;
  text-decoration: none;
  padding: 0.24rem 1rem;
  color: #bebebe; }
  .bx--switcher__item-link:hover:not(.bx--switcher__item-link--selected) {
    background: #2c2c2c;
    color: #f3f3f3;
    cursor: pointer; }
  .bx--switcher__item-link:focus {
    outline: 2px solid #ffffff;
    outline-offset: -2px; }
  .bx--switcher__item-link:active {
    background: #3d3d3d;
    color: #f3f3f3; }

.bx--switcher__item-link--selected {
  background: #282828;
  color: #f3f3f3; }

.bx--side-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3rem;
  max-width: 16rem;
  color: #565656;
  background-color: #ffffff;
  will-change: width;
  transition: width 0.11s cubic-bezier(0.2, 0, 1, 0.9);
  overflow: hidden;
  z-index: 6000; }

.bx--side-nav--ux {
  top: 3rem;
  width: 16rem; }
  @media (max-width: 66rem) {
    .bx--side-nav--ux {
      width: 0; } }

.bx--side-nav--rail {
  width: 3rem; }

.bx--side-nav--hidden {
  width: 0; }

.bx--side-nav:not(.bx--side-nav--fixed):hover,
.bx--side-nav--expanded {
  width: 16rem; }

.bx--side-nav__overlay {
  position: absolute;
  top: 1.92rem;
  height: 0;
  width: 0;
  background-color: transparent;
  opacity: 0;
  transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }

@media (max-width: 66rem) {
  .bx--side-nav__overlay-active {
    height: 100vh;
    width: 100%;
    background-color: rgba(23, 23, 23, 0.5);
    opacity: 1;
    transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9); } }

.bx--header ~ .bx--side-nav {
  top: 3rem;
  height: calc(100% - 48px); }

.bx--side-nav--fixed {
  width: 16rem; }

.bx--side-nav--collapsed {
  width: 16rem;
  transform: translateX(-16rem); }

.bx--side-nav__navigation {
  display: flex;
  flex-direction: column;
  height: 100%; }

.bx--side-nav__header {
  display: flex;
  border-bottom: 1px solid #3d3d3d;
  width: 100%;
  height: 3rem;
  max-width: 100%; }
  .bx--side-nav:hover .bx--side-nav__header,
  .bx--side-nav--fixed .bx--side-nav__header,
  .bx--side-nav--expanded .bx--side-nav__header {
    height: auto; }

.bx--side-nav--ux .bx--side-nav__header {
  height: auto; }

.bx--side-nav__details {
  display: flex;
  flex-direction: column;
  padding-right: 1rem;
  flex: 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden; }
  .bx--side-nav:hover .bx--side-nav__details,
  .bx--side-nav--fixed .bx--side-nav__details,
  .bx--side-nav--expanded .bx--side-nav__details {
    visibility: visible;
    opacity: 1; }

.bx--side-nav--ux .bx--side-nav__details {
  opacity: 1;
  visibility: inherit; }

.bx--side-nav__title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.1px;
  margin-top: 1rem;
  user-select: none; }

.bx--side-nav__title,
.bx--side-nav__select {
  padding-left: 0.5rem; }

.bx--side-nav__switcher {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between; }

.bx--side-nav__switcher-chevron {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0.5rem;
  bottom: 0;
  fill: #565656; }

.bx--side-nav__select {
  outline: 2px solid transparent;
  outline-offset: -2px;
  appearance: none;
  flex: 1 1 0%;
  background-color: #171717;
  color: #f3f3f3;
  height: 100%;
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-size: 0.48rem;
  height: 2rem;
  min-width: 0;
  padding-right: 2rem;
  transition: outline 110ms; }

.bx--side-nav__select:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--side-nav__footer {
  flex: 0 0 1.92rem;
  width: 100%;
  background-color: #ffffff; }

.bx--side-nav__toggle {
  outline: 2px solid transparent;
  outline-offset: -2px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  text-align: left;
  transition: outline 110ms; }
  .bx--side-nav__toggle *,
  .bx--side-nav__toggle *:before,
  .bx--side-nav__toggle *:after {
    box-sizing: inherit; }
  .bx--side-nav__toggle::-moz-focus-inner {
    border: 0; }

.bx--side-nav__toggle:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--side-nav__toggle {
  padding-left: 1rem; }

.bx--side-nav__items {
  flex: 1 1 0%;
  overflow: hidden;
  padding: 1rem 0 0; }
  .bx--side-nav:hover .bx--side-nav__items,
  .bx--side-nav--fixed .bx--side-nav__items,
  .bx--side-nav--expanded .bx--side-nav__items {
    overflow-y: auto; }

.bx--side-nav--ux .bx--side-nav__items {
  overflow-y: auto; }

.bx--side-nav__item {
  width: 3rem;
  height: 3rem;
  overflow: hidden; }
  .bx--side-nav:hover .bx--side-nav__item,
  .bx--side-nav--fixed .bx--side-nav__item,
  .bx--side-nav--expanded .bx--side-nav__item {
    width: auto;
    height: auto; }

.bx--side-nav--ux .bx--side-nav__item {
  width: auto;
  height: auto; }

.bx--side-nav__item:not(.bx--side-nav__item--active):hover .bx--side-nav__item:not(.bx--side-nav__item--active) > .bx--side-nav__submenu:hover,
.bx--side-nav__item:not(.bx--side-nav__item--active) > .bx--side-nav__link:hover,
.bx--side-nav__menu[role='menu'] a.bx--side-nav__link[role='menuitem']:not(.bx--side-nav__link--current):not([aria-current='page']):hover,
.bx--side-nav a.bx--header__menu-item[role='menuitem']:hover,
.bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true']:hover {
  background-color: #e5e5e5;
  color: #171717; }

.bx--side-nav__item:not(.bx--side-nav__item--active) > .bx--side-nav__link:hover > span,
.bx--side-nav__item:not(.bx--side-nav__item--active) .bx--side-nav__menu-item > .bx--side-nav__link:hover > span {
  color: #171717; }

.bx--side-nav__item--large {
  height: 3rem; }

.bx--side-nav__submenu[aria-haspopup='true'] {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  color: #565656;
  height: 2rem;
  user-select: none;
  transition: color 110ms, background-color 110ms, outline 110ms; }
  .bx--side-nav__submenu[aria-haspopup='true'] *,
  .bx--side-nav__submenu[aria-haspopup='true'] *:before,
  .bx--side-nav__submenu[aria-haspopup='true'] *:after {
    box-sizing: inherit; }
  .bx--side-nav__submenu[aria-haspopup='true']::-moz-focus-inner {
    border: 0; }

.bx--side-nav__submenu:hover {
  background-color: #e5e5e5;
  color: #171717; }

.bx--side-nav__submenu:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

.bx--side-nav__submenu-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left; }

.bx--side-nav__icon.bx--side-nav__submenu-chevron {
  flex: 1;
  display: flex;
  justify-content: flex-end; }

.bx--side-nav__submenu-chevron > svg {
  transition: transform 110ms;
  height: 0.64rem;
  width: 0.64rem; }

.bx--side-nav__submenu[aria-expanded='true'] .bx--side-nav__submenu-chevron > svg {
  transform: rotate(180deg); }

.bx--side-nav__item--large .bx--side-nav__submenu {
  height: 3rem; }

.bx--side-nav__item--active .bx--side-nav__submenu:hover {
  background-color: #e5e5e5;
  color: #171717; }

.bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded='false'] {
  background-color: #e5e5e5;
  color: #171717;
  position: relative; }
  .bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded='false']::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background-color: #0062ff; }

.bx--side-nav__item--active .bx--side-nav__submenu-title {
  font-weight: 600;
  color: #171717; }

.bx--side-nav__menu[role='menu'] {
  display: block;
  visibility: hidden;
  max-height: 0; }

.bx--side-nav__submenu[aria-expanded='true'] + .bx--side-nav__menu[role='menu'] {
  max-height: 60rem;
  visibility: inherit; }

.bx--side-nav__menu[role='menu'] a.bx--side-nav__link[role='menuitem'] {
  height: 2rem;
  min-height: 2rem;
  padding-left: 2rem;
  font-weight: 400; }

.bx--side-nav__item.bx--side-nav__item--icon a.bx--side-nav__link[role='menuitem'] {
  padding-left: 4.5rem; }

.bx--side-nav__menu[role='menu'] a.bx--side-nav__link--current,
.bx--side-nav__menu[role='menu'] a.bx--side-nav__link[aria-current='page'],
a.bx--side-nav__link--current {
  background-color: #dcdcdc; }
  .bx--side-nav__menu[role='menu'] a.bx--side-nav__link--current > span,
  .bx--side-nav__menu[role='menu'] a.bx--side-nav__link[aria-current='page'] > span,
  a.bx--side-nav__link--current > span {
    color: #171717;
    font-weight: 600; }

a.bx--side-nav__link--current > span.bx--side-nav__link-text {
  color: #171717;
  font-weight: 600; }

a.bx--side-nav__link,
.bx--side-nav a.bx--header__menu-item[role='menuitem'],
.bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu {
  outline: 2px solid transparent;
  outline-offset: -2px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  letter-spacing: 0.16px;
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 2rem;
  padding: 0 1rem;
  transition: color 110ms, background-color 110ms, outline 110ms; }

.bx--side-nav__item--large a.bx--side-nav__link {
  height: 3rem; }

a.bx--side-nav__link > .bx--side-nav__link-text,
.bx--side-nav a.bx--header__menu-item[role='menuitem'] .bx--text-truncate-end {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #565656;
  font-size: 0.56rem;
  letter-spacing: 0.1px;
  line-height: 0.8rem;
  user-select: none; }

a.bx--side-nav__link:focus,
.bx--side-nav a.bx--header__menu-item[role='menuitem']:focus {
  outline: 2px solid #0062ff;
  outline-offset: -2px; }

a.bx--side-nav__link[aria-current='page'],
a.bx--side-nav__link--current {
  font-weight: 600; }

a.bx--side-nav__link[aria-current='page']::before,
a.bx--side-nav__link--current::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background-color: #0062ff; }

.bx--side-nav__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 1rem; }

.bx--side-nav__icon:not(.bx--side-nav__submenu-chevron) {
  margin-right: 1.5rem; }

.bx--side-nav__icon > svg {
  fill: #565656;
  width: 1rem;
  height: 1rem; }

.bx--side-nav__icon > svg.bx--side-nav-collapse-icon {
  display: none; }

.bx--side-nav--expanded .bx--side-nav__icon > svg.bx--side-nav-expand-icon {
  display: none; }

.bx--side-nav--expanded .bx--side-nav__icon > svg.bx--side-nav-collapse-icon {
  display: block; }

.bx--side-nav--fixed a.bx--side-nav__link,
.bx--side-nav--fixed .bx--side-nav__submenu[aria-haspopup='true'] {
  padding-left: 1rem; }

.bx--side-nav--fixed .bx--side-nav__menu[role='menu'] a.bx--side-nav__link {
  padding-left: 2rem; }

@media (max-width: 66rem) {
  .bx--side-nav .bx--header__nav {
    display: block; } }

.bx--side-nav__header-navigation {
  display: none; }
  @media (max-width: 66rem) {
    .bx--side-nav__header-navigation {
      display: block;
      position: relative;
      margin-bottom: 1.28rem; } }

.bx--side-nav__header-divider::after {
  content: '';
  position: absolute;
  height: 0.04rem;
  bottom: -0.64rem;
  left: 0.64rem;
  width: calc(100% - 32px);
  background: #dcdcdc; }

.bx--side-nav a.bx--header__menu-item[role='menuitem'] {
  color: #565656;
  white-space: nowrap;
  justify-content: space-between; }
  .bx--side-nav a.bx--header__menu-item[role='menuitem'][aria-expanded='true'] {
    background-color: transparent; }

.bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu {
  bottom: inherit;
  width: 100%;
  box-shadow: none;
  transform: none;
  background-color: transparent;
  padding: 0; }
  .bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu li {
    width: 100%; }
  .bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu a.bx--header__menu-item[role='menuitem'] {
    padding-left: 4.25rem;
    font-weight: 400; }
  .bx--side-nav .bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu a.bx--header__menu-item[role='menuitem']:hover {
    background-color: #e5e5e5;
    color: #171717; }

.bx--side-nav .bx--header__menu a.bx--header__menu-item[role='menuitem'] {
  height: inherit; }

.bx--side-nav a.bx--header__menu-item[role='menuitem']:hover .bx--header__menu-arrow,
.bx--side-nav a.bx--header__menu-item[role='menuitem']:focus .bx--header__menu-arrow,
.bx--side-nav .bx--header__menu-arrow {
  fill: #565656; }

.bx--navigation {
  position: fixed;
  top: 3rem;
  bottom: 0;
  left: 0;
  background-color: #282828;
  width: 16rem;
  z-index: 9100;
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.25);
  color: #f3f3f3; }

.bx--navigation--right {
  left: auto;
  right: 0; }

.bx--navigation svg {
  fill: #f3f3f3; }

.bx--navigation-section:not(:last-child)::after {
  display: block;
  content: '';
  height: 1px;
  background-color: #3d3d3d;
  margin: 0 1rem; }

.bx--navigation-item {
  position: relative;
  display: flex;
  align-items: center; }

.bx--navigation-item--active > a.bx--navigation-link {
  color: #ffffff;
  font-weight: 600; }

.bx--navigation-item--active::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background-color: #0062ff; }

a.bx--navigation-link {
  display: flex;
  align-items: center;
  color: #f3f3f3;
  text-decoration: none;
  font-size: 0.56rem;
  font-weight: 400;
  width: 100%;
  min-height: 2.5rem;
  padding-left: 1rem; }

a.bx--navigation-link:hover {
  background-color: #333333;
  color: #ffffff; }

a.bx--navigation-link:focus {
  outline: 0.12rem solid #0062ff;
  outline-offset: -0.12rem; }

.bx--navigation-item--icon > a.bx--navigation-link {
  padding-left: 0; }

.bx--navigation__category {
  width: 100%; }

.bx--navigation__category-toggle {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  display: inline-block;
  background: none;
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 100%;
  display: flex;
  align-items: center; }
  .bx--navigation__category-toggle *,
  .bx--navigation__category-toggle *:before,
  .bx--navigation__category-toggle *:after {
    box-sizing: inherit; }
  .bx--navigation__category-toggle::-moz-focus-inner {
    border: 0; }

.bx--navigation__category-toggle:hover {
  background-color: #333333; }

.bx--navigation__category-toggle:focus {
  outline: 0.12rem solid #0062ff;
  outline-offset: -0.12rem; }

.bx--navigation__category-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 1rem;
  width: 100%;
  color: #f3f3f3;
  font-size: 0.56rem;
  font-weight: 400;
  min-height: 2.5rem;
  padding-left: 1rem; }

.bx--navigation-item--icon .bx--navigation__category-title {
  padding-left: 0; }

.bx--navigation__category-items {
  display: none;
  visibility: hidden; }

.bx--navigation__category-item > a.bx--navigation-link {
  display: flex;
  align-items: center;
  min-height: 2rem;
  padding-left: 2rem; }

.bx--navigation__category-item {
  position: relative; }

.bx--navigation-item--icon .bx--navigation__category-item > a.bx--navigation-link {
  padding-left: 3.5rem; }

.bx--navigation__category-item--active::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background-color: #0062ff; }

.bx--navigation__category-item--active > a.bx--navigation-link {
  font-weight: 600;
  color: #ffffff; }

.bx--navigation__category--expanded .bx--navigation__category-title {
  font-weight: 600; }

.bx--navigation__category--expanded .bx--navigation__category-title > svg {
  transform: rotate(180deg); }

.bx--navigation__category--expanded .bx--navigation__category-items {
  display: block;
  visibility: inherit; }

.bx--navigation-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  min-width: 3rem;
  height: 2.5rem;
  margin-right: 0.5rem; }

.bx--content {
  background: #f3f3f3;
  padding: 2rem;
  transform: translate3d(0, 0, 0);
  will-change: margin-left; }

.bx--header ~ .bx--content {
  margin-top: 3rem; }

.bx--side-nav ~ .bx--content {
  margin-left: 3rem; }

.bx--side-nav.bx--side-nav--expanded ~ .bx--content {
  margin-left: 16rem; }

body {
  transition: transform 500ms ease-in-out; }
  body .menu-drawer {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100vh);
    transition: transform 500ms ease-in-out; }
    @media screen and (max-height: 600px) {
      body .menu-drawer {
        transform: translateY(-600px); } }
  body.open-menu {
    transform: translateY(100vh); }
    @media screen and (max-height: 600px) {
      body.open-menu {
        transform: translateY(600px); } }

.header {
  display: flex;
  flex-wrap: wrap; }
  .header ul,
  .header ol {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .header ul li:before,
    .header ol li:before {
      content: none; }
  .header .wrapper {
    order: 2;
    flex: 1 0 100%;
    padding: 0.8rem 1.2rem 2rem; }
  .header .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
  .header .logo {
    order: 2;
    line-height: 1; }
    .header .logo:hover .logo-site {
      fill: #ffffff; }
      .header .logo:hover .logo-site.white {
        fill: #000000; }
    @media (max-width: 350px) {
      .header .logo .logo-site {
        max-width: 8.8rem; } }
    .header .logo.white-hover:hover {
      background-color: #ffffff; }
  .header .menu-btn {
    order: 4;
    transition: all ease-in-out 300ms;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 25px;
    line-height: 1.74;
    background: rgba(255, 255, 255, 0);
    border: none;
    color: #000000;
    transform: translate(0);
    text-transform: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    font-weight: bold;
    font-size: 1.6rem;
    color: black; }
    .header .menu-btn:before, .header .menu-btn:after {
      content: none; }
    .header .menu-btn:hover {
      color: #ffffff;
      background-color: #000000; }
  .header .close-btn {
    transition: all ease-in-out 300ms;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 25px;
    line-height: 1.74;
    background: rgba(255, 255, 255, 0);
    border: none;
    color: #000000;
    transform: translate(0);
    text-transform: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    font-weight: bold;
    font-size: 1.6rem;
    color: white; }
    .header .close-btn:before, .header .close-btn:after {
      content: none; }
    .header .close-btn:hover {
      color: #000000;
      background-color: #ffffff; }
  .header .menu-drawer {
    order: 1;
    flex: 1 0 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100vh;
    min-height: 600px;
    overflow-y: scroll;
    background-color: #000000; }
    .header .menu-drawer .wrapper {
      width: 100%;
      height: 100%; }
    .header .menu-drawer .logo {
      order: 1; }
    .header .menu-drawer .close-btn {
      order: 2; }
    .header .menu-drawer .header-nav {
      order: 3;
      flex: 1 0 100%; }
    .header .menu-drawer .menu-title {
      font-size: 2.5rem;
      color: #ffffff; }
      @media (min-width: 600px) {
        .header .menu-drawer .menu-title {
          font-size: 4.32rem; } }
    .header .menu-drawer a:focus,
    .header .menu-drawer button:focus {
      outline: 3px solid #ffffff; }
  .header .header-nav {
    display: flex;
    justify-content: center;
    align-items: normal;
    flex-wrap: wrap;
    flex-direction: column; }
    @media (min-width: 900px) {
      .header .header-nav {
        display: block; } }
  .header .action-menu {
    order: 2;
    flex: 1 0 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem; }
    @media (min-width: 900px) {
      .header .action-menu {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: wrap; } }
    .header .action-menu .menu-item a {
      margin: 0 1rem;
      color: #f4c254;
      text-decoration: underline rgba(255, 255, 255, 0);
      transition: all 300ms ease-in-out; }
      .header .action-menu .menu-item a:hover {
        color: #ffffff;
        text-decoration: underline; }
      @media (min-width: 900px) {
        .header .action-menu .menu-item a {
          margin: 0 0 0 2rem; } }
  .header .menu-wrapper {
    order: 1;
    flex: 1 0 100%; }
  .header .max-width-1100 {
    max-width: 1100px; }
    @media (min-width: 900px) {
      .header .max-width-1100 {
        margin: 0 auto; } }
  .header .header-menu {
    margin-bottom: 2rem; }
    @media (min-width: 900px) {
      .header .header-menu {
        column-count: 2;
        margin-bottom: 2rem; } }
    .header .header-menu a:focus {
      outline-offset: 5px; }
  .header .menu-item a {
    color: #ffffff;
    font-weight: bold;
    font-size: 1.5rem;
    text-decoration: underline rgba(255, 255, 255, 0);
    transition: all 300ms ease-in-out; }
    @media (min-width: 600px) {
      .header .menu-item a {
        font-size: 1.6rem; } }
    .header .menu-item a:hover {
      color: #f4c254;
      text-decoration: underline; }
  .header .underline {
    display: block; }
    .header .underline:after {
      content: "";
      display: block;
      width: 100%;
      height: 8px;
      margin-top: 0.6rem;
      background-color: #ffffff;
      position: relative; }

.footer {
  padding: 2rem 0;
  background-color: #000000;
  color: #ffffff; }
  .footer .wrapper {
    position: relative; }
    @media (min-width: 900px) {
      .footer .wrapper {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap; } }
  .footer .logo-div {
    transition: all 300ms ease-in-out; }
    @media (min-width: 1200px) {
      .footer .logo-div .logo {
        display: block;
        position: absolute;
        left: auto;
        top: 50%;
        transform: translateY(-50%); }
        .footer .logo-div .logo:hover {
          background-color: #ffffff; } }
    .footer .logo-div .logo:focus {
      outline: 3px solid #ffffff; }
    .footer .logo-div .logo:hover .logo-site {
      fill: #ffffff; }
      .footer .logo-div .logo:hover .logo-site.white {
        fill: #000000; }
    .footer .logo-div .logo-site {
      margin: 0 auto; }
    .footer .logo-div.white-hover:hover {
      background-color: #ffffff; }
  .footer .footer-nav ul,
  .footer .footer-nav ol {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .footer .footer-nav ul li:before,
    .footer .footer-nav ol li:before {
      content: none; }
  .footer .footer-nav .footer-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
  .footer .footer-nav .menu-item {
    margin: 0 0.6rem; }
    .footer .footer-nav .menu-item a {
      color: #ffffff;
      font-weight: bold;
      text-decoration: underline rgba(255, 255, 255, 0);
      transition: all 300ms ease-in-out; }
      .footer .footer-nav .menu-item a:hover, .footer .footer-nav .menu-item a:focus {
        color: #f4c254;
        text-decoration: underline; }
      .footer .footer-nav .menu-item a:focus {
        outline: 3px solid; }
  .footer .content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
    @media (min-width: 900px) {
      .footer .content {
        flex: 1 0 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: wrap; } }
    .footer .content span {
      padding-right: 0.6rem;
      font-size: 0.76rem; }
    .footer .content a:focus {
      outline: 3px solid #ffffff; }
  .footer .footer-nav,
  .footer .content {
    padding-top: 0.8rem; }

.block.accordions .wrapper {
  max-width: 85%; }

.block.accordions details {
  position: relative;
  padding: 1rem 0;
  border-bottom: 3px solid #000000; }
  .block.accordions details > summary::-webkit-details-marker {
    display: none; }

.block.accordions .bx--accordion__item {
  padding: 0;
  border-top: none;
  border-bottom: 3px solid #000000; }
  .block.accordions .bx--accordion__item:last-child {
    border-bottom: 3px solid #000000; }

.block.accordions .bx--accordion__heading {
  padding: 1.2rem 0; }
  .block.accordions .bx--accordion__heading:hover:before, .block.accordions .bx--accordion__heading:focus:before {
    height: calc(100% + 1px); }
  .block.accordions .bx--accordion__heading:focus:before {
    border: 3px solid #000000; }

.block.accordions .bx--accordion__title,
.block.accordions .title {
  margin: 0;
  padding: 0;
  font-size: 25px;
  font-weight: bold;
  cursor: pointer;
  list-style-type: none; }
  .block.accordions .bx--accordion__title:focus,
  .block.accordions .title:focus {
    outline: 3px solid #000000;
    outline-offset: 5px; }

.block.accordions .bx--accordion__item--active .bx--accordion__content {
  padding: 0.5rem 0 1rem; }

.block.accordions .bx--accordion__content p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit; }

.block.accordions .content > *:last-child {
  margin-bottom: 0; }

.block.accordions .bx--accordion__arrow {
  margin-right: 0;
  transform: none; }
  .block.accordions .bx--accordion__arrow svg {
    display: none; }

.block.accordions.style-1 .title {
  position: relative;
  padding-right: 3rem; }
  .block.accordions.style-1 .title:before {
    position: absolute;
    right: 12px;
    top: 8px;
    content: "";
    width: 3px;
    height: 24px;
    background: #000000;
    transform: translateX(50%);
    transition: transform 300ms ease-in-out; }
  .block.accordions.style-1 .title:after {
    position: absolute;
    right: 0;
    top: 20px;
    content: "";
    width: 24px;
    height: 3px;
    background: #000000;
    transform: translateY(-50%); }

.block.accordions.style-1 .item.open .title:before {
  transform: translateX(50%) rotate(90deg); }

.block.accordions.style-1 .bx--accordion__item--active .bx--accordion__arrow:before {
  transform: translate(50%, -50%) rotate(90deg); }

.block.accordions.style-1 .bx--accordion__arrow {
  width: 24px;
  height: 24px; }
  .block.accordions.style-1 .bx--accordion__arrow:before {
    position: absolute;
    right: 12px;
    top: 50%;
    content: "";
    width: 3px;
    height: 24px;
    background: #000000;
    transform: translate(50%, -50%);
    transition: transform 300ms ease-in-out; }
  .block.accordions.style-1 .bx--accordion__arrow:after {
    position: absolute;
    right: 0;
    top: 50%;
    content: "";
    width: 24px;
    height: 3px;
    background: #000000;
    transform: translate(0, -50%); }
  .block.accordions.style-1 .bx--accordion__arrow svg {
    display: none; }

.block.accordions.style-2 .title {
  padding-right: 6rem; }
  .block.accordions.style-2 .title:after {
    content: "Answer";
    position: absolute;
    right: 0;
    top: 1rem; }

.block.accordions.style-2 .bx--accordion__arrow {
  width: auto;
  height: auto;
  position: relative;
  font-weight: bold; }

.block.basic-content.left-align {
  text-align: left; }

.block.basic-content.center-align {
  text-align: center; }

.block.basic-content.right-align {
  text-align: right; }

.block.basic-content.style-1 .row {
  max-width: 800px;
  margin: 0 auto; }

@media (min-width: 900px) {
  .block.basic-content.style-2 .wrapper {
    max-width: 85%;
    padding: 0; } }

@media (min-width: 900px) {
  .block.basic-content.style-2 .row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: nowrap;
    margin: 0 -2rem; } }

@media (min-width: 900px) {
  .block.basic-content.style-2 .row .col {
    margin: 0 2rem; } }

.grid .item {
  width: 100%;
  max-width: 380px;
  margin-bottom: 40px; }
  .grid .item .title:before {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    margin-bottom: 1.4rem;
    background: #000000; }

.grid .image {
  position: relative;
  height: 220px;
  margin-bottom: 2rem;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 0;
  padding-top: 70%; }
  .grid .image img {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }

.block.cards ul,
.block.cards ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .block.cards ul li:before,
  .block.cards ol li:before {
    content: none; }

.block.cards .wrapper {
  max-width: 85%; }

.block.cards.grid .col {
  overflow: hidden; }

.block.cards.grid .items {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-left: -1.4rem;
  margin-right: -1.4rem; }

.block.cards.grid .item {
  margin-left: 1.4rem;
  margin-right: 1.4rem; }

.block.cards .title-wrapper {
  margin-bottom: 2rem; }

.block.cards .item .title {
  font-size: 1.25em;
  margin-bottom: 5px; }

.block.cards .item p {
  margin-bottom: 10px; }

.block.cards .item .subtitle {
  font-style: italic;
  margin-bottom: 15px; }

.block.cards .item .content {
  padding: 0; }

.block.hero.content-left .row {
  flex-direction: row; }

.block.hero.content-right .row {
  flex-direction: row-reverse; }

.block.hero.style-1 {
  position: relative;
  overflow: hidden; }
  .block.hero.style-1.content-left .label {
    justify-content: flex-end;
    left: 0;
    text-align: right; }
    .block.hero.style-1.content-left .label:after {
      right: 0;
      margin-left: 1rem;
      transform: translateX(100%); }
  @media (max-width: 599px) {
    .block.hero.style-1.content-left .title-wrapper {
      margin: 0 0 0 auto; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-left .image-wrapper {
      margin-left: auto; } }
  @media (max-width: 599px) {
    .block.hero.style-1.content-left .title {
      margin-right: 1rem; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-left .title {
      margin-left: 9%; } }
  @media (min-width: 900px) {
    .block.hero.style-1.content-left .title {
      margin-left: 0; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-left .titles,
    .block.hero.style-1.content-left .content {
      float: left; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-left .content .inner {
      margin-left: 0; } }
  .block.hero.style-1.content-left .image {
    right: 0; }
  .block.hero.style-1.content-left .label {
    padding-right: 29%; }
    @media (max-width: 599px) {
      .block.hero.style-1.content-left .label {
        padding-right: 0; } }
    @media (min-width: 900px) {
      .block.hero.style-1.content-left .label {
        padding-right: 0; } }
  .block.hero.style-1.content-right .label {
    justify-content: flex-end;
    flex-direction: row-reverse;
    right: 0; }
    @media (min-width: 600px) {
      .block.hero.style-1.content-right .label {
        justify-content: center;
        padding-left: calc(160px + 1%); } }
    @media (min-width: 900px) {
      .block.hero.style-1.content-right .label {
        margin-right: 0;
        margin-left: auto;
        justify-content: flex-end;
        padding-left: 0; } }
    .block.hero.style-1.content-right .label:after {
      left: 0;
      margin-right: 1rem;
      transform: translateX(-100%); }
  @media (max-width: 599px) {
    .block.hero.style-1.content-right .title-wrapper {
      margin: 0 auto 0 0; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-right .image-wrapper {
      margin-right: auto; } }
  @media (max-width: 599px) {
    .block.hero.style-1.content-right .title {
      margin-left: 1rem; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-right .title {
      margin-left: 59%; } }
  @media (min-width: 900px) {
    .block.hero.style-1.content-right .title {
      margin-left: auto;
      margin-right: 0; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-right .titles,
    .block.hero.style-1.content-right .content {
      float: right; } }
  @media (min-width: 600px) {
    .block.hero.style-1.content-right .content .inner {
      margin-right: 0;
      margin-left: auto; } }
  .block.hero.style-1.content-right .image {
    left: 0; }
  .block.hero.style-1.animate .label:after {
    transform: translateX(0); }
  .block.hero.style-1.animate .label .span {
    opacity: 1;
    transform: translate(0, 0); }
  .block.hero.style-1 .wrapper {
    max-width: none;
    padding: 0; }
  .block.hero.style-1 .row {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap; }
    @media (min-width: 600px) {
      .block.hero.style-1 .row {
        display: block; }
        .block.hero.style-1 .row:after {
          content: "";
          display: table;
          clear: both; } }
  .block.hero.style-1 .label {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: nowrap;
    margin-bottom: 2rem;
    padding-top: 1.5%;
    font-size: 1.25em; }
    @media (min-width: 900px) {
      .block.hero.style-1 .label {
        padding-top: 31px;
        width: calc(100% - 37.5%); } }
    @media (max-width: 599px) {
      .block.hero.style-1 .label {
        font-size: 0.75rem; } }
    .block.hero.style-1 .label .span {
      opacity: 0;
      transform: translate(0, 50%);
      transition: all 300ms ease-in-out 600ms; }
    .block.hero.style-1 .label:after {
      content: "";
      display: block;
      width: 15%;
      height: 0;
      margin-top: -1.5%;
      padding-bottom: 15%;
      flex: 1 0 15%;
      max-width: 15%;
      z-index: 1;
      transition: transform 300ms ease-in-out 300ms; }
      @media (min-width: 900px) {
        .block.hero.style-1 .label:after {
          width: 4rem;
          height: 4rem;
          flex: 1 0 4rem;
          max-width: 4rem;
          margin-top: -31px;
          padding-bottom: 0; } }
    .block.hero.style-1 .label.square-pink:after {
      background: #d6315b; }
    .block.hero.style-1 .label.square-teal:after {
      background: #6ecfb9; }
    .block.hero.style-1 .label.square-yellow:after {
      background: #f4c254; }
  .block.hero.style-1 .content {
    order: 3;
    width: 100%;
    padding: 2.4rem 2rem 0; }
    @media (min-width: 600px) {
      .block.hero.style-1 .content {
        position: relative;
        order: 2;
        width: 100%;
        padding: 0;
        z-index: 3; } }
    .block.hero.style-1 .content .content-wrapper {
      width: 85%;
      margin: 0 auto; }
    .block.hero.style-1 .content .inner {
      width: 50%; }
      @media (max-width: 599px) {
        .block.hero.style-1 .content .inner {
          width: 100%; } }
  .block.hero.style-1 .titles {
    order: 1;
    width: 60%; }
    @media (min-width: 600px) {
      .block.hero.style-1 .titles {
        order: 1;
        width: 100%;
        padding: 0;
        margin: 0 auto; } }
    @media (min-width: 600px) {
      .block.hero.style-1 .titles .label {
        align-items: center; } }
    @media (min-width: 900px) {
      .block.hero.style-1 .titles .label {
        align-items: flex-start; } }
    .block.hero.style-1 .titles .title-wrapper {
      width: 85%; }
      @media (min-width: 900px) {
        .block.hero.style-1 .titles .title-wrapper {
          margin: 0 auto; } }
    @media (max-width: 599px) {
      .block.hero.style-1 .titles .title {
        font-size: 24px; } }
    @media (min-width: 600px) {
      .block.hero.style-1 .titles .title {
        order: 2;
        width: 50%; } }
    @media (max-width: 599px) {
      .block.hero.style-1 .titles .title .h2 {
        font-size: 1.32rem; } }
  @media (min-width: 600px) {
    .block.hero.style-1 .title {
      margin-left: auto;
      margin-right: auto; } }
  .block.hero.style-1 .image-wrapper {
    position: relative;
    order: 2;
    width: 40%;
    z-index: 2; }
    @media (min-width: 600px) {
      .block.hero.style-1 .image-wrapper {
        order: 3; } }
    .block.hero.style-1 .image-wrapper .image {
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      height: 0;
      padding-top: 100%; }
      .block.hero.style-1 .image-wrapper .image img {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px; }

.block.hero.style-2 {
  position: relative;
  color: #ffffff;
  background-color: red; }
  @media (min-width: 600px) {
    .block.hero.style-2.content-right .label {
      transform: translateX(2rem); } }
  .block.hero.style-2.content-right .title-wrapper,
  .block.hero.style-2.content-right .inner {
    text-align: right; }
  @media (min-width: 900px) {
    .block.hero.style-2.content-right .image-wrapper {
      margin-right: auto;
      left: 0; } }
  @media (min-width: 900px) {
    .block.hero.style-2.content-right .title-wrapper,
    .block.hero.style-2.content-right .content {
      float: right; } }
  @media (min-width: 600px) {
    .block.hero.style-2.content-left .label {
      transform: translateX(-2rem); } }
  @media (min-width: 900px) {
    .block.hero.style-2.content-left .image-wrapper {
      margin-left: auto;
      right: 0; } }
  @media (min-width: 900px) {
    .block.hero.style-2.content-left .title-wrapper,
    .block.hero.style-2.content-left .content {
      float: left; } }
  @media (min-width: 600px) {
    .block.hero.style-2 .wrapper {
      max-width: 85%;
      padding: 0; } }
  .block.hero.style-2 .row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 3rem 0; }
    @media (min-width: 900px) {
      .block.hero.style-2 .row {
        padding: 5rem 0;
        position: relative;
        display: block; }
        .block.hero.style-2 .row:after {
          content: "";
          display: table;
          clear: both; } }
  .block.hero.style-2 .col {
    width: 100%;
    padding: 20px; }
  .block.hero.style-2 .label {
    margin-bottom: 2.6rem;
    font-size: 1.25em; }
  @media (min-width: 900px) {
    .block.hero.style-2 .title-wrapper,
    .block.hero.style-2 .content {
      width: 60%; } }
  .block.hero.style-2 .h1,
  .block.hero.style-2 .h2,
  .block.hero.style-2 .h3,
  .block.hero.style-2 .h4,
  .block.hero.style-2 .h5,
  .block.hero.style-2 .block.timeline .timeline-title,
  .block.timeline .block.hero.style-2 .timeline-title,
  .block.hero.style-2 .block.timeline .title,
  .block.timeline .block.hero.style-2 .title,
  .block.hero.style-2 .h6 {
    font-size: 90px;
    line-height: 1; }
    @media (max-width: 599px) {
      .block.hero.style-2 .h1,
      .block.hero.style-2 .h2,
      .block.hero.style-2 .h3,
      .block.hero.style-2 .h4,
      .block.hero.style-2 .h5,
      .block.hero.style-2 .block.timeline .timeline-title,
      .block.timeline .block.hero.style-2 .timeline-title,
      .block.hero.style-2 .block.timeline .title,
      .block.timeline .block.hero.style-2 .title,
      .block.hero.style-2 .h6 {
        font-size: 40px; } }
  .block.hero.style-2 .image-wrapper {
    width: 85%;
    max-width: 350px;
    padding-top: 2.6rem;
    margin: 0 auto; }
    @media (min-width: 600px) {
      .block.hero.style-2 .image-wrapper {
        margin: 0; } }
    @media (min-width: 900px) {
      .block.hero.style-2 .image-wrapper {
        width: 40%;
        padding-top: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); } }
    .block.hero.style-2 .image-wrapper .image {
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      height: 0;
      padding-top: 133.33333%; }
      .block.hero.style-2 .image-wrapper .image img {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px; }
  .block.hero.style-2 .btn {
    color: #ffffff;
    background-image: url(images/arrow-right-white.svg); }
    .block.hero.style-2 .btn:hover {
      color: #000000;
      background-color: #ffffff;
      background-image: url(images/arrow-right.svg); }

.block.hero.style-3 .wrapper {
  max-width: 85%;
  padding: 0; }

.block.hero.style-3 .content {
  width: 100%; }
  @media (min-width: 900px) {
    .block.hero.style-3 .content {
      max-width: 900px; } }

@media (max-width: 599px) {
  .block.hero.style-3 .title {
    line-height: 0.5; } }

.block.hero.style-3 .image-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 -1rem; }

.block.hero.style-3 .image {
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 0;
  padding-top: 25%;
  flex: 1 0 calc(1 / 3 * 100% - 2rem);
  max-width: calc(1 / 3 * 100% - 2rem);
  margin-left: 1rem;
  margin-right: 1rem;
  margin-bottom: 2rem; }
  .block.hero.style-3 .image img {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  .block.hero.style-3 .image:only-child {
    height: 0;
    padding-top: 35%;
    flex: 1 0 calc(100% - 2rem);
    max-width: none; }

.block.hero.style-4 .wrapper {
  padding: 0; }

.block.hero.style-4 .title-wrapper {
  max-width: 85%;
  margin: 0 auto; }

.block.hero.style-4 .title {
  margin-bottom: 3rem; }

.block.hero.style-4 .title,
.block.hero.style-4 .h1 {
  font-size: 6.2vw; }

.block.hero.style-4 .content {
  padding: 2.4rem 2rem 0; }
  @media (min-width: 600px) {
    .block.hero.style-4 .content {
      width: 58%;
      margin-left: auto;
      padding-right: 5%; } }

@media (max-width: 599px) {
  .block.hero.style-4 .content-wrapper {
    width: 85%;
    margin: 0 auto; } }

.block.hero .item {
  position: relative;
  margin-top: 3rem;
  padding-top: 0.8rem; }
  .block.hero .item .meta {
    font-size: 0.8rem; }
    .block.hero .item .meta .title {
      margin-bottom: 0;
      font-weight: bold; }
      .block.hero .item .meta .title:before {
        content: "";
        position: absolute;
        top: 0;
        display: block;
        width: 18rem;
        height: 6px;
        margin-bottom: 1.6rem;
        background-color: #000000; }
    .block.hero .item .meta time + time:before {
      content: "";
      display: inline-block;
      width: 0.24rem;
      height: 0.24rem;
      margin: 0 0.6rem;
      background-color: #000000;
      border-radius: 0.3rem;
      transform: translateY(-50%); }

.block.listing.grid .wrapper {
  max-width: 85%;
  padding: 0; }

.block.listing.grid .items {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap; }
  @media (min-width: 600px) {
    .block.listing.grid .items {
      margin-left: -1.4rem;
      margin-right: -1.4rem;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap; } }

.block.listing.grid .item {
  margin-left: 1rem;
  margin-right: 1rem; }
  @media (min-width: 600px) {
    .block.listing.grid .item {
      margin-left: 1.4rem;
      margin-right: 1.4rem;
      flex: 1 0 calc((1 / 2 * 100%) - 2.8rem);
      max-width: calc((1 / 2 * 100%) - 2.8rem); } }
  @media (min-width: 900px) {
    .block.listing.grid .item {
      flex: 1 0 calc((1 / 3 * 100%) - 2.8rem);
      max-width: calc((1 / 3 * 100%) - 2.8rem); } }

.block.listing.grid .no-records {
  margin-left: 35px; }
  @media (max-width: 599px) {
    .block.listing.grid .no-records {
      margin-left: 0; } }

.block.listing .item.record {
  flex: 1 0 calc((1 / 5 * 100%) - 2.8rem);
  max-width: calc((1 / 5 * 100%) - 2.8rem);
  min-width: 200px; }
  .block.listing .item.record .meta {
    font-size: 0.8rem; }
    .block.listing .item.record .meta .title {
      margin-bottom: 0.2rem;
      font-size: 1em;
      font-weight: 700;
      line-height: 1.4;
      text-decoration: underline; }
      .block.listing .item.record .meta .title:before {
        content: none; }
  .block.listing .item.record .image {
    height: 0;
    padding-top: 100%;
    margin-bottom: 1.4rem; }
    .block.listing .item.record .image.placeholder {
      background-image: url(images/logo-white-icon.svg);
      background-size: 60%;
      background-color: #000000;
      background-position: center; }
  .block.listing .item.record .author {
    margin-bottom: 0; }
  .block.listing .item.record .buttons {
    padding-top: 0; }

.block.listing .item.post .meta,
.block.listing .item.event .meta {
  font-size: 0.8rem; }
  .block.listing .item.post .meta time + time:before,
  .block.listing .item.event .meta time + time:before {
    content: "";
    display: inline-block;
    width: 0.24rem;
    height: 0.24rem;
    margin: 0 0.6rem;
    background-color: #000000;
    border-radius: 0.3rem;
    transform: translateY(-50%); }
  .block.listing .item.post .meta .category a,
  .block.listing .item.event .meta .category a {
    color: #000000;
    text-decoration: underline; }
  .block.listing .item.post .meta .date,
  .block.listing .item.post .meta .title,
  .block.listing .item.event .meta .date,
  .block.listing .item.event .meta .title {
    margin-bottom: 0.7rem; }
  .block.listing .item.post .meta .title,
  .block.listing .item.event .meta .title {
    text-decoration: underline; }
  .block.listing .item.post .meta p,
  .block.listing .item.event .meta p {
    margin-bottom: 0; }

.block.listing ul,
.block.listing ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .block.listing ul li:before,
  .block.listing ol li:before {
    content: none; }

.block.listing .item-wrapper {
  max-width: 380px;
  margin: 0 auto; }

.block.listing .category {
  display: flex; }

.block.timeline .wrapper {
  max-width: 85%; }

@media (min-width: 900px) {
  .block.timeline .item {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap; } }

@media (min-width: 900px) {
  .block.timeline .col {
    flex: 1 0 50%;
    max-width: 50%; } }

.block.timeline .col.content {
  position: relative;
  padding-bottom: 2rem; }
  @media (min-width: 900px) {
    .block.timeline .col.content:after {
      content: "";
      width: 3px;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      background-color: #000000; } }
  @media (min-width: 900px) {
    .block.timeline .col.content .title,
    .block.timeline .col.content .details {
      padding-right: 2rem; } }
  .block.timeline .col.content .title {
    margin-bottom: 0.28rem; }
  .block.timeline .col.content .details *:last-child {
    margin-bottom: 0; }

.block.timeline .col.media {
  max-width: 400px;
  padding-top: 14px; }
  @media (min-width: 900px) {
    .block.timeline .col.media {
      position: relative;
      padding-left: 2rem; } }
  .block.timeline .col.media:before {
    content: "";
    background-image: url(images/search.svg);
    background-color: #000000;
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  .block.timeline .col.media:before {
    top: 14px;
    left: 2rem; }

.block.timeline .timeline-title {
  margin-bottom: 0;
  padding-bottom: 1rem; }

.block.timeline .item:not(:first-child) .timeline-title {
  padding-top: 1rem; }

.block.timeline .title {
  position: relative; }
  @media (min-width: 900px) {
    .block.timeline .title:after {
      content: "";
      width: 50px;
      height: 3px;
      display: block;
      position: absolute;
      top: calc(50% - 1.5px);
      right: 0;
      background-color: #000000; } }

.block.table {
  overflow: hidden; }
  .block.table .wrapper-table {
    overflow-x: scroll; }
  .block.table .content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center; }
  .block.table .bx--data-table {
    width: auto; }
    .block.table .bx--data-table tr {
      height: auto; }
    .block.table .bx--data-table th {
      color: #000000;
      background-color: #f4c254; }
    .block.table .bx--data-table .bx--table-header-label {
      text-align: unset; }
    .block.table .bx--data-table th,
    .block.table .bx--data-table td {
      font-size: 25px; }
      @media (min-width: 600px) {
        .block.table .bx--data-table th,
        .block.table .bx--data-table td {
          font-size: 20px; } }
      @media (min-width: 900px) {
        .block.table .bx--data-table th,
        .block.table .bx--data-table td {
          font-size: 22px; } }
      @media (min-width: 1200px) {
        .block.table .bx--data-table th,
        .block.table .bx--data-table td {
          font-size: 25px; } }
    .block.table .bx--data-table td:last-of-type {
      text-align: right; }
    .block.table .bx--data-table td,
    .block.table .bx--data-table tbody th {
      border-bottom: none; }
    .block.table .bx--data-table .bx--table-header-label {
      padding: 0; }

.block.gallery .wrapper {
  max-width: 85%;
  padding: 0; }
  @media (min-width: 900px) {
    .block.gallery .wrapper {
      padding: 0 1.2rem; } }

@media (min-width: 900px) {
  .block.gallery .row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap; } }

.block.gallery .col.content {
  padding: 0 2rem 2rem; }
  @media (min-width: 900px) {
    .block.gallery .col.content {
      flex: 1 0 60%;
      max-width: 60%;
      padding: 0 2.4rem 0 0; } }

.block.gallery .col.image {
  position: relative; }
  @media (min-width: 900px) {
    .block.gallery .col.image {
      flex: 1 0 40%;
      max-width: 40%; } }
  .block.gallery .col.image:before {
    content: "";
    background-image: url(images/search.svg);
    background-color: #000000;
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
    width: 2rem;
    height: 2rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }

.block.map .wrapper {
  max-width: 85%; }

.component.share {
  margin-bottom: 2rem;
  padding-top: 30px; }
  .component.share ul,
  .component.share ol {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .component.share ul li:before,
    .component.share ol li:before {
      content: none; }
  .component.share .wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap; }
  .component.share .toggle-share {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 25px;
    line-height: 1.74;
    background: rgba(255, 255, 255, 0);
    border: none;
    color: #000000;
    transform: translate(0);
    text-transform: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-right: 1rem; }
    .component.share .toggle-share:before, .component.share .toggle-share:after {
      content: none; }
    .component.share .toggle-share:after {
      content: "";
      background-image: url(images/share.svg);
      background-color: #000000;
      background-size: 50%;
      background-repeat: no-repeat;
      background-position: center;
      width: 1.8rem;
      height: 1.8rem;
      margin-left: 0.6rem;
      border-radius: 1.8rem;
      display: inline-block;
      top: 0;
      left: 0;
      z-index: 1; }
  .component.share .social-menu {
    display: none;
    font-size: 0; }
    .component.share .social-menu.show {
      display: flex; }
    .component.share .social-menu .menu-item {
      display: inline-block;
      font-size: 0; }
      .component.share .social-menu .menu-item:not(:first-child) {
        margin-left: 10px; }
    .component.share .social-menu a {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      position: relative;
      width: 1.8rem;
      height: 1.8rem;
      border-radius: 1.8rem;
      background-color: #000000;
      color: #ffffff;
      font-size: 0;
      line-height: 1.8rem;
      transition: all 300ms ease-in-out; }
      .component.share .social-menu a:hover {
        background-color: #f4c254; }
    .component.share .social-menu svg {
      width: 0.9rem;
      height: 0.9rem; }

.component.notification,
.component.cookie-notice {
  max-width: none;
  margin: 0;
  border: none;
  align-items: center; }
  .component.notification .row,
  .component.cookie-notice .row {
    padding: 0.4rem 0; }
  .component.notification.hide,
  .component.cookie-notice.hide {
    display: none; }
  .component.notification .toggle-wrapper,
  .component.cookie-notice .toggle-wrapper {
    display: block; }
  .component.notification button,
  .component.cookie-notice button {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 25px;
    line-height: 1.74;
    background: rgba(255, 255, 255, 0);
    border: none;
    color: #000000;
    transform: translate(0);
    text-transform: none;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none; }
    .component.notification button:before, .component.notification button:after,
    .component.cookie-notice button:before,
    .component.cookie-notice button:after {
      content: none; }
  .component.notification h2,
  .component.cookie-notice h2 {
    margin: 0;
    font-family: "Inter"; }
  .component.notification h2,
  .component.notification p,
  .component.notification a,
  .component.notification button,
  .component.cookie-notice h2,
  .component.cookie-notice p,
  .component.cookie-notice a,
  .component.cookie-notice button {
    display: inline;
    font-size: 0.88rem;
    line-height: 1; }
  .component.notification a,
  .component.cookie-notice a {
    text-decoration: underline; }
  .component.notification button,
  .component.cookie-notice button {
    text-decoration: underline; }
  .component.notification .bx--inline-notification,
  .component.cookie-notice .bx--inline-notification {
    align-items: flex-start; }
  .component.notification .bx--inline-notification__text-wrapper,
  .component.cookie-notice .bx--inline-notification__text-wrapper {
    display: block; }
  .component.notification .bx--inline-notification__close-button,
  .component.cookie-notice .bx--inline-notification__close-button {
    display: flex;
    height: 1.92rem;
    width: 1.92rem;
    margin-right: 0.5rem; }
    .component.notification .bx--inline-notification__close-button:focus,
    .component.cookie-notice .bx--inline-notification__close-button:focus {
      outline-offset: 0; }
  .component.notification .bx--inline-notification__action-button,
  .component.cookie-notice .bx--inline-notification__action-button {
    height: auto;
    margin: 0;
    padding: 0; }
  .component.notification .bx--inline-notification__action-button,
  .component.notification .bx--inline-notification__close-button,
  .component.cookie-notice .bx--inline-notification__action-button,
  .component.cookie-notice .bx--inline-notification__close-button {
    transition: none; }

.component.notification {
  position: relative;
  color: #000000;
  background: #f4c254; }
  .component.notification .wrapper {
    padding: 0 2.4rem; }
  .component.notification .bx--inline-notification__close-button .bx--inline-notification__close-icon {
    fill: #000000; }
  .component.notification .bx--inline-notification__action-button:focus {
    outline-color: #000000; }
  .component.notification .bx--inline-notification__subtitle {
    margin: 0; }

.component.cookie-notice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  color: #ffffff;
  background: #000000;
  z-index: 10; }
  .component.cookie-notice button,
  .component.cookie-notice a {
    color: #ffffff; }
  .component.cookie-notice .bx--inline-notification__close-button:focus {
    outline-color: #ffffff; }

.component.intro {
  text-align: center; }

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .glide * {
    box-sizing: inherit; }
  .glide__track {
    overflow: hidden; }
  .glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform; }
    .glide__slides--dragging {
      user-select: none; }
  .glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent; }
    .glide__slide a {
      user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .glide__arrows {
    -webkit-touch-callout: none;
    user-select: none; }
  .glide__bullets {
    -webkit-touch-callout: none;
    user-select: none; }
  .glide--rtl {
    direction: rtl; }

.glide__arrow {
  position: absolute;
  display: block;
  top: 50%;
  z-index: 2;
  color: white;
  text-transform: uppercase;
  padding: 9px 12px;
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 4px;
  box-shadow: 0 0.25em 0.5em 0 rgba(0, 0, 0, 0.1);
  text-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);
  opacity: 1;
  cursor: pointer;
  transition: opacity 150ms ease, border 300ms ease-in-out;
  transform: translateY(-50%);
  line-height: 1; }
  .glide__arrow:focus {
    outline: none; }
  .glide__arrow:hover {
    border-color: white; }
  .glide__arrow--left {
    left: 2em; }
  .glide__arrow--right {
    right: 2em; }
  .glide__arrow--disabled {
    opacity: 0.33; }

.glide__bullets {
  position: absolute;
  z-index: 2;
  bottom: 2em;
  left: 50%;
  display: inline-flex;
  list-style: none;
  transform: translateX(-50%); }

.glide__bullet {
  background-color: rgba(255, 255, 255, 0.5);
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: all 300ms ease-in-out;
  cursor: pointer;
  line-height: 0;
  box-shadow: 0 0.25em 0.5em 0 rgba(0, 0, 0, 0.1);
  margin: 0 0.25em; }
  .glide__bullet:focus {
    outline: none; }
  .glide__bullet:hover, .glide__bullet:focus {
    border: 2px solid white;
    background-color: rgba(255, 255, 255, 0.5); }
  .glide__bullet--active {
    background-color: white; }

.glide--swipeable {
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab; }

.glide--dragging {
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing; }

.glide .slide-counter {
  display: inline-block;
  padding: 0.4rem 0;
  text-align: center;
  z-index: 1; }

.glide .glide__track {
  transition: height 300ms ease-in-out; }
  .glide .glide__track .glide__slide a:focus img {
    box-shadow: inset 0 0 3px #000000;
    transition: none; }

.glide .glide__arrows {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap; }

.glide .glide__arrow--left,
.glide .glide__arrow--right {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: auto;
  height: auto;
  padding: 0;
  font-size: 25px;
  line-height: 1.74;
  background: rgba(255, 255, 255, 0);
  border: none;
  color: #000000;
  transform: translate(0);
  text-transform: none;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
  padding: 0.4rem 1.2rem;
  font-weight: 600;
  transition: all 300ms ease-in-out;
  color: #ffffff;
  background: #000000;
  font-size: 18px;
  z-index: 2; }
  .glide .glide__arrow--left:before, .glide .glide__arrow--left:after,
  .glide .glide__arrow--right:before,
  .glide .glide__arrow--right:after {
    content: none; }
  @media (min-width: 600px) {
    .glide .glide__arrow--left,
    .glide .glide__arrow--right {
      font-size: 20px; } }
  @media (min-width: 900px) {
    .glide .glide__arrow--left,
    .glide .glide__arrow--right {
      font-size: 22px;
      color: #000000;
      background: rgba(255, 255, 255, 0);
      text-decoration: underline; } }
  @media (min-width: 1200px) {
    .glide .glide__arrow--left,
    .glide .glide__arrow--right {
      font-size: 25px; } }
  .glide .glide__arrow--left:hover, .glide .glide__arrow--left:focus,
  .glide .glide__arrow--right:hover,
  .glide .glide__arrow--right:focus {
    color: #ffffff;
    background: #000000; }

.glide img {
  display: block;
  width: 100%; }

.component.large-title {
  margin-bottom: 2rem; }

.related-title {
  margin-bottom: 2rem; }

.block.single {
  padding-top: 2rem; }
  @media (max-width: 599px) {
    .block.single {
      margin-bottom: 0; } }
  .block.single .wrapper {
    padding: 0; }
    .block.single .wrapper.exhibit-wrapper {
      margin-left: 0; }
  .block.single .article {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    padding-top: 2rem; }
    @media (min-width: 600px) {
      .block.single .article {
        display: block; }
        .block.single .article:after {
          content: "";
          display: table;
          clear: both; } }
    @media (max-width: 599px) {
      .block.single .article {
        display: block; } }
  .block.single .meta {
    font-size: 0.8rem; }
    .block.single .meta .title:before {
      content: "";
      position: absolute;
      top: 0;
      display: block;
      width: 18rem;
      height: 6px;
      margin-bottom: 1.6rem;
      background-color: #000000; }
    .block.single .meta time + time:before {
      content: "";
      display: inline-block;
      width: 0.24rem;
      height: 0.24rem;
      margin: 0 0.6rem;
      background-color: #000000;
      border-radius: 0.3rem;
      transform: translateY(-50%); }
    .block.single .meta .category a {
      color: #000000;
      text-decoration: underline; }
    .block.single .meta .date,
    .block.single .meta .title {
      margin-bottom: 1.2rem; }
    .block.single .meta p {
      margin-bottom: 0; }
  .block.single.record {
    padding-top: 0; }
    @media (min-width: 900px) {
      .block.single.record {
        padding-top: 2rem; } }
    .block.single.record .content {
      padding-top: 20px; }
    .block.single.record .title:before {
      content: none; }
    .block.single.record .title {
      text-shadow: 0.03em 0 rgba(255, 255, 255, 0), -0.03em 0 rgba(255, 255, 255, 0), 0 0.03em rgba(255, 255, 255, 0), 0 -0.03em rgba(255, 255, 255, 0), 0.06em 0 rgba(255, 255, 255, 0), -0.06em 0 rgba(255, 255, 255, 0), 0.09em 0 rgba(255, 255, 255, 0), -0.09em 0 rgba(255, 255, 255, 0), 0.12em 0 rgba(255, 255, 255, 0), -0.12em 0 rgba(255, 255, 255, 0), 0.15em 0 rgba(255, 255, 255, 0), -0.15em 0 rgba(255, 255, 255, 0);
      background-image: linear-gradient(90deg, #f4c254 50%, #ffffff 50%);
      background-size: 200% 10px;
      background-repeat: no-repeat;
      display: inline;
      padding-bottom: 3px;
      background-position: 0% 100%;
      transition: background-position 800ms ease-in-out 400ms; }
    .block.single.record.animate .underline {
      background-position: 0% 100%; }
    .block.single.record .content-wrapper {
      position: relative; }
      .block.single.record .content-wrapper .content-inner {
        display: flex;
        flex-wrap: wrap; }
        @media (min-width: 900px) {
          .block.single.record .content-wrapper .content-inner {
            display: block; } }
      .block.single.record .content-wrapper .text {
        order: 2;
        max-width: 100%;
        flex: 1 0 100%; }
        @media (min-width: 900px) {
          .block.single.record .content-wrapper .text {
            width: 55%;
            padding-right: 3rem; } }
      .block.single.record .content-wrapper .image {
        order: 1;
        max-width: 100%;
        flex: 1 0 100%;
        margin-bottom: 2rem; }
        @media (min-width: 900px) {
          .block.single.record .content-wrapper .image {
            position: absolute;
            top: 0;
            right: 0;
            width: 45%; } }
        .block.single.record .content-wrapper .image a {
          display: block; }
          .block.single.record .content-wrapper .image a:focus {
            outline: 5px solid #000000;
            outline-offset: -5px; }
        .block.single.record .content-wrapper .image img {
          display: block; }
      .block.single.record .content-wrapper .item {
        margin-bottom: 15px; }
        .block.single.record .content-wrapper .item dt,
        .block.single.record .content-wrapper .item dd {
          display: inline; }
        .block.single.record .content-wrapper .item .label {
          font-weight: bold; }
      .block.single.record .content-wrapper .buttons {
        margin-bottom: 2rem; }
    .block.single.record .article > .text {
      margin-bottom: 2.6rem; }
    .block.single.record .article > .text,
    .block.single.record .content-inner {
      padding: 0 2rem; }
      @media (min-width: 900px) {
        .block.single.record .article > .text,
        .block.single.record .content-inner {
          width: 85%;
          margin-left: auto;
          margin-right: auto;
          padding: 0 1.2rem; } }
  .block.single.post .text, .block.single.event .text {
    width: 100%;
    margin: 0 auto;
    order: 1;
    flex: 1 0 100%;
    padding: 0 2rem; }
    @media (min-width: 900px) {
      .block.single.post .text, .block.single.event .text {
        width: 85%;
        padding: 0 1.2rem; } }
    .block.single.post .text .content, .block.single.event .text .content {
      padding-top: 1.6rem; }
  .block.single.post .image-wrapper, .block.single.event .image-wrapper {
    width: 100%;
    order: 2;
    flex: 1 0 100%;
    padding-top: 2rem; }
    @media (min-width: 600px) {
      .block.single.post .image-wrapper, .block.single.event .image-wrapper {
        width: 40%;
        float: right;
        padding-top: 0;
        padding-left: 1rem;
        padding-bottom: 1rem; } }
    .block.single.post .image-wrapper .image, .block.single.event .image-wrapper .image {
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      height: 0;
      padding-top: 100%; }
      .block.single.post .image-wrapper .image img, .block.single.event .image-wrapper .image img {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px; }
      .block.single.post .image-wrapper .image img, .block.single.event .image-wrapper .image img {
        display: block; }

.block.exhibit {
  margin-bottom: 2rem; }
  .block.exhibit ul,
  .block.exhibit ol {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .block.exhibit ul li:before,
    .block.exhibit ol li:before {
      content: none; }
  .block.exhibit .wrapper {
    max-width: 85%; }
  .block.exhibit .navigation {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap; }
  .block.exhibit .title {
    order: 1;
    width: 100%; }
  .block.exhibit .child-nav {
    order: 2;
    flex: 1 0 100%;
    width: 100%;
    margin-bottom: 1.4rem;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
    @media (min-width: 900px) {
      .block.exhibit .child-nav {
        position: absolute;
        left: 60%;
        display: block;
        width: auto;
        margin-bottom: 0; } }
    @media (max-width: 599px) {
      .block.exhibit .child-nav .btn {
        margin-left: 0;
        margin-right: 0; } }
    @media (max-width: 350px) {
      .block.exhibit .child-nav {
        flex-direction: column; }
        .block.exhibit .child-nav a:first-of-type {
          margin-bottom: 10px; } }
  .block.exhibit .table-of-contents {
    order: 1;
    flex: 1 0 100%;
    max-width: 360px;
    margin-top: 25px; }
    @media (min-width: 900px) {
      .block.exhibit .table-of-contents {
        max-width: none; } }
    .block.exhibit .table-of-contents:after {
      content: "";
      width: 100%;
      height: 3px;
      background-color: #000000;
      display: block;
      transform: scaleX(1); }
      @media (min-width: 900px) {
        .block.exhibit .table-of-contents:after {
          width: 100%;
          transform: scaleX(0.32);
          transform-origin: left; } }
    .block.exhibit .table-of-contents.open:after {
      transform: scaleX(1); }
    .block.exhibit .table-of-contents.open .button:after {
      content: "-"; }
    .block.exhibit .table-of-contents.open .items {
      display: grid;
      margin-top: 25px; }
    .block.exhibit .table-of-contents .button {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      width: auto;
      height: auto;
      padding: 0;
      font-size: 25px;
      line-height: 1.74;
      background: rgba(255, 255, 255, 0);
      border: none;
      color: #000000;
      transform: translate(0);
      text-transform: none;
      border-radius: 0;
      box-shadow: none;
      text-shadow: none; }
      .block.exhibit .table-of-contents .button:before, .block.exhibit .table-of-contents .button:after {
        content: none; }
      .block.exhibit .table-of-contents .button:after {
        content: "+";
        display: inline-block;
        padding-left: 0.6rem; }
      .block.exhibit .table-of-contents .button:focus {
        outline: 3px solid #000000;
        outline-offset: 10px; }
    .block.exhibit .table-of-contents a,
    .block.exhibit .table-of-contents .button {
      color: #000000;
      font-size: 0.8rem; }
    .block.exhibit .table-of-contents .items {
      display: none;
      padding-bottom: 0.4rem; }
      @media (min-width: 900px) {
        .block.exhibit .table-of-contents .items {
          grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
          grid-gap: 1rem; } }
      .block.exhibit .table-of-contents .items .item {
        line-height: 1;
        margin-bottom: 1rem; }
        .block.exhibit .table-of-contents .items .item a:hover {
          color: #ffffff; }

.page-template-the-collection .block.hero.style-1 {
  margin-bottom: 50px; }

.page-template-the-collection .fieldset.filters .facet-wrap {
  width: calc((2 / 5 * 100%) - 1.4rem); }

.page-template-the-collection .fieldset.filters .facet-label {
  margin: 0 2rem 0 0; }

.carbon-component {
  margin-bottom: 300px; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2dsb2JhbC90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9nbG9iYWwvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9nbG9iYWwvYnV0dG9ucy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvbWl4aW5zL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2dsb2JhbC9mb3Jtcy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvZ2xvYmFsL2xheW91dC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvZ2xvYmFsL2d1dGVuYmVyZy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvZ2xvYmFsL2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9nbG9iYWwvbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2dsb2JhbC90YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2dsb2JhbC9mYWNldC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvbWl4aW5zL3Bvc2l0aW9uaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vZ2xvYmFscy9zY3NzL3N0eWxlcy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy9faGVscGVyLW1peGlucy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy9faGVscGVyLWNsYXNzZXMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX2Nzcy0taGVscGVycy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy9fY3NzLS1yZXNldC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL3R5cGUvX3N0eWxlcy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2xheW91dC9fY29udmVydC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL3R5cGUvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvdGhlbWVzL190aGVtZS1tYXBzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvZ3JpZC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvbGF5b3V0L19icmVha3BvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9idXR0b24vX2J1dHRvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvYnV0dG9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX3RoZW1lLXRva2Vucy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL21vdGlvbi9tb3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX2xheW91dC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy9fbGF5ZXIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2NvcHktYnV0dG9uL19jb3B5LWJ1dHRvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2dsb2JhbHMvc2Nzcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvZm9ybS9fZm9ybS5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvbG9hZGluZy9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9sb2FkaW5nL192YXJzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9sb2FkaW5nL19sb2FkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9sb2FkaW5nL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvX21vdGlvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9fZmlsZS11cGxvYWRlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvY2hlY2tib3gvX2NoZWNrYm94LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9saXN0LWJveC9fbGlzdC1ib3guc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2NvbWJvLWJveC9fY29tYm8tYm94LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9yYWRpby1idXR0b24vX3JhZGlvLWJ1dHRvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdG9nZ2xlL190b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3NlYXJjaC9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9zZWxlY3QvX3NlbGVjdC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdGV4dC1pbnB1dC9fdGV4dC1pbnB1dC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdGV4dC1hcmVhL190ZXh0LWFyZWEuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL251bWJlci1pbnB1dC9fbnVtYmVyLWlucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9saW5rL19saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9saXN0L19saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9kYXRhLXRhYmxlL19kYXRhLXRhYmxlLWFjdGlvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvZGF0YS10YWJsZS9fZGF0YS10YWJsZS1jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9kYXRhLXRhYmxlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2RhdGEtdGFibGUvX2RhdGEtdGFibGUtZXhwYW5kYWJsZS5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvZGF0YS10YWJsZS9fZGF0YS10YWJsZS1zb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9kYXRhLXRhYmxlL19kYXRhLXRhYmxlLWlubGluZS1lZGl0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9kYXRhLXRhYmxlL19kYXRhLXRhYmxlLXNrZWxldG9uLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9zdHJ1Y3R1cmVkLWxpc3QvX3N0cnVjdHVyZWQtbGlzdC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvc3RydWN0dXJlZC1saXN0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9jb2xvcnMvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9jb2RlLXNuaXBwZXQvX2NvZGUtc25pcHBldC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvY29kZS1zbmlwcGV0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL292ZXJmbG93LW1lbnUvX292ZXJmbG93LW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2NvbnRlbnQtc3dpdGNoZXIvX2NvbnRlbnQtc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2RhdGUtcGlja2VyL19mbGF0cGlja3Iuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2RhdGUtcGlja2VyL19kYXRlLXBpY2tlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvZHJvcGRvd24vX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9tb2RhbC9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL211bHRpLXNlbGVjdC9fbXVsdGktc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9ub3RpZmljYXRpb24vX2lubGluZS1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9ub3RpZmljYXRpb24vX3RvYXN0LW5vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdG9vbHRpcC9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdGFicy9fdGFicy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdGFnL190YWcuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3RhZy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9wYWdpbmF0aW9uL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL19wcm9ncmVzcy1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL2JyZWFkY3J1bWIvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3Rvb2xiYXIvX3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3RpbWUtcGlja2VyL190aW1lLXBpY2tlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvc2xpZGVyL19zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3RpbGUvX3RpbGUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3NrZWxldG9uL19za2VsZXRvbi10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9za2VsZXRvbi9fc2tlbGV0b24taWNvbi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvc2tlbGV0b24vX3NrZWxldG9uLXBsYWNlaG9sZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9pbmxpbmUtbG9hZGluZy9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy9pbmxpbmUtbG9hZGluZy9faW5saW5lLWxvYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3BhZ2luYXRpb24tbmF2L19wYWdpbmF0aW9uLW5hdi5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdWktc2hlbGwvX2hlYWRlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdWktc2hlbGwvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdWktc2hlbGwvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy91aS1zaGVsbC9faGVhZGVyLXBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy91aS1zaGVsbC9fcHJvZHVjdC1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY2FyYm9uL2NvbXBvbmVudHMvdWktc2hlbGwvX3N3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jYXJib24vY29tcG9uZW50cy91aS1zaGVsbC9fc2lkZS1uYXYuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3VpLXNoZWxsL19uYXZpZ2F0aW9uLW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NhcmJvbi9jb21wb25lbnRzL3VpLXNoZWxsL19jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9wYXJ0aWFscy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL3BhcnRpYWxzL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvYmxvY2tzL2FjY29yZGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2Jsb2Nrcy9iYXNpYy1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9ibG9ja3MvY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2Jsb2Nrcy9oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9nbG9iYWwvYml0dGVycy5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvYmxvY2tzL2xpc3Rpbmcuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2Jsb2Nrcy90aW1lbGluZS5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvYmxvY2tzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9ibG9ja3MvZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvYmxvY2tzL21hcC5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9zaGFyZS5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL2NvbXBvbmVudHMvaW50cm8uc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9ub2RlX21vZHVsZXMvQGdsaWRlanMvZ2xpZGUvc3JjL2Fzc2V0cy9zYXNzL2dsaWRlLmNvcmUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9ub2RlX21vZHVsZXMvQGdsaWRlanMvZ2xpZGUvc3JjL2Fzc2V0cy9zYXNzL2dsaWRlLnRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL3NsaWRlci5zY3NzIiwid2VicGFjazovL21pZ2h0aWx5LXdvcmRwcmVzcy1idWlsZC8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vbWlnaHRpbHktd29yZHByZXNzLWJ1aWxkLy4vc3JjL3N0eWxlcy9wYWdlcy9zaW5nbGUuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL3BhZ2VzL2V4aGliaXQuc2NzcyIsIndlYnBhY2s6Ly9taWdodGlseS13b3JkcHJlc3MtYnVpbGQvLi9zcmMvc3R5bGVzL3BhZ2VzL2Jhc2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBY0M7O0VBRUMsa0JBVHFDO0VBVXJDLGdCQ21DdUI7RURsQ3ZCLG9CQ3dCMkI7RUR2QjNCLGdCQ3FDdUI7RURwQ3ZCLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGNBQWM7RUNWZjtJRENBOztNQVdFLGtCQWxCNEIsSUF1QjdCO0VDWkQ7SURKQTs7TUFjRSxrQkFyQm9CLElBdUJyQjs7QUFoQkQ7O0VBRUMsa0JBVHNFO0VBVXRFLGdCQ21DdUI7RURsQ3ZCLG9CQ3dCMkI7RUR2QjNCLGdCQ3FDdUI7RURwQ3ZCLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGNBQWM7RUNWZjtJRENBOztNQVdFLGtCQWxCNkQsSUF1QjlEO0VDWkQ7SURKQTs7TUFjRSxpQkFyQnFELElBdUJ0RDs7QUFoQkQ7O0VBRUMsa0JBUnVCO0VBU3ZCLGdCQ21DdUI7RURsQ3ZCLG9CQ3dCMkI7RUR2QjNCLGdCQ3FDdUI7RURwQ3ZCLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGNBQWM7RUNWZjtJRENBOztNQVdFLGlCQWpCYyxJQXNCZjtFQ1pEO0lESkE7O01BY0UsZUFwQk8sSUFzQlI7O0FBaEJEOztFQUVDLGtCQVJ5RDtFQVN6RCxnQkNtQ3VCO0VEbEN2QixvQkN3QjJCO0VEdkIzQixnQkNxQ3VCO0VEcEN2QixhQUFhO0VBQ2Is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QUFvQjtFQUNwQix3QkFBd0I7RUMwZXhCLG1CQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixxQkM3ZTRDO0VENmU1QyxzQkFqZG9CO0VPL0J0QixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCxtQkNFc0M7RUREdEMsNERFa0VrRTtFRmpFbEUsZ0JFdURzQjtFRnREdEIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixrREdWMkM7RUhXM0MsOEJBQWdEO0VBQ2hELG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsa0JDUHNDO0VUQXBDOzs7SUFHRSxtQkFBbUI7RVFNdkI7SUFFRSxtQkFBbUI7SUFDbkIsY0orRmtCO0lJOUZsQixtQko2RmtCO0lJNUZsQixxQko0RmtCO0VJekZwQjtJQUNFLGtCQUFrQjtJQUNsQixjQ25Cb0M7SURvQnBDLGNBQWM7SUFDZCxjQ3JCb0M7SURzQnBDLGVDdEJvQztFRll0Qzs7SUFNSSxhSHlGZ0I7O0FHcEZwQjtFQUNFLFVBQVU7RUFDVixTQUFTOztBQUdYO0VDVUEseUJKaUJ1QjtFSWhCdkIsaUJFZ0V1QjtFRi9EdkIsbUJBQW1CO0VBQ25CLHlCRFZlO0VDV2YsY0owQmdCO0VJeEJoQjtJQUNFLHlCSjRDb0I7RUl6Q3RCO0lBQ0UscUJKc0NZO0lJckNaLHNCSldZO0VJUmQ7SUFJRSxjSk1ZO0lJTFoseUJKZ0RrQjtJSS9DbEIscUJKK0NrQjtJSTlDbEIscUJBQXFCO0lBQ3JCLHNCSjZDa0I7RUkxQ3BCO0lBQ0UseUJKeUJxQjtFSXRCdkI7O0lBRUUsa0JEcENjO0VDVWhCO0lETEksY0g2Qlk7O0FHekJoQjtFQ0xBLHlCSmtCdUI7RUlqQnZCLGlCRWdFdUI7RUYvRHZCLG1CQUFtQjtFQUNuQix5QkRLZTtFQ0pmLGNKMEJnQjtFSXhCaEI7SUFDRSx5QkorQ3NCO0VJNUN4QjtJQUNFLHFCSnNDWTtJSXJDWixzQkpXWTtFSVJkO0lBSUUsY0pNWTtJSUxaLHlCSmdEa0I7SUkvQ2xCLHFCSitDa0I7SUk5Q2xCLHFCQUFxQjtJQUNyQixzQko2Q2tCO0VJMUNwQjtJQUNFLHlCSjRCdUI7RUl6QnpCOztJQUVFLGtCRHJCYztFQU5oQjtJQVlJLGNIYVk7O0FHVGhCO0VDckJBLDZCRHVCZTtFQ3RCZixpQkQ0Qk87RUMzQlAsbUJBQW1CO0VBQ25CLHFCSmdCdUI7RUlmdkIsY0pldUI7RUlidkI7SUFDRSx5QkppRHFCO0VJOUN2QjtJQUNFLHFCSnNDWTtJSXJDWixzQkpXWTtFSVJkO0lBSUUsY0pNWTtJSUxaLHlCSmdEa0I7SUkvQ2xCLHFCSitDa0I7SUk5Q2xCLHFCQUFxQjtJQUNyQixzQko2Q2tCO0VJMUNwQjtJQUNFLHlCSjhCc0I7RUkzQnhCOztJQUVFLGtCRExjO0VDckJoQjtJRDJCSSxjSEtlO0VJNUJuQjtJRDJCSSxjSFBZO0lHUVoseUJIbkJtQjtFSU92QjtJRGdCSSx5QkhVbUI7RUcvQnZCO0lBOEJJLHVCQUF1QjtJQUN2QixjSG5EZ0I7SUdvQnBCO01Ba0NNLGFIdERjO0VHb0JwQjtJQXVDSSxhSHRCZTs7QUcwQm5CO0VDaEVBLDZCRGtFZTtFQ2pFZixpQkVnRXVCO0VGL0R2QixtQkFBbUI7RUFDbkIseUJEZ0VlO0VDL0RmLGNKOEJnQjtFR3VDZCxrQ0d6QjRDO0VGMUM5QztJQUNFLHlCSm1EZTtFSWhEakI7SUFDRSxxQkpzQ1k7SUlyQ1osc0JKV1k7RUlSZDtJQUlFLGNKTVk7SUlMWix5QkpnRGtCO0lJL0NsQixxQkorQ2tCO0lJOUNsQixxQkFBcUI7SUFDckIsc0JKNkNrQjtFSTFDcEI7SUFDRSx5QkpnQ2dCO0VJN0JsQjs7SUFFRSxrQkRzQ2M7RUFOaEI7SUFZSSxnQkFBZ0I7SUFDaEIsbUJMeEgwQztFSzJHOUM7SUFrQkksY0g3QnVCO0lHVzNCO01BcUJNLGFIaENxQjtFSTNCM0I7SURnRUkseUJIL0JjO0VHS2xCO0lBbUNJLGNIbEdnQjtJR21HaEIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQXJDN0I7TUF3Q00sYUh2R2M7RUcrRHBCO0lBNkNJLGtDR2pENkM7RUhJakQ7SUFpREksa0NHM0Rn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O01MK0VqQzs7Ozs7UUs5RUksY0g3RmtDLElHK0ZyQztFTDRFRDtJS3pFRSx5QkFBeUI7RUx5RTNCO0lLckVFLGFBQWE7RUxxRWY7SUs5REksVUFBVTs7QUFHWjtFQUNFO0lBQ0UsVUFBVTtFQUVaO0lBQ0UsVUFBVTtFTHNEaEI7OztJS2hESSxVQUFVO0lBQ1YsWUFBWTtJQUNaLGlCQUFpQjtFTDhDckI7OztJS3hDSSw0REQ5SXlDO0VKc0w3Qzs7Ozs7SUtMSSxNQUFNO0lBQ04sU0FBUztFTEliO0lLY0ksYUh6TGtDO0lHMExsQyxzQ0gxTGtDO0lHMkxsQyx5REFBNkQ7SUFDN0QsaUNBQWlDO0VMakJyQzs7Ozs7SUsrQ0ksYUE5RHlDO0lBdUV2QyxTQUFTO0lBQ1QsaUNBQWlDOztBTHBEdkM7Ozs7O0VLRkksU0FBUztFQUNULFNBQVM7O0FMQ2I7RUtxQkksZ0JIck1rQztFR3NNbEMsc0NIdE1rQztFR3VNbEMseURBQTZEO0VBQzdELGdDQUFnQzs7QUx4QnBDOzs7OztFSzRESSxnQkFoRnlDO0VBeUZ2QyxnQ0FBZ0M7O0FMakV0Qzs7O0VBR0Usc0JFdkxvQztFRm9MdEM7OztJQU1JLGdCQUFnQjtFQU5wQjs7O0lBVUksU0FBUzs7QUFJYjtFQzVKQSx5QkQrSmE7RUM5SmIsaUJFZ0V1QjtFRi9EdkIsbUJBQW1CO0VBQ25CLHFCRDhKYTtFQzdKYixjSjBCZ0I7RUl4QmhCO0lBQ0UseUJKd0RtQjtFSXJEckI7SUFDRSxxQkpzQ1k7SUlyQ1osc0JKV1k7RUlSZDtJQUlFLGNKTVk7SUlMWix5QkpnRGtCO0lJL0NsQixxQkorQ2tCO0lJOUNsQixxQkFBcUI7SUFDckIsc0JKNkNrQjtFSTFDcEI7SUFDRSx5QkpxQ29CO0VJbEN0Qjs7SUFFRSxhSkNjO0VJM0JoQjtJRG1LSSxjSDNJWTtJRzRJWiw2QkFBOEM7O0FBSWxEO0VBQ0UsbUJFck5vQztFRnNOcEMsNERHM0ltRTs7QUg4SXJFO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQiw0REd0SnNFOztBSDBKeEU7RVZ2RkEsa0JBQWtCO0VBQ2xCLFlBQVk7RUFD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RDZlNUMsc0JBamRvQjtFd0JrUXBCLGNyQnhOYztFcUJ5TmQsaUJBQWlCO0VBQ2pCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsbUJBQW1COztBQUlyQjtFQUNFLGtCQUFrQjtFQUNsQixXdkJ4UzRDO0V1QnlTNUMsWUFBWTtFQUNaLDBEZGhUMkM7RWNpVDNDLGVBQWU7O0FBR2pCO0VBQ0UsYXJCck9jO0VxQnNPZCxZQUFZOztBQUdkO0VBQ0UseUJBQXlCOztBQUkzQjtFQUNFLGtCQUFrQjtFQUNsQixjaEJyVG9DO0VnQnNUcEMsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsY2hCelRvQztFZ0IwVHBDLGFoQjFUb0M7RWdCMlRwQyxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlFZHhVMkM7RWM4VDdDO0k1QnZQRSwwQk8yQlk7SVAxQlosb0JBQW9COztBNEJ1UXRCO0VBQ0UsYXJCL1BjOztBcUJrUWhCO0VBQ0UsYUFBYTs7QUFHZjtFQUNFLGFyQm5Pa0I7O0FxQnVPcEI7RXhCdUpFLGtCQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixpQkM3ZTRDO0VENmU1QyxzQkFyZW9CO0V3QmdWcEIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLFVBQVU7RUFDVix5QnJCM1FpQjtFcUI0UWpCLGVoQnpWb0M7RWdCMFZwQyxXQUFXO0VBQ1gsY3JCL1FpQjtFcUJnUmpCLGNBQWM7RUFDZCxnQmhCN1ZvQztFZ0I4VnBDLHNCaEI5Vm9DO0VnQitWcEMsb0JoQi9Wb0M7RWdCZ1dwQyxzQmhCaFdvQzs7QWdCbVd0QztFQUNFLGFyQnhSaUI7RXFCeVJqQixvQmhCcldvQztFZ0JzV3BDLGFoQnRXb0M7RWdCdVdwQyxjaEJ2V29DO0VnQndXcEMsZ0JoQnhXb0M7O0FnQjJXdEM7RUFDRSxrQkFBa0I7RUFDbEIseUJyQmpSc0I7RXFCa1J0QixhckJ2U2M7O0FxQjBTaEI7O0VBRUUsYUFBYTs7QUFJZjtFNUIvVUUsNENpQmxDMkI7RVdtWDNCLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFdBOVhpQjtFQStYakIseUJyQmpVWTtFcUJrVVosa0JoQjlYb0M7RWdCK1hwQyxnQkFBZ0I7RUFDaEIsYVp6WVk7O0FZNllkO0V4Qm9HRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFd0IrV3BCLGNoQnRZb0M7RWdCdVlwQyxjckJyVWM7RXFCc1VkLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLDJEZHRaMkM7RWMrWTdDO0lBVUkseUJyQjlTYTtFcUJvU2pCO0lBY0kseUJyQmhUZ0I7O0FxQm9UcEI7RUFDRSw2QkFBNkI7O0FBRy9CO0VBRUUseUJyQjlWWTs7QXFCaVdkO0VBRUUsNkJBQTZCOztBQUcvQjtFQUVFLGNyQnJXYzs7QXFCd1doQjtFQUdFLDZCQUE2Qjs7QUFHL0I7RUFJRSx5QnJCclhZOztBcUJ3WGQ7RTVCM1dFLDhCQUE4QjtFQUM5QixvQkFBb0I7RTRCNFdwQixjQUFjO0VBQ2QsY2hCemJvQztFZ0IwYnBDLGNyQnhYYztFcUJ5WGQscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixvQmhCN2JvQztFZ0I4YnBDLGtCQUFvQjtFQUNwQixjdkJwYzRDO0V1QnFjNUMsaUNBQWlDO0VBQ2pDLG9DQUFvQztFQUNwQyx5QnJCcFlZO0VxQnFZWix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQix5R2RqZDJDO0VjaWM3QztJNUIxWEUsMEJPMkJZO0lQMUJaLG9CQUFvQjtJNEI4WWxCLFNBQVM7SUFDVCx3QmhCNWNrQztJZ0I2Y2xDLHlCQUF5QjtFQXZCN0I7SUEyQkksY3JCaFpZO0lxQmlaWix5QkFBeUI7O0FBSTdCOztFQUlFLGNyQmhYa0I7O0FxQm1YcEI7RUFFRSxnQnZCcGU0QztFdUJrZTlDO0lBS0ksU0FBUztJQUNULG9CdkJ4ZTBDO0l1QnllMUMscUJ2QnplMEM7O0F1QjZlOUM7RUFDRSx5QnJCelllO0VxQjBZZixjckJ6YWM7RXFCMGFkLHlCQUF5Qjs7QUFHM0I7O0VB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TTtJQUNOLGNBQWM7SUFDZCxXMUJ4UTBDO0kwQnlRMUMsYzFCelEwQztJMEIwUTFDLHdCMUIxUTBDO0kwQjJRMUMsV0FBVztJQUNYLHlCeEJ4TVU7SXdCeU1WLHVCQUF1QjtJQUV2Qix3REFBd0Q7SUFDeEQsNEdqQjlRc0M7RWlCdVAxQztJQTZCSSxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGMxQnhSMEM7STBCeVIxQyxlMUJ6UjBDO0kwQjBSMUMsY0FBYztJQUNkLGUxQjNSMEM7STBCNFIxQyxnQjFCNVIwQztJMEI2UjFDLGtCQUFrQjtJQUNsQix5QnhCbE5ZO0l3Qm1OWixXQUFXO0lBQ1gsdURqQjlSc0M7O0FpQmtTMUM7O0VBRUUsa0JBQWtCO0VBQ2xCLG1CMUJ2UzRDO0VENmU1QyxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFMkI2UXBCLGlCQUFpQjs7QUFNbkI7O0VBUUUsa0JBQWtCOztBQUdwQjtFQUlJLHlCeEIxT2U7O0F3QnNPbkI7RUFRSSx5QnhCdFBZO0V3QnVQWiw2QkFBd0M7O0FBTzVDOztFQU1FLGdEeEJwUFk7O0F3QjBQZDtFQUNFLG1CQUFtQjs7QUFHckI7RUFHRSxtQkFBbUI7RUFIckI7SUFNSSx5QnhCbFBnQjtFd0I0T3BCO0lBVUkseUJ4QnJQZ0I7RXdCMk9wQjtJQWVJLG1CQUFtQjtJQUNuQiw2Q2pCeFdzQzs7QWlCb1YxQztFQXlCRSxjeEJuVWtCOztBd0JzVXBCO0VBR0UsZ0JBQWdCOztBQU1sQjtFQUVJLFcxQjdYMEM7RTBCOFgxQyxZMUI5WDBDO0UwQjJYOUM7SUFNTSxXMUJqWXdDO0kwQmtZeEMsWTFCbFl3QztJMEJtWXhDLHdCQUF3QjtFQVI5QjtJQVlNLGUxQnZZd0M7STBCd1l4QyxnQjFCeFl3Qzs7QTBCMlg5Qzs7RUFtQkksbUIxQjlZMEM7O0EwQmtaOUM7RUFFSSxnQ0FBd0M7O0FBRjVDO0VBTUksYXhCcFVlO0V3QnFVZixvQ0FBaUQ7O0FBSXJEO0VBR0UsYXhCalRrQjs7QXlCN0dwQjtFQUNFLGFBQWE7RUFD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Qmhab0M7RTJCaVpwQyxXQUFXO0VBQ1gseUJoQzlVYztFZ0MrVWQsWUFBWTtFQUNaLHlEekIvWjJDOztBeUJrYTdDO0VBQ0UsVUFBVTtFQUNWLHlEZHBWcUQ7O0Fjd1Z2RDtFQUNFLG1CbENuYTRDO0VrQ29hNUMsa0JBQWtCOztBQUlwQjtFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsaUJsQzNhNEM7RWtDNGE1QyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGNoQ3JXYzs7QWdDd1doQjtFbkM0REUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7O0FtQzRadEI7RUFDRSxlM0JwYm9DO0UyQm1idEM7O0lBS0ksZTNCeGJrQztFMkJtYnRDOztJQWNJLGUzQmpja0M7RTJCbWJ0Qzs7SUF1QkksZTNCMWNrQztJMkIyY2xDLGMzQjNja0M7RTJCbWJ0Qzs7SUFpQ0ksZTNCcGRrQztJMkJxZGxDLGMzQnJka0M7STJCc2RsQyxlcEJ6YThCO0VvQnNZbEM7SUF3Q0ksYzNCM2RrQztFMkJtYnRDO0lBOENJLGtCcEI1WjRCO0VvQjhXaEM7SUFtREksVUFBVTtJQUNWLHNEZGxhbUQ7RWM4V3ZEO0lBMERJLG1CQUFtQjtFQTFEdkI7SXZDdlhFLDBCTzJCWTtJUDFCWixvQkFBb0I7SXVDdWJsQixtQmhDallnQjtFZ0NnVXBCOztJQTBFSSxtQmhDMVlnQjtFZ0NnVXBCOzs7SXZDeFdFLDhCQUE4QjtJQUM5QixvQkFBb0I7SXVDOGJsQix1QkFBdUI7O0FBTzNCO0VBR0UsZTNCcGhCb0M7O0EyQnVoQnRDO0VBQ0UsZTNCeGhCb0M7RTJCeWhCcEMsYzNCemhCb0M7RTJCMGhCcEMsZXBCN2VnQzs7QW9CZ2ZsQztFQUNFLG9CM0I5aEJvQztFMkIraEJwQyxlM0IvaEJvQzs7QTJCa2lCdEM7RUFFRSxZM0JwaUJvQzs7QTJCdWlCdEM7RUFHRSxlM0IxaUJvQztFMkIyaUJwQyxhM0IzaUJvQztFMkI0aUJwQyxnQkFBZ0I7O0FDampCbEI7RUFDRSxnQjVCSW9DO0U0QkhwQyxnQkFBZ0I7RUFDaEIscUJuQ0g0Qzs7QW1DUzlDO0VBQ0UsbUJqQ3VEWTtFaUN0RFosMkJuQ1g0Qzs7QW1DYzlDO0VwQytkRSxrQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsaUJBdlhlO0VvQ3RHZixjakNzRGM7O0FpQ25EaEI7RXBDMGRFLG1CQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixxQkM3ZTRDO0VENmU1QyxzQkFqZG9CO0VvQ1BwQixjakNpRGM7O0FpQzNDaEI7RUFDRSx5QkFBeUI7RUFDekIsaUJBQWlCO0VBQ2pCLFdBQVc7O0FBR2I7RXBDNGNFLG1CQzdlNEM7RUQ2ZTVDLGdCRTdjYTtFRjZjYixxQkM3ZTRDO0VENmU1QyxzQkFyWm9CO0VvQ3JEcEIseUJqQ2dDWTs7QWlDN0JkO0VwQ3VjRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFb0NZcEIseUJqQ3lCWTtFaUN4QlosV0FBVzs7QUFHYjtFQUNFLFlBQVk7RUFDWixZbkM5QzRDO0VtQytDNUMsV0FBVzs7QUFHYjs7O0VBR0UsK0QxQnZEeUM7O0EwQjBEM0M7RUFDRSxtQmpDK0RrQjs7QWlDNURwQjs7RUFFRSxjakNRYztFaUNQZCxtQmpDeURrQjtFaUN4RGxCLGdDakN3RGtCO0VpQ3ZEbEIsNkJqQ3VEa0I7O0FpQ3BEcEI7O0VBRUUscUJuQ3RFNEM7RW1DdUU1QyxzQm5DdkU0QztFbUN3RTVDLG1CQUFtQjtFQUNuQixnQkFBZ0I7O0FBR2xCO0VBQ0UsY2pDSmM7RWlDS2QseUJqQ1RZOztBaUNZZDtFQUNFLGtCbkNsRjRDOztBbUNxRjlDO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7O0FBR2I7RUFDRSxjQUFjO0VBQ2Qsa0JBQW9CO0VBQ3BCLGdCQUFnQjs7QUFHbEI7O0VBRUUsbUJqQ2pDWTtFaUNrQ1osY2pDN0JjO0VpQzhCZCw2QmpDbkNZO0VpQ29DWixnQ2pDbENZO0VpQ21DWix3Qm5DdEc0QztFbUN1RzVDLHVCNUJsR29DO0U0QjJGdEM7O0lBVUkscUJuQzFHMEM7O0FtQzhHYjtFQUMvQjtJQUNFLDRCQUE0QixJQUM3Qjs7QUFHSDtFQUNFLGtCbkNySDRDOztBbUN3SDlDO0VBQ0UsbUJuQ3pINEM7O0FtQzZIOUM7O0VBRUUsYzVCMUhvQztFNEIySHBDLGtCNUIzSG9DO0U0QjRIcEMsbUJuQ2pJNEM7RW1Da0k1QyxxQm5DbEk0Qzs7QW1DcUk5QztFQUNFLGlCQUFpQjs7QUFHbkI7RUFHRSxtQmpDekVZOztBaUM2RWQ7RXhDL0VFLDBCTzJCWTtFUDFCWixvQkFBb0I7O0F3Q29GdEI7RUFHRSxhQUFhOztBQUdmO0VBR0U7SUFJRSxVQUFVLElBQ1g7O0FBR0g7Ozs7RUFpQkUsVUFBVTs7QUFHWjtFQUlFLG9CbkMvTDRDO0VtQ2dNNUMsa0JBQWtCO0VBQ2xCLFk1QjVMb0M7O0E0QnFNdEM7RUFDRSxnQ2pDMUlZOztBaUM2SWQ7RUFDRSx5QmpDaE5ZO0VpQ2lOWixnQ2pDak5ZO0VpQ2tOWiw2QmpDbE5ZOztBaUNxTmQ7RUFDRSx5QmpDN0ZrQjtFaUM4RmxCLGdDakM5RmtCO0VpQytGbEIsNkJqQy9Ga0I7O0FpQ3FHcEI7RUFDRSxrQm5DOU40Qzs7QW1DaU85QztFQUNFLGtCQUFrQjtFQUNsQixtQmpDaEtZO0VpQ2lLWiw4Qm5DcE80QztFbUNxTzVDLGM1QmhPb0M7RTRCbU9wQywrRDFCMU95Qzs7QTBCNk8zQztFQUNFLG9CNUJ2T29DO0U0QndPcEMsaUJBQWlCOztBQUduQjtFQUNFLG1CakMzTXdCOztBaUMrTTFCOztFQUtFLGNqQ3BMYztFaUNxTGQseUJqQ3BKa0I7RWlDcUpsQiw2QmpDckprQjtFaUNzSmxCLGdDakN2SmdCOztBaUMySmxCOztFQUtFLDZCakNoS2dCOztBaUNvS2xCOzs7RUFTRSw2QmpDNUtrQjtFaUM2S2xCLGdDakM3S2tCOztBaUNpTHBCO0VBSUUsZ0NqQ3RMZ0I7O0FpQ3lMbEI7RUFJRSxnQ2pDN1B3Qjs7QWlDaVExQjs7RUFLRSxjakN0T2M7RWlDdU9kLG1CakN2UXdCO0VpQ3dReEIsNkJqQ3hRd0I7RWlDeVF4QixnQ2pDelF3Qjs7QWlDNlExQjtF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bEIsZ0N2QzJDWTtFdUMxQ1osa0VoQy9CMkM7O0FnQ2tDN0M7RUFFRSx5QnZDOEVnQjtFdUM3RWhCLGVBQWU7RUFDZixnQ3ZDNEVnQjs7QXVDekVsQjtFQUNFLHlCdkNtRWtCOztBdUNoRXBCO0VBQ0UsZ0N2QytEa0I7RXVDOURsQixlQUFlOztBQUdqQjtFOUNxQkUsMEJPMkJZO0VQMUJaLG9CQUFvQjs7QThDbEJ0Qjs7RUFLRSxjdkNpQmM7O0F1Q2RoQjtFQUdFLDZCdkNNWTs7QXVDSGQ7RUFDRSwyQkFBMkI7RUFDM0Isc0JBQXNCOztBQUd4QjtFM0N0RUUsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsd0JBQXdCO0U0Q2MxQixrQjFDakI4QztFMENrQjlDLG1CMUNsQjhDO0UwQ21COUMsaUIxQ25COEM7RTBDb0I5QyxzQjFDcEI4QztFRDZlNUMsbUJDN2U0QztFRDZlNUMsZ0JFN2NhO0VGNmNiLHFCQzdlNEM7RUQ2ZTVDLHNCQXJab0I7RTBDakJwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGNsQ3BFb0M7RWtDcUVwQyxnQkFBZ0I7RUFDaEIsb0JqQ3VPaUM7RWlDdE9qQyxzQkFBc0I7RTNDdkV0Qjs7O0lBR0UsbUJBQW1COztBMkN1RXZCO0VBQ0Usd0JBQXdCO0VBQ3hCLHNCQUFzQjs7QUFHeEI7RTNDdkZFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQzBleEIsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLG9CQzdlNEM7RUQ2ZTVDLHNCQXZjb0I7RTJDVnRCLGlCMUM1QjhDO0UwQzZCOUMsbUIxQzdCOEM7RTBDOEI5QyxzQjFDOUI4QztFMEMrQjlDLGtCMUMvQjhDO0V5Q3dGNUMsc0J6Q3hGNEM7RXlDeUY1QyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQix1RGhDbEcyQztFWFczQzs7O0lBR0UsbUJBQW1COztBMkMyRHZCO0VBNkJFLGN2QzFCYzs7QXVDY2hCO0VBZUUsY3ZDNUJjOztBdUMrQmhCO0VBQ0UsbUJBQW1COztBQUdyQjtFQUNFLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsc0JBQXNCO0VBQ3RCLHFEaENwSDJDOztBZ0N1SDdDO0VBQ0UsYUV2RjBCOztBRjBGNUI7O0VBTUUsYXZDakRjOztBdUNxRGhCO0VBR00sU0FBUzs7QUFIZjtFQU9NLFVBQVU7O0FBUGhCO0VBV00sVUFBVTs7QUFYaEI7RTlDZUEsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixtQk9qQ29CO0V1QzhCaEIsVUFBVTtFQUNWLFlBQVk7RUFDWixjQUFjO0U5Q0dsQjtJQUdFLFlBQVk7SUFDWixhQUFhO0lBQ2IsZUFBZTtFQUdqQjtJQUNFLFdBQVc7SUFDWCxTQUFTO0lBQ1QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLG1CT2pEa0I7SVBrRGxCLCtDQUErQztJQUUvQztNQVZGO1FBV0ksZUFBZSxJQUVsQjs7QThDM0NEO0U5Q2VBLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsbUJPakNvQjtFdUN3Q2xCLFVBQVU7RUFDVixZQUFZO0VBQ1osY0FBYztFOUNQaEI7SUFHRSxZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7RUFHakI7SUFDRSxXQUFXO0lBQ1gsU0FBUztJQUNULFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFDUCxtQk9qRGtCO0lQa0RsQiwrQ0FBK0M7SUFFL0M7TUFWRjtRQVdJLGVBQWUsSUFFbEI7O0E4Q1hEO0VBRUUsU0FBUztFQUZYO0lBS0ksYUFBYTs7QUdyS2pCO0U5Q0ZFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUV4Qjs7O0lBR0UsbUJBQW1COztBOENMdkI7RTdDMGVFLGtCQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixpQkM3ZTRDO0VENmU1QyxzQkF6YW9COztBNkM1RHRCO0U5Q1hFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQzBleEIsa0JDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLGlCQzdlNEM7RUQ2ZTVDLHNCQXphb0I7RTZDckRwQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFVBQVU7RUFDViw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLHlCMUM2Q1k7RTBDNUNaLGMxQ2lEYztFMENoRGQsZUFBZTtFOUNqQmY7OztJQUdFLG1CQUFtQjtFOENBdkI7SUFpQkkseUIxQzBDVTtFMEMzRGQ7SUFxQkkseUIxQ01jO0UwQzNCbEI7SUF5QkksYUFBYTtJQUNiLHlCMUMwQm1COztBMEN0QnZCO0VBQ0UsaUI5QldnQzs7QThCUmxDO0VBQ0UseUIxQ3FDZTtFMEN0Q2pCO0lBSUksdUMxQ2VtQjs7QTBDVnZCO0U3QzBiRSxrQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osaUJDN2U0QztFRDZlNUMsc0JBemFvQjtFOEN6RXRCLG1CM0NHYztFMkNGZCx5QjNDSWM7RTJDSGQsa0JBQWtCO0VBQ2xCLGdCdENPc0M7RXNDTnRDLFdBQVc7RURzRFQsWUFBWTtFQUNaLGtCckNqRG9DO0VxQ2tEcEMsa0JyQ2xEb0M7RXFDbURwQyxjNUN4RDRDO0U0Q3lENUMsc0I1Q3pENEM7O0E0QzREOUM7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQWtDO0VBQ2xDLGVyQzdEb0M7O0FxQ2dFdEM7RUFDRSxtQkFBbUI7RTdDdWFuQixrQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osaUJDN2U0QztFRDZlNUMsc0JBemFvQjtFNkNJcEIscUI5QnRCZ0M7O0E4QnlCbEM7RUFDRSxjckN2RW9DO0VxQ3dFcEMsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLGNyQzVFb0M7RXFDNkVwQyxpRUFBZ0U7O0FBSWxFO0U3Q3VaRSxrQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osaUJDN2U0QztFRDZlNUMsc0JBemFvQjtFOEN6RXRCLG1CM0NHYztFMkNGZCx5QjNDSWM7RTJDSGQsa0JBQWtCO0VBQ2xCLGdCdENPc0M7RXNDTnRDLFdBQVc7RUR5RlQsWUFBWTtFQUNaLGE1Q3pGNEM7RTRDMEY1QyxrQnJDckZvQztFcUNzRnBDLGVBQWU7O0FBSWpCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQnJDN0ZvQztFcUM4RnBDLG1CckM5Rm9DO0VxQytGcEMsNERuQzFHMkM7O0FtQzhHN0M7RUFFRSxpQnJDckdvQztFcUNzR3BDLDREbkNqSDJDOztBbUNxSDdDO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCckM1R29DOztBcUNnSHRDO0VBR0Usa0JBQWtCOztBQUdwQjtFQUNFLGNyQ3ZIb0M7RXFDd0hwQyxZQUFZO0VBQ1osV0FBVztFQUNYLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLGlFQUFnRTs7QUFHbEU7RUFDRSxnQkFBZ0I7O0FBSWxCO0VBQ0UsYTFDakVjO0UwQ2tFZCxlckN2SW9DO0VxQ3dJcEMsY3JDeElvQztFcUN5SXBDLG9EbkNwSjJDOztBbUN1SjdDO0U5Q3BKRSxzQkFBc0I7RUFDdEIsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQix3QkFBd0I7RThDZ0p4QixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsWUFBWTtFQUNaLHlCMUN2Rlk7RTBDd0ZaLGFBQWE7RUFDYixVQUFVO0VBQ1YsYzVDM0o0QztFNEM0SjVDLGE1QzVKNEM7RTRDNko1QyxpQkFBaUI7RTlDeEpqQjs7O0lBR0UsbUJBQW1CO0U4Q3lJdkI7SWpEaEZFLDBCTzJCWTtJUDFCWixvQkFBb0I7SWlEK0ZsQixzQjFDckVVOztBMEN5RWQ7RUFDRSxZNUN0SzRDO0U0Q3VLNUMsVzVDdks0QztFNEN3SzVDLFc5QnRIZ0M7RThCdUhoQyxhOUJ2SGdDOztBOEIwSGxDO0VBQ0UsbUIxQ3hFZTs7QTBDMkVqQjtFQUNFLHlCMUM5SWdCOztBVzlCbEI7RWR3ZUUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RTZDMEpwQixhakMzTFc7RWlDNExYLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsWUFBWTtFQUNaLGNBQWM7O0EvQnJMaEI7RStCMExFLG1CMUNoTGlCOztBV1ZuQjtFK0I4TEUsWUFBWTs7QUFJZDtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGE5QnpKZ0M7RThCMEpoQyxjOUIxSmdDO0U4QjJKaEMsZTlCM0pnQztFOEI0SmhDLGtCNUM5TTRDO0U0QytNNUMsYzFDekljO0UwQzBJZCx5QjFDakllOztBMENvSWpCO0VBRUUsa0JBQWtCO0VBQ2xCLGFyQ2pOb0M7O0FxQ29OdEM7RUFDRSxhQUFhOztBQUdmO0VBQ0UsYTFDeEpjO0UwQ3lKZCxtQjlCN0tnQztFOEI4S2hDLHNCckMzTm9DO0VxQzROcEMsdUJBQXVCO0VBQ3ZCLGlEbkN4TzJDOztBbUMyTzdDO0VBQ0UsbUIxQ2pJZTtFMENrSWYsYzFDaktjOztBMENvS2hCO0VBQ0UseUIxQ3hNZ0I7O0EwQzJNbEI7RWpEN0tFLDBCTzJCWTtFUDFCWixvQkFBb0I7O0FpRGdMdEI7RUFHRSx5QkFBeUI7RUFDekIsMkJ4QjFNeUI7O0F3QjhNM0I7RUFDRSxlckN0UG9DOztBcUN5UHRDO0VBQ0UsZXJDMVBvQzs7QXFDNlB0QztFQUNFLFlBQVk7O0FBR2Q7RWpEeEhBLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsbUJPakNvQjtFMENzSmxCLFdBQVc7RUFDWCxZQUFZO0VBQ1osY0FBYztFakRySGhCO0lBR0UsWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlO0VBR2pCO0lBQ0UsV0FBVztJQUNYLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsbUJPakRrQjtJUGtEbEIsK0NBQStDO0lBRS9DO01BVkY7UUFXSSxlQUFlLElBRWxCOztBaURtR0Q7RUFDRSxTckN6UW9DO0VxQzBRcEMsVUFBVTtFQUNWLFdBQVc7O0FBR2I7RUFDRSxXQUFXO0VBQ1gsU0FBUzs7QUFHWDtFQUNFLGVyQ3BSb0M7O0FxQ3VSdEM7RUFDRSxlckN4Um9DOztBcUM2UHRDO0VBK0JFLFlBQVk7O0FBR2Q7RWpEdEpBLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsbUJPakNvQjtFMENvTGxCLFdBQVc7RUFDWCxZQUFZO0VBQ1osY0FBYztFQUNkLGtCQUFrQjtFakRwSnBCO0lBR0UsWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlO0VBR2pCO0lBQ0UsV0FBVztJQUNYLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsbUJPakRrQjtJUGtEbEIsK0NBQStDO0lBRS9DO01BVkY7UUFXSSxlQUFlLElBRWxCO0VpRDBIRDtJQVFJLFNBQVM7RUFSYjtJQVlJLFVBQVU7RUFaZDtJQWdCSSxVQUFVOztBQUlkO0VBRUUsaUJBQWlCOztBQXZDbkI7RUEyQ0UsV0FBVzs7QUFwRWI7RUF5RUUsZXJDOVRvQzs7QXFDeVB0QztFQXlFRSxlckNsVW9DOztBcUM2UHRDO0VBeUVFLFlBQVk7O0FBckVkO0VqRHhIQSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLG1CT2pDb0I7RTBDOE5sQixXQUFXO0VBQ1gsWUFBWTtFQUNaLGNBQWM7RWpEN0xoQjtJQUdFLFlBQVk7SUFDWixhQUFhO0lBQ2IsZUFBZTtFQUdqQjtJQUNFLFdBQVc7SUFDWCxTQUFTO0lBQ1QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLG1CT2pEa0I7SVBrRGxCLCtDQUErQztJQUUvQztNQVZGO1FBV0ksZUFBZSxJQUVsQjs7QW1EdEtEO0VoRFBFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFSHNIMUIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0VBR2IsV0FBVztFRzVIWDs7O0lBR0UsbUJBQW1CO0VINEh2QjtJQUNFLFNBQVM7O0FtRDdIWDs7RWhEWEUsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsd0JBQXdCO0VINkV4Qiw4QkFBOEI7RUFDOUIsb0JBQW9CO0VtRHJFcEIsa0JBQWtCO0VBQ2xCLGN2Q1JvQztFdUNTcEMsZXZDVG9DO0V1Q1VwQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2YsNkdyQ3JCeUM7RVhPekM7Ozs7OztJQUdFLG1CQUFtQjtFZ0RBdkI7O0luRHlERSwwQk8yQlk7SVAxQlosb0JBQW9CO0VtRDFEdEI7O0lBbUJJLHlCNUMwRWE7O0E0Q3JFakI7RW5EaUNFLDBCTzJCWTtFUDFCWixvQkFBb0I7RW1EbEN0QjtJQUlJLGFBQWE7O0FBSWpCOztFQUdFLHlCNUNzQlk7RTRDckJaLGdCQUFnQjtFQUNoQiwwQ0FBMEM7O0FBRzVDO0VBQ0UsZXZDNUNvQztFdUM2Q3BDLGN2QzdDb0M7RXVDOENwQyxhNUN1QmM7O0E0Q3BCaEI7RWhEekRFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFZ0RxRHhCLDBDQUEwQztFQUMxQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsY25DNURhO0VtQzZEYix5QjVDR1k7RTRDRlosYXZDMURvQztFdUMyRHBDLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsT0FBTztFaEQ3RFA7OztJQUdFLG1CQUFtQjtFZ0Q4Q3ZCO0lBZUksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QseUI1Q1BVO0k0Q1FWLGdFckMzRXVDOztBcUNnRjNDO0VBQ0UsYXZDMUVvQztFdUMyRXBDLE9BQU87RUFDUCxjdkM1RW9DO0V1QzZFcEMsZXZDN0VvQzs7QXVDZ0Z0QztFQUNFLGdCdkNqRm9DO0V1Q2tGcEMsT0FBTztFQUNQLGN2Q25Gb0M7RXVDb0ZwQyxldkNwRm9DOztBdUN1RnRDO0VBQ0UsZXZDeEZvQztFdUN5RnBDLE1BQU07RUFDTixldkMxRm9DO0V1QzJGcEMsY3ZDM0ZvQzs7QXVDOEZ0QztFQUNFLE1BQU07RUFDTixjdkNoR29DO0V1Q2lHcEMsZXZDakdvQztFdUNrR3BDLGN2Q2xHb0M7O0F1Q3FHdEM7O0VBRUUsVUFBVTtFQUNWLFFBQVE7O0FBR1Y7O0VBRUUsU0FBUztFQUNULFNBQVM7O0FBR1g7RUFDRSxhQUFhOztBQUdmO0VoRDdIRSxzQkFBc0I7RUFDdEIsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQix3QkFBd0I7RWdEeUh4QixhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsY3ZDM0hvQztFdUM0SHBDLFVBQVU7RUFDVixnRXJDcEl5QztFWE96Qzs7O0lBR0UsbUJBQW1COztBZ0Q2SHZCO0VBQ0UsNkI1Q25FWTs7QTRDc0VkO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIscUJBQXFCOztBQUd2QjtFL0M2VkUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RUpvRHBCLDhCQUE4QjtFQUM5QixvQkFBb0I7RW1Ea0VwQixnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBQ2hCLGU5QzNKNEM7RThDNEo1QyxlQUFlO0VBQ2YsYzVDdEZjO0U0Q3VGZCxtQkFBbUI7RUFDbkIsd0pyQ2pLeUM7RXFDa0ozQztJQW9CSSxjNUM5Rlk7RTRDMEVoQjtJbkQvRUUsMEJPMkJZO0lQMUJaLG9CQUFvQjtFbUQ4RXRCO0lBNEJJLFlBQVk7O0FBSWhCO0VBQ0UsYTVDdEdjOztBNEN5R2hCO0VBQ0UsYTVDM0djOztBNEM4R2hCO0VBQ0UsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQix1QkFBdUI7O0FBR3pCO0VBQ0UseUI1QzFGZTs7QTRDNkZqQjtFQUNFLDZCNUNoSVk7O0E0Q21JZDs7RUFJRSxjNUNqSWM7RTRDa0lkLHlCNUN4SGlCO0U0Q21IbkI7O0lBUUksYTVDcklZOztBNEN5SWhCO0VBQ0UseUI1Q2xKWTtFNENtSlosbUJBQW1COztBQUdyQjtFQUVFLGM1QzFHa0I7RTRDMkdsQixvQkFBb0I7RUFIdEI7SW5EdklFLDhCQUE4QjtJQUM5QixvQkFBb0I7SW1EK0lsQix5QjVDL0pVOztBNENtS2Q7RUFHRSxhNUN4SGtCOztBNEMySHBCO0VBQ0UsWUFBWTtFQURkO0lBSUksV0FBVzs7QUNoUGY7RUFDRSxhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLFdBQVc7RUFDWCxjeENHb0M7O0F3Q0F0QztFQUNFLG1CQUFtQjs7QUFHckI7RWpEWkUsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsd0JBQXdCO0VDMGV4QixtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFSm9EcEIsOEJBQThCO0VBQzlCLG9CQUFvQjtFb0RuRXBCLHlCN0NtRFk7RTZDbERaLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLG9CL0NsQjRDO0UrQ21CNUMsU0FBUztFQUNULG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixZQUFZO0VBQ1osYzdDOENjO0U2QzdDZCxvRHRDaEMyQztFc0NpQzNDLGtCQUFrQjtFakR0QmxCOzs7SUFHRSxtQkFBbUI7RWlEQ3ZCO0lBcUJJLG1DN0M4RFU7STZDN0RWLFVBQVU7RUF0QmQ7SUEwQkksZUFBZTtFQTFCbkI7SUErQkkseUI3QzZEYTtJNkM1RGIsYzdDNkJZO0k2QzVCWixVQUFVO0VBakNkO0lBcUNJLGM3Q2lFZ0I7STZDaEVoQix5QjdDK0RnQjtJNkM5RGhCLG9CQUFvQjtJQXZDeEI7TUEwQ00sbUJBQW1COztBQUt6QjtFQUNFLCtCeENwRG9DO0V3Q3FEcEMsa0N4Q3JEb0M7O0F3Q3dEdEM7RUFDRSxnQ3hDekRvQztFd0MwRHBDLG1DeEMxRG9DOztBd0M2RHRDO0VBQ0UsV0FBVztFQUNYLGNBQWM7RUFDZCxleENoRW9DO0V3Q2lFcEMsY3hDakVvQztFd0NrRXBDLHlCN0N2RVk7RTZDd0VaLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsT0FBTzs7QUFHVDs7Ozs7O0VBU0UsNkJBQTZCOztBQUcvQjtFQUNFLGE3Q25CYztFNkNvQmQscUR0Q2pHMkM7O0FzQ29HN0M7RUFDRSxtQi9DL0Y0Qzs7QStDa0c5QztFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGVBQWU7O0FBR2pCOztFQUVFLGE3Q3JDYzs7QTZDd0NoQjtFQUNFLHlCN0MxQ1k7RTZDMkNaLGM3Qy9CaUI7RTZDZ0NqQixVQUFVO0VBSFo7SUFNSSx5QjdDSmdCO0k2Q0toQixjN0NOZ0I7O0E2Q1VwQjtFQUVFLGE3QzFDaUI7O0E4QzNGckI7RUFDRSx1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsZUFBZTtFQUNmLGNBQWM7RUFDZCxTQUFTO0VBQ1QsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsMEJBQTBCO0VBQzFCLGdCQUFnQjtFQUNoQixnSEFDa0Q7O0FBR3BEOztFQUVFLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGlCQUFpQjs7QUFHbkI7RUFDRSxxQkFBcUI7RUFDckIsY0FBYzs7QUFHaEI7RUFDRSxtRXZDN0IyQztFdUMrQjNDLDJEdkMvQjJDOztBdUNrQzdDO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixRQUFROztBQUdWO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjs7QUFHdkI7RUFDRSxZQUFZO0VBQ1osY0FBYzs7QUFHaEI7RUFDRSxXQUFXOztBQUdiOztFQUVFLGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsNEJBQTRCOztBQUU5QjtFQUNFLGNBQWM7O0FBRWhCO0VBQ0UsWUFBWTtFQUNaLDZCQUE2Qjs7QUFFL0I7RUFDRSxZQUFZOztBQUVkOztFQUVFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFQUN6QixXQUFXO0VBQ1gsU0FBUztFQUNULFFBQVE7RUFDUixVQUFVOztBQUVaOztFQUVFLFVBQVU7RUFDVixXQUFXOztBQUViO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7O0FBRWhCO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7O0FBRWhCOztFQUVFLFlBQVk7O0FBRWQ7RUFDRSw0QkFBNEI7O0FBRTlCO0VBQ0UseUJBQXlCOztBQUUzQjs7RUFFRSxTQUFTOztBQUVYO0VBQ0UseUJBQXlCOztBQUUzQjtFQUNFLHNCQUFzQjs7QUFFeEI7RUFDRSxVQUFVOztBQUVaO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjs7QUFFdkI7RUFDRSx1QkFBdUI7RUFDdkIseUJBQXlCO0VBQ3pCLHdCQUF3QjtFQUN4QixZQUFZO0VBQ1osY0FBYztFQUNkLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLGdCQUFnQjs7QUFFbEI7O0VBRUUscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osaUNBQWlDO0VBQ2pDLFVBQVU7O0FBRVo7O0VBRUUsa0JBQWtCOztBQUVwQjs7RUFFRTsyQjlEaXhPeUI7RThEL3dPekI7UzlEaXhPTztFOEQvd09QLE9BQU87RUFDUDt5QjlEaXhPdUI7RThEL3dPdkI7UzlEaXhPTyxFOERoeE9DOztBQUVWOzJCOURpeE8yQjtBOEQvd08zQjt5QjlEaXhPeUI7QThEL3dPekI7O0VBRUU7MkI5RGl4T3lCO0U4RC93T3pCO1M5RGl4T087RThEL3dPUCxRQUFRO0VBQ1I7eUI5RGl4T3VCO0U4RC93T3ZCO1M5RGl4T08sRThEaHhPQzs7QUFFVjsyQjlEaXhPMkI7QThEL3dPM0I7eUI5RGl4T3lCO0E4RC93T3pCOztFQUVFLGNBQWM7O0FBRWhCOztFQUVFLGFBQWE7O0FBRWY7O0VBRUUsV0FBVzs7QUFFYjs7RUFFRSxxQkFBcUI7RUFDckIsYUFBYTs7QUFFZjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZOztBQUVkOztFQUVFLHFCQUFxQjs7QUFFdkI7RUFDRSxXQUFXOztBQUViO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLGVBQWU7RUFDZix3Q0FBd0M7RUFDeEMsc0JBQXNCOztBQUV4QjtFQUNFLDhCQUE4Qjs7QUFFaEM7RUFDRSw4QkFBOEI7O0FBRWhDO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsUUFBUTs7QUFFVjtFQUNFLE1BQU07RUFDTixnQkFBZ0I7O0FBRWxCO0VBQ0Usa0NBQWtDO0VBQ2xDLG1DQUFtQztFQUNuQyw4Q0FBOEM7O0FBRWhEO0VBQ0UsUUFBUTs7QUFFVjtFQUNFLGtDQUFrQztFQUNsQyxtQ0FBbUM7RUFDbkMsMkNBQTJDOztBQUU3QztFQUNFLGNBQWM7RUFDZCxZQUFZOztBQUVkO0VBQ0Usd0JBQXdCOztBQUUxQjtFQUNFLCtCQUErQjs7QUFFakM7RUFDRSxVQUFVOztBQUVaO0VqRHVPSSxtQkM3ZTRDO0VENmU1QyxnQkU3Y2E7RUY2Y2IscUJDN2U0QztFRDZlNUMsc0JBclpvQjtFaURpTHRCLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsNkNBQTZDO0VBQzdDLHFDQUFxQzs7QUFFdkM7RUFDRSwrQ0FBK0M7RUFDL0MsdUNBQXVDO0VBQ3ZDLHlGQUNrRDtFQUNsRCxpRkFDa0Q7O0FBRXBEO0VBQ0UsOENBQThDO0VBQzlDLHNDQUFzQztFQUN0QywyRkFDcUQ7RUFDckQsbUZBQ3FEOztBQUV2RDtFQUNFLDhDQUE4QztFQUM5QyxzQ0FBc0M7RUFDdEMsMEZBQ21EO0VBQ25ELGtGQUNtRDs7QUFFckQ7RUFDRSx5Q0FBeUM7RUFDekMsaUNBQWlDO0VBQ2pDLDRGQUNzRDtFQUN0RCxvRkFDc0Q7O0FBRXhEO0VBQ0Usb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixVQUFVOztBQUVaO0VBQ0UsK0JBQStCOztBQUVqQztFQUNFLFVBQVU7RUFDVixxQkFBcUI7O0FBRXZCO0VBQ0UsdUNBQXVDOztBQUV6QztFQUNFLG9DQUFvQzs7QUFFdEM7RUFDRSx1QkFBdUI7RUFDdkIsc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLFNBQVM7RUFDVCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLHdCQUF3Qjs7QUFFMUI7RUFDRSxVQUFVOztBQUVaOztFQUVFLGVBQWU7RUFDZix5QkFBeUI7RUFDekIsdUJBQXVCO0VBQ3ZCLG9CQUFvQjs7QUFFdEI7RUFDRSx1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1oscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsMkJBQTJCO0VBQzNCLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsWUFBWTs7QUFFZDtFakQ0SEksbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RWlEd1Z0QixlQUFlO0VBQ2YsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQixTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsV0FBVztFQUNYLE9BQU87O0FBRVQ7O0VBRUUsa0JBQWtCOztBQUVwQjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsWUFBWTs7QUFFZDtFQUNFLFVBQVU7O0FBRVo7RUFDRSxVQUFVO0VBQ1YsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixxQkFBcUI7RUFDckIsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixxQ0FBcUM7RUFDckMsNkJBQTZCO0VBQzdCLDZDQUE2QztFQUM3QyxxQ0FBcUM7RUFDckMsVUFBVTs7QUFFWjtFQUNFLG1IQUNrRDtFQUNsRCwyR0FDa0Q7O0FBRXBEOztFQUVFLCtDQUErQztFQUMvQyx1Q0FBdUM7O0FBRXpDO0VBQ0Usa0hBQ2tEO0VBQ2xELDBHQUNrRDs7QUFFcEQ7RUFDRSxvSEFDbUQ7RUFDbkQsNEdBQ21EO0VBQ25ELDhDQUE4QztFQUM5QyxzQ0FBc0M7O0FBRXhDO0VBQ0Usc0hBQ3NEO0VBQ3RELDhHQUNzRDs7QUFFeEQ7RUFDRSxnQkFBZ0I7RUFDaEIsNkJBQTZCO0VBQzdCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMvQixvQ0FBb0M7RUFDcEMsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFNBQVM7RUFDVCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMvQixxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjs7QUEyRnBCO0VBQ0UsZ0JBQWdCO0VBQ2hCLDZDQUE2Qzs7QUFLL0M7RUFDRSxxQkFBcUI7RUFDckIsV0FBVzs7QUFFYjtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7O0FBRTdCO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxpQkFBaUI7O0FBRW5CO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlOztBQUVqQjtFQUNFLGNBQWM7RUFDZCxxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsZ0JBQWdCOztBQUVsQjtFQUNFLHFCQUFxQjtFQUNyQixVQUFVO0VBQ1Ysc0JBQXNCOztBQUV4QjtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBYztFQUNkLFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixhQUFhOztBQUVmO0VBQ0UsV0FBVztFQUNYLGNBQWM7RUFDZCxXQUFXOztBQUViO0VBQ0UsZUFBZTtFQUNmLFdBQVc7RUFDWCxPQUFPO0VBQ1AsVUFBVTtFQUNWLFlBQVk7RUFDWixXQUFXOztBQUViO0VBQ0UsNEJBQTRCOztBQUU5QjtFQUNFLHlCQUF5Qjs7QUFFM0I7RUFDRSxVQUFVOztBQUVaO0VBQ0UsVUFBVTs7QUFFWjtFQUNFLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGVBQWU7RUFDZixjQUFjO0VBQ2QsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixzQkFBc0I7O0FBRXhCO0VBQ0UsaUJBQWlCOztBQUVuQjs7RUFFRSxnQkFBZ0I7O0FBRWxCO0VBQ0UsVUFBVTtFQUNWLFNBQVM7O0FBRVg7O0VBRUUsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsU0FBUztFQUNULHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQiwwQkFBMEI7RUFDMUIsMkJBQTJCO0VBQzNCLDBCQUEwQjtFQUMxQixrQkFBa0I7O0FBRXBCO0VBQ0UsVUFBVTtFQUNWLFVBQVU7RUFDVixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdCQUFnQjs7QUFFbEI7O0VBRUUsbUJBQW1COztBQUVyQjtFQUNFLGVBQWU7O0FBRWpCO0VBQ0U7SUFDRSxVQUFVO0lBQ1YsMkNBQTJDO0lBQzNDLG1DQUFtQztFQUVyQztJQUNFLFVBQVU7SUFDVix1Q0FBdUM7SUFDdkMsK0JBQStCOztBQUduQztFQUNFO0lBQ0UsVUFBVTtJQUNWLDJDQUEyQztJQUMzQyxtQ0FBbUM7RUFFckM7SUFDRSxVQUFVO0lBQ1YsdUNBQXVDO0lBQ3ZDLCtCQUErQjs7QUFHbkM7RUFDRTtJQUNFLDZDQUE2QztJQUM3QyxxQ0FBcUM7RUFFdkM7SUFDRSwrQ0FBK0M7SUFDL0MsdUNBQXVDOztBQUczQztFQUNFO0lBQ0UsNkNBQTZDO0lBQzdDLHFDQUFxQztFQUV2QztJQUNFLCtDQUErQztJQUMvQyx1Q0FBdUM7O0FBRzNDO0VBQ0U7SUFDRSw4Q0FBOEM7SUFDOUMsc0NBQXNDO0VBRXhDO0lBQ0UsNkNBQTZDO0lBQzdDLHFDQUFxQzs7QUFHekM7RUFDRTtJQUNFLDhDQUE4QztJQUM5QyxzQ0FBc0M7RUFFeEM7SUFDRSw2Q0FBNkM7SUFDN0MscUNBQXFDOztBQUd6QztFQUNFO0lBQ0UseUNBQXlDO0lBQ3pDLGlDQUFpQztFQUVuQztJQUNFLDhDQUE4QztJQUM5QyxzQ0FBc0M7O0FBRzFDO0VBQ0U7SUFDRSx5Q0FBeUM7SUFDekMsaUNBQWlDO0VBRW5DO0lBQ0UsOENBQThDO0lBQzlDLHNDQUFzQzs7QUFHMUM7RUFDRTtJQUNFLDZDQUE2QztJQUM3QyxxQ0FBcUM7RUFFdkM7SUFDRSx5Q0FBeUM7SUFDekMsaUNBQWlDOztBQUdyQztFQUNFO0lBQ0UsNkNBQTZDO0lBQzdDLHFDQUFxQztFQUV2QztJQUNFLHlDQUF5QztJQUN6QyxpQ0FBaUM7O0FBR3JDO0VBQ0U7SUFDRSxVQUFVO0VBRVo7SUFDRSxVQUFVOztBQUdkO0VBQ0U7SUFDRSxVQUFVO0VBRVo7SUFDRSxVQUFVOztBQUdkO0VBQ0U7SUFDRSxVQUFVO0VBRVo7SUFDRSxVQUFVOztBQUdkO0VBQ0U7SUFDRSxVQUFVO0VBRVo7SUFDRSxVQUFVOztBQzd6Qlo7RUFDRSxhQUFhOztBQUdmO0VBQ0UsbUIvQzBFZTs7QStDdkVqQjtFQUNFLFFBQVE7O0FBR1Y7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qiw4QkFBOEI7O0FBR2hDO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUZyQjtJQUtJLGdCMUNwQmtDO0kwQ3FCbEMsY0FBYztJQUNkLGMvQ3dEZTtJK0N2RGYsZ0JBQWdCO0lBQ2hCLG1CakQ3QjBDO0lpRDhCMUMsaUJBQWlCO0lBVnJCO01BYU0sYUFBYTs7QUFLbkI7RUFFSSxhMUNuQ2tDOztBMEN1Q3RDO0VBRUksYUFBYTs7QUFJakI7RUFFSSxtQjFDL0NrQzs7QTBDNkN0QztFQU1JLGUxQ25Ea0M7O0EwQ3VEdEM7RW5EL0RFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQzBleEIsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLG9CQzdlNEM7RUQ2ZTVDLHNCQS9ab0I7RUpFcEIsOEJBQThCO0VBQzlCLG9CQUFvQjtFc0RoQnBCLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsYzFDOURvQztFMEMrRHBDLG1CMUMvRG9DO0UwQ2dFcEMsZWpEckU0QztFaURzRTVDLHlCL0NTZTtFK0NSZixZQUFZO0VBQ1osYy9DRmM7RStDR2QsZ0MvQ0xZO0UrQ01aLG9EQUErRDtFbkRyRS9EOzs7SUFHRSxtQkFBbUI7RW1Eb0R2QjtJdERLRSwwQk8yQlk7SVAxQlosb0JBQW9CO0VzRE50QjtJdERlRSwwQk9RaUI7SVBQakIsb0JBQW9CO0VzRGhCdEI7SUEyQkksYy9Dd0JnQjtJK0N2QmhCLHlCL0M3Q2dCO0krQzhDaEIsb0NBQW9DO0lBQ3BDLG1CQUFtQjtFQTlCdkI7SUFrQ0ksYy9DaUJnQjtFK0NuRHBCO0lBc0NJLG9DQUFvQztFQXRDeEM7SXREOUJBLGNPMENnQjtJK0MrQlosVUFBVTs7QUFJZDtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsYS9DcENjO0UrQ3FDZCxlQUFlO0VBQ2YsVUFBVTs7QUFHWjtFQUNFLG1CakRwSDRDOztBaUR1SDlDO0VBQ0UsYS9DVGtCO0UrQ1VsQixtQkFBbUI7O0FBR3JCO0VBRUUscUIxQ3pIb0M7O0EwQzRIdEM7O0VBRUUsYzFDOUhvQzs7QTBDaUl0Qzs7RXJDbEVJLDRDQUFZO0VxQ3FFZCx5Qi9DeEVZO0UrQ3lFWixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsdUNqRDlJNEM7RWlEZ0o1QywwQkFBNEI7RUFDNUIsZ0IxQzVJb0M7RTBDNklwQyxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFmbEI7OztJQW1CSSxhQUFhO0VBbkJqQjs7SUF1QkksMEIvQ2pHbUI7O0ErQ3FHdkI7O0VBRUUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsYzFDaktvQztFMENrS3BDLHNCakR2SzRDOztBaUQwSzlDOzs7O0VBSUUsd0JBQXdCO0VBQ3hCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsYzFDNUtvQztFMEM2S3BDLGExQzdLb0M7RTBDOEtwQyxVQUFVO0VBQ1YsYS9DOUdjO0UrQytHZCxpRXhDM0wyQztFd0NnTDdDOzs7O0lBY0kseUIvQ25GYTs7QThDME5uQjtFQ2xJSSxVQUFVOztBQUdaOztFbEQ2U0UsbUJDN2U0QztFRDZlNUMsZ0JFN2NhO0VGNmNiLHFCQzdlNEM7RUQ2ZTVDLHNCQXJab0I7RWtEMkdwQixVQUFVOztBQUdaOztFQUVFLGEvQ2xJYzs7QStDcUloQjs7RUFFRSxxQmpEN000QztFaUQ4TTVDLGMvQ3hJYzs7QStDMkloQjs7RUFFRSxnQkFBZ0I7RUFDaEIsYy9DOUljO0UrQytJZCx5Qi9DdEllO0UrQ3VJZixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGdCakR4TjRDO0VpRDBONUMsMEJBQTBCO0VBQUUsY0FBYTtFQVQzQzs7SUFZSSwwQi9DakttQjtFK0NxSnZCOzs7SUFrQkksd0JBQXdCO0lBQ3hCLFNBQVM7SUFBRSx5RUFBd0U7O0FBSXZGOzs7O0VBSUUsWUFBWTtFQUNaLFlBQVk7RUFDWixjMUN6T29DO0UwQ21PdEM7Ozs7SUFTSSxnQkFBZ0I7SUFUcEI7Ozs7TUFZTSw0Qi9DeExpQjtNK0N5TGpCLHlCL0N6TGlCO0UrQzRLdkI7Ozs7SUFrQkksNEIvQ2hMWTtJK0NpTFoseUIvQ2pMWTs7QStDcUxoQjs7RUFFRSxRQUFROztBQUdWOztFQUVFLFNBQVM7O0FBR1g7O0VsRG9PRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFa0RnUHBCLGMvQ3RNYztFK0N1TWQsZ0JBQWdCOztBQUdsQjs7RWxENk5FLG1CQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixxQkM3ZTRDO0VENmU1QyxzQkFqZG9CO0VrRHVQcEIsYzFDOVFvQztFMEMrUXBDLGExQy9Rb0M7RTBDZ1JwQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixjL0NsTmM7RStDbU5kLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osb0R4Q2pTMkM7RXdDc1I3Qzs7SUFjSSxtQi9DekxhO0UrQzJLakI7O0l0RC9NRSwwQk8yQlk7SVAxQlosb0JBQW9CO0lz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OUIsb0JBQW9CO0V1RHREcEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QseUJoRGlEZTtFZ0RoRGYsWUFBWTtFQUNaLGdDaERvQ1k7RWdEbkNaLFdBQVc7RUFDWCxjM0M3Qm9DO0UyQzhCcEMsZUFBZTtFQUNmLGNoRGtDYztFZ0RqQ2QsOEJBQThCO0VBQzlCLGlFekM1QzJDO0VYVzNDOzs7SUFHRSxtQkFBbUI7RW9EZ0J2QjtJdkR5Q0UsMEJPMkJZO0lQMUJaLG9CQUFvQjtFdUQxQ3RCO0lBcUJJLHlCaER3RGE7O0FnRHBEakI7RUFDRSw0QmhEaUJZOztBZ0RkZDtFdkRzQkUsMEJPUWlCO0VQUGpCLG9CQUFvQjtFdUR2QnRCO0lBSUksc0IzQ3BEa0M7RTJDZ0R0QztJQVFJLHFCQUFxQjtJQUNyQixnQjNDekRrQztJMkMwRGxDLGNoRG9CZTs7QWdEaEJuQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsYTNDakVvQztFMkNrRXBDLGFoRFlpQjtFZ0RYakIsMkJBQTJCOztBQUc3QjtFQUNFLHlCaERHZTs7QWdEQWpCO0VBQ0UsOEJBQThCOztBQUdoQztFdENmSSwwQ0FBWTs7QXNDbUJoQjtFQUNFLHlCaERSZTs7QWdEV2pCO0VBQ0UsWUFBWTs7QUFHZDtFQUNFLGFoRDNCWTtFZ0Q0Qlosa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZM0M5Rm9DO0UyQytGcEMsb0JBQW9CO0VBQ3BCLDJEekMzRzJDO0V5QzRHM0MseUJBQXlCOztBQUczQjtFQUVFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osV0FBVztFQUNYLGdCQUFnQjtFQUxsQjtJdkR4Q0UsMEJPMkJZO0lQMUJaLG9CQUFvQjs7QXVEbUR0QjtFbkR3WEUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RW1EMkZwQixjQUFjO0VBQ2QsYzNDbkhvQztFMkNvSHBDLG9CbER6SDRDO0VrRDBINUMsdUJsRDFINEM7RWtEMkg1QyxrQmxEM0g0QztFa0Q0SDVDLHNCM0N2SG9DO0UyQ3dIcEMsbUJB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RUFDbEIsWXBEOUIwQztFb0QrQjFDLFdBQVc7O0FBSWY7RUFNRSxvQnBEekM0Qzs7QXFESTlDO0V2RFBFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFdURJeEIsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixZQUFZO0VBQ1osbUI5Q0xvQztFOENNcEMsbUI5Q05vQztFOENPcEMsbUI5Q1BvQztFOENRcEMsY25Eb0VpQjtFbURuRWpCLGdCckRkNEM7RXFEZTVDLG1CckRmNEM7RUZLNUM7OztJQUdFLG1CQUFtQjtFTXFIbkI7SWlEekhKO01BY0ksbUI5Q2JrQyxJOEN1QnJDO0VqRGlHRztJaUR6SEo7TUFrQkksbUI5Q2pCa0MsSThDdUJyQztFakRpR0c7SWlEekhKO01Bc0JJLG1COUNyQmtDLEk4Q3VCckM7O0FBRUQ7RUFDRSxjbkR1Q2M7RW1EdENkLDBDQUEwQzs7QUFHNUM7RUNuQkEsOEJwRHVFMkI7RW9EdEUzQixtQnBEaUVtQjtFb0QvRG5COztJQUVFLGFwRGtFeUI7O0FtRGhEM0I7RUN2QkEsOEJwRG1FbUI7RW9EbEVuQixtQlhnRDJCO0VXOUMzQjs7SUFFRSxhcEQ4RGlCOztBbURyQ25CO0VDOUJBLDhCcER3RTJCO0VvRHZFM0IsbUJwRGlFbUI7RW9EL0RuQjs7SUFFRSxhcERtRXlCOztBbUR0QzNCO0VDbENBLDhCcERvRW1CO0VvRG5FbkIsbUJYaUI2QjtFV2Y3Qjs7SUFFRSxhcEQrRGlCOztBbUQzQm5CO0VDekNBLDhCcEQwRTJCO0VvRHpFM0IsbUJwRGlFbUI7RW9EL0RuQjs7SUFFRSxhcERxRXlCOztBbUQ3QjNCO0VDN0NBLDhCcERzRW1CO0VvRHJFbkIsbUJYdkI0QjtFV3lCNUI7O0lBRUUsYXBEaUVpQjs7QW1EbEJuQjtFQUNFLGFBQWE7O0FBR2Y7RUN4REEsOEJwRHlFMkI7RW9EeEUzQixtQnBEaUVtQjtFb0QvRG5COztJQUVFLGFwRG9FeUI7O0FtRGIzQjtFQzVEQSw4QnBEcUVtQjtFb0RwRW5CLG1COUM0T0Q7RThDMU9DOztJQUVFLGFwRGdFaUI7O0FtREZuQjtFQUdFLGFWOEt5QjtFVTdLekIsVUFBVTs7QUFHWjtFQUNFLGFBQWE7RUFDYixjckQ1RjRDOztBcUQrRjlDO0VBQ0UsY0FBYztFQUNkLGtCckRqRzRDO0VxRGtHNUMsbUI5QzdGb0M7O0E4Q2dHdEM7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixrQkFBOEI7O0FBR2hDO0V0RGlZRSxtQkM3ZTRDO0VENmU1QyxnQkU3Y2E7RUY2Y2IscUJDN2U0QztFRDZlNUMsc0JBclpvQjtFc0RzQnBCLHFCQUFpQztFQUNqQyxvQjlDMUdvQzs7QThDNkd0QztFdEQyWEUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RXNEd0ZwQixzQkFBc0I7O0FBR3hCO0VBQ0UsZTlDbkhvQztFOENvSHBDLGdCQUE2QjtFQUYvQjtJQVFJLGNuRGpEaUI7RW1EeUNyQjtJQVlJLHlCbkQzQnFCOztBbUQrQnpCO0UxRHZERSw4QkFBOEI7RUFDOUIsb0JBQW9CO0UwRHdEcEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osZUFBZTtFQUNmLFVBQVU7RUFDVixlOUM1SW9DO0U4QzZJcEMsYzlDN0lvQztFOEM4SXBDLGtCOUM5SW9DO0U4QytJcEMsa0I5Qy9Jb0M7RThDZ0pwQyxpSDVDM0oyQztFNEM2STdDO0lBa0JJLFlBQVk7SUFDWixXQUFXO0lBQ1gsYW5EMUVlOztBbUQ4RW5CO0VBR0ksYW5EN0ZVOztBbUQwRmQ7RUFPSSxjbkR6Rlk7RW1Ea0ZoQjtJQVVNLGNWbUdtQjtFVTdHekI7SUFlTSx5QlY0TG1COztBWXRXekI7RXpEUEUsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsd0JBQXdCO0V5REl4QixhQUFhO0VBQ2IsZWhESG9DO0VnRElwQyxZQUFZO0VBQ1osa0J2RFY0QztFdURXNUMsY3JEc0VpQjtFcURyRWpCLGtCdkRaNEM7RXVEYTVDLHFCdkRiNEM7RXVEYzVDLGtCdkRkNEM7RXVEZTVDLDBDQUEwQztFekRWMUM7OztJQUdFLG1CQUFtQjtFeURKdkI7SUFjSSxnQnZEbEIwQztFSTZIMUM7SW1EekhKO01Ba0JJLGVoRGpCa0MsSWdEbUJyQzs7QUFFRDtFQUNFLGNyRDJDYzs7QXFEeENoQjtFRGRBLDhCcER1RTJCO0VvRHRFM0IsbUJwRGlFbUI7RW9EL0RuQjs7SUFFRSxhcERrRXlCOztBcURyRDNCO0VEbEJBLDhCcERtRW1CO0VvRGxFbkIsbUJYZ0QyQjtFVzlDM0I7O0lBRUUsYXBEOERpQjs7QXFEMUNuQjtFRHpCQSw4QnBEd0UyQjtFb0R2RTNCLG1CcERpRW1CO0VvRC9EbkI7O0lBRUUsYXBEbUV5Qjs7QXFEM0MzQjtFRDdCQSw4QnBEb0VtQjtFb0RuRW5CLG1CWGlCNkI7RVdmN0I7O0lBRUUsYXBEK0RpQjs7QXFEaENuQjtFRHBDQSw4QnBEMEUyQjtFb0R6RTNCLG1CcERpRW1CO0VvRC9EbkI7O0lBRUUsYXBEcUV5Qjs7QXFEbEMzQjtFRHhDQSw4QnBEc0VtQjtFb0RyRW5CLG1CWHZCNEI7RVd5QjVCOztJQUVFLGFwRGlFaUI7O0FxRHZCbkI7RUQvQ0EsOEJwRHlFMkI7RW9EeEUzQixtQnBEaUVtQjtFb0QvRG5COztJQUVFLGFwRG9FeUI7O0FxRHRCM0I7RURuREEsOEJwRHFFbUI7RW9EcEVuQixtQjlDNE9EO0U4QzFPQzs7SUFFRSxhcERnRWlCOztBcURYbkI7RUFHRSxhWnVMeUI7RVl0THpCLFVBQVU7O0FBR1o7RUFDRSxjQUFjO0VBQ2Qsa0J2RG5GNEM7RXVEb0Y1QyxnQnZEcEY0Qzs7QXVEdUY5QztFQUNFLGtCdkR4RjRDOztBdUQyRjlDO0U1RFhFLDhCQUE4QjtFQUM5QixvQkFBb0I7RTREWXBCLDZCQUE2QjtFQUM3QixZQUFZO0VBQ1osZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsZWhEN0ZvQztFZ0Q4RnBDLGNoRDlGb0M7RWdEK0ZwQyxtQmhEL0ZvQztFZ0RnR3BDLGtCaERoR29DO0VnRGlHcEMsaURuQ3RFcUI7RW1DMkR2QjtJNUQxQkUsMEJPMkJZO0lQMUJaLG9CQUFvQjtFNER5QnRCO0lBa0JJLFlBQVk7SUFDWixXQUFXO0lBQ1gsYXJEOUJlOztBcURrQ25CO0VBR0UsYXJEakRZOztBcURvRGQ7RXhEb1hFLG1CQzdlNEM7RUQ2ZTVDLGdCRTdjYTtFRjZjYixxQkM3ZTRDO0VENmU1QyxzQkFyWm9CO0V3RG9DcEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixzQkFBc0I7O0FBR3hCO0V4RDRXRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFd0R3R3BCLGNyRG5EaUI7RXFEb0RqQixhQUFhO0VBQ2IscUJ2RHRJNEM7RXVEdUk1QyxzQkFBc0I7O0FBR3hCO0VBRUUsY3JEdEVjOztBcUR5RWhCO0V4RDhWRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1oscUJDN2U0QztFRDZlNUMsc0JBamRvQjtFd0RzSHBCLGNyRGpFaUI7RXFEa0VqQixtQnZEbko0Qzs7QXVEc0o5QztFQUVFLGNyRGxGYzs7QXNEZ09oQjtFekR1TUUsa0JDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLGlCQzdlNEM7RUQ2ZTVDLHNCQXJlb0I7RXlEZ1NwQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGN0RG5PYztFc0QrTmhCO0k3RDlPRSwwQk9vQ1k7RXNEME1kO0lBV0ksbUJ4RGpUMEM7O0F3RHFUOUM7RUFDRSxhdEQzT2M7O0FSakJsQjtFSTdESSxzQkFBc0I7RUFDdEIsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQix3QkFBd0I7RUhzSDFCLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsZUFBZTtFNkQ2TGIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZUFBZTtF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UCxtQk9qRGtCO0lQa0RsQiwrQ0FBK0M7SUFFL0M7TUFWRjtRQVdJLGVBQWUsSUFFbEI7O0E4RHFJRDtFOUR6TUEsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxtQkFBbUI7RUFDbkIsbUJBQW1COztBK0RqSG5CO0UzRCtlRSxrQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osaUJDN2U0QztFRDZlNUMsc0JBcmVvQjtFMkRScEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQjFERjRDO0UwREc1QyxjQUFjO0VBQ2QsZTFESjRDO0UwREs1QyxxQm5EQW9DO0VtRFB0QztJQVVJLGNBQWM7RUFWbEI7SUNQQSx5QnpENEVjO0l5RDNFZCxjekQ4RWdCOztBd0R0RGhCO0VDekJBLHlCaEIyRTJCO0VnQjFFM0IsY2hCK0UyQjs7QWVuRDNCO0VDN0JBLHlCaEJzRCtCO0VnQnJEL0IsY2hCMEQrQjs7QWUxQi9CO0VDakNBLHlCaEJpRThCO0VnQmhFOUIsY2hCcUU4Qjs7QWVqQzlCO0VDckNBLHlCaEJJNEI7RWdCSDVCLGNoQlE0Qjs7QWVnQzVCO0VDekNBLHlCaEJ3QjRCO0VnQnZCNUIsY2hCNEI0Qjs7QWVnQjVCO0VDN0NBLHlCaEJxRjRCO0VnQnBGNUIsY2hCeUY0Qjs7QWV6QzVCO0VDakRBLHlCaEI0QzZCO0VnQjNDN0IsY2hCZ0Q2Qjs7QWVJN0I7RUNyREEseUJoQmtDNEI7RWdCakM1QixjaEJ5QzZCOztBZWU3QjtFQ3pEQSx5QmhCY2lDO0VnQmJqQyxjaEJxQmtDOztBZXVDbEM7RUM3REEseUJoQitGaUM7RWdCOUZqQyxjaEJzR2tDOztBZXRDbEM7RUNqRUEseUJoQmlDNEI7RWdCaEM1QixjaEJrQzRCO0VlOEI1QjtJQUlJLG1CQUFtQjs7QUFLdkI7RUMxRUEseUJ6RHNFdUI7RXlEckV2QixjekR5Rm1CO0V3RGRqQixlQUFlO0VBQ2Ysc0JuRC9Eb0M7O0FtRGtFdEM7RUFDRSxheERTaUI7RXdEUmpCLG9CbkRwRW9DO0VtRHFFcEMsZ0JuRHJFb0M7RW1Ec0VwQyxhbkR0RW9DO0VtRHVFcEMsY25EdkVvQzs7QW1EMEV0QztFQUNFLGtCQUFrQjtFQUNsQix5QnhEZ0JzQjs7QXdEYnhCOztFQUVFLGFBQWE7O0FBR2Y7RUFDRSx5QnhEVGlCO0V3RFVqQixrQkFBa0I7O0FBN0ZwQjtFL0RnSkEsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixtQk9qQ29CO0V3RGpCbEIsYW5ENUZvQztFbUQ2RnBDLGdCQUFnQjtFL0RtRGxCO0lBR0UsWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlO0VBR2pCO0lBQ0UsV0FBVztJQUNYLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsbUJPakRrQjtJUGtEbEIsK0NBQStDO0lBRS9DO01BVkY7UUFXSSxlQUFlLElBRWxCOztBaUV2S0Q7RUFDRSxhQUFhOztBQUdmO0U5RFZFLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQzBleEIsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RTZEbEJwQixXQUFXO0VBQ1gseUIxRHNEWTtFMERyRFosYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsNkIxRG9EWTtFMERuRFosZXJEWG9DO0VUQXBDOzs7SUFHRSxtQkFBbUI7O0E4RFd2QjtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsNkJBQTZCOztBQUcvQjs7RUFFRSxZQUFZOztBbEV5QmhCO0VLeWJJLG1CQzdlNEM7RUQ2ZTVDLGdCRTljWTtFRjhjWixxQkM3ZTRDO0VENmU1QyxzQkFqZG9CO0U2RElwQixXQUFXO0VBQ1gsZUFBZTtFQUNmLFlBQVk7RUFDWix3QjlDVG1CO0U4Q1VuQixzQkFBc0I7RXhEeUZwQjtJVnpFTjtNa0VkTSxzQjVEdEMwQztNNER1QzFDLGVBQWUsSUFFbEI7O0FBRUQ7RUFDRSxtQjFEeURlOztBMER0RGpCO0VBQ0UsU0FBUztFQUNULFlBQVk7RXhENEVWO0l3RDlFSjtNQUlJLFc1RG5EMEMsSTREcUQ3Qzs7QUFFRDtFQUdFLHFDMURTWTs7QTBETmQ7RUFHRSw4QjFER1k7O0EwREFkOztFQUVFLGFBQWE7RUFDYixZQUFZO0VBQ1osbUJBQW1COztBQUdyQjs7RUFFRSxZQUFZOztBQUdkO0VBQ0UscUJyRDNFb0M7O0FxRDhFdEM7RUFDRSxrQkFBa0I7RUFDbEIsb0JyRGhGb0M7O0FId0hsQztFd0RyQ0o7SUFFSSxlNUQxRjBDLEk0RDRGN0M7O0FBRUQ7RUFDRSxhQUFhO0V4RDhCWDtJd0QvQko7TUFJSSxxQkFBcUIsSUFFeEI7O0FBRUQ7RUFDRSxpQjVEdkc0QztFNER3RzVDLGMxRGpDYzs7QVJoQmxCO0VJMURJLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLHdCQUF3QjtFOEQwR3hCLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLFlBQVk7RUFDWixTQUFTO0VBQ1Qsa0JyRDdHb0M7RXFEOEdwQyw4QjFEaERZO0UwRGlEWixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixhMURsRFk7RTBEbURaLHlEbkQ5SDJDO0VtRCtIM0Msa0VuRC9IMkM7RVhXM0M7OztJQUdFLG1CQUFtQjs7QThEb0h2QjtFakUzREUsMEJPMkJZO0VQMUJaLG9CQUFvQjs7QWlFOER0QjtFQUNFLG1CMUQ1QmU7O0EwRCtCakI7RUFDRSxhMUR0QmtCO0UwRHVCbEIsbUJBQW1COztBQUdyQjs7RUFFRSxtQkFBbUI7RUFDbkIsYTFEN0JrQjtFMEQ4QmxCLG1CMUQ1RVk7O0EwRCtFZDtFQUNFLGVyRDVJb0M7RXFENklwQyxtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLG1CQUFtQjs7QUFHckI7RUFDRSxjckRuSm9DO0VxRG9KcEMsOEIxRHRGWTtFMER1RlosK0IxRHZGWTtFMER3RlosU0FBUzs7QUFHWDtFQUNFLGVBQWU7RUFDZixlNURoSzRDO0U0RGlLNUMsaUI1RGpLNEM7O0E0RG9LOUM7RUFDRSxjNURySzRDO0U0RHNLNUMsZTVEdEs0Qzs7QTREMEs5QztFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7O0FDOUtsQjtFL0RERSxzQkFBc0I7RUFDdEIsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQix3QkFBd0I7RStERnhCLGdCQUFnQjtFQUNoQixXQUFXO0UvREdYOzs7SUFHRSxtQkFBbUI7O0ErREh2QjtFQUNFLHFEcERaMkM7RW9EYTNDLDZCM0Q0RFk7RTJEM0RaLGlCQUFpQjtFQUhuQjtJQU1JLGdDM0R3RFU7O0EyRHBEZDtFL0RsQkUsc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsd0JBQXdCO0VIc0gxQixxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGVBQWU7RUFHYixXQUFXO0VrRWhIWCxjM0RxRGM7RTJEcERkLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsMkJyRG1Ia0M7RXFEbEhsQyxlQUFlO0VBQ2Ysa0JBQW1CO0VBQ25CLDJCckQyR2tDO0VxRDFHbEMsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxTQUFTO0VBQ1Qsa0V6Q0txQjtFdEIzQnJCOzs7SUFHRSxtQkFBbUI7RUg0SHZCO0lBQ0UsU0FBUztFa0V0SFg7SUFnQkksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsT0FBTztJQUNQLFdBQVc7SUFDWCx3QkFBd0I7RUFyQjVCO0lBeUJJLHlCM0Q2RGE7RTJEdEZqQjtJQTZCSSxhQUFhO0VBN0JqQjtJbEV1REUseUJPc0JZO0lQckJaLHNCQUFzQjs7QWtFbkJ4QjtFbEU0QkUsOEJBQThCO0VBQzlCLG9CQUFvQjtFa0V6QnBCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCckRpRjhDO0VxRGhGOUMsYTNEU1k7RTJEUFosd0JBQXdCO0VBQ3hCLHFEcERyRTJDOztBb0R3RTdDO0U5RDJhRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osb0JDN2U0QztFRDZlNUMsc0JBdmNvQjtFOEQrQnBCLGtCN0RyRTRDO0U2RHNFNUMsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixVQUFVOztBQUdaO0VBRUUsdUd6QzdDcUI7RXlDK0NyQixrQjdEL0U0QztFNkRpRjVDLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLFVBQVU7RXpEbUVSO0l5RDVFSjtNQVlJLG1CN0R2RjBDLEk2RDZGN0M7RUFsQkQ7STlEa2FFLG1CQzdlNEM7SUQ2ZTVDLGdCRTljWTtJRjhjWixvQkM3ZTRDO0lENmU1QyxzQkF2Y29COztBOER5RHRCO0VBQ0UsaUJBQWlCO0VBRG5CO0lBSUksc0I3RG5HMEM7STZEb0cxQyxtQi9DbEQ4QjtJK0NtRDlCLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtJQUVWLDJKekN6RW1CO0V5QytEdkI7SUFnQkk7SUFDQSx5QkFBeUI7SUFDekIsYTNENUNVOztBMkRpRGQ7O0VBRUUsZUFBZTs7QUFHakI7RUFDRSxvQkFBb0I7RUFDcEIsYTNEeERZO0UyRHlEWixlQUFlO0VBSGpCO0lBUUksWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlOztBQUluQjtFQUdFLFlBQVk7RUFDWixhQUFhO0VBQ2IsZUFBZTs7QUFHakI7RUFDRSxnQkFBZ0I7O0FDcEpsQjtFaEVERSxzQkFBc0I7RUFDdEIsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQix3QkFBd0I7RWdFSHhCLGFBQWE7RUFDYixnQkFBZ0I7RWhFSWhCOzs7SUFHRSxtQkFBbUI7O0FnRUp2QjtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixjdkRKb0M7RXVES3BDLGlCQUFpQjtFQU5uQjtJQVNJLGNBQWM7O0FBSWxCO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxXQUFXO0VBQ1gsY3ZEaEJvQztFdURpQnBDLDZCdERtUGdEOztBc0RoUGxEO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXOUQ1QjRDO0U4RDZCNUMsWTlEN0I0QztFOEQ4QjVDLGtCQUFrQjtFQUNsQixzQkFBbUM7RUFDbkMsYTVENEJxQjs7QTREekJ2QjtFL0QwY0UsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLHFCQzdlNEM7RUQ2ZTVDLHNCQWpkb0I7RStEU3BCLGlCQUFpQjtFQUNqQixrQnZEakNvQztFdURrQ3BDLG9CQUFpQztFQUNqQyxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2Qix5R3JEakQyQztFcUR5QzdDO0lBWUksV0FBVztJQUNYLGNBQWM7O0FBSWxCO0VBQ0UsYzVEd0JjO0U0RHZCZCxlQUFlO0VBQ2YsNkI1RHNCYzs7QTREbkJoQjtFQUNFLGFBQWE7RUFDYixjNURpQmM7RTREaEJkLGlDNURnQmM7O0E0RGJoQjtFQUNFLGM1RExxQjtFNERNckIsaUM1RE5xQjs7QTREVXZCOztFQUVFLG1CQUFtQjs7QUFHckI7RUFDRSxtQnZEdkVvQzs7QXVEMEV0QztFQUNFLFVBQVU7RUFDVixTQUFTO0VBQ1QsbUJBQW1COztBQUlyQjtFL0R1WkUsbUJDN2U0QztFRDZlNUMsZ0JFOWNZO0VGOGNaLG9CQzdlNEM7RUQ2ZTVDLHNCQXZjb0I7RStEa0RwQixpQnZEbkZvQztFdURvRnBDLFd2RHBGb0M7RXVEcUZwQyxrQjlEMUY0QztFOEQyRjVDLG9CdkR0Rm9DO0V1RHVGcEMsa0J2RHZGb0M7RXVEd0ZwQyxvQjlEN0Y0QztFOEQ4RjVDLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsYzVEZmlCOztBNERtQm5CO0UvRHlZRSxtQkM3ZTRDO0VENmU1QyxnQkU5Y1k7RUY4Y1osb0JDN2U0QztFRDZlNUMsc0JBdmNvQjtFK0RnRXBCLFd2RGpHb0M7RXVEa0dwQyxZQUFZO0VBQ1osYzVEdkJpQjs7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dEVmO1FBa0ZJLFlBQVk7UUFDWixxQkFBcUI7UUFDckIsb0JBQW9CO01BcEZ4QjtRQXVGSSwwQnpIWFc7UXlIWVgsb0J6SHNCdUI7SXlIOUczQjs7TUE2RkcsY3pIakJZO015SGtCWixpQkFBaUI7SUE5RnBCO01BaUdHLGFBQWE7TUFFYixzQkFBc0I7TXpIakZ4QjtReUhsQkQ7VUFxR0ksMkRBQTJEO1VBQzNELGNBQWMsSUFTZjtNQS9HSDtRQXlHSSxjQUFjO1FBQ2QsbUJBQW1CO1FBMUd2QjtVQTRHSyxjekgvQlU7O0EwSDFFZjtFQUVFLG1CQUFtQjs7QUFGckI7RUFNRyxvQ0FBb0M7O0FBTnZDO0VBU0csa0JBQWtCOztBdEhKckI7RUFDQyxvQkFBb0IiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkaDEtZm9udC1zaXplOiA0LjMycmVtOyAvLyAxMDhweFxuJGgyLWZvbnQtc2l6ZTogMy42cmVtOyAvLyA5MHB4XG4kaDMtZm9udC1zaXplOiAycmVtOyAvLyA1MHB4XG4kaDQtZm9udC1zaXplOiAxLjMycmVtOyAvLyAzM3B4XG4kaDUtZm9udC1zaXplOiAxcmVtOyAvLyAyNXB4XG4kaDYtZm9udC1zaXplOiAwLjlyZW07IC8vIDIwcHhcblxuJGhlYWRpbmdzOiBcImgxXCIgNC4zMnJlbSAxLjkycmVtIDIuMDRyZW0gMS4yLCBcImgyXCIgMy42cmVtIDEuOTJyZW0gMi4zMnJlbSAxLjIsXG5cdFwiaDNcIiAycmVtIDEuNHJlbSAxLjMycmVtIDEuMiwgXCJoNFwiIDEuMzJyZW0gMC45NnJlbSAxLjMycmVtIDEuMixcblx0XCJoNVwiIDFyZW0gMC42NHJlbSAwLjkycmVtIDEuMywgXCJoNlwiIDAuOXJlbSAwLjhyZW0gMC43cmVtIDEuNTtcblxuQGVhY2ggJGhlYWRpbmcsICRkZXNrdG9wLXNpemUsICR0YWJsZXQtc2l6ZSwgJG1vYmlsZS1zaXplLFxuXHQkbGluZS1oZWlnaHQgaW4gJGhlYWRpbmdzXG57XG5cdCN7JGhlYWRpbmd9LFxuXHQuI3skaGVhZGluZ30ge1xuXHRcdGZvbnQtc2l6ZTogJG1vYmlsZS1zaXplOyAvLyBtb2JpbGUgZm9udCBzaXplXG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcblx0XHRmb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQ7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0Zm9udC1zaXplOiAkdGFibGV0LXNpemU7IC8vIHRhYmxldCBmb250IHNpemVcblx0XHR9XG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRmb250LXNpemU6ICRkZXNrdG9wLXNpemU7IC8vIGRlc2t0b3AgZm9udCBzaXplXG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXN0eWxlKCkge1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdGxldHRlci1zcGFjaW5nOiAwLjE1NWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogJGJvbGQ7XG59XG5cbmh0bWwsXG4ucCB7XG5cdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdGZvbnQtd2VpZ2h0OiAkYmFzZS1mb250LXdlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBkZXNrdG9wIGxpbmUgaGVpZ2h0XG5cdGZvbnQtc2l6ZTogJG1vYmlsZS1mb250LXNpemU7IC8vIG1vYmlsZSBmb250IHNpemVcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0Zm9udC1zaXplOiAkdGFibGV0LWZvbnQtc2l6ZTsgLy8gdGFibGV0IGZvbnQgc2l6ZVxuXHR9XG5cdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdGZvbnQtc2l6ZTogJGRlc2t0b3AtZm9udC1zaXplOyAvLyBkZXNrdG9wIGZvbnQgc2l6ZVxuXHR9XG5cdEBpbmNsdWRlIGRlc2t0b3AtdXAge1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplOyAvLyBiYXNlIG9yIGxhcmdlIGZvbnQgc2l6ZVxuXHR9XG59XG5cbnAge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRhIHtcblx0XHRjb2xvcjogJHJlZDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuXG5hIHtcblx0Y29sb3I6ICRhY3Rpb24tY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbi1za2lwOiBhdXRvO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdG91dGxpbmUtb2Zmc2V0OiAkZm9jdXMtb3V0bGluZS1vZmZzZXQ7XG5cdG91dGxpbmU6ICRmb2N1cy1vdXRsaW5lLXdpZHRoIHNvbGlkIHJnYmEoMCwwLDAsMCk7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRidG4tdGV4dC1jb2xvci1ob3Zlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0Ji5pdGVtIHtcblx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogJGZvY3VzLW91dGxpbmU7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxufVxuXG5ociB7XG5cdGJvcmRlci1ib3R0b206ICRiYXNlLWJvcmRlcjtcblx0Ym9yZGVyLWxlZnQ6IDA7XG5cdGJvcmRlci1yaWdodDogMDtcblx0Ym9yZGVyLXRvcDogMDtcblx0bWFyZ2luOiAkYmFzZS1zcGFjaW5nIDA7XG59XG5cbmJsb2NrcXVvdGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHQmID4gKiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDI7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogY2FsYygxMDAlICsgMnJlbSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMTBweDtcblx0XHRsZWZ0OiAtMXJlbTtcblx0XHRyaWdodDogLTFyZW07XG5cdFx0Ym90dG9tOiAtMTBweDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG5cdH1cbn1cblxuLmJsb2NrLmJhc2ljLWNvbnRlbnQuc3R5bGUtMiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC5jb2w6b25seS1jaGlsZCB7XG5cdFx0YmxvY2txdW90ZTphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDIwJSArIDIuNHJlbSk7XG5cdFx0XHRcdGxlZnQ6IGNhbGMoLTEwJSAtIDEuMnJlbSk7XG5cdFx0XHRcdHJpZ2h0OiBjYWxjKC0xMCUgLSAxLjJyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBUaGlzIGhhcHBlbnMgaW4gSGVybyBTdHlsZSA1ICYgdGhlIEV4aGliaXRcbi8vIFdpbGwgYmUgYnVpbHQgb3V0IHRvIGhhcHBlbiBvbiBhbGwgaW50ZXJpb3IgcGFnZSB0aXRsZXNcbkBtaXhpbiB1bmRlcmxpbmUoKSB7XG5cdHRleHQtc2hhZG93OiAwLjAzZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdC0wLjAzZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwIDAuMDNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdDAgLTAuMDNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjA2ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdC0wLjA2ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjA5ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdC0wLjA5ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjEyZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdC0wLjEyZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjE1ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdC0wLjE1ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR5ZWxsb3cgNTAlLCAkdHJhbnNwYXJlbnQgNTAlKTtcblx0YmFja2dyb3VuZC1zaXplOiAyMDAlIDEwcHg7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xuXHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IC8vIEJlZm9yZSBhbmltYXRpb25cblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTsgLy8gQW5pbWF0aW9uIHBvc2l0aW9uXG5cdC5yZWFkeSAmIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwbXMgZWFzZS1pbi1vdXQgMG1zO1xuXHR9XG5cdC5hbmltYXRlICYge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiA4MDBtcyBlYXNlLWluLW91dCA0MDBtcztcblx0fVxufVxuLy8gVGl0bGVzXG4udGl0bGUge1xuXHQvLyBOZXcgbGluZXMgaW4gYSB0aXRsZSBncm91cFxuXHQubGluZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0Ly8gVGV4dCBjb2xvcnMgZm9yIGxpbmVzXG5cdC53aGl0ZSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXHQueWVsbG93IHtcblx0XHRjb2xvcjogJHllbGxvdztcblx0fVxuXHQudW5kZXJsaW5lIHtcblx0XHRAaW5jbHVkZSB1bmRlcmxpbmUoKTtcblx0fVxufVxuXG4uY29tcG9uZW50LnBhZ2UtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHQud3JhcHBlciB7XG5cdFx0Ly8gQ2lyY2xlIGJhY2sgdG8gYWRkIG1vYmlsZVxuXHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHQudGl0bGUge1xuXHRcdC8vIEBpbmNsdWRlIHVuZGVybGluZSgpO1xuXHRcdGZvbnQtc2l6ZTogMi42cmVtOyAvLyA2NXB4XG5cdFx0dGV4dC1zaGFkb3c6IDAuMDNlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG5cdFx0XHQtMC4wM2VtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMCAwLjAzZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdDAgLTAuMDNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjA2ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0LTAuMDZlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIDAuMDllbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG5cdFx0XHQtMC4wOWVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMC4xMmVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdC0wLjEyZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAwLjE1ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0LTAuMTVlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkeWVsbG93IDUwJSwgJHRyYW5zcGFyZW50IDUwJSk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAyMDAlIDEwcHg7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLWJvdHRvbTogM3B4O1xuXHRcdC8vIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTsgLy8gQmVmb3JlIGFuaW1hdGlvblxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7IC8vIEFuaW1hdGlvbiBwb3NpdGlvblxuXHR9XG5cdCYucmVhZHkgLnRpdGxlIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwbXMgZWFzZS1pbi1vdXQgMG1zO1xuXHR9XG5cdCYuYW5pbWF0ZSAudGl0bGUge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiA4MDBtcyBlYXNlLWluLW91dCA0MDBtcztcblx0fVxufVxuIiwiLy8gQnJlYWtwb2ludHNcblxuQG1peGluIHRpbnktcGhvbmVzIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBtb2JpbGUtb25seSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbkBtaXhpbiBkZXNrdG9wLXVwIHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gYmlnLWRlc2t0b3AtdXAge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRANDAwOzUwMDs3MDAmZGlzcGxheT1zd2FwXCIpO1xuXG4vLyBQYXRoc1xuJGltZy1wYXRoOiBcIi4uLy4uL3N0YXRpYy9cIjtcblxuLy8gVHlwb2dyYXBoeVxuJHNhbnMtc2VyaWY6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcblxuJGJhc2UtZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG5cbi8vIEZvbnQgU2l6ZVxuJGJhc2UtZm9udC1zaXplOiAyNXB4O1xuJGRlc2t0b3AtZm9udC1zaXplOiAyMnB4O1xuJHRhYmxldC1mb250LXNpemU6IDIwcHg7XG4kbW9iaWxlLWZvbnQtc2l6ZTogMThweDtcblxuLy8gTGluZSBIZWlnaHRcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjc0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gRm9udCBXZWlnaHRcbiRiYXNlLWZvbnQtd2VpZ2h0OiA0MDA7XG4kaGVhZGluZy1mb250LXdlaWdodDogNzAwO1xuJGJvbGQ6IGJvbGQ7XG5cbi8vIE90aGVyIFNpemVzXG4kc2l0ZS13aWR0aDogMTgwMHB4O1xuJHBlcmNlbnRhZ2U6IDg1JTtcbiRib3R0b20tbWFyZ2luOiAxMDBweDtcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDBweDtcbiRiYXNlLXNwYWNpbmc6IDEuNWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuJGJhc2Utei1pbmRleDogMDtcblxuLy8gQ29sb3JzXG4kcGluazogI2Q2MzE1YjtcbiRyZWQ6ICNEODAwMDA7XG4kdGVhbDogIzZlY2ZiOTtcbiR5ZWxsb3c6ICNmNGMyNTQ7XG4kZGFyay1ncmF5OiAjMzMzO1xuJG1lZGl1bS1ncmF5OiAjOTk5O1xuJGxpZ2h0LWdyYXk6ICNkZGQ7XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kdHJhbnNwYXJlbnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cbiRwcmltYXJ5OiAkYmxhY2s7XG4kc2Vjb25kYXJ5OiAkeWVsbG93O1xuJGxpbmtzOiAkcHJpbWFyeTtcbiRob3ZlcjogJHNlY29uZGFyeTtcblxuLy8gRm9udCBDb2xvcnNcbiRiYXNlLWZvbnQtY29sb3I6ICMwMDA7XG4kYWN0aW9uLWNvbG9yOiAkcHJpbWFyeTtcbiRlcnJvci1jb2xvcjogJHJlZDtcblxuJGJhc2UtZm9udC1jb2xvcjogJGJsYWNrO1xuJGNvbG9yLXNlbGVjdGlvbjogJGxpZ2h0LWdyYXk7XG5cbi8vIEJ1dHRvbnNcbiRidG4tYmctY29sb3I6ICR0cmFuc3BhcmVudDtcbiRidG4tdGV4dC1jb2xvcjogJGJsYWNrO1xuJGJ0bi10ZXh0LWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4kYnRuLWJvcmRlci1yYWRpdXM6IDA7XG5cbi8vIEJvcmRlclxuJGJhc2UtYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4kYmFzZS1ib3JkZXI6IDNweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4kdmlld3BvcnQtYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4vLyBGb2N1c1xuJGZvY3VzLW91dGxpbmUtY29sb3I6ICRibGFjaztcbiRmb2N1cy1vdXRsaW5lLXdpZHRoOiAzcHg7XG4kZm9jdXMtb3V0bGluZTogJGZvY3VzLW91dGxpbmUtd2lkdGggc29saWQgJGZvY3VzLW91dGxpbmUtY29sb3I7XG4kZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDEwcHg7XG5cbi8vIFRyYW5zaXRpb25zXG4kYmFzZS1kdXJhdGlvbjogMzAwbXM7XG4kYmFzZS10aW1pbmc6IGVhc2UtaW4tb3V0O1xuIiwiLy8gVGhlIGJ1dHRuIGhhcyBiZWVuIHVwZGF0ZWQgdG8gQ2FyYm9uIERlc2lnbidzIGJ1dHRvbi5cbi8vIFRoZSBwcmUtQ2FyYm9uIHN0eWxlcyBuZWVkIHRvIHN0YXkuXG5cbi8vIEdsb2JhbCBCdXR0b24gU3R5bGVzXG5idXR0b24sIFxuYSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ji5sZy1pY29uOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZS13aWR0aCBzb2xpZCAkd2hpdGUgIWltcG9ydGFudDtcblx0fVxufVxuXG4jeyRhbGwtYnV0dG9uc30ge1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZTtcblx0XHRvdXRsaW5lLW9mZnNldDogJGZvY3VzLW91dGxpbmUtb2Zmc2V0O1xuXHR9XG59XG5cbkBtaXhpbiBidG4tYmFzZSgpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDNweCA0NnB4IDNweCAwO1xuXG5cdGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAkbW9iaWxlLWZvbnQtc2l6ZTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdGNvbG9yOiAkYnRuLXRleHQtY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidG4tYmctY29sb3I7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuXG5cdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoICsgXCJhcnJvdy1yaWdodC5zdmdcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMjhweCAxNXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMHB4KSA1MCU7XG5cblx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRmb250LXNpemU6ICR0YWJsZXQtZm9udC1zaXplOyAvLyB0YWJsZXQgZm9udCBzaXplXG5cdH1cblx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0Zm9udC1zaXplOiAkZGVza3RvcC1mb250LXNpemU7IC8vIGRlc2t0b3AgZm9udCBzaXplXG5cdH1cblx0QGluY2x1ZGUgZGVza3RvcC11cCB7XG5cdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IC8vIGJhc2Ugb3IgbGFyZ2UgZm9udCBzaXplXG5cdH1cblxuXHQmLnByZXYge1xuXHRcdHBhZGRpbmc6IDNweCAwIDNweCA0NnB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1nLXBhdGggKyBcImFycm93LWxlZnQuc3ZnXCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDEwcHggNTAlO1xuXHR9XG5cdCYucHJldixcblx0Ji5uZXh0IHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblx0Jjpob3ZlciB7XG5cdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJGJ0bi10ZXh0LWNvbG9yO1xuXHRcdGNvbG9yOiAkYnRuLXRleHQtY29sb3ItaG92ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1nLXBhdGggKyBcImFycm93LXJpZ2h0LXdoaXRlLnN2Z1wiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcblxuXHRcdCYucHJldjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoICsgXCJhcnJvdy1sZWZ0LXdoaXRlLnN2Z1wiKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1x0XG5cdFx0fVxuXG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogJGZvY3VzLW91dGxpbmU7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDNweDtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXHQmLmxnLXByZXY6Zm9jdXMsIFxuXHQmLmxnLW5leHQ6Zm9jdXMge1xuXHRcdG91dGxpbmU6ICRmb2N1cy1vdXRsaW5lLXdpZHRoIHNvbGlkICR3aGl0ZTtcblx0fVxufVxuXG4vLyBUaGVtZSBCdXR0b25zXG4uYmxvY2sge1xuXHQvLyBDYXJib24gYnV0dG9uIGNsYXNzXG5cdC5ieC0tYnRuIHtcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHR9XG5cdC5idXR0b25zIC5idG4ge1xuXHRcdEBpbmNsdWRlIGJ0bi1iYXNlKCk7XG5cdH1cblx0LmJ1dHRvbnMge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXRvcDogMXJlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHRtYXJnaW4tbGVmdDogLTFyZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMXJlbTtcblx0XHQuYnRuIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdFx0XG5cdFx0fVxuXHR9XG5cdHAgKyAuYnV0dG9ucyB7XG5cdFx0cGFkZGluZy10b3A6IDA7IC8vIFRvcCBwYWRkaW5nIGZvciBidXR0b25zIHVuZGVyIHBhcmFncmFwaHNcblx0fVxufVxuXG4vLyBza2lwIG5hdiBidXR0b25zIHRocm91Z2ggdGhlIHNpdGVcbi5za2lwLW5hdiB7XG5cdEBpbmNsdWRlIHNraXAtbmF2KCk7XG59IiwiQGltcG9ydCBcInBvc2l0aW9uaW5nXCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuXG5AbWl4aW4gbGlnaHRib3goKSB7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1nLXBhdGggKyBcInNlYXJjaC5zdmdcIik7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHdpZHRoOiAycmVtO1xuXHRcdGhlaWdodDogMnJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTtcblx0fVxufVxuXG5AbWl4aW4gaW1hZ2VfY292ZXIoKSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGltZyB7XG5cdFx0Ly8gaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cblx0XHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRcdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHdpZHRoOiAxcHg7XG5cdH1cbn1cblxuQG1peGluIGNsZWFyTGlzdCgpIHtcblx0dWwsXG5cdG9sIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGk6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBjbGVhckJ0bigpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiBhdXRvO1xuXHR3aWR0aDogYXV0bztcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuXHRiYWNrZ3JvdW5kOiAkdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lO1xuXHR9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG5cdC8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYXNwZWN0LXJhdGlvLWJveGVzL1xuXHQvLyBjYWxjKDU5MS40NCAvIDExMjcuMzQgKiAxMDAlKTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLXRvcDogJGhlaWdodCAvICR3aWR0aCAqIDEwMCU7XG59XG4vLyBAbWl4aW4gYXNwZWN0UmF0aW8oJHNpemUpIHtcbi8vIFx0d2lkdGg6IDEwMCU7XG4vLyBcdGhlaWdodDogMDtcbi8vIFx0cGFkZGluZy1ib3R0b206ICRzaXplO1xuLy8gfVxuXG4vLyBNaXhpbnMgcmVxdWlyZWQgZm9yIEJpdHRlcnNcbkBtaXhpbiBjbGVhcmZpeCB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cbi8vIFZhcnMgcmVxdWlyZWQgZm9yIEJpdHRlcnNcbiRhbGwtYnV0dG9uczogXCJidXR0b24sIFt0eXBlPSdidXR0b24nXSwgW3R5cGU9J3Jlc2V0J10sIFt0eXBlPSdzdWJtaXQnXVwiO1xuJGFsbC1idXR0b25zLWFjdGl2ZTogXCJidXR0b246YWN0aXZlLCBbdHlwZT0nYnV0dG9uJ106YWN0aXZlLCBbdHlwZT0ncmVzZXQnXTphY3RpdmUsIFt0eXBlPSdzdWJtaXQnXTphY3RpdmVcIjtcbiRhbGwtYnV0dG9ucy1mb2N1czogXCJidXR0b246Zm9jdXMsIFt0eXBlPSdidXR0b24nXTpmb2N1cywgW3R5cGU9J3Jlc2V0J106Zm9jdXMsIFt0eXBlPSdzdWJtaXQnXTpmb2N1c1wiO1xuJGFsbC1idXR0b25zLWhvdmVyOiBcImJ1dHRvbjpob3ZlciwgW3R5cGU9J2J1dHRvbiddOmhvdmVyLCBbdHlwZT0ncmVzZXQnXTpob3ZlciwgW3R5cGU9J3N1Ym1pdCddOmhvdmVyXCI7XG4kYWxsLXRleHQtaW5wdXRzOiBcIlt0eXBlPSdjb2xvciddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0ZXh0J10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J3dlZWsnXSwgaW5wdXQ6bm90KFt0eXBlXSksIHRleHRhcmVhXCI7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogXCJbdHlwZT0nY29sb3InXTphY3RpdmUsIFt0eXBlPSdkYXRlJ106YWN0aXZlLCBbdHlwZT0nZGF0ZXRpbWUnXTphY3RpdmUsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmFjdGl2ZSwgW3R5cGU9J2VtYWlsJ106YWN0aXZlLCBbdHlwZT0nbW9udGgnXTphY3RpdmUsIFt0eXBlPSdudW1iZXInXTphY3RpdmUsIFt0eXBlPSdwYXNzd29yZCddOmFjdGl2ZSwgW3R5cGU9J3NlYXJjaCddOmFjdGl2ZSwgW3R5cGU9J3RlbCddOmFjdGl2ZSwgW3R5cGU9J3RleHQnXTphY3RpdmUsIFt0eXBlPSd0aW1lJ106YWN0aXZlLCBbdHlwZT0ndXJsJ106YWN0aXZlLCBbdHlwZT0nd2VlayddOmFjdGl2ZSwgaW5wdXQ6bm90KFt0eXBlXSk6YWN0aXZlLCB0ZXh0YXJlYTphY3RpdmVcIjtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IFwiW3R5cGU9J2NvbG9yJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cywgdGV4dGFyZWE6Zm9jdXNcIjtcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6IFwiW3R5cGU9J2NvbG9yJ106aG92ZXIsIFt0eXBlPSdkYXRlJ106aG92ZXIsIFt0eXBlPSdkYXRldGltZSddOmhvdmVyLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpob3ZlciwgW3R5cGU9J2VtYWlsJ106aG92ZXIsIFt0eXBlPSdtb250aCddOmhvdmVyLCBbdHlwZT0nbnVtYmVyJ106aG92ZXIsIFt0eXBlPSdwYXNzd29yZCddOmhvdmVyLCBbdHlwZT0nc2VhcmNoJ106aG92ZXIsIFt0eXBlPSd0ZWwnXTpob3ZlciwgW3R5cGU9J3RleHQnXTpob3ZlciwgW3R5cGU9J3RpbWUnXTpob3ZlciwgW3R5cGU9J3VybCddOmhvdmVyLCBbdHlwZT0nd2VlayddOmhvdmVyLCBpbnB1dDpub3QoW3R5cGVdKTpob3ZlciwgdGV4dGFyZWE6aG92ZXJcIjtcbiRhbGwtdGV4dC1pbnB1dHMtaW52YWxpZDogXCJbdHlwZT0nY29sb3InXTppbnZhbGlkLCBbdHlwZT0nZGF0ZSddOmludmFsaWQsIFt0eXBlPSdkYXRldGltZSddOmludmFsaWQsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmludmFsaWQsIFt0eXBlPSdlbWFpbCddOmludmFsaWQsIFt0eXBlPSdtb250aCddOmludmFsaWQsIFt0eXBlPSdudW1iZXInXTppbnZhbGlkLCBbdHlwZT0ncGFzc3dvcmQnXTppbnZhbGlkLCBbdHlwZT0nc2VhcmNoJ106aW52YWxpZCwgW3R5cGU9J3RlbCddOmludmFsaWQsIFt0eXBlPSd0ZXh0J106aW52YWxpZCwgW3R5cGU9J3RpbWUnXTppbnZhbGlkLCBbdHlwZT0ndXJsJ106aW52YWxpZCwgW3R5cGU9J3dlZWsnXTppbnZhbGlkLCBpbnB1dDpub3QoW3R5cGVdKTppbnZhbGlkLCB0ZXh0YXJlYTppbnZhbGlkXCI7XG5cbi8vIFRyaWFuZ2xlIGhlbHBlciBtaXhpblxuLy8gUmVmOiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvY3NzLXRyaWFuZ2xlLW1peGluL1xuLy8gQHBhcmFtIHtEaXJlY3Rpb259ICRkaXJlY3Rpb24gLSBUcmlhbmdsZSBkaXJlY3Rpb24sIGVpdGhlciBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAgb3IgYGxlZnRgXG4vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW2N1cnJlbnRjb2xvcl0gLSBUcmlhbmdsZSBjb2xvclxuLy8gQHBhcmFtIHtMZW5ndGh9ICRzaXplIFsxZW1dIC0gVHJpYW5nbGUgc2l6ZVxuQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sICRjb2xvcjogY3VycmVudGNvbG9yLCAkc2l6ZTogMWVtKSB7XG5cdEBpZiBub3QgaW5kZXgodG9wIHJpZ2h0IGJvdHRvbSBsZWZ0LCAkZGlyZWN0aW9uKSB7XG5cdFx0QGVycm9yICdEaXJlY3Rpb24gbXVzdCBiZSBlaXRoZXIgdG9wLCByaWdodCwgYm90dG9tIG9yIGxlZnQuJztcblx0fVxuXG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHotaW5kZXg6IDI7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG5cdGZvbnQtc2l6ZTogMDtcblxuXHQkcGVycGVuZGljdWxhci1ib3JkZXJzOiAkc2l6ZSAvICgxICsgMiAvIDMpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdEBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG5cdFx0Ym9yZGVyLWxlZnQ6ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuXHRcdGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcblx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG5cdFx0Ym9yZGVyLWxlZnQ6ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuXHRcdGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcblx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcblx0XHRib3JkZXItYm90dG9tOiAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuXHRcdGJvcmRlci10b3A6ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG5cdFx0Ym9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcblx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuXHRcdGJvcmRlci1ib3R0b206ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG5cdFx0Ym9yZGVyLXRvcDogJHBlcnBlbmRpY3VsYXItYm9yZGVycztcblx0XHRib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gc2tpcC1uYXYoKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDE0MHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDJlbTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHotaW5kZXg6IC05OTk5OTk7XG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0ei1pbmRleDogOTk5OTk5O1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDA7XG5cdH1cbn0iLCIkX2Zvcm0tYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiRpbnB1dC1wYWRkaW5nOiAwLjY1ZW0gMC44ZW0gMC42ZW07XG5cbmZvcm0sXG5ib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0ge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcblx0Y29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG59XG5cbmZpZWxkc2V0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogMDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5sZWdlbmQge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAvIDI7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nIC8gMjtcbn1cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbiN7JGFsbC10ZXh0LWlucHV0c30ge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0cGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IC8vICRfZm9ybS1iYWNrZ3JvdW5kLWNvbG9yXG5cdGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkYmFzZS1ib3JkZXItcmFkaXVzO1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHQvLyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItY29sb3I6IHNoYWRlKCRiYXNlLWJvcmRlci1jb2xvciwgMjAlKTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoMjMzLDEwLDg5LC42KTtcblx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZTtcblx0XHRvdXRsaW5lLW9mZnNldDogNXB4O1xuXHRcdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJF9mb3JtLWJhY2tncm91bmQtY29sb3IsIDUlKTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyOiAkYmFzZS1ib3JkZXI7XG5cdFx0fVxuXHR9XG5cdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogdGludCgkYmFzZS1mb250LWNvbG9yLCA2MCUpO1xuXHR9XG59XG5cblt0eXBlPVwicmFuZ2VcIl0ge1xuXHRtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbn1cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggLmdjaG9pY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIC5nY2hvaWNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3BhY2l0eTogMDtcblx0JiArIGxhYmVsIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMXJlbTtcblx0XHRcdGhlaWdodDogMXJlbTtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1yaWdodDogMC42cmVtO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMTZyZW0pO1xuXHRcdH1cblx0fVxuXHQmOmNoZWNrZWQgKyBsYWJlbCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0fVxuXHR9XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyAuZ2Nob2ljZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuXHQmICsgbGFiZWw6YmVmb3JlIHtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5zZWxlY3Qge1xuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRiYXNlLWJvcmRlci1jb2xvcjtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuXHRtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEN1c3RvbSBzZWxlY3Qgc3R5bGluZyAqL1xuc2VsZWN0LFxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSBzZWxlY3QsXG5ib2R5XG5cdC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lXG5cdC5nZm9ybV9maWVsZHNcblx0LmdmaWVsZFxuXHRkaXYuZ2lucHV0X2NvbXBsZXhcblx0c3Bhbi5naW5wdXRfcmlnaHRcblx0c2VsZWN0LFxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IHtcblx0Ly8gZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0cGFkZGluZzogMC42NWVtIGNhbGMoMC43ZW0gKyAxNHB4KSAwLjUyZW0gMC43ZW07XG5cdG1heC13aWR0aDogMTAwJTtcblx0Ly8gaGVpZ2h0OiAzOC43NXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRtYXJnaW46IDAgMCAwLjJyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogJGJhc2UtYm9yZGVyLXJhZGl1cztcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Lyogbm90ZTogYmcgaW1hZ2UgYmVsb3cgdXNlcyAyIHVybHMuIFRoZSBmaXJzdCBpcyBhbiBzdmcgZGF0YSB1cmkgZm9yIHRoZSBhcnJvdyBpY29uLCBhbmQgdGhlIHNlY29uZCBpcyB0aGUgZ3JhZGllbnQuIFxuICAgICAgZm9yIHRoZSBpY29uLCBpZiB5b3Ugd2FudCB0byBjaGFuZ2UgdGhlIGNvbG9yLCBiZSBzdXJlIHRvIHVzZSBgJTIzYCBpbnN0ZWFkIG9mIGAjYCwgc2luY2UgaXQncyBhIHVybC4gWW91IGNhbiBhbHNvIHN3YXAgaW4gYSBkaWZmZXJlbnQgc3ZnIGljb24gb3IgYW4gZXh0ZXJuYWwgaW1hZ2UgcmVmZXJlbmNlXG4gICAgKi9cblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWctcGF0aCArIFwiZG93bi1hcnJvdy5zdmdcIiksXG5cdFx0bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHdoaXRlIDAlLCAkd2hpdGUgMTAwJSk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcblx0LyogYXJyb3cgaWNvbiBwb3NpdGlvbiAoMWVtIGZyb20gdGhlIHJpZ2h0LCA1MCUgdmVydGljYWwpICwgdGhlbiBncmFkaWVudCBwb3NpdGlvbiovXG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuN2VtIHRvcCA1NCUsIDAgMDtcblx0LyogaWNvbiBzaXplLCB0aGVuIGdyYWRpZW50ICovXG5cdGJhY2tncm91bmQtc2l6ZTogMTRweCBhdXRvLCAxMDAlO1xuXG5cdC8qIEhpZGUgYXJyb3cgaWNvbiBpbiBJRSBicm93c2VycyAqL1xuXHQmOjotbXMtZXhwYW5kIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogU2V0IG9wdGlvbnMgdG8gbm9ybWFsIHdlaWdodCAqL1xuXHRvcHRpb24ge1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdH1cblxuXHQvKiBEaXNhYmxlZCBzdHlsZXMgKi9cblx0JjpkaXNhYmxlZCxcblx0JlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG5cdFx0Y29sb3I6IGdyYXl0ZXh0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwd2lkdGglM0QlMjIyOTIuNCUyMiUyMGhlaWdodCUzRCUyMjI5Mi40JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjJncmF5dGV4dCUyMiUyMGQlM0QlMjJNMjg3JTIwNjkuNGExNy42JTIwMTcuNiUyMDAlMjAwJTIwMC0xMy01LjRIMTguNGMtNSUyMDAtOS4zJTIwMS44LTEyLjklMjA1LjRBMTcuNiUyMDE3LjYlMjAwJTIwMCUyMDAlMjAwJTIwODIuMmMwJTIwNSUyMDEuOCUyMDkuMyUyMDUuNCUyMDEyLjlsMTI4JTIwMTI3LjljMy42JTIwMy42JTIwNy44JTIwNS40JTIwMTIuOCUyMDUuNHM5LjItMS44JTIwMTIuOC01LjRMMjg3JTIwOTVjMy41LTMuNSUyMDUuNC03LjglMjA1LjQtMTIuOCUyMDAtNS0xLjktOS4yLTUuNS0xMi44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKSxcblx0XHRcdGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRsaWdodC1ncmF5IDAlLCAkbGlnaHQtZ3JheSAxMDAlKTtcblx0fVxuXG5cdCY6ZGlzYWJsZWQ6aG92ZXIsXG5cdCZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuXHRcdGJvcmRlci1jb2xvcjogI2FhYTtcblx0fVxuXG5cdC8vICYuZmFjZXR3cC1kcm9wZG93biB7XG5cdC8vIFx0cGFkZGluZzogMTBweDtcblx0Ly8gXHRjb2xvcjogJHdoaXRlO1xuXHQvLyBcdGxldHRlci1zcGFjaW5nOiAwLjVweDtcblx0Ly8gXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHQvLyBcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0Ly8gXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Rvd24tYXJyb3cuc3ZnJyksXG5cdC8vIFx0XHRsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkYmxhY2sgMCUsICRibGFjayAxMDAlKTtcblx0Ly8gfVxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHNlbGVjdCB7XG5cdHBhZGRpbmc6IDJweCAzMnB4IDJweCAxMHB4O1xufVxuXG4vKiBTdXBwb3J0IGZvciBydGwgdGV4dCwgZXhwbGljaXQgc3VwcG9ydCBmb3IgQXJhYmljIGFuZCBIZWJyZXcgKi9cbipbZGlyPVwicnRsXCJdIHNlbGVjdCxcbjpyb290OmxhbmcoYXIpIHNlbGVjdCxcbjpyb290OmxhbmcoaXcpIHNlbGVjdCB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMC43ZW0gdG9wIDUwJSwgMCAwO1xuXHRwYWRkaW5nOiAwLjZlbSAwLjhlbSAwLjVlbSAxLjRlbTtcbn1cblxuLy8gU3R5bGluZyBkYXRlIHBpY2tlciBtb2R1bGVcbi51aS1kYXRlcGlja2VyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdC51aS1kYXRlcGlja2VyLXRpdGxlIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXHQudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLy8gRW5kIGN1c3RvbSBzZWxlY3Qgc3R5bGluZ1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gU3VibWl0cyBhcmUgc3R5bGVkIGluIGJ1dHRvbnMuc2Nzc1xuXG5mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0cGFkZGluZzogM3B4IDQ2cHggM3B4IDhweDtcblxuXHRmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdGNvbG9yOiAkYnRuLXRleHQtY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidG4tYmctY29sb3I7XG5cdGJvcmRlcjogbm9uZTtcblxuXHR0cmFuc2l0aW9uOiBhbGwgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoICsgXCJhcnJvdy1yaWdodC5zdmdcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMjhweCAxNXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgNTAlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1nLXBhdGggKyBcImFycm93LXJpZ2h0LXdoaXRlLnN2Z1wiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZTtcblx0XHRvdXRsaW5lLW9mZnNldDogM3B4O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cbi8vIEdyYXZpdHkgRm9ybXNcbmJvZHkgLmdmb3JtX3dyYXBwZXIge1xuXHQvLyBSZXNldHNcblx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHQvLyBTZXR0aW5nIGNvbXBsZXggZmllbGRzIHdpdGggb25seSBvbmUgY2hpbGQgdG8gc3BhbiB0aGUgZW50aXJlIHdpZHRoXG5cdC8vIFRoaXMgaXMgdXNlZCBvbiB0aGUgQm9vayBhIFRvdXIgZm9ybSBmb3IgY2l0eSBhbmQgc3RhdGUgZmllbGRzXG5cdC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIHNwYW46b25seS1vZi10eXBlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRzcGFuLmdmb3JtX2Rlc2NyaXB0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuZ2Zvcm1fZmllbGRzIC5nZmllbGQsXG5cdC5nZmllbGQuZ2ZfcmlnaHRfaGFsZixcblx0LnRvcF9sYWJlbCAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0LmRlc2NyaXB0aW9uLFxuXHQuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuXHQuZ3NlY3Rpb25fZGVzY3JpcHRpb24sXG5cdC5pbnN0cnVjdGlvbiB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cdC5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCxcblx0LmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9XCJnZmllbGRfZGF0ZV9cIl0uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCxcblx0LmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9XCJnZmllbGRfdGltZV9cIl0uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCxcblx0LmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLFxuXHQuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1cImdmaWVsZF9kYXRlX1wiXS5naW5wdXRfY29udGFpbmVyIGxhYmVsLFxuXHQuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1cImdmaWVsZF90aW1lX1wiXS5naW5wdXRfY29udGFpbmVyIGxhYmVsIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG5cdCYuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX2xhYmVsIHtcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0fVxuXHQuZ2lucHV0X2NvbXBsZXhcblx0XHQuZ2lucHV0X2xlZnRcblx0XHRpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pLFxuXHQuZ2lucHV0X2NvbXBsZXhcblx0XHQuZ2lucHV0X3JpZ2h0XG5cdFx0aW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSxcblx0LmdpbnB1dF9jb21wbGV4XG5cdFx0aW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuXHRcdC8vIGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0fVxuXHQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdH1cblx0aW1nLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR9XG5cdC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb250YWluZXIsXG5cdC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMSxcblx0LnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yLFxuXHQudG9wX2xhYmVsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzMge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmdmaWVsZF9yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICRlcnJvci1jb2xvcjtcblx0XHQmLmdmaWVsZF9yZXF1aXJlZF9hc3RlcmlzayB7XG5cdFx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0fVxuXHR9XG5cdC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcblx0XHRwYWRkaW5nLXRvcDogNnB4O1xuXHR9XG5cdGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHR9XG5cdC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuXHQuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuXHQuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5cdC5nZm9ybV9wYWdlX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0LmdmaWVsZF9jaGVja2JveCAuZ2Nob2ljZSBsYWJlbCxcblx0LmdmaWVsZF9yYWRpbyAuZ2Nob2ljZSBsYWJlbCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0fVxuXHQvLyBFbmQgUmVzZXRzXG5cblx0Ly8gRXJyb3IgU3R5bGluZ1xuXHRkaXYudmFsaWRhdGlvbl9lcnJvciB7XG5cdFx0Y29sb3I6ICRlcnJvci1jb2xvcjtcblx0XHRmb250LXNpemU6IDFlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkICRlcnJvci1jb2xvcjtcblx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgJGVycm9yLWNvbG9yO1xuXHRcdHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuXHRcdGNvbG9yOiAkZXJyb3ItY29sb3I7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcblx0fVxuXHQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwge1xuXHRcdGNvbG9yOiAkZXJyb3ItY29sb3I7XG5cdH1cblx0LmdmaWVsZC5nZmllbGRfZXJyb3IsXG5cdC5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXHQuZ2ZpZWxkX2Vycm9yXG5cdFx0aW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pLFxuXHQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcblx0XHRib3JkZXI6IDNweCBzb2xpZCAkZXJyb3ItY29sb3I7XG5cdH1cblx0Ji5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIHtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0fVxuXHQmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3Jcblx0XHQuZ2Zvcm1fYm9keVxuXHRcdC5nZm9ybV9maWVsZHNcblx0XHQuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKSB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cdC8vIEVuZCBFcnJvciBTdHlsaW5nXG59XG5cbi8vIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkge1xuLy8gICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbi8vIH0iLCJAaW1wb3J0IFwiLi9taXhpbnMvYmFzZVwiO1xuQGltcG9ydCBcIi4vZ2xvYmFsL2Jhc2VcIjtcbkBpbXBvcnQgXCIuL2NhcmJvbi9nbG9iYWxzL3Njc3Mvc3R5bGVzLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3BhcnRpYWxzL2Jhc2VcIjtcbkBpbXBvcnQgXCIuL2Jsb2Nrcy9iYXNlXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2Jhc2VcIjtcbkBpbXBvcnQgXCIuL3BhZ2VzL2Jhc2VcIjtcblxuLmNhcmJvbi1jb21wb25lbnQge1xuXHRtYXJnaW4tYm90dG9tOiAzMDBweDtcbn1cbiIsImh0bWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdmlld3BvcnQtYmFja2dyb3VuZC1jb2xvcjtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwcHg7XG5cdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHR6LWluZGV4OiAtMTtcblx0fVxufVxuXG4uYmxvY2sge1xuXHRtYXJnaW46IDAgYXV0byA3NXB4O1xuXHQmOmxhc3Qtb2YtdHlwZS5oZXJvLnN0eWxlLTIge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0bWFyZ2luOiAwIGF1dG8gMjAwcHg7XG5cdH1cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcblx0Jjpmb2N1cyB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxufVxuXG5odG1sLFxuYm9keSB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG5cdG1hcmdpbjogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHQmLmZyb250LWVuZCB7XG5cdFx0cGFkZGluZy10b3A6IDIwMHB4O1xuXHR9XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRtYWluIHtcblx0XHRmbGV4OiAxO1xuXHR9XG59XG5cbi53cmFwcGVyLFxuLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuXHRtYXgtd2lkdGg6ICRzaXRlLXdpZHRoO1xuXHRtYXJnaW46IGF1dG87XG5cdHBhZGRpbmc6IDAgMnJlbTtcblx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0cGFkZGluZzogMCAxLjJyZW07XG5cdH1cblx0QGluY2x1ZGUgbW9iaWxlLW9ubHkge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuXHQud3JhcHBlciB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRlLWxhYmVsLFxuLnZpc3VhbGx5LWhpZGUtdGV4dCB7XG5cdC8vIGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0d2lkdGg6IDFweDtcbn1cblxuLmFsaWduLWxlZnQsXG4udGV4dC1hbGlnbi1sZWZ0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LWFsaWduLWNlbnRlcixcbi5hbGlnbi1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYWxpZ24tcmlnaHQsXG4udGV4dC1hbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY29udGVudC1sZWZ0IC5yb3cge1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4uY29udGVudC1yaWdodCAucm93IHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5jb250ZW50LWNlbnRlciAucm93IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQuYnV0dG9ucyB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cblxuLy8gaGlkZXMgdGhlIG1lbnUgZnJvbSBzY3JlZW4gcmVhZGVycyB3aGVuIG5vdCBvcGVuXG4uc3RvcC1pdCB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmltYWdlLXRvcC1sZWZ0IHtcbn1cbi5pbWFnZS10b3AtcmlnaHQge1xufVxuLmltYWdlLXRvcC1jZW50ZXIge1xufVxuLmltYWdlLWJvdHRvbS1sZWZ0IHtcbn1cbi5pbWFnZS1ib3R0b20tcmlnaHQge1xufVxuLmltYWdlLWJvdHRvbS1jZW50ZXIge1xufVxuLmltYWdlLWNlbnRlciB7XG59XG4iLCIvLyBHZW5lcmFsXG4uZnJvbnQtZW5kIC53cC1ibG9jay1ncm91cCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29sdW1uc1xuLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbn1cbiIsInVsLFxub2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAxN3B4O1xuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTdweDtcbiAgICB9XG59XG5cbmRsIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmR0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuZGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLy8gUmVtb3ZlIGRlZmF1bHQgc3VtbWFyeSBhcnJvd3MgZm9yIGFjY29yZGlvbnNcbi8vIHN1bW1hcnkge1xuLy8gICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuLy8gfVxuLy8gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4vLyAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgIGJhY2tncm91bmQ6IG5vbmU7XG4vLyAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbi8vIH1cbiIsIi8vIExvZ29zXG5cbi8vIFVzZWQgaW4gdGhlIGZvb3RlclxuLmxvZ28tc2l0ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA5LjhyZW07XG5cdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdCYud2hpdGUge1xuXHRcdGZpbGw6ICR3aGl0ZTtcblx0fVxufVxuXG4ud2hpdGUtc3ZnIHtcblx0ZmlsbDogJHdoaXRlO1xufVxuXG4vLyBTbWFsbGVyIGxvZ28gdXNlZCBpbiB0aGUgZm9vdGVyIGZvciBMb3Vpc3ZpbGxlIFRvdXJpc21cbi5sb2dvLXNtYWxsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDUuOHJlbTtcbn1cblxuZmlndXJlIHtcblx0bWFyZ2luOiAwO1xufVxuXG5pbWcsXG5waWN0dXJlIHtcblx0bWFyZ2luOiAwO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGlmcmFtZSxcblx0b2JqZWN0LFxuXHRlbWJlZCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuXG4uYmxvY2sudmlkZW8ge1xuXHQud3JhcHBlciB7XG5cdFx0bWF4LXdpZHRoOiAkcGVyY2VudGFnZTtcblx0fVxufVxuIiwidGFibGUge1xuXHRtaW4td2lkdGg6IDUwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGhlYWQge1xuXHRsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbnRib2R5IHtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGgsXG50ZCB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICR3aGl0ZTtcblx0Ym9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICR3aGl0ZTtcbn1cblxudGgge1xuXHRwYWRkaW5nOiAkc21hbGwtc3BhY2luZztcblx0YmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcbn1cblxudHI6Zmlyc3QtY2hpbGQgdGQge1xuXHRwYWRkaW5nLXRvcDogMC44ZW07XG59XG5cbnRkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwLjRlbSAwLjc1ZW07XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICgwLjc1ZW0gKiAyKSk7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0fVxufVxuXG50ZC5hbW91bnQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxudHI6bGFzdC1jaGlsZCB0ZCxcbnRkLmFtb3VudCB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cbn1cbiIsIi8vIEdlbmVyYWwgZmFjZXQgc3R5bGVzXG4uZmllbGRzZXQuZmlsdGVycyB7XG5cdG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblx0LmZhY2V0LXdyYXAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OiBmbGV4LXN0YXJ0LCAkYWxpZ246IGZsZXgtc3RhcnQsICR3cmFwOiBub3dyYXApO1xuXHRcdHdpZHRoOiBjYWxjKCgxIC8gMyAqIDEwMCUpIC0gMi44cmVtKTtcblx0XHRtaW4td2lkdGg6IDMwMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDAuNnJlbTtcblx0XHRwYWRkaW5nOiAwLjRyZW0gMDtcblx0XHQvLyAmOmZpcnN0LW9mLXR5cGUge1xuXHRcdC8vIFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdC8vIFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHQvLyB9XG5cdH1cblx0Ly8gU3R5bGluZyB0aGUgZmFjZXQgbGFiZWxzXG5cdC5mYWNldC1sYWJlbCB7XG5cdFx0bWFyZ2luOiAwIDFyZW0gMCAwO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuXHQudGl0bGUge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdFx0Zm9udC1zaXplOiAkaDYtZm9udC1zaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cblx0LmZhY2V0d3AtZmFjZXQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Zm9udC1zaXplOiAkaDYtZm9udC1zaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cblxuXHQvLyBEYXRlIHJhbmdlXG5cdC5mYWNldHdwLXR5cGUtZGF0ZV9yYW5nZSB7XG5cdFx0Ji5mYWNldHdwLWZhY2V0LWVuZF9kYXRlIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdH1cblx0fVxuXHQvLyBTZWxlY3Rcblx0LmZhY2V0d3AtdHlwZS1kcm9wZG93biB7XG5cdFx0c2VsZWN0IHtcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZTtcblx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6ICRmb2N1cy1vdXRsaW5lLW9mZnNldDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmZzLWRyb3Bkb3duIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0XHQuZnMtd3JhcCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdFx0LmZzLWxhYmVsLXdyYXAge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0fVxuXHR9XG5cdC8vIENoZWNrYm94ZXMgJiBSYWRpbyBidXR0b25zXG5cdC5mYWNldHdwLWNoZWNrYm94LFxuXHQuZmFjZXR3cC1yYWRpbyB7XG5cdFx0Ly8gUmVzZXRcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4OyAvLyBoaWRlcyBcIlllcy9Ob1wiIHRleHRcblx0XHQvLyBFbmQgcmVzZXRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDFyZW07XG5cdFx0XHRoZWlnaHQ6IDFyZW07XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGZsb2F0OiBsZWZ0OyAvLyBnZXRzIHRoZSBjaGVja2JveCBiYWNrIGluIHZpZXcgYWZ0ZXIgdGhlIGFib3ZlIC05OTk5cHhcblx0XHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjE2cmVtKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5jaGVja2VkIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0XHRcdH1cblx0XHR9XG5cdFx0JltkYXRhLXZhbHVlPVwiMFwiXSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQmI3RleHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmZhY2V0d3AtY291bnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vLyBFdmVudHMgUGFnZVxuLnBhZ2UtaWQtMTcxNyB7XG5cdC5maWVsZHNldC5maWx0ZXJzIC5mYWNldC13cmFwOmZpcnN0LW9mLXR5cGUge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7IC8vIHRoaXMgY291bnRlcmFjdHMgVGhlIENvbGxlY3Rpb24ncyBcIk9uIFZpZXdcIiBmYWNldFxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxufVxuXG4vLyBTZWFyY2hcbi5maWVsZHNldC5zZWFyY2gtYmFyIHtcblx0Ly8gU3R5bGluZyB0aGUgZmFjZXQgbGFiZWxzXG5cdC5mYWNldC1sYWJlbCB7XG5cdFx0bWFyZ2luOiAwIDAgMC42cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuXHQuZmFjZXR3cC10eXBlLXNlYXJjaCB7XG5cdFx0LmZhY2V0d3AtaW5wdXQtd3JhcCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJHdyYXA6IHdyYXAsICRhbGlnbjogZmxleC1zdGFydCk7XG5cdFx0fVxuXHRcdC5mYWNldHdwLWljb24ge1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwLjRyZW07XG5cdFx0fVxuXHRcdGlucHV0LmZhY2V0d3Atc2VhcmNoIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuNnJlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS44cmVtO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cdFx0YnV0dG9uIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFyQnRuKCk7XG5cdFx0XHRAaW5jbHVkZSBidG4tYmFzZSgpO1xuXHRcdH1cblx0XHRidXR0b246bGFzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXHRcdH1cblx0XHQuZmFjZXR3cC1zZWFyY2gtc3VibWl0IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdH1cblx0fVxufVxuLy8gTG9hZCBNb3JlIEJ0blxuLmxvYWQtbW9yZS1idG4ge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC5mYWNldC1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRidXR0b24ge1xuXHRcdEBpbmNsdWRlIGNsZWFyQnRuO1xuXHRcdEBpbmNsdWRlIGJ0bi1iYXNlKCk7XG5cdFx0Jjpub3QoLnByZXYpOmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzNweCk7XG5cdFx0fVxuXHRcdCY6bm90KC5wcmV2KTphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoICsgXCJhcnJvdy1kb3duLnN2Z1wiKTtcblx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG5cdFx0fVxuXHRcdCY6aG92ZXI6bm90KC5wcmV2KTphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIC8vIEZhY2V0IFN0YXJ0L0VuZCBEYXRlXG4vLyAuZmllbGRzZXQgLmZhY2V0d3AtdHlwZS1kYXRlX3JhbmdlIHtcbi8vIFx0ZGlzcGxheTogZmxleDtcbi8vIFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gXHQuZmxhdHBpY2tyLWFsdCB7XG4vLyBcdFx0cGFkZGluZzogNHB4IDZweCA1cHggMDtcbi8vIFx0XHRib3JkZXI6IG5vbmU7XG4vLyBcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuLy8gXHRcdGZvbnQtc2l6ZTogMTVweDtcbi8vIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpIHtcbi8vIFx0XHRcdG1heC13aWR0aDogMTAwcHg7XG4vLyBcdFx0fVxuXG4vLyBcdFx0Jjo6cGxhY2Vob2xkZXIge1xuLy8gXHRcdFx0Y29sb3I6ICRibGFjaztcbi8vIFx0XHR9XG4vLyBcdFx0JjpsYXN0LWNoaWxkIHtcbi8vIFx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuLy8gXHRcdH1cbi8vIFx0fVxuLy8gfVxuXG4vLyAvLyBGYWNldCBzZWFyY2ggYmFyXG4vLyAuZmllbGRzZXQuc2VhcmNoLWZpZWxkIHtcbi8vIFx0LmZhY2V0LWxhYmVsIHtcbi8vIFx0XHRAZXh0ZW5kIC52aXN1YWxseS1oaWRkZW47XG4vLyBcdH1cbi8vIH1cbi8vIC5mYWNldHdwLWZhY2V0LmZhY2V0d3AtdHlwZS1zZWFyY2gge1xuLy8gXHQuZmFjZXR3cC1zZWFyY2gtd3JhcCB7XG4vLyBcdFx0ZGlzcGxheTogZmxleDtcbi8vIFx0fVxuLy8gXHQuZmFjZXR3cC1pbnB1dC13cmFwLFxuLy8gXHQuZmFjZXR3cC1zZWFyY2gge1xuLy8gXHRcdHdpZHRoOiAxMDAlO1xuLy8gXHR9XG4vLyBcdC5mYWNldHdwLWlucHV0LXdyYXAge1xuLy8gXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIFx0XHRAbWVkaWEgKCR0YWJsZXQpIHtcbi8vIFx0XHRcdEBpbmNsdWRlIGZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcbi8vIFx0XHR9XG4vLyBcdFx0Ly8gUmVzZXQgYnV0dG9uXG4vLyBcdFx0YnV0dG9uOmxhc3QtY2hpbGQge1xuLy8gXHRcdFx0aGVpZ2h0OiBhdXRvO1xuLy8gXHRcdFx0cGFkZGluZzogMTJweCAyMHB4O1xuLy8gXHRcdFx0Ym9yZGVyOiBub25lO1xuLy8gXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4vLyBcdFx0XHRjb2xvcjogJGdyZWVuO1xuLy8gXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcbi8vIFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyBcdFx0XHRAbWVkaWEgKCR0YWJsZXQpIHtcbi8vIFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0XHRib3R0b206IC0zMHB4O1xuLy8gXHRcdFx0XHRyaWdodDogMTI0cHg7XG4vLyBcdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuLy8gXHRcdFx0XHR6LWluZGV4OiAzO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gXHRpbnB1dC5mYWNldHdwLXNlYXJjaCB7XG4vLyBcdFx0ZmxleDogMSAwIDA7XG4vLyBcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcbi8vIFx0XHRwYWRkaW5nOiA1cHggMzBweCA1cHggMTVweDtcbi8vIFx0XHRib3JkZXItcmFkaXVzOiAwO1xuLy8gXHRcdGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMzMsIDMzLCAzMywgMC4yNSk7XG4vLyBcdH1cbi8vIFx0LmZhY2V0d3AtaWNvbixcbi8vIFx0LmZhY2V0d3AtYnRuIHtcbi8vIFx0XHRkaXNwbGF5OiBub25lO1xuLy8gXHR9XG4vLyBcdGlucHV0LFxuLy8gXHRidXR0b24ge1xuLy8gXHRcdGhlaWdodDogNTBweDtcbi8vIFx0fVxuLy8gXHQuZmFjZXR3cC1zZWFyY2gtc3VibWl0IHtcbi8vIFx0XHRAaW5jbHVkZSBidG4tYmFzZSgpO1xuLy8gXHRcdGhlaWdodDogYXV0bztcbi8vIFx0XHRtYXJnaW46IDA7XG4vLyBcdFx0cGFkZGluZzogMTRweCAyMHB4O1xuLy8gXHRcdGJvcmRlcjogM3B4IHNvbGlkICRncmVlbjtcbi8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4vLyBcdFx0Y29sb3I6ICR3aGl0ZTtcbi8vIFx0XHRAbWVkaWEgKCR0YWJsZXQpIHtcbi8vIFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuLy8gXHRcdH1cbi8vIFx0XHQmOmhvdmVyLFxuLy8gXHRcdCY6Zm9jdXMge1xuLy8gXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuLy8gXHRcdFx0Y29sb3I6ICRncmVlbjtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIH1cblxuLy8gLy8gU3R5bGluZyB0aGUgZmFjZXQgZHJvcGRvd25zXG4vLyAuZmllbGRzZXQge1xuLy8gXHQuZnMtbGFiZWwtd3JhcCB7XG4vLyBcdFx0Ym9yZGVyOiBub25lO1xuLy8gXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2s7XG4vLyBcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuLy8gXHRcdC5mcy1sYWJlbCB7XG4vLyBcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG4vLyBcdFx0XHRjb2xvcjogJGJsYWNrO1xuLy8gXHRcdH1cbi8vIFx0XHQuZnMtYXJyb3cge1xuLy8gXHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICRibGFjaztcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LmZzLWRyb3Bkb3duIHtcbi8vIFx0XHR3aWR0aDogMTAwJTtcbi8vIFx0XHRjb2xvcjogJGJsYWNrO1xuLy8gXHR9XG4vLyB9XG5cbi8vIC8vIE1hcCAtIFJldmVyc2UgY29sb3JzIGZvciB0aGUgRmFjZXQgZHJvcGRvd25zXG4vLyAuYmxvY2suaW50ZXJhY3RpdmUtbWFwIHtcbi8vIFx0LmZzLWxhYmVsLXdyYXAge1xuLy8gXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG4vLyBcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyYW5zcGFyZW50O1xuLy8gXHRcdEBtZWRpYSAoJG1hcC1icmVha3BvaW50KSB7XG4vLyBcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4vLyBcdFx0fVxuLy8gXHRcdC5mcy1sYWJlbCB7XG4vLyBcdFx0XHRjb2xvcjogJHdoaXRlO1xuLy8gXHRcdH1cbi8vIFx0XHQuZnMtYXJyb3cge1xuLy8gXHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICR3aGl0ZTtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIH1cblxuLy8gLy8gU3R5bGluZyB0aGUgZmFjZXQgcmFuZ2VzXG4vLyAuZmllbGRzZXQge1xuLy8gXHQuZmFjZXR3cC10eXBlLXNsaWRlciB7XG4vLyBcdFx0cGFkZGluZy10b3A6IDIwcHg7IC8vIEFsaWduaW5nIHRoZSByYW5nZXMgd2l0aCBvdGhlciBmYWNldHNcbi8vIFx0XHQuZmFjZXR3cC1zbGlkZXItbGFiZWwgKyBkaXYge1xuLy8gXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gXHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdC5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbi8vIFx0XHR3aWR0aDogMTVweDtcbi8vIFx0XHRoZWlnaHQ6IDE1cHg7XG4vLyBcdFx0dG9wOiAtNy41cHg7XG4vLyBcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuLy8gXHR9XG4vLyBcdC5ub1VpLWhvcml6b250YWwge1xuLy8gXHRcdGhlaWdodDogMnB4O1xuLy8gXHR9XG4vLyBcdC5ub1VpLXRhcmdldCB7XG4vLyBcdFx0Ym9yZGVyLWNvbG9yOiAkYmxhY2s7XG4vLyBcdFx0JjpiZWZvcmUsXG4vLyBcdFx0JjphZnRlciB7XG4vLyBcdFx0XHRjb250ZW50OiBcIlwiO1xuLy8gXHRcdFx0d2lkdGg6IDJweDtcbi8vIFx0XHRcdGhlaWdodDogMTZweDtcbi8vIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vIFx0XHRcdHRvcDogMDtcbi8vIFx0XHRcdGJhY2tncm91bmQ6ICRibGFjaztcbi8vIFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbi8vIFx0XHR9XG4vLyBcdFx0JjpiZWZvcmUge1xuLy8gXHRcdFx0bGVmdDogLTFweDtcbi8vIFx0XHR9XG4vLyBcdFx0Jjo6YWZ0ZXIge1xuLy8gXHRcdFx0cmlnaHQ6IC0xcHg7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdC5ub1VpLWNvbm5lY3Qge1xuLy8gXHRcdGJhY2tncm91bmQ6ICRibGFjaztcbi8vIFx0fVxuLy8gXHQubm9VaS1oYW5kbGUge1xuLy8gXHRcdGJvcmRlcjogbm9uZTtcbi8vIFx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW47XG4vLyBcdH1cbi8vIFx0LmZhY2V0d3AtZmFjZXQge1xuLy8gXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG4vLyBcdH1cbi8vIFx0Ly8gUmFuZ2UgcmVzZXQgYnRuXG4vLyBcdC5mYWNldHdwLXNsaWRlci1yZXNldCB7XG4vLyBcdFx0ZGlzcGxheTogYmxvY2s7XG4vLyBcdFx0bWFyZ2luLXRvcDogMTBweDtcbi8vIFx0XHRwYWRkaW5nOiAwO1xuLy8gXHRcdGJhY2tncm91bmQ6IG5vbmU7XG4vLyBcdFx0Ym9yZGVyOiBub25lO1xuLy8gXHRcdGJveC1zaGFkb3c6IG5vbmU7XG4vLyBcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuLy8gXHRcdGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4vLyBcdFx0Zm9udC1zaXplOiAxNXB4O1xuLy8gXHRcdGNvbG9yOiAkZ3JlZW47XG4vLyBcdH1cbi8vIH1cbi8vIC8vIE1hcCBmYWNldCByYW5nZXNcbi8vIC5ibG9jay5pbnRlcmFjdGl2ZS1tYXAge1xuLy8gXHQubm9VaS10YXJnZXQge1xuLy8gXHRcdGJvcmRlci1jb2xvcjogI2RkZGRkZDtcbi8vIFx0XHQmOmJlZm9yZSxcbi8vIFx0XHQmOmFmdGVyIHtcbi8vIFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0Lm5vVWktY29ubmVjdCB7XG4vLyBcdFx0YmFja2dyb3VuZDogI2RkZGRkZDtcbi8vIFx0fVxuLy8gXHQubm9VaS1oYW5kbGUge1xuLy8gXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vIFx0fVxuLy8gfVxuXG4vLyAvLyBTZWFyY2ggZmFjZXQgcmFuZ2VzXG4vLyAuYmxvY2suc2VhcmNoLXJlc3VsdHMge1xuLy8gXHQubm9VaS1oYW5kbGUge1xuLy8gXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbi8vIFx0fVxuLy8gfVxuXG4vLyAvLyBSYWRpbyBidXR0b24gZmFjZXRzXG4vLyAuZmllbGRzZXQgLmZhY2V0d3AtdHlwZS1yYWRpbyB7XG4vLyBcdGRpc3BsYXk6IGZsZXg7XG4vLyBcdC5mYWNldHdwLXJhZGlvIHtcbi8vIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBcdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuLy8gXHRcdGJhY2tncm91bmQ6IG5vbmU7XG4vLyBcdFx0JjpiZWZvcmUge1xuLy8gXHRcdFx0Y29udGVudDogXCJcIjtcbi8vIFx0XHRcdHdpZHRoOiAxNXB4O1xuLy8gXHRcdFx0aGVpZ2h0OiAxNXB4O1xuLy8gXHRcdFx0Ym9yZGVyOiAxcHggc29saWQ7XG4vLyBcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG4vLyBcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdFx0XHRsZWZ0OiAwO1xuLy8gXHRcdFx0dG9wOiA1MCU7XG4vLyBcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4vLyBcdFx0fVxuLy8gXHRcdCYgKyAuZmFjZXR3cC1yYWRpbyB7XG4vLyBcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcbi8vIFx0XHR9XG4vLyBcdFx0Ji5jaGVja2VkLFxuLy8gXHRcdCY6aG92ZXIsXG4vLyBcdFx0Jjpmb2N1cyB7XG4vLyBcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuLy8gXHRcdFx0Y29sb3I6ICRncmVlbjtcbi8vIFx0XHRcdCY6YmVmb3JlIHtcbi8vIFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gfVxuIiwiQG1peGluIGNlbnRlcigpIHtcbn1cblxuQG1peGluIGZsZXgoJGp1c3RpZnk6IGNlbnRlciwgJGFsaWduOiBjZW50ZXIsICRkaXI6IHJvdywgJHdyYXA6IHdyYXApIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcblx0YWxpZ24taXRlbXM6ICRhbGlnbjtcblx0Ly8gZmxleC1kaXJlY3Rpb246ICRkaXI7XG5cdGZsZXgtd3JhcDogJHdyYXA7XG59XG4iLCIuY2FyYm9uLWFwcCB7XG5cdGJ1dHRvbiB7XG5cdFx0bWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmZmICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cdC5ieC0tYnRuLS1wcmltYXJ5LFxuXHQuYngtLWJ0bi0tc2Vjb25kYXJ5IHtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Ly8gaW5wdXQ6bm90KFt0eXBlXSl7XG5cdC8vICAgYm9yZGVyOiBub25lO1xuXHQvLyAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdC8vICAgYm94LXNoYWRvdzogbm9uZTtcblx0Ly8gICBtYXJnaW4tYm90dG9tOiAwO1xuXHQvLyAgIHBhZGRpbmc6IDAgMXJlbTtcblx0Ly8gICB0cmFuc2l0aW9uOiBub25lO1xuXHQvLyB9XG5cdC8vIFt0eXBlPWJ1dHRvbl06aG92ZXIge1xuXHQvLyAgIGNvbG9yOiAjMDAwO1xuXHQvLyAgIGJvcmRlcjogMDtcblx0Ly8gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ly8gfVxuXHQuYngtLWRhdGEtdGFibGUgdGg6bGFzdC1vZi10eXBlIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cblx0LmJ4LS1kYXRhLXRhYmxlIC5jZWxsLWFkZHJlc3MgYSB7XG5cdFx0Y29sb3I6ICNlOTBhNTk7XG5cdH1cblx0LmJ4LS1maWxlX19kcm9wLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiAxcHggZGFzaGVkICMwMDA7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxuXHQuYngtLWNvbWJvLWJveC5ieC0tbGlzdC1ib3gge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cdFx0LmJ4LS1saXN0LWJveF9fZmllbGQge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmJ4LS1wYWdpbmF0aW9uX19sZWZ0IHtcblx0XHRtaW4td2lkdGg6IDMyMHB4O1xuXHR9XG5cdC5ieC0tcGFnaW5hdGlvbl9fcmlnaHQge1xuXHRcdG1pbi13aWR0aDogMjM4cHg7XG5cdH1cbn1cbnRhYmxlLmJ4LS1kYXRhLXRhYmxlIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0dGJvZHkgdGgsXG5cdHRkIHtcblx0XHRwYWRkaW5nOiAwLjg3NXJlbSAwLjc1cmVtO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwLjgxMjVyZW07XG5cdH1cbn1cbi5ieC0tdGFibGUtc29ydCB7XG5cdG1pbi13aWR0aDogMDtcbn1cbi5ieC0tcGFnaW5hdGlvbiAuYngtLXNlbGVjdC1pbnB1dCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4uYngtLXBhZ2luYXRpb25fX2J1dHRvbiB7XG5cdG1pbi13aWR0aDogMDtcbn1cbi5ieC0tdG9vbHRpcF9fdHJpZ2dlcjpub3QoLmJ4LS1idG4tLWljb24tb25seSkge1xuXHRtaW4td2lkdGg6IDA7XG59XG4uYngtLW92ZXJmbG93LW1lbnUuYngtLXRvb2xiYXItYWN0aW9uIHtcblx0bWluLXdpZHRoOiAwO1xufVxuLmN2LWNvbWJvLWJveC5ieC0tbGlzdC1ib3hfX3dyYXBwZXIge1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8g8J+MjSBHbG9iYWxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gSWYgdHJ1ZSwgaW5jbHVkZXMgZm9udCBmYWNlIG1peGlucyBpbiBgX2Nzcy0tZm9udC1mYWNlLnNjc3NgIGRlcGVuZGluZyBvbiB0aGUgYGNzcy0tcGxleGAgZmVhdHVyZSBmbGFnXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBCb29sXG4vLy8gQGdyb3VwIGZlYXR1cmUtZmxhZ3NcbiRjc3MtLWZvbnQtZmFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiB0cnVlLCBpbmNsdWRlcyB0aGUgYGNzcy1oZWxwZXJzKClgIG1peGluXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBCb29sXG4vLy8gQGdyb3VwIGZlYXR1cmUtZmxhZ3NcbiRjc3MtLWhlbHBlcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiB0cnVlLCBpbmNsdWRlcyB0aGUgYGNzcy1ib2R5KClgIG1peGluXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBCb29sXG4vLy8gQGdyb3VwIGZlYXR1cmUtZmxhZ3NcbiRjc3MtLWJvZHk6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiB0cnVlLCB0aGUgYGxheWVyKClgIG1peGluIHNldHMgYGJveC1zaGFkb3dgIHZhbHVlc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgQm9vbFxuLy8vIEBncm91cCBmZWF0dXJlLWZsYWdzXG4kY3NzLS11c2UtbGF5ZXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiB0cnVlLCBpbmNsdWRlIHJlc2V0IENTU1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgQm9vbFxuLy8vIEBncm91cCBmZWF0dXJlLWZsYWdzXG4kY3NzLS1yZXNldDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiB0cnVlLCBpbmNsdWRlIGRlZmF1bHQgdHlwZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgQm9vbFxuLy8vIEBncm91cCBmZWF0dXJlLWZsYWdzXG4kY3NzLS1kZWZhdWx0LXR5cGU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVXNlZCB3aXRoIGBjc3MtLWZvbnQtZmFjZWAgZmVhdHVyZSBmbGFnLCBpZiB0cnVlLCB1c2VzIFBsZXggZm9udCBmYW1pbGllcyBpbnN0ZWFkIG9mIEhlbHZldGljYVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgQm9vbFxuLy8vIEBncm91cCBmZWF0dXJlLWZsYWdzXG4kY3NzLS1wbGV4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoaXMgZmVhdHVyZSBmbGFnIHdhcyB1c2VkIGR1cmluZyBkZXZlbG9wbWVudCBvZiB0aGUgdjEwIGV4cGVyaW1lbnRhbCBncmlkLlxuLy8vIFRPRE86IHJlbW92ZSBpbiBuZXh0IG1ham9yIHJlbGVhc2UuIFN5bmNlZCBpbiBgZmVhdHVyZS1mbGFnc2AgYXMgYW4gYWRhcHRlciBpbiB0aGUgaW50ZXJpbVxuLy8vIEBkZXByZWNhdGVkIChGb3IgdjEwKSB2MTAgYWx3YXlzIHVzZXMgYEBjYXJib24vZ3JpZGBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIEJvb2xcbi8vLyBAZ3JvdXAgZmVhdHVyZS1mbGFnc1xuJGNzcy0tdXNlLWV4cGVyaW1lbnRhbC1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoaXMgZmVhdHVyZSBmbGFnIHdhcyB1c2VkIGR1cmluZyBkZXZlbG9wbWVudCBvZiB0aGUgdjEwIGV4cGVyaW1lbnRhbCBncmlkLlxuLy8vIFRPRE86IHJlbW92ZSBpbiBuZXh0IG1ham9yIHJlbGVhc2UuIFN5bmNlZCBpbiBgZmVhdHVyZS1mbGFnc2AgYXMgYW4gYWRhcHRlciBpbiB0aGUgaW50ZXJpbS5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIEJvb2xcbi8vLyBAZ3JvdXAgZmVhdHVyZS1mbGFnc1xuLy8vIEBkZXByZWNhdGVkIChGb3IgdjEwKSB2MTAgYWx3YXlzIHVzZXMgYEBjYXJib24vZ3JpZGBcbiRjc3MtLXVzZS1leHBlcmltZW50YWwtZ3JpZC1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJmZWF0dXJlLWZsYWdzXCI7XG5AaW1wb3J0IFwidmFyc1wiO1xuQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcInRoZW1lXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwibGF5ZXJcIjtcbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcIi4vdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZVwiO1xuLy9AaW1wb3J0ICdjc3MtLXJlc2V0JztcbkBpbXBvcnQgXCJjc3MtLWZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzcy0taGVscGVyc1wiO1xuLy9AaW1wb3J0ICdjc3MtLWJvZHknO1xuQGltcG9ydCBcIi4uL2dyaWQvZ3JpZFwiO1xuXG4vLyBVc2UgdGhlIGdyYXkgMTAgdGhlbWVcbiRjYXJib24tLXRoZW1lOiAkY2FyYm9uLS10aGVtZS0tZzEwO1xuQGluY2x1ZGUgY2FyYm9uLS10aGVtZSgpO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIOKaoO+4jyBNYW5hZ2UgZGVwcmVjYXRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIFdlIGZsYWcgdGhpcyB2YXJpYWJsZSBhcyB0cnVlIGlmIHNvbWVvbmUgdXNlcyB0aGUgZ2xvYmFscy9zY3NzL3N0eWxlcy5zY3NzXG4vLy8gZW50cnktcG9pbnQuIFRoaXMgYWxsb3dzIHVzIHRvIGNvbGxlY3QgYWxsIHRoZSBtZXNzYWdlcyBhbmQgZGlzcGxheSB0aGVtIGF0XG4vLy8gdGhlIGVuZCBvZiB0aGUgZmlsZSBpbnN0ZWFkIG9mIGJyaW5naW5nIGl0IHVwIHBlci1jb21wb25lbnQuXG4vLy9cbi8vLyBJZiBhIGNvbnN1bWVyIGluc3RlYWQgZ2V0cyB0aGUgY29tcG9uZW50cyBieSBpbXBvcnRpbmcgdGhlIHBhcnRpYWwgZGlyZWN0bHksXG4vLy8gdGhpcyB2YXJpYWJsZSBfd2lsbCBub3RfIGJlIHNldCB0byB0cnVlLCBzbyB0aGUgZGVwcmVjYXRpb24gbWVzc2FnZSB3aWxsIGJlXG4vLy8gZGlzcGxheWVkIGFmdGVyIHRoZSBAaW1wb3J0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIEJvb2xcbi8vLyBAZ3JvdXAgZ2xvYmFsLWRlcHJlY2F0ZVxuJGRlcHJlY2F0aW9ucy0tZW50cnk6IHRydWU7XG5cbi8vLyBDb2xsZWN0IGFsbCBkZXByZWNhdGlvbiByZWFzb25zIGludG8gdGhpcyBsaXN0IHRocm91Z2hvdXQgdGhlIGltcG9ydCBjeWNsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBNYXBcbi8vLyBAZ3JvdXAgZ2xvYmFsLWRlcHJlY2F0ZVxuJGRlcHJlY2F0aW9ucy0tcmVhc29uczogKCk7XG5cbi8vLyBUaGlzIG1lc3NhZ2Ugd2lsbCBiZSBwcmVwZW5kZWQgdG8gYW55IGRlcHJlY2F0aW9uIG5vdGljZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAZ3JvdXAgZ2xvYmFsLWRlcHJlY2F0ZVxuJGRlcHJlY2F0aW9ucy0tbWVzc2FnZTogXCJEZXByZWNhdGVkIGNvZGUgd2FzIGZvdW5kLCB0aGlzIGNvZGUgd2lsbCBiZSByZW1vdmVkIGJlZm9yZSB0aGUgbmV4dCByZWxlYXNlIG9mIENhcmJvbi5cIjtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyDwn42VIENvbXBvbmVudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZGVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveFwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvY29tYm8tYm94L2NvbWJvLWJveFwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZVwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaFwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy90ZXh0LWFyZWEvdGV4dC1hcmVhXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm1cIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2xpbmsvbGlua1wiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvbGlzdC1ib3gvbGlzdC1ib3hcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2xpc3QvbGlzdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmVkLWxpc3Qvc3RydWN0dXJlZC1saXN0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9jb2RlLXNuaXBwZXQvY29kZS1zbmlwcGV0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnVcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2NvbnRlbnQtc3dpdGNoZXIvY29udGVudC1zd2l0Y2hlclwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXJcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL21vZGFsL21vZGFsXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vaW5saW5lLW5vdGlmaWNhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3RvYXN0LW5vdGlmaWNhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy90YWJzL3RhYnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3RhZy90YWdcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvclwiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXJcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy90aWxlL3RpbGVcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9pbmxpbmUtbG9hZGluZy9pbmxpbmUtbG9hZGluZ1wiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1uYXYvcGFnaW5hdGlvbi1uYXZcIjtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyDwn5SsIEV4cGVyaW1lbnRhbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy91aS1zaGVsbC91aS1zaGVsbFwiO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIPCfmYggSGlkZGVuIChOb3QgZXhwb3NlZCBvbiB3ZWJzaXRlKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEN5Y2xlIHRocm91Z2ggYWxsIHRoZSBkZXByZWNhdGlvbiByZWFzb25zLCBpZiBhbnkgZXhpc3QsIHRoYXQgaGF2ZSBiZWVuXG4vLyBhY2N1bXVsYXRlZCB0aHJvdWdoIHRoZSBAaW1wb3J0IHByb2Nlc3MuXG5AaWYgKGxlbmd0aCgkZGVwcmVjYXRpb25zLS1yZWFzb25zKSA+IDApIHtcblx0JGRlcHJlY2F0aW9ucy0tbWVzc2FnZTogXCJcIjtcblx0QGVhY2ggJHJlYXNvbiBpbiAkZGVwcmVjYXRpb25zLS1yZWFzb25zIHtcblx0XHQkZGVwcmVjYXRpb25zLS1tZXNzYWdlOiBcIiN7JGRlcHJlY2F0aW9ucy0tbWVzc2FnZX0gUkVBU09OOiAjeyRyZWFzb259XCI7XG5cdH1cblxuXHRAd2FybiAkZGVwcmVjYXRpb25zLS1tZXNzYWdlO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgIENhdGVnb3J5ICAgICAgICAgICAgIHx8ICBEZXNjcmlwdGlvblxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgIE1pc2MgICAgICAgICAgICAgICAgIHx8ICBHZW5lcmFsIGhlbHBlciBAbWl4aW5zXG4vLyAgIERlcHJlY2F0ZWQgICAgICAgICAgIHx8ICBOb3QgdXNlZCBhbnltb3JlXG4vLyAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAndmFycyc7XG5AaW1wb3J0ICdjc3MtLXJlc2V0JztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIEFkZHMgdGV4dCBvdmVyZmxvdyBzdHlsaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFtmYWxzZV0gLSBWYWx1ZSBvZiB3aWR0aCBpZiB5b3Ugd2FudCB0byBzZXQgd2lkdGgsIGVsc2Ugbm90aGluZ1xuLy8vIEBleGFtcGxlIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3coMzAwcHgpO1xuLy8vIEBncm91cCBnbG9iYWwtaGVscGVyc1xuQG1peGluIHRleHQtb3ZlcmZsb3coJHdpZHRoOiBmYWxzZSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBhcHBseSBhIHdpZHRoIGlmIHdpZHRoIHBhcmFtZXRlciBleGlzdHNcbiAgQGlmICgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG59XG5cbi8vLyBBZGRzIHBsYWNlaG9sZGVyIHRleHQgY29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2l6ZSBbJ3NtYWxsJ10gLSBTaXplIG9mIGJveCBzaGFkb3dcbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcnM7XG4vLy8gQGdyb3VwIGdsb2JhbC1oZWxwZXJzXG5AbWl4aW4gcGxhY2Vob2xkZXItY29sb3JzIHtcbiAgY29sb3I6ICR0ZXh0LTAzO1xufVxuXG4vLy8gQWRkcyBzbWFsbCBvciBsYXJnZSBib3ggc2hhZG93XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNpemUgWydzbWFsbCddIC0gc2l6ZSBvZiBib3ggc2hhZG93XG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgYm94LXNoYWRvdygpOyBAaW5jbHVkZSBib3gtc2hhZG93KCdsYXJnZScpO1xuLy8vIEBncm91cCBnbG9iYWwtaGVscGVyc1xuQG1peGluIGJveC1zaGFkb3coJHNpemU6ICdzbWFsbCcpIHtcbiAgLy8gTGFyZ2UgLSBGb3IgZHJvcGRvd25zXG4gIEBpZiAoJHNpemUgPT0gJ2xhcmdlJykge1xuICAgIGJveC1zaGFkb3c6IDZweCA2cHggNnB4IDAgJGJveC1zaGFkb3c7XG4gIH1cblxuICBAaWYgKCRzaXplID09ICdzbWFsbCcpIHtcbiAgICBib3gtc2hhZG93OiAwcHggM3B4IDNweCAwICRib3gtc2hhZG93O1xuICB9XG59XG5cbi8vLyBBZGRzIG91dGxpbmUgc3R5bGVzIGRlcGVuZGluZyBvbiBzcGVjaWZpYyB0eXBlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWydib3JkZXInXSAtIFR5cGUgb2Ygb3V0bGluZSBmcm9tOiBgYm9yZGVyYCwgYGJsdXJyZWRgLCBgb3V0bGluZWAsIGBpbnZhbGlkYCwgYHJlc2V0YFxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbi8vLyBAZ3JvdXAgZ2xvYmFsLWhlbHBlcnNcbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCR0eXBlOiAnYm9yZGVyJykge1xuICBAaWYgKCR0eXBlID09ICdib3JkZXInKSB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkICRmb2N1cztcbiAgfVxuXG4gIEBpZiAoJHR5cGUgPT0gJ2JsdXJyZWQnKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICRmb2N1cztcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAaWYgKCR0eXBlID09ICdvdXRsaW5lJykge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9jdXM7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cblxuICBAaWYgKCR0eXBlID09ICdvdXRsaW5lLWNvbXBhdCcpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZm9jdXM7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHR5cGUgPT0gJ2ludmFsaWQnKSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRzdXBwb3J0LTAxO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICB9XG5cbiAgQGlmICgkdHlwZSA9PSAncmVzZXQnKSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICB9XG59XG5cbi8vLyBBZGRzIHJvdGF0aW9uYWwgdHJhbnNmb3JtYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnIC0gSG93IG1hbnkgZGVncmVlcyB0byByb3RhdGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwZWVkIC0gU3BlZWQgb2Ygcm90YXRpb25cbi8vLyBAcGFyYW0ge1ZhbHVlfSAkb3JpZ2luIFtjZW50ZXJdIC0gYHRyYW5zZm9ybS1vcmlnaW5gXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgcm90YXRlKDkwZGVnLCAzMDBtcyk7XG4vLy8gQGdyb3VwIGdsb2JhbC1oZWxwZXJzXG5AbWl4aW4gcm90YXRlKCRkZWcsICRzcGVlZCwgJG9yaWdpbjogY2VudGVyKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKCRkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHNwZWVkO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gaGlkZSBjb250ZW50XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZ2xvYmFsLWhlbHBlcnNcbkBtaXhpbiBoaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8vIFJlc2V0cyBidXR0b24gc3R5bGVzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge0Jvb2x9ICR3aWR0aCBbdHJ1ZV0gLSBTZXRzIHdpZHRoIHRvIDEwMCUgaWYgdHJ1ZVxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGJ1dHRvbi1yZXNldCgkd2lkdGg6IGZhbHNlKTtcbi8vLyBAZ3JvdXAgZ2xvYmFsLWhlbHBlcnNcbkBtaXhpbiBidXR0b24tcmVzZXQoJHdpZHRoOiB0cnVlKSB7XG4gIEBpbmNsdWRlIHJlc2V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpZiAoJHdpZHRoID09IHRydWUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLy8gU2tlbGV0b24gbG9hZGluZyBhbmltYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBleGFtcGxlIEBpbmNsdWRlIHNrZWxldG9uO1xuLy8vIEBncm91cCBnbG9iYWwtaGVscGVyc1xuQG1peGluIHNrZWxldG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkc2tlbGV0b24tMDE7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkc2tlbGV0b24tMDI7XG4gICAgYW5pbWF0aW9uOiAzMDAwbXMgZWFzZS1pbi1vdXQgc2tlbGV0b24gaW5maW5pdGU7XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdza2VsZXRvbicpIHtcbiAgQGtleWZyYW1lcyBza2VsZXRvbiB7XG4gICAgMCUge1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cbiAgICAyMCUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAyOCUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIDUxJSB7XG4gICAgICB3aWR0aDogMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIDU4JSB7XG4gICAgICB3aWR0aDogMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIDgyJSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgODMlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICA5NiUge1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICd2YXJzJztcbkBpbXBvcnQgJy4vdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2hlbHBlci1jbGFzc2VzJykge1xuICAuI3skcHJlZml4fS0tdGV4dC10cnVuY2F0ZS0tZW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtdHJ1bmNhdGUtLWZyb250IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAndmFycyc7XG5AaW1wb3J0ICdjc3MtLXJlc2V0JztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIEluY2x1ZGUgc3R5bGVzIGZvciBzY3JlZW4gcmVhZGVyL2Fzc2lzdGl2ZSB0ZXh0XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZ2xvYmFsLWhlbHBlcnNcbkBtaXhpbiBjc3MtaGVscGVycyB7XG4gIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCxcbiAgLiN7JHByZWZpeH0tLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYm9keSB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjc3MtLWhlbHBlcnMnKSB7XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMoJ2Nzcy0taGVscGVycycpID09IGZhbHNlIG9yICRjc3MtLWhlbHBlcnMgPT0gdHJ1ZSB7XG4gICAgQGluY2x1ZGUgY3NzLWhlbHBlcnM7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL3R5cGUvcmVzZXQnO1xuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ljb25zL21peGlucyc7XG5cbi8vLyBSZXNldHMgZGVmYXVsdCBicm93c2VyIHN0eWxpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtcmVzZXRcbkBtaXhpbiByZXNldCB7XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMoY3NzLS1yZXNldCkgPT0gZmFsc2Ugb3IgJGNzcy0tcmVzZXQgPT0gZmFsc2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnY3NzLS1yZXNldCcpIHtcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhjc3MtLXJlc2V0KSA9PSBmYWxzZSBvciAkY3NzLS1yZXNldCA9PSB0cnVlIHtcbiAgICAvLyBodHRwOi8vY3NzcmVzZXQuY29tL3NjcmlwdHMvZXJpYy1tZXllci1yZXNldC1jc3MvXG4gICAgaHRtbCxcbiAgICBib2R5LFxuICAgIGRpdixcbiAgICBzcGFuLFxuICAgIGFwcGxldCxcbiAgICBvYmplY3QsXG4gICAgaWZyYW1lLFxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICBwcmUsXG4gICAgYSxcbiAgICBhYmJyLFxuICAgIGFjcm9ueW0sXG4gICAgYWRkcmVzcyxcbiAgICBiaWcsXG4gICAgY2l0ZSxcbiAgICBjb2RlLFxuICAgIGRlbCxcbiAgICBkZm4sXG4gICAgZW0sXG4gICAgaW1nLFxuICAgIGlucyxcbiAgICBrYmQsXG4gICAgcSxcbiAgICBzLFxuICAgIHNhbXAsXG4gICAgc21hbGwsXG4gICAgc3RyaWtlLFxuICAgIHN0cm9uZyxcbiAgICBzdWIsXG4gICAgc3VwLFxuICAgIHR0LFxuICAgIHZhcixcbiAgICBiLFxuICAgIHUsXG4gICAgaSxcbiAgICBjZW50ZXIsXG4gICAgZGwsXG4gICAgZHQsXG4gICAgZGQsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgbGksXG4gICAgZmllbGRzZXQsXG4gICAgZm9ybSxcbiAgICBsYWJlbCxcbiAgICBsZWdlbmQsXG4gICAgdGFibGUsXG4gICAgY2FwdGlvbixcbiAgICB0Ym9keSxcbiAgICB0Zm9vdCxcbiAgICB0aGVhZCxcbiAgICB0cixcbiAgICB0aCxcbiAgICB0ZCxcbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGNhbnZhcyxcbiAgICBkZXRhaWxzLFxuICAgIGVtYmVkLFxuICAgIGZpZ3VyZSxcbiAgICBmaWdjYXB0aW9uLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgaGdyb3VwLFxuICAgIG1lbnUsXG4gICAgbmF2LFxuICAgIG91dHB1dCxcbiAgICBydWJ5LFxuICAgIHNlY3Rpb24sXG4gICAgc3VtbWFyeSxcbiAgICB0aW1lLFxuICAgIG1hcmssXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLy8gQ2hyb21lIDYyIGZpeFxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QsXG4gICAgaW5wdXRbdHlwZT0nYnV0dG9uJ10sXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10sXG4gICAgaW5wdXRbdHlwZT0ncmVzZXQnXSxcbiAgICBpbnB1dFt0eXBlPSdmaWxlJ10sXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXTo6LW1zLWNsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZGV0YWlscyxcbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIGhncm91cCxcbiAgICBtYWluLFxuICAgIG1lbnUsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgYm9keSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgIH1cblxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSxcbiAgICBxIHtcbiAgICAgIHF1b3Rlczogbm9uZTtcbiAgICB9XG5cbiAgICBibG9ja3F1b3RlOmJlZm9yZSxcbiAgICBibG9ja3F1b3RlOmFmdGVyLFxuICAgIHE6YmVmb3JlLFxuICAgIHE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICAqIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS10eXBlLXJlc2V0O1xuICAgIEBpbmNsdWRlIGNhcmJvbi0taWNvbnM7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnY3NzLS1kZWZhdWx0LXR5cGUnKSB7XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMoY3NzLS1kZWZhdWx0LXR5cGUpID09IGZhbHNlIG9yICRjc3MtLWRlZmF1bHQtdHlwZSA9PSB0cnVlXG4gIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWRlZmF1bHQtdHlwZTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxOCwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uL2xheW91dC9icmVha3BvaW50JztcbkBpbXBvcnQgJ3NjYWxlJztcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGNhcHRpb24tMDE6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMSksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXG4gIGxpbmUtaGVpZ2h0OiBjYXJib24tLXJlbSgxNnB4KSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRsYWJlbC0wMTogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxKSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDE2cHgpLFxuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGhlbHBlci10ZXh0LTAxOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDEpLFxuICBmb250LXN0eWxlOiBpdGFsaWMsXG4gIGxpbmUtaGVpZ2h0OiBjYXJib24tLXJlbSgxNnB4KSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRib2R5LXNob3J0LTAxOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDIpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgncmVndWxhcicpLFxuICBsaW5lLWhlaWdodDogY2FyYm9uLS1yZW0oMThweCksXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kYm9keS1sb25nLTAxOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDIpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgncmVndWxhcicpLFxuICBsaW5lLWhlaWdodDogY2FyYm9uLS1yZW0oMjBweCksXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kYm9keS1zaG9ydC0wMjogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgzKSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDIycHgpLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRib2R5LWxvbmctMDI6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMyksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXG4gIGxpbmUtaGVpZ2h0OiBjYXJib24tLXJlbSgyNHB4KSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kY29kZS0wMTogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxKSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDE2cHgpLFxuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGNvZGUtMDI6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMiksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXG4gIGxpbmUtaGVpZ2h0OiBjYXJib24tLXJlbSgyMHB4KSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRoZWFkaW5nLTAxOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDIpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDE4cHgpLFxuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJHByb2R1Y3RpdmUtaGVhZGluZy0wMTogJGhlYWRpbmctMDEgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRoZWFkaW5nLTAyOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDMpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDIycHgpLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDI6ICRoZWFkaW5nLTAyICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTAzOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDUpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgncmVndWxhcicpLFxuICBsaW5lLWhlaWdodDogY2FyYm9uLS1yZW0oMjZweCksXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJHByb2R1Y3RpdmUtaGVhZGluZy0wNDogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg3KSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDM2cHgpLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDU6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoOCksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXG4gIGxpbmUtaGVpZ2h0OiBjYXJib24tLXJlbSg0MHB4KSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTA2OiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDgpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnbGlnaHQnKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDUwcHgpLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDc6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTApLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnbGlnaHQnKSxcbiAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDY0cHgpLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRleHByZXNzaXZlLWhlYWRpbmctMDE6ICRoZWFkaW5nLTAxICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTAyOiAkaGVhZGluZy0wMiAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGV4cHJlc3NpdmUtaGVhZGluZy0wMzogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg1KSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IDEzMCUsXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuICBicmVha3BvaW50czogKFxuICAgIHhsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoNSksXG4gICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICApLFxuICAgIG1heDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoNiksXG4gICAgKSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRleHByZXNzaXZlLWhlYWRpbmctMDQ6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoNyksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXG4gIGxpbmUtaGVpZ2h0OiAxMjklLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbiAgYnJlYWtwb2ludHM6IChcbiAgICB4bGc6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDcpLFxuICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgKSxcbiAgICBtYXg6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDgpLFxuICAgICksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTA1OiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDgpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgncmVndWxhcicpLFxuICBsaW5lLWhlaWdodDogMTI1JSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXG4gIGJyZWFrcG9pbnRzOiAoXG4gICAgbWQ6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDkpLFxuICAgICAgbGluZS1oZWlnaHQ6IDEyMiUsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTApLFxuICAgICAgbGluZS1oZWlnaHQ6IDExOSUsXG4gICAgKSxcbiAgICB4bGc6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDExKSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTclLFxuICAgICksXG4gICAgbWF4OiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMyksXG4gICAgKSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRleHByZXNzaXZlLWhlYWRpbmctMDY6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoOCksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdzZW1pYm9sZCcpLFxuICBsaW5lLWhlaWdodDogMTI1JSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXG4gIGJyZWFrcG9pbnRzOiAoXG4gICAgbWQ6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDkpLFxuICAgICAgbGluZS1oZWlnaHQ6IDEyMiUsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTApLFxuICAgICAgbGluZS1oZWlnaHQ6IDExOSUsXG4gICAgKSxcbiAgICB4bGc6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDExKSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTclLFxuICAgICksXG4gICAgbWF4OiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMyksXG4gICAgKSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRleHByZXNzaXZlLXBhcmFncmFwaC0wMTogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg2KSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ2xpZ2h0JyksXG4gIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbiAgYnJlYWtwb2ludHM6IChcbiAgICBsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoNyksXG4gICAgICBsaW5lLWhlaWdodDogMTI5JSxcbiAgICApLFxuICAgIG1heDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoOCksXG4gICAgICBsaW5lLWhlaWdodDogMTI1JSxcbiAgICApLFxuICApLFxuKTtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJHF1b3RhdGlvbi0wMTogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg1KSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcbiAgbGluZS1oZWlnaHQ6IDEzMCUsXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuICBicmVha3BvaW50czogKFxuICAgIG1kOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg1KSxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg2KSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICksXG4gICAgeGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg3KSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjklLFxuICAgICksXG4gICAgbWF4OiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg4KSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kcXVvdGF0aW9uLTAyOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDgpLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnbGlnaHQnKSxcbiAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuICBicmVha3BvaW50czogKFxuICAgIG1kOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSg5KSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjIlLFxuICAgICksXG4gICAgbGc6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDEwKSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTklLFxuICAgICksXG4gICAgeGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMSksXG4gICAgICBsaW5lLWhlaWdodDogMTE3JSxcbiAgICApLFxuICAgIG1heDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTMpLFxuICAgICksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kZGlzcGxheS0wMTogKFxuICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMCksXG4gIGZvbnQtd2VpZ2h0OiBjYXJib24tLWZvbnQtd2VpZ2h0KCdsaWdodCcpLFxuICBsaW5lLWhlaWdodDogMTE5JSxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXG4gIGJyZWFrcG9pbnRzOiAoXG4gICAgbWQ6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDEwKSxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMiksXG4gICAgKSxcbiAgICB4bGc6IChcbiAgICAgIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDEzKSxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTclLFxuICAgICksXG4gICAgbWF4OiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxNSksXG4gICAgICBsaW5lLWhlaWdodDogMTEzJSxcbiAgICApLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGRpc3BsYXktMDI6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTApLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcbiAgbGluZS1oZWlnaHQ6IDExOSUsXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuICBicmVha3BvaW50czogKFxuICAgIG1kOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMCksXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTIpLFxuICAgICksXG4gICAgeGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxMyksXG4gICAgICBsaW5lLWhlaWdodDogMTE2JSxcbiAgICApLFxuICAgIG1heDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTUpLFxuICAgICAgbGluZS1oZWlnaHQ6IDExMyUsXG4gICAgKSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRkaXNwbGF5LTAzOiAoXG4gIGZvbnQtc2l6ZTogY2FyYm9uLS10eXBlLXNjYWxlKDEwKSxcbiAgZm9udC13ZWlnaHQ6IGNhcmJvbi0tZm9udC13ZWlnaHQoJ2xpZ2h0JyksXG4gIGxpbmUtaGVpZ2h0OiAxMTklLFxuICBsZXR0ZXItc3BhY2luZzogMCxcbiAgYnJlYWtwb2ludHM6IChcbiAgICBtZDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTQpLFxuICAgICAgbGluZS1oZWlnaHQ6IDExNSUsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTcpLFxuICAgICAgbGluZS1oZWlnaHQ6IDExMSUsXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcbiAgICApLFxuICAgIHhsZzogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMjApLFxuICAgICAgbGluZS1oZWlnaHQ6IDEwNyUsXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcbiAgICApLFxuICAgIG1heDogKFxuICAgICAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMjMpLFxuICAgICAgbGluZS1oZWlnaHQ6IDEwNSUsXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuOTZweCxcbiAgICApLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuJGRpc3BsYXktMDQ6IChcbiAgZm9udC1zaXplOiBjYXJib24tLXR5cGUtc2NhbGUoMTApLFxuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcbiAgbGluZS1oZWlnaHQ6IDExOSUsXG4gIGxldHRlci1zcGFjaW5nOiAwLFxuICBicmVha3BvaW50czogKFxuICAgIG1kOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxNCksXG4gICAgICBsaW5lLWhlaWdodDogMTE1JSxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgxNyksXG4gICAgICBsaW5lLWhlaWdodDogMTExJSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42NHB4LFxuICAgICksXG4gICAgeGxnOiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgyMCksXG4gICAgICBsaW5lLWhlaWdodDogMTA3JSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42NHB4LFxuICAgICksXG4gICAgbWF4OiAoXG4gICAgICBmb250LXNpemU6IGNhcmJvbi0tdHlwZS1zY2FsZSgyMyksXG4gICAgICBsaW5lLWhlaWdodDogMTA1JSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC45NnB4LFxuICAgICksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kdG9rZW5zOiAoXG4gIGNhcHRpb24tMDE6ICRjYXB0aW9uLTAxLFxuICBsYWJlbC0wMTogJGxhYmVsLTAxLFxuICBoZWxwZXItdGV4dC0wMTogJGhlbHBlci10ZXh0LTAxLFxuICBib2R5LXNob3J0LTAxOiAkYm9keS1zaG9ydC0wMSxcbiAgYm9keS1zaG9ydC0wMjogJGJvZHktc2hvcnQtMDIsXG4gIGJvZHktbG9uZy0wMTogJGJvZHktbG9uZy0wMSxcbiAgYm9keS1sb25nLTAyOiAkYm9keS1sb25nLTAyLFxuICBjb2RlLTAxOiAkY29kZS0wMSxcbiAgY29kZS0wMjogJGNvZGUtMDIsXG4gIGhlYWRpbmctMDE6ICRoZWFkaW5nLTAxLFxuICBoZWFkaW5nLTAyOiAkaGVhZGluZy0wMixcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTAxOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAxLFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDI6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDIsXG4gIHByb2R1Y3RpdmUtaGVhZGluZy0wMzogJHByb2R1Y3RpdmUtaGVhZGluZy0wMyxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA0OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA0LFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDU6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDUsXG4gIHByb2R1Y3RpdmUtaGVhZGluZy0wNjogJHByb2R1Y3RpdmUtaGVhZGluZy0wNixcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA3OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA3LFxuICBleHByZXNzaXZlLXBhcmFncmFwaC0wMTogJGV4cHJlc3NpdmUtcGFyYWdyYXBoLTAxLFxuICBleHByZXNzaXZlLWhlYWRpbmctMDE6ICRleHByZXNzaXZlLWhlYWRpbmctMDEsXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wMjogJGV4cHJlc3NpdmUtaGVhZGluZy0wMixcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTAzOiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTAzLFxuICBleHByZXNzaXZlLWhlYWRpbmctMDQ6ICRleHByZXNzaXZlLWhlYWRpbmctMDQsXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wNTogJGV4cHJlc3NpdmUtaGVhZGluZy0wNSxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTA2OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA2LFxuICBxdW90YXRpb24tMDE6ICRxdW90YXRpb24tMDEsXG4gIHF1b3RhdGlvbi0wMjogJHF1b3RhdGlvbi0wMixcbiAgZGlzcGxheS0wMTogJGRpc3BsYXktMDEsXG4gIGRpc3BsYXktMDI6ICRkaXNwbGF5LTAyLFxuICBkaXNwbGF5LTAzOiAkZGlzcGxheS0wMyxcbiAgZGlzcGxheS0wNDogJGRpc3BsYXktMDQsXG4pO1xuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbkBtaXhpbiBwcm9wZXJ0aWVzKCRtYXApIHtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAjeyRuYW1lfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTnVtYmVyIHdpdGggdW5pdHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFdpdGhvdXQgdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XG59XG5cbi8vLyBUaGlzIGhlbHBlciBpbmNsdWRlcyBmbHVpZCB0eXBlIHN0eWxlcyBmb3IgdGhlIGdpdmVuIHRva2VuIHZhbHVlLiBGbHVpZCB0eXBlXG4vLy8gbWVhbnMgdGhhdCB0aGUgYGZvbnQtc2l6ZWAgaXMgY29tcHV0ZWQgdXNpbmcgYGNhbGMoKWAgaW4gb3JkZXIgdG8gYmVcbi8vLyBkZXRlcm1pbmVkIGJ5IHRoZSBzY3JlZW4gc2l6ZSBpbnN0ZWFkIG9mIGEgYnJlYWtwb2ludC4gQXMgYSByZXN1bHQsIGZsdWlkXG4vLy8gc3R5bGVzIHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBpbiBmaXhlZCB3aWR0aCBjb250ZXh0cy5cbi8vL1xuLy8vIEluIGFkZGl0aW9uLCB3ZSBtYWtlIHVzZSBvZiAlLWJhc2VkIGxpbmUtaGVpZ2h0cyBzbyB0aGF0IHRoZSBsaW5lLWhlaWdodCBvZlxuLy8vIGVhY2ggdHlwZSBzdHlsZSBpcyBjb21wdXRlZCBjb3JyZWN0bHkgZHVlIHRvIHRoZSBkeW5hbWljIG5hdHVyZSBvZiB0aGVcbi8vLyBgZm9udC1zaXplYC5cbi8vL1xuLy8vIE1vc3Qgb2YgdGhlIGxvZ2ljIGZvciB0aGlzIHdvcmsgY29tZXMgZnJvbSBDU1MgVHJpY2tzOlxuLy8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL2ZsdWlkLXR5cG9ncmFwaHkvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR5cGUtc3R5bGVzIC0gVGhlIHZhbHVlIG9mIGEgZ2l2ZW4gdHlwZSB0b2tlblxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQ3VzdG9tIGJyZWFrcG9pbnRzIHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuQG1peGluIGZsdWlkLXR5cGUoJHR5cGUtc3R5bGVzLCAkYnJlYWtwb2ludHM6ICRjYXJib24tLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gSW5jbHVkZSB0aGUgaW5pdGlhbCBzdHlsZXMgZm9yIHRoZSBnaXZlbiB0b2tlbiBieSBkZWZhdWx0IHdpdGhvdXQgYW55XG4gIC8vIG1lZGlhIHF1ZXJ5IGd1YXJkLiBUaGlzIGluY2x1ZGVzIGBmb250LXNpemVgIGFzIGEgZmFsbGJhY2sgaW4gdGhlIGNhc2VcbiAgLy8gdGhhdCBhIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBgY2FsYygpYFxuICBAaW5jbHVkZSBwcm9wZXJ0aWVzKG1hcC1yZW1vdmUoJHR5cGUtc3R5bGVzLCBicmVha3BvaW50cykpO1xuICAvLyBXZSBhbHNvIG5lZWQgdG8gaW5jbHVkZSB0aGUgYHNtYCBzdHlsZXMgYnkgZGVmYXVsdCBzaW5jZSB0aGV5IGRvbid0XG4gIC8vIGFwcGVhciBpbiB0aGUgZmx1aWQgc3R5bGVzIGZvciB0b2tlbnNcbiAgQGluY2x1ZGUgZmx1aWQtdHlwZS1zaXplKCR0eXBlLXN0eWxlcywgc20sICRicmVha3BvaW50cyk7XG5cbiAgLy8gRmluYWxseSwgd2UgbmVlZCB0byBnbyB0aHJvdWdoIGFsbCB0aGUgYnJlYWtwb2ludHMgZGVmaW5lZCBpbiB0aGUgdHlwZVxuICAvLyB0b2tlbiBhbmQgYXBwbHkgdGhlIHByb3BlcnRpZXMgYW5kIGZsdWlkIHR5cGUgc2l6ZSBmb3IgdGhhdCBnaXZlblxuICAvLyBicmVha3BvaW50XG4gIEBlYWNoICRuYW1lLCAkdmFsdWVzIGluIG1hcC1nZXQoJHR5cGUtc3R5bGVzLCBicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGluY2x1ZGUgcHJvcGVydGllcygkdmFsdWVzKTtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUtc2l6ZSgkdHlwZS1zdHlsZXMsICRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29tcHV0ZXMgdGhlIGZsdWlkIGBmb250LXNpemVgIGZvciBhIGdpdmVuIHR5cGUgc3R5bGUgYW5kIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge01hcH0gJHR5cGUtc3R5bGVzIC0gVGhlIHN0eWxlcyBmb3IgYSBnaXZlbiB0b2tlblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHdoaWNoIHdlIGFwcGx5IHRoZSBmbHVpZFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gVGhlIGJyZWFrcG9pbnRzIGZvciB0aGUgZ3JpZCBzeXN0ZW1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbkBtaXhpbiBmbHVpZC10eXBlLXNpemUoXG4gICR0eXBlLXN0eWxlcyxcbiAgJG5hbWUsXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIC8vIEdldCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyZWFrcG9pbnQgd2UncmUgY3VycmVudGx5IHdvcmtpbmcgaW4uIFVzZWZ1bFxuICAvLyBmb3IgZ2V0dGluZyBpbml0aWFsIHdpZHRoIGluZm9ybWF0aW9uXG4gICRicmVha3BvaW50OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIC8vIE91ciBmbHVpZCBzdHlsZXMgYXJlIGNhcHR1cmVkIHVuZGVyIHRoZSAnYnJlYWtwb2ludHMnIHByb3BlcnR5IGluIG91ciB0eXBlXG4gIC8vIHN0eWxlcyBtYXAuIFRoZXNlIGRlZmluZSB3aGF0IHZhbHVlcyB0byB0cmVhdCBhcyBgbWF4LWAgdmFyaWFibGVzIGJlbG93XG4gICRmbHVpZC1zaXplczogbWFwLWdldCgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKTtcbiAgJGZsdWlkLWJyZWFrcG9pbnQ6ICgpO1xuICAvLyBTcGVjaWFsIGNhc2UgZm9yIGBzbWAgYmVjYXVzZSB0aGUgc3R5bGVzIGZvciBzbWFsbCBhcmUgb24gdGhlIHR5cGUgc3R5bGVcbiAgLy8gZGlyZWN0bHlcbiAgQGlmICRuYW1lID09IHNtIHtcbiAgICAkZmx1aWQtYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZsdWlkLWJyZWFrcG9pbnQ6IG1hcC1nZXQoJGZsdWlkLXNpemVzLCAkbmFtZSk7XG4gIH1cblxuICAvLyBJbml0aWFsaXplIG91ciBmb250LXNpemVzIHRvIHRoZSBkZWZhdWx0IHNpemUgZm9yIHRoZSB0eXBlIHN0eWxlXG4gICRtYXgtZm9udC1zaXplOiBtYXAtZ2V0KCR0eXBlLXN0eWxlcywgZm9udC1zaXplKTtcbiAgJG1pbi1mb250LXNpemU6IG1hcC1nZXQoJHR5cGUtc3R5bGVzLCBmb250LXNpemUpO1xuICBAaWYgbWFwLWhhcy1rZXkoJGZsdWlkLWJyZWFrcG9pbnQsIGZvbnQtc2l6ZSkge1xuICAgICRtaW4tZm9udC1zaXplOiBtYXAtZ2V0KCRmbHVpZC1icmVha3BvaW50LCBmb250LXNpemUpO1xuICB9XG5cbiAgLy8gSW5pdGlhbGl6ZSBvdXIgbWluIGFuZCBtYXggd2lkdGggdG8gdGhlIHdpZHRoIG9mIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgJG1heC12dzogbWFwLWdldCgkYnJlYWtwb2ludCwgd2lkdGgpO1xuICAkbWluLXZ3OiBtYXAtZ2V0KCRicmVha3BvaW50LCB3aWR0aCk7XG5cbiAgLy8gV2UgY2FuIHVzZSBgYnJlYWtwb2ludC1uZXh0YCB0byBzZWUgaWYgdGhlcmUgaXMgYW5vdGhlciBicmVha3BvaW50IHdlIGNhblxuICAvLyB1c2UgdG8gdXBkYXRlIGBtYXgtZm9udC1zaXplYCBhbmQgYG1heC12d2Agd2l0aCBsYXJnZXIgdmFsdWVzXG4gICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlOiBjYXJib24tLWJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lOiBudWxsO1xuXG4gIC8vIFdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IHRoZSBuZXh0IGF2YWlsYWJsZSBmbHVpZCBicmVha3BvaW50IGlzIGZvciBvdXJcbiAgLy8gZ2l2ZW4gJHR5cGUtc3R5bGVzLiBJbiB0aGlzIGxvb3Agd2UgdHJ5IGFuZCBpdGVyYXRlIHRocm91Z2ggYnJlYWtwb2ludHNcbiAgLy8gdW50aWwgd2UgZWl0aGVyIG1hbnVhbGx5IHNldCAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZSB0byBudWxsIG9yXG4gIC8vIGBicmVha3BvaW50LW5leHRgIHJldHVybnMgbnVsbC5cbiAgQHdoaWxlICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGZsdWlkLXNpemVzLCAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZSkge1xuICAgICAgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lOiAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZTtcbiAgICAgICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlOiBudWxsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGU6IGNhcmJvbi0tYnJlYWtwb2ludC1uZXh0KFxuICAgICAgICAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZSxcbiAgICAgICAgJGJyZWFrcG9pbnRzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlIGhhdmUgZm91bmQgdGhlIG5leHQgYXZhaWxhYmxlIGZsdWlkIGJyZWFrcG9pbnQgbmFtZSwgdGhlbiB3ZSBrbm93XG4gIC8vIHRoYXQgd2UgaGF2ZSB2YWx1ZXMgdGhhdCB3ZSBjYW4gdXNlIHRvIHNldCBtYXgtZm9udC1zaXplIGFuZCBtYXgtdncgYXMgYm90aFxuICAvLyB2YWx1ZXMgZGVyaXZlIGZyb20gdGhlIG5leHQgYnJlYWtwb2ludFxuICBAaWYgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lIHtcbiAgICAkbmV4dC1mbHVpZC1icmVha3BvaW50OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lKTtcbiAgICAkbWF4LWZvbnQtc2l6ZTogbWFwLWdldChcbiAgICAgIG1hcC1nZXQoJGZsdWlkLXNpemVzLCAkbmV4dC1mbHVpZC1icmVha3BvaW50LW5hbWUpLFxuICAgICAgZm9udC1zaXplXG4gICAgKTtcbiAgICAkbWF4LXZ3OiBtYXAtZ2V0KCRuZXh0LWZsdWlkLWJyZWFrcG9pbnQsIHdpZHRoKTtcblxuICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArXG4gICAgICAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICpcbiAgICAgICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KVxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSwganVzdCBkZWZhdWx0IHRvIHNldHRpbmcgdGhlIGZvbnQgc2l6ZSBmb3VuZCBmcm9tIHRoZSB0eXBlXG4gICAgLy8gc3R5bGUgb3IgdGhlIGdpdmVuIGZsdWlkIGJyZWFrcG9pbnQgaW4gdGhlIHR5cGUgc3R5bGVcbiAgICBmb250LXNpemU6ICRtaW4tZm9udC1zaXplO1xuICB9XG59XG5cbi8vLyBIZWxwZXIgbWl4aW4gdG8gaW5jbHVkZSB0aGUgc3R5bGVzIGZvciBhIGdpdmVuIHRva2VuIGluIGFueSBzZWxlY3RvciBpbiB5b3VyXG4vLy8gcHJvamVjdC4gQWxzbyBpbmNsdWRlcyBhbiBvcHRpb25hbCBmbHVpZCBvcHRpb24gdGhhdCB3aWxsIGVuYWJsZSBmbHVpZFxuLy8vIHN0eWxlcyBmb3IgdGhlIHRva2VuIGlmIHRoZXkgYXJlIGRlZmluZWQuIEZsdWlkIHN0eWxlcyB3aWxsIGNhdXNlIHRoZVxuLy8vIHRva2VuJ3MgZm9udC1zaXplIHRvIGJlIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSB2aWV3cG9ydCBzaXplLiBBcyBhIHJlc3VsdCwgdXNlXG4vLy8gd2l0aCBjYXV0aW9uIGluIGZpeGVkIGNvbnRleHRzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b2tlbiB0byBnZXQgdGhlIHN0eWxlcyBmb3Jcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmbHVpZCBbZmFsc2VdIC0gU3BlY2lmeSB3aGV0aGVyIHRvIGluY2x1ZGUgZmx1aWQgc3R5bGVzIGZvciB0aGVcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIFByb3ZpZGUgYSBjdXN0b20gYnJlYWtwb2ludCBtYXAgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG5AbWl4aW4gY2FyYm9uLS10eXBlLXN0eWxlKFxuICAkbmFtZSxcbiAgJGZsdWlkOiBmYWxzZSxcbiAgJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXG4pIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkdG9rZW5zLCAkbmFtZSkge1xuICAgIEBlcnJvciAnVW5hYmxlIHRvIGZpbmQgYSB0b2tlbiB3aXRoIHRoZSBuYW1lOiBgI3skbmFtZX1gJztcbiAgfVxuXG4gICR0b2tlbjogbWFwLWdldCgkdG9rZW5zLCAkbmFtZSk7XG5cbiAgLy8gSWYgJGZsdWlkIGlzIHNldCB0byB0cnVlIGFuZCB0aGUgdG9rZW4gaGFzIGJyZWFrcG9pbnRzIGRlZmluZWQgZm9yIGZsdWlkXG4gIC8vIHN0eWxlcywgZGVsZWdhdGUgdG8gdGhlIGZsdWlkLXR5cGUgaGVscGVyIGZvciB0aGUgZ2l2ZW4gdG9rZW5cbiAgQGlmICRmbHVpZCA9PSB0cnVlIGFuZCBtYXAtaGFzLWtleSgkdG9rZW4sICdicmVha3BvaW50cycpIHtcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKCR0b2tlbiwgJGJyZWFrcG9pbnRzKTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlLCB3ZSBqdXN0IGluY2x1ZGUgYWxsIHRoZSBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgZGlyZWN0bHkgb24gdGhlXG4gICAgLy8gc2VsZWN0b3JcbiAgICBAaW5jbHVkZSBwcm9wZXJ0aWVzKG1hcC1yZW1vdmUoJHRva2VuLCAnYnJlYWtwb2ludHMnKSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTgsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemVcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuJGNhcmJvbi0tYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IGEgZ2l2ZW4gcHggdW5pdCB0byBhIHJlbSB1bml0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIE51bWJlciB3aXRoIHB4IHVuaXRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IE51bWJlciB3aXRoIHJlbSB1bml0XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbkBmdW5jdGlvbiBjYXJib24tLXJlbSgkcHgpIHtcbiAgQHJldHVybiAoJHB4IC8gJGNhcmJvbi0tYmFzZS1mb250LXNpemUpICogMXJlbTtcbn1cblxuLy8vIENvbnZlcnQgYSBnaXZlbiBweCB1bml0IHRvIGEgZW0gdW5pdFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSBOdW1iZXIgd2l0aCBweCB1bml0XG4vLy8gQHJldHVybiB7TnVtYmVyfSBOdW1iZXIgd2l0aCBlbSB1bml0XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbkBmdW5jdGlvbiBjYXJib24tLWVtKCRweCkge1xuICBAcmV0dXJuICgkcHggLyAkY2FyYm9uLS1iYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE4LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZhbGxiYWNrcyBmb3I6IElCTSBQbGV4IE1vbm8sIElCTSBQbGV4IFNhbnMsIElCTSBQbGV4IFNhbnNcbi8vLyBDb25kZW5zZWQsIElCTSBQbGV4IFNhbnMgSGVicmV3LCBhbmQgSUJNIFBsZXggU2VyaWZcbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbiRjYXJib24tLWZvbnQtZmFtaWxpZXM6IChcbiAgJ21vbm8nOlxuICAgIHVucXVvdGUoXG4gICAgICBcIidJQk0gUGxleCBNb25vJywgJ01lbmxvJywgJ0RlamFWdSBTYW5zIE1vbm8nLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgQ291cmllciwgbW9ub3NwYWNlXCJcbiAgICApLFxuICAnc2Fucyc6IHVucXVvdGUoXCInSUJNIFBsZXggU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmXCIpLFxuICAnc2Fucy1jb25kZW5zZWQnOlxuICAgIHVucXVvdGUoXCInSUJNIFBsZXggU2FucyBDb25kZW5zZWQnLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZlwiKSxcbiAgJ3NhbnMtaGVicmV3JzpcbiAgICB1bnF1b3RlKFxuICAgICAgXCInSUJNIFBsZXggU2FucyBIZWJyZXcnLCAnSGVsdmV0aWNhIEhlYnJldycsICdBcmlhbCBIZWJyZXcnLCBzYW5zLXNlcmlmXCJcbiAgICApLFxuICAnc2VyaWYnOiB1bnF1b3RlKFwiJ0lCTSBQbGV4IFNlcmlmJywgJ0dlb3JnaWEnLCBUaW1lcywgc2VyaWZcIiksXG4pO1xuXG4vLy8gR2V0IHRoZSBmb250LWZhbWlseSBmb3IgYW4gSUJNIFBsZXggZm9udFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbkBmdW5jdGlvbiBjYXJib24tLWZvbnQtZmFtaWx5KCRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY2FyYm9uLS1mb250LWZhbWlsaWVzLCAkbmFtZSk7XG59XG5cbi8vLyBJbmNsdWRlIHRoZSBgZm9udC1mYW1pbHlgIGRlZmluaXRpb24gZm9yIHRoZSBnaXZlbiBuYW1lIGluIHlvdXIgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcbkBtaXhpbiBjYXJib24tLWZvbnQtZmFtaWx5KCRuYW1lKSB7XG4gIGZvbnQtZmFtaWx5OiBjYXJib24tLWZvbnQtZmFtaWx5KCRuYW1lKTtcbn1cblxuLy8vIFN1Z2dlc3RlZCBmb250IHdlaWdodHMgdG8gYmUgdXNlZCBpbiBwcm9kdWN0XG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG4kY2FyYm9uLS1mb250LXdlaWdodHM6IChcbiAgJ2xpZ2h0JzogMzAwLFxuICAncmVndWxhcic6IDQwMCxcbiAgJ3NlbWlib2xkJzogNjAwLFxuKTtcblxuLy8vIFJldHJpZXZlIHRoZSBmb250LXdlaWdodCB2YWx1ZSBmb3IgYSBnaXZlbiBuYW1lXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3ZWlnaHRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXG5AZnVuY3Rpb24gY2FyYm9uLS1mb250LXdlaWdodCgkd2VpZ2h0KSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY2FyYm9uLS1mb250LXdlaWdodHMsICR3ZWlnaHQpO1xufVxuXG4vLy8gU2V0IHRoZSBgZm9udC13ZWlnaHRgIHByb3BlcnR5IHdpdGggdGhlIHZhbHVlIGZvciBhIGdpdmVuIG5hbWVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxuQG1peGluIGNhcmJvbi0tZm9udC13ZWlnaHQoJHdlaWdodCkge1xuICBmb250LXdlaWdodDogY2FyYm9uLS1mb250LXdlaWdodCgkd2VpZ2h0KTtcbn1cbiIsIi8vIENvZGUgZ2VuZXJhdGVkIGJ5IEBjYXJib24vdGhlbWVzLiBETyBOT1QgRURJVC5cbi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTgsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuLy8vIENhcmJvbidzIHdoaXRlIGNvbG9yIHRoZW1lXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90aGVtZXNcbiRjYXJib24tLXRoZW1lLS13aGl0ZTogKFxuICBpbnRlcmFjdGl2ZS0wMTogIzAwNjJmZixcbiAgaW50ZXJhY3RpdmUtMDI6ICMzZDNkM2QsXG4gIGludGVyYWN0aXZlLTAzOiAjMDA2MmZmLFxuICBpbnRlcmFjdGl2ZS0wNDogIzAwNjJmZixcbiAgdWktYmFja2dyb3VuZDogI2ZmZmZmZixcbiAgdWktMDE6ICNmM2YzZjMsXG4gIHVpLTAyOiAjZmZmZmZmLFxuICB1aS0wMzogI2RjZGNkYyxcbiAgdWktMDQ6ICM4YzhjOGMsXG4gIHVpLTA1OiAjMDAwMDAwLFxuICB0ZXh0LTAxOiAjMDAwMDAwLFxuICB0ZXh0LTAyOiAjNTY1NjU2LFxuICB0ZXh0LTAzOiAjOGM4YzhjLFxuICB0ZXh0LTA0OiAjZmZmZmZmLFxuICBpY29uLTAxOiAjMDAwMDAwLFxuICBpY29uLTAyOiAjNTY1NjU2LFxuICBpY29uLTAzOiAjZmZmZmZmLFxuICBsaW5rLTAxOiAjMDA2MmZmLFxuICBpbnZlcnNlLWxpbms6ICM2ZWE2ZmYsXG4gIGZpZWxkLTAxOiAjZjNmM2YzLFxuICBmaWVsZC0wMjogI2ZmZmZmZixcbiAgaW52ZXJzZS0wMTogI2ZmZmZmZixcbiAgaW52ZXJzZS0wMjogIzNkM2QzZCxcbiAgc3VwcG9ydC0wMTogI2RhMWUyOCxcbiAgc3VwcG9ydC0wMjogIzI0YTE0OCxcbiAgc3VwcG9ydC0wMzogI2ZkZDEzYSxcbiAgc3VwcG9ydC0wNDogIzA1NGFkYSxcbiAgaW52ZXJzZS1zdXBwb3J0LTAxOiAjZmI0YjUzLFxuICBpbnZlcnNlLXN1cHBvcnQtMDI6ICMzZGJiNjEsXG4gIGludmVyc2Utc3VwcG9ydC0wMzogI2ZkZDEzYSxcbiAgaW52ZXJzZS1zdXBwb3J0LTA0OiAjNDA4YmZjLFxuICBvdmVybGF5LTAxOiByZ2JhKDIzLCAyMywgMjMsIDAuNSksXG4gIGZvY3VzOiAjMDA2MmZmLFxuICBpbnZlcnNlLWZvY3VzLXVpOiAjZmZmZmZmLFxuICBob3Zlci1wcmltYXJ5OiAjMDM1M2U5LFxuICBhY3RpdmUtcHJpbWFyeTogIzA1MzBhZCxcbiAgaG92ZXItcHJpbWFyeS10ZXh0OiAjMDU0YWRhLFxuICBob3Zlci1zZWNvbmRhcnk6ICM0YzRjNGMsXG4gIGFjdGl2ZS1zZWNvbmRhcnk6ICM2ZjZmNmYsXG4gIGhvdmVyLXRlcnRpYXJ5OiAjMDM1M2U5LFxuICBhY3RpdmUtdGVydGlhcnk6ICMwNTMwYWQsXG4gIGhvdmVyLXVpOiAjZTVlNWU1LFxuICBhY3RpdmUtdWk6ICNiZWJlYmUsXG4gIHNlbGVjdGVkLXVpOiAjZGNkY2RjLFxuICBpbnZlcnNlLWhvdmVyLXVpOiAjNGM0YzRjLFxuICBob3Zlci1zZWxlY3RlZC11aTogI2NhY2FjYSxcbiAgaG92ZXItZGFuZ2VyOiAjYmExYjIzLFxuICBhY3RpdmUtZGFuZ2VyOiAjNzUwZTEzLFxuICBob3Zlci1yb3c6ICNlNWU1ZTUsXG4gIHZpc2l0ZWQtbGluazogIzhhM2ZmYyxcbiAgZGlzYWJsZWQtMDE6ICNmM2YzZjMsXG4gIGRpc2FibGVkLTAyOiAjYmViZWJlLFxuICBkaXNhYmxlZC0wMzogIzhjOGM4YyxcbiAgaGlnaGxpZ2h0OiAjYzlkZWZmLFxuICBza2VsZXRvbi0wMTogI2U1ZTVlNSxcbiAgc2tlbGV0b24tMDI6ICNiZWJlYmUsXG4gIGJyYW5kLTAxOiAjMDA2MmZmLFxuICBicmFuZC0wMjogIzNkM2QzZCxcbiAgYnJhbmQtMDM6ICMwMDYyZmYsXG4gIGFjdGl2ZS0wMTogI2JlYmViZSxcbiAgaG92ZXItZmllbGQ6ICNlNWU1ZTUsXG4pICFkZWZhdWx0O1xuLy8vIENhcmJvbidzIGcxMCBjb2xvciB0aGVtZVxuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vdGhlbWVzXG4kY2FyYm9uLS10aGVtZS0tZzEwOiAoXG4gIGludGVyYWN0aXZlLTAxOiAjMDA2MmZmLFxuICBpbnRlcmFjdGl2ZS0wMjogIzNkM2QzZCxcbiAgaW50ZXJhY3RpdmUtMDM6ICMwMDYyZmYsXG4gIGludGVyYWN0aXZlLTA0OiAjMDA2MmZmLFxuICB1aS1iYWNrZ3JvdW5kOiAjZjNmM2YzLFxuICB1aS0wMTogI2ZmZmZmZixcbiAgdWktMDI6ICNmM2YzZjMsXG4gIHVpLTAzOiAjZGNkY2RjLFxuICB1aS0wNDogIzhjOGM4YyxcbiAgdWktMDU6ICMwMDAwMDAsXG4gIHRleHQtMDE6ICMwMDAwMDAsXG4gIHRleHQtMDI6ICM1NjU2NTYsXG4gIHRleHQtMDM6ICM4YzhjOGMsXG4gIHRleHQtMDQ6ICNmZmZmZmYsXG4gIGljb24tMDE6ICMwMDAwMDAsXG4gIGljb24tMDI6ICM1NjU2NTYsXG4gIGljb24tMDM6ICNmZmZmZmYsXG4gIGxpbmstMDE6ICMwMDYyZmYsXG4gIGludmVyc2UtbGluazogIzZlYTZmZixcbiAgZmllbGQtMDE6ICNmZmZmZmYsXG4gIGZpZWxkLTAyOiAjZjNmM2YzLFxuICBpbnZlcnNlLTAxOiAjZmZmZmZmLFxuICBpbnZlcnNlLTAyOiAjM2QzZDNkLFxuICBzdXBwb3J0LTAxOiAjZGExZTI4LFxuICBzdXBwb3J0LTAyOiAjMjRhMTQ4LFxuICBzdXBwb3J0LTAzOiAjZmRkMTNhLFxuICBzdXBwb3J0LTA0OiAjMDU0YWRhLFxuICBpbnZlcnNlLXN1cHBvcnQtMDE6ICNmYjRiNTMsXG4gIGludmVyc2Utc3VwcG9ydC0wMjogIzNkYmI2MSxcbiAgaW52ZXJzZS1zdXBwb3J0LTAzOiAjZmRkMTNhLFxuICBpbnZlcnNlLXN1cHBvcnQtMDQ6ICM0MDhiZmMsXG4gIG92ZXJsYXktMDE6IHJnYmEoMjMsIDIzLCAyMywgMC41KSxcbiAgZm9jdXM6ICMwMDYyZmYsXG4gIGludmVyc2UtZm9jdXMtdWk6ICNmZmZmZmYsXG4gIGhvdmVyLXByaW1hcnk6ICMwMzUzZTksXG4gIGFjdGl2ZS1wcmltYXJ5OiAjMDUzMGFkLFxuICBob3Zlci1wcmltYXJ5LXRleHQ6ICMwNTRhZGEsXG4gIGhvdmVyLXNlY29uZGFyeTogIzRjNGM0YyxcbiAgYWN0aXZlLXNlY29uZGFyeTogIzZmNmY2ZixcbiAgaG92ZXItdGVydGlhcnk6ICMwMzUzZTksXG4gIGFjdGl2ZS10ZXJ0aWFyeTogIzA1MzBhZCxcbiAgaG92ZXItdWk6ICNlNWU1ZTUsXG4gIGFjdGl2ZS11aTogI2JlYmViZSxcbiAgc2VsZWN0ZWQtdWk6ICNkY2RjZGMsXG4gIGludmVyc2UtaG92ZXItdWk6ICM0YzRjNGMsXG4gIGhvdmVyLXNlbGVjdGVkLXVpOiAjY2FjYWNhLFxuICBob3Zlci1kYW5nZXI6ICNiYTFiMjMsXG4gIGFjdGl2ZS1kYW5nZXI6ICM3NTBlMTMsXG4gIGhvdmVyLXJvdzogI2U1ZTVlNSxcbiAgdmlzaXRlZC1saW5rOiAjOGEzZmZjLFxuICBkaXNhYmxlZC0wMTogI2ZmZmZmZixcbiAgZGlzYWJsZWQtMDI6ICNiZWJlYmUsXG4gIGRpc2FibGVkLTAzOiAjOGM4YzhjLFxuICBoaWdobGlnaHQ6ICNjOWRlZmYsXG4gIHNrZWxldG9uLTAxOiAjZTVlNWU1LFxuICBza2VsZXRvbi0wMjogI2JlYmViZSxcbiAgYnJhbmQtMDE6ICMwMDYyZmYsXG4gIGJyYW5kLTAyOiAjM2QzZDNkLFxuICBicmFuZC0wMzogIzAwNjJmZixcbiAgYWN0aXZlLTAxOiAjYmViZWJlLFxuICBob3Zlci1maWVsZDogI2YzZjNmMyxcbikgIWRlZmF1bHQ7XG4vLy8gQ2FyYm9uJ3MgZzkwIGNvbG9yIHRoZW1lXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90aGVtZXNcbiRjYXJib24tLXRoZW1lLS1nOTA6IChcbiAgaW50ZXJhY3RpdmUtMDE6ICMwMDYyZmYsXG4gIGludGVyYWN0aXZlLTAyOiAjNmY2ZjZmLFxuICBpbnRlcmFjdGl2ZS0wMzogI2ZmZmZmZixcbiAgaW50ZXJhY3RpdmUtMDQ6ICM0MDhiZmMsXG4gIHVpLWJhY2tncm91bmQ6ICMyODI4MjgsXG4gIHVpLTAxOiAjM2QzZDNkLFxuICB1aS0wMjogIzU2NTY1NixcbiAgdWktMDM6ICM1NjU2NTYsXG4gIHVpLTA0OiAjOGM4YzhjLFxuICB1aS0wNTogI2YzZjNmMyxcbiAgdGV4dC0wMTogI2YzZjNmMyxcbiAgdGV4dC0wMjogI2JlYmViZSxcbiAgdGV4dC0wMzogIzhjOGM4YyxcbiAgdGV4dC0wNDogI2ZmZmZmZixcbiAgaWNvbi0wMTogI2YzZjNmMyxcbiAgaWNvbi0wMjogI2JlYmViZSxcbiAgaWNvbi0wMzogI2ZmZmZmZixcbiAgbGluay0wMTogIzZlYTZmZixcbiAgaW52ZXJzZS1saW5rOiAjMDA2MmZmLFxuICBmaWVsZC0wMTogIzNkM2QzZCxcbiAgZmllbGQtMDI6ICM1NjU2NTYsXG4gIGludmVyc2UtMDE6ICMwMDAwMDAsXG4gIGludmVyc2UtMDI6ICNmM2YzZjMsXG4gIHN1cHBvcnQtMDE6ICNmYjRiNTMsXG4gIHN1cHBvcnQtMDI6ICMzZGJiNjEsXG4gIHN1cHBvcnQtMDM6ICNmZGQxM2EsXG4gIHN1cHBvcnQtMDQ6ICM0MDhiZmMsXG4gIGludmVyc2Utc3VwcG9ydC0wMTogI2RhMWUyOCxcbiAgaW52ZXJzZS1zdXBwb3J0LTAyOiAjMjRhMTQ4LFxuICBpbnZlcnNlLXN1cHBvcnQtMDM6ICNmZGQxM2EsXG4gIGludmVyc2Utc3VwcG9ydC0wNDogIzAwNjJmZixcbiAgb3ZlcmxheS0wMTogcmdiYSgyMywgMjMsIDIzLCAwLjcpLFxuICBmb2N1czogI2ZmZmZmZixcbiAgaW52ZXJzZS1mb2N1cy11aTogIzAwNjJmZixcbiAgaG92ZXItcHJpbWFyeTogIzAzNTNlOSxcbiAgYWN0aXZlLXByaW1hcnk6ICMwNTMwYWQsXG4gIGhvdmVyLXByaW1hcnktdGV4dDogIzk3YzFmZixcbiAgaG92ZXItc2Vjb25kYXJ5OiAjNjA2MDYwLFxuICBhY3RpdmUtc2Vjb25kYXJ5OiAjM2QzZDNkLFxuICBob3Zlci10ZXJ0aWFyeTogI2YzZjNmMyxcbiAgYWN0aXZlLXRlcnRpYXJ5OiAjYmViZWJlLFxuICBob3Zlci11aTogIzRjNGM0YyxcbiAgYWN0aXZlLXVpOiAjNmY2ZjZmLFxuICBzZWxlY3RlZC11aTogIzU2NTY1NixcbiAgaW52ZXJzZS1ob3Zlci11aTogI2U1ZTVlNSxcbiAgaG92ZXItc2VsZWN0ZWQtdWk6ICM2NTY1NjUsXG4gIGhvdmVyLWRhbmdlcjogI2JhMWIyMyxcbiAgYWN0aXZlLWRhbmdlcjogIzc1MGUxMyxcbiAgaG92ZXItcm93OiAjNGM0YzRjLFxuICB2aXNpdGVkLWxpbms6ICNiYjhlZmYsXG4gIGRpc2FibGVkLTAxOiAjM2QzZDNkLFxuICBkaXNhYmxlZC0wMjogIzU2NTY1NixcbiAgZGlzYWJsZWQtMDM6ICM4YzhjOGMsXG4gIGhpZ2hsaWdodDogIzA1NGFkYSxcbiAgc2tlbGV0b24tMDE6ICMzNTM1MzUsXG4gIHNrZWxldG9uLTAyOiAjNTY1NjU2LFxuICBicmFuZC0wMTogIzAwNjJmZixcbiAgYnJhbmQtMDI6ICM2ZjZmNmYsXG4gIGJyYW5kLTAzOiAjZmZmZmZmLFxuICBhY3RpdmUtMDE6ICM2ZjZmNmYsXG4gIGhvdmVyLWZpZWxkOiAjNGM0YzRjLFxuKSAhZGVmYXVsdDtcbi8vLyBDYXJib24ncyBnMTAwIGNvbG9yIHRoZW1lXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi90aGVtZXNcbiRjYXJib24tLXRoZW1lLS1nMTAwOiAoXG4gIGludGVyYWN0aXZlLTAxOiAjMDA2MmZmLFxuICBpbnRlcmFjdGl2ZS0wMjogIzZmNmY2ZixcbiAgaW50ZXJhY3RpdmUtMDM6ICNmZmZmZmYsXG4gIGludGVyYWN0aXZlLTA0OiAjNDA4YmZjLFxuICB1aS1iYWNrZ3JvdW5kOiAjMDAwMDAwLFxuICB1aS0wMTogIzI4MjgyOCxcbiAgdWktMDI6ICMzZDNkM2QsXG4gIHVpLTAzOiAjM2QzZDNkLFxuICB1aS0wNDogIzZmNmY2ZixcbiAgdWktMDU6ICNmM2YzZjMsXG4gIHRleHQtMDE6ICNmM2YzZjMsXG4gIHRleHQtMDI6ICNiZWJlYmUsXG4gIHRleHQtMDM6ICM2ZjZmNmYsXG4gIHRleHQtMDQ6ICNmZmZmZmYsXG4gIGljb24tMDE6ICNmM2YzZjMsXG4gIGljb24tMDI6ICNiZWJlYmUsXG4gIGljb24tMDM6ICNmZmZmZmYsXG4gIGxpbmstMDE6ICM2ZWE2ZmYsXG4gIGludmVyc2UtbGluazogIzAwNjJmZixcbiAgZmllbGQtMDE6ICMyODI4MjgsXG4gIGZpZWxkLTAyOiAjM2QzZDNkLFxuICBpbnZlcnNlLTAxOiAjMDAwMDAwLFxuICBpbnZlcnNlLTAyOiAjZjNmM2YzLFxuICBzdXBwb3J0LTAxOiAjZmI0YjUzLFxuICBzdXBwb3J0LTAyOiAjM2RiYjYxLFxuICBzdXBwb3J0LTAzOiAjZmRkMTNhLFxuICBzdXBwb3J0LTA0OiAjNDA4YmZjLFxuICBpbnZlcnNlLXN1cHBvcnQtMDE6ICNkYTFlMjgsXG4gIGludmVyc2Utc3VwcG9ydC0wMjogIzI0YTE0OCxcbiAgaW52ZXJzZS1zdXBwb3J0LTAzOiAjZmRkMTNhLFxuICBpbnZlcnNlLXN1cHBvcnQtMDQ6ICMwMDYyZmYsXG4gIG92ZXJsYXktMDE6IHJnYmEoMjMsIDIzLCAyMywgMC43KSxcbiAgZm9jdXM6ICNmZmZmZmYsXG4gIGludmVyc2UtZm9jdXMtdWk6ICMwMDYyZmYsXG4gIGhvdmVyLXByaW1hcnk6ICMwMzUzZTksXG4gIGFjdGl2ZS1wcmltYXJ5OiAjMDUzMGFkLFxuICBob3Zlci1wcmltYXJ5LXRleHQ6ICM5N2MxZmYsXG4gIGhvdmVyLXNlY29uZGFyeTogIzYwNjA2MCxcbiAgYWN0aXZlLXNlY29uZGFyeTogIzNkM2QzZCxcbiAgaG92ZXItdGVydGlhcnk6ICNmM2YzZjMsXG4gIGFjdGl2ZS10ZXJ0aWFyeTogI2JlYmViZSxcbiAgaG92ZXItdWk6ICMzNTM1MzUsXG4gIGFjdGl2ZS11aTogIzU2NTY1NixcbiAgc2VsZWN0ZWQtdWk6ICMzZDNkM2QsXG4gIGludmVyc2UtaG92ZXItdWk6ICNlNWU1ZTUsXG4gIGhvdmVyLXNlbGVjdGVkLXVpOiAjNGM0YzRjLFxuICBob3Zlci1kYW5nZXI6ICNiYTFiMjMsXG4gIGFjdGl2ZS1kYW5nZXI6ICM3NTBlMTMsXG4gIGhvdmVyLXJvdzogIzM1MzUzNSxcbiAgdmlzaXRlZC1saW5rOiAjYmI4ZWZmLFxuICBkaXNhYmxlZC0wMTogIzI4MjgyOCxcbiAgZGlzYWJsZWQtMDI6ICMzZDNkM2QsXG4gIGRpc2FibGVkLTAzOiAjNmY2ZjZmLFxuICBoaWdobGlnaHQ6ICMwNTMwYWQsXG4gIHNrZWxldG9uLTAxOiAjMzUzNTM1LFxuICBza2VsZXRvbi0wMjogIzNkM2QzZCxcbiAgYnJhbmQtMDE6ICMwMDYyZmYsXG4gIGJyYW5kLTAyOiAjNmY2ZjZmLFxuICBicmFuZC0wMzogI2ZmZmZmZixcbiAgYWN0aXZlLTAxOiAjNTY1NjU2LFxuICBob3Zlci1maWVsZDogIzM1MzUzNSxcbikgIWRlZmF1bHQ7XG4vLy8gQ2FyYm9uJ3MgdjkgY29sb3IgdGhlbWVcbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL3RoZW1lc1xuJGNhcmJvbi0tdGhlbWUtLXY5OiAoXG4gIGludGVyYWN0aXZlLTAxOiAjM2Q3MGIyLFxuICBpbnRlcmFjdGl2ZS0wMjogIzVhNjg3MixcbiAgaW50ZXJhY3RpdmUtMDM6ICM1YTY4NzIsXG4gIGludGVyYWN0aXZlLTA0OiAjM2Q3MGIyLFxuICB1aS1iYWNrZ3JvdW5kOiAjZjRmN2ZiLFxuICB1aS0wMTogI2ZmZmZmZixcbiAgdWktMDI6ICNmNGY3ZmIsXG4gIHVpLTAzOiAjZGZlM2U2LFxuICB1aS0wNDogIzg4OTdhMixcbiAgdWktMDU6ICM1YTY4NzIsXG4gIHRleHQtMDE6ICMxNTI5MzUsXG4gIHRleHQtMDI6ICM1YTY4NzIsXG4gIHRleHQtMDM6ICNjZGQxZDQsXG4gIHRleHQtMDQ6ICNmZmZmZmYsXG4gIGljb24tMDE6ICMzZDcwYjIsXG4gIGljb24tMDI6ICM1YTY4NzIsXG4gIGljb24tMDM6ICNmZmZmZmYsXG4gIGxpbmstMDE6ICMzZDcwYjIsXG4gIGludmVyc2UtbGluazogIzU1OTZlNixcbiAgZmllbGQtMDE6ICNmZmZmZmYsXG4gIGZpZWxkLTAyOiAjZjRmN2ZiLFxuICBpbnZlcnNlLTAxOiAjZmZmZmZmLFxuICBpbnZlcnNlLTAyOiAjMjcyZDMzLFxuICBzdXBwb3J0LTAxOiAjZTAxODJkLFxuICBzdXBwb3J0LTAyOiAjNWFhNzAwLFxuICBzdXBwb3J0LTAzOiAjZWZjMTAwLFxuICBzdXBwb3J0LTA0OiAjNWFhYWZhLFxuICBpbnZlcnNlLXN1cHBvcnQtMDE6ICNmZjUwNTAsXG4gIGludmVyc2Utc3VwcG9ydC0wMjogIzhjZDIxMSxcbiAgaW52ZXJzZS1zdXBwb3J0LTAzOiAjZmRkNjAwLFxuICBpbnZlcnNlLXN1cHBvcnQtMDQ6ICM1YWFhZmEsXG4gIG92ZXJsYXktMDE6IHJnYmEoMjIzLCAyMjcsIDIzMCwgMC41KSxcbiAgZm9jdXM6ICMzZDcwYjIsXG4gIGludmVyc2UtZm9jdXMtdWk6ICMzZDcwYjIsXG4gIGhvdmVyLXByaW1hcnk6ICMzMDU4OGMsXG4gIGFjdGl2ZS1wcmltYXJ5OiAjMzA1ODhjLFxuICBob3Zlci1wcmltYXJ5LXRleHQ6ICMyOTRjODYsXG4gIGhvdmVyLXNlY29uZGFyeTogIzRkNWI2NSxcbiAgYWN0aXZlLXNlY29uZGFyeTogIzQxNGY1OSxcbiAgaG92ZXItdGVydGlhcnk6ICM1YTY4NzIsXG4gIGFjdGl2ZS10ZXJ0aWFyeTogIzQxNGY1OSxcbiAgaG92ZXItdWk6ICNlZWY0ZmMsXG4gIGFjdGl2ZS11aTogI2RmZWFmYSxcbiAgc2VsZWN0ZWQtdWk6ICNlZWY0ZmMsXG4gIGludmVyc2UtaG92ZXItdWk6ICM0YzRjNGMsXG4gIGhvdmVyLXNlbGVjdGVkLXVpOiAjZGZlYWZhLFxuICBob3Zlci1kYW5nZXI6ICNjNzAwMTQsXG4gIGFjdGl2ZS1kYW5nZXI6ICNhZDE2MjUsXG4gIGhvdmVyLXJvdzogI2VlZjRmYyxcbiAgdmlzaXRlZC1saW5rOiAjMjk0Yzg2LFxuICBkaXNhYmxlZC0wMTogI2ZhZmJmZCxcbiAgZGlzYWJsZWQtMDI6ICNkZmUzZTYsXG4gIGRpc2FibGVkLTAzOiAjY2RkMWQ0LFxuICBoaWdobGlnaHQ6ICNmNGY3ZmIsXG4gIHNrZWxldG9uLTAxOiByZ2JhKDYxLCAxMTIsIDE3OCwgMC4xKSxcbiAgc2tlbGV0b24tMDI6IHJnYmEoNjEsIDExMiwgMTc4LCAwLjEpLFxuICBicmFuZC0wMTogIzNkNzBiMixcbiAgYnJhbmQtMDI6ICM1YTY4NzIsXG4gIGJyYW5kLTAzOiAjNWE2ODcyLFxuICBhY3RpdmUtMDE6ICNkZmVhZmEsXG4gIGhvdmVyLWZpZWxkOiAjZWVmNGZjLFxuKSAhZGVmYXVsdDtcbi8vLyBDYXJib24ncyBkZWZhdWx0IHRoZW1lXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAYWxpYXMgY2FyYm9uLS10aGVtZS0td2hpdGVcbi8vLyBAZ3JvdXAgQGNhcmJvbi90aGVtZXNcbiRjYXJib24tLXRoZW1lOiAkY2FyYm9uLS10aGVtZS0td2hpdGUgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE4LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8gSGVscGVycyBmb3IgZGVmaW5pbmcgY29sdW1ucywgcm93cywgYW5kIGNvbnRhaW5lcnMgYXJlIGhlYXZpbHkgaW5zcGlyZWQgYnksXG4vLyBhbmQgb2Z0ZW4gZGVyaXZlZCBmcm9tLCBib290c3RyYXA6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi92NC1kZXYvc2Nzcy9taXhpbnMvX2dyaWQuc2Nzc1xuXG5AaW1wb3J0ICcuLi9sYXlvdXQvYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdwcmVmaXgnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIFVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciBhIGNvbHVtbiBjbGFzcywgbW9zdCBub3RhYmx5XG4vLy8gZm9yIHNldHRpbmcgd2lkdGggYW5kIGRlZmF1bHQgZ3V0dGVycyB3aGVuIGEgY29sdW1uJ3MgYnJlYWtwb2ludCBoYXMgbm90IGJlZW5cbi8vLyBoaXQgeWV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskY2FyYm9uLS1ncmlkLWd1dHRlcl0gLSBUaGUgZ3V0dGVyIGZvciB0aGUgZ3JpZCBzeXN0ZW1cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbGxhcHNlZC1ndXR0ZXIgWyRjYXJib24tLWdyaWQtZ3V0dGVyLS1jb25kZW5zZWRdIC0gVGhlIGNvbmRlbnNlZCBtb2RlIGd1dHRlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLW1ha2UtY29sLXJlYWR5KFxuICAkZ3V0dGVyOiAkY2FyYm9uLS1ncmlkLWd1dHRlcixcbiAgJGNvbmRlbnNlZC1ndXR0ZXI6ICRjYXJib24tLWdyaWQtZ3V0dGVyLS1jb25kZW5zZWRcbikge1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXG4gIC8vIEZvciBvdXIgY29uZGVuc2VkIHVzZS1jYXNlLCBvdXIgZ3V0dGVycyBjb2xsYXBzZSB0byAycHggc29saWQsIDFweCBvbiBlYWNoXG4gIC8vIHNpZGUuXG4gIC4jeyRwcmVmaXh9LS1yb3ctLWNvbmRlbnNlZCAmLFxuICAuI3skcHJlZml4fS0tZ3JpZC0tY29uZGVuc2VkICYge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29uZGVuc2VkLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRjb25kZW5zZWQtZ3V0dGVyIC8gMik7XG4gIH1cbn1cblxuLy8vIERlZmluZSB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBmb3IgYSBnaXZlbiBzcGFuIGFuZCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFuIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIGNvdmVyZWRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuQG1peGluIGNhcmJvbi0tbWFrZS1jb2woJHNwYW4sICRjb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzcGFuIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4gLyAkY29sdW1ucyk7XG59XG5cbi8vLyBDcmVhdGUgYSBjb2x1bW4gb2Zmc2V0IGZvciBhIGdpdmVuIHNwYW4gYW5kIGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYW4gLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIG9mZnNldCBzaG91bGQgY292ZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuQG1peGluIGNhcmJvbi0tbWFrZS1jb2wtb2Zmc2V0KCRzcGFuLCAkY29sdW1ucykge1xuICAkb2Zmc2V0OiAkc3BhbiAvICRjb2x1bW5zO1xuICBAaWYgJG9mZnNldCA9PSAwIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfSBAZWxzZSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJG9mZnNldCk7XG4gIH1cbn1cblxuLy8vIE91dHB1dCB0aGUgQ1NTIHJlcXVpcmVkIGZvciBhbGwgdGhlIGNvbHVtbnMgaW4gYSBnaXZlbiBncmlkIHN5c3RlbS5cbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIFRoZSBicmVha3BvaW50cyBpbiB0aGUgZ3JpZCBzeXN0ZW1cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGNhcmJvbi0tZ3JpZC1ndXR0ZXJdIC0gVGhlIGd1dHRlciBmb3IgdGhlIGdyaWQgc3lzdGVtXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuQG1peGluIGNhcmJvbi0tbWFrZS1ncmlkLWNvbHVtbnMoXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50cyxcbiAgJGd1dHRlcjogJGNhcmJvbi0tZ3JpZC1ndXR0ZXJcbikge1xuICAuI3skcHJlZml4fS0tY29sIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLW1ha2UtY29sLXJlYWR5KCk7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGNhcmJvbi0tYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCk7XG4gICAgJGNvbHVtbnM6IG1hcC1nZXQobWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSwgY29sdW1ucyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLiN7JHByZWZpeH0tLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmJvbi0tbWFrZS1jb2wtcmVhZHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tY29sI3skaW5maXh9LFxuICAgIC4jeyRwcmVmaXh9LS1jb2wjeyRpbmZpeH0tLWF1dG8ge1xuICAgICAgQGluY2x1ZGUgY2FyYm9uLS1tYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLiN7JHByZWZpeH0tLWNvbCxcbiAgICAgIC4jeyRwcmVmaXh9LS1jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLiN7JHByZWZpeH0tLWNvbC0tYXV0byxcbiAgICAgIC4jeyRwcmVmaXh9LS1jb2wjeyRpbmZpeH0tLWF1dG8ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLiN7JHByZWZpeH0tLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2FyYm9uLS1tYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90KCRpbmZpeCA9PSAnJykge1xuICAgICAgICAgIC4jeyRwcmVmaXh9LS1vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2FyYm9uLS1tYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJvd3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBEZWZpbmUgdGhlIHByb3BlcnRpZXMgZm9yIGEgc2VsZWN0b3IgYXNzaWduZWQgdG8gYSByb3cgaW4gdGhlIGdyaWQgc3lzdGVtLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskY2FyYm9uLS1ncmlkLWd1dHRlcl0gLSBUaGUgZ3V0dGVyIGluIHRoZSBncmlkIHN5c3RlbVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLW1ha2Utcm93KCRndXR0ZXI6ICRjYXJib24tLWdyaWQtZ3V0dGVyKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMSAqICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLTEgKiAkZ3V0dGVyIC8gMjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vIGd1dHRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEFkZCBgbm8tZ3V0dGVyYCBhbmQgYG5vLWd1dHRlci0te2xlZnQscmlnaHR9YCBjbGFzc2VzIHRvIHRoZSBvdXRwdXQgQ1NTLiBUaGVzZVxuLy8vIGNsYXNzZXMgYXJlIHVzZWZ1bCBmb3IgZHJvcHBpbmcgdGhlIGd1dHRlciBpbiBmbHVpZCBzaXR1YXRpb25zLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLW5vLWd1dHRlciB7XG4gIC4jeyRwcmVmaXh9LS1uby1ndXR0ZXIsXG4gIC4jeyRwcmVmaXh9LS1yb3cuI3skcHJlZml4fS0tbm8tZ3V0dGVyIFtjbGFzcyo9JyN7JHByZWZpeH0tLWNvbCddIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uby1ndXR0ZXItLWxlZnQsXG4gIC4jeyRwcmVmaXh9LS1yb3cuI3skcHJlZml4fS0tbm8tZ3V0dGVyLS1sZWZ0IFtjbGFzcyo9JyN7JHByZWZpeH0tLWNvbCddIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbm8tZ3V0dGVyLS1yaWdodCxcbiAgLiN7JHByZWZpeH0tLXJvdy4jeyRwcmVmaXh9LS1uby1ndXR0ZXItLXJpZ2h0IFtjbGFzcyo9JyN7JHByZWZpeH0tLWNvbCddIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIYW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQWRkIGBoYW5nLS1sZWZ0YCBhbmQgYGhhbmctLXJpZ2h0YCBjbGFzc2VzIGZvciBhIGdpdmVuIGd1dHRlci4gVGhlc2UgY2xhc3NlcyBhcmVcbi8vLyB1c2VkIGFsb25nc2lkZSBgbm8tZ3V0dGVyLS1sZWZ0YCBhbmQgYG5vLWd1dHRlci0tcmlnaHRgIHRvIFwiaGFuZ1wiIHR5cGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRjYXJib24tLWdyaWQtZ3V0dGVyXSAtIFRoZSBndXR0ZXIgaW4gdGhlIGdyaWQgc3lzdGVtXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuQG1peGluIGNhcmJvbi0taGFuZygkZ3V0dGVyOiAkY2FyYm9uLS1ncmlkLWd1dHRlcikge1xuICAuI3skcHJlZml4fS0taGFuZy0tbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhhbmctLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBc3BlY3QgcmF0aW9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBUaGUgYXNwZWN0IHJhdGlvcyB0aGF0IGFyZSB1c2VkIHRvIGdlbmVyYXRlIGNvcnJlc3BvbmRpbmcgYXNwZWN0IHJhdGlvXG4vLy8gY2xhc3NlcyBpbiBjb2RlXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuJGNhcmJvbi0tYXNwZWN0LXJhdGlvczogKCgxNiwgOSksICgyLCAxKSwgKDQsIDMpLCAoMSwgMSksICgxLCAyKSk7XG5cbi8vLyBPdXRwdXQgdGhlIENTUyBjbGFzc2VzIGZvciBnZW5lcmF0aW5nIGFzcGVjdCByYXRpbyBjbGFzc2VzXG4vLy8gQHBhcmFtIHtMaXN0fSAkYXNwZWN0LXJhdGlvcyBbJGNhcmJvbi0tYXNwZWN0LXJhdGlvc10gLSBBIGxpc3Qgb2YgYXNwZWN0IHJhdGlvcyB0byBnZW5lcmF0ZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLWFzcGVjdC1yYXRpbygkYXNwZWN0LXJhdGlvczogJGNhcmJvbi0tYXNwZWN0LXJhdGlvcykge1xuICAuI3skcHJlZml4fS0tYXNwZWN0LXJhdGlvIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWFzcGVjdC1yYXRpby0tb2JqZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cblxuICBAZWFjaCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAgICR3aWR0aDogbnRoKCRyYXRpbywgMSk7XG4gICAgJGhlaWdodDogbnRoKCRyYXRpbywgMik7XG5cbiAgICAuI3skcHJlZml4fS0tYXNwZWN0LXJhdGlvLS0jeyR3aWR0aH14I3skaGVpZ2h0fSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgkaGVpZ2h0IC8gJHdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBDcmVhdGUgdGhlIGNvbnRhaW5lciBmb3IgYSBncmlkLiBXaWxsIGNhdXNlIGZ1bGwtYmxlZWQgZm9yIHRoZSBncmlkIHVubGVzc1xuLy8vIG1heC13aWR0aCBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB3aXRoIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLW1ha2UtY29udGFpbmVyKCRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50cykge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIGNhcmJvbi0tc2V0LWxhcmdlc3QtYnJlYWtwb2ludCgpO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAkcHJldi1icmVha3BvaW50OiBtYXAtZ2V0KCRicmVha3BvaW50cywgY2FyYm9uLS1icmVha3BvaW50LXByZXYoJG5hbWUpKTtcbiAgICAkbWFyZ2luOiBtYXAtZ2V0KCR2YWx1ZSwgbWFyZ2luKTtcblxuICAgIEBpZiAkcHJldi1icmVha3BvaW50IHtcbiAgICAgICRwcmV2LW1hcmdpbjogbWFwLWdldCgkcHJldi1icmVha3BvaW50LCBtYXJnaW4pO1xuICAgICAgQGlmICRwcmV2LW1hcmdpbiAhPSAkbWFyZ2luIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAjeygkY2FyYm9uLS1ncmlkLWd1dHRlciAvIDIpICsgJG1hcmdpbn07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogI3soJGNhcmJvbi0tZ3JpZC1ndXR0ZXIgLyAyKSArICRtYXJnaW59O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAjeygkY2FyYm9uLS1ncmlkLWd1dHRlciAvIDIpICsgJG1hcmdpbn07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7KCRjYXJib24tLWdyaWQtZ3V0dGVyIC8gMikgKyAkbWFyZ2lufTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEdldCB0aGUgbGFzdCBicmVha3BvaW50IHdpZHRoIGFuZCBzZXQgbWF4LXdpZHRoIHRvIGl0cyB2YWx1ZVxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBAY2FyYm9uL2dyaWRcbkBtaXhpbiBjYXJib24tLXNldC1sYXJnZXN0LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRsYXJnZXN0LWJyZWFrcG9pbnQ6IGxhc3QtbWFwLWl0ZW0oJGJyZWFrcG9pbnRzKTtcblxuICBtYXgtd2lkdGg6IG1hcC1nZXQoJGxhcmdlc3QtYnJlYWtwb2ludCwgJ3dpZHRoJyk7XG59XG5cbi8vLyBBZGQgaW4gdGhlIG1heC13aWR0aHMgZm9yIGVhY2ggYnJlYWtwb2ludCB0byB0aGUgY29udGFpbmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c10gLSBBIG1hcCBvZiBicmVha3BvaW50cyB3aGVyZSB0aGUga2V5IGlzIHRoZSBuYW1lXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIEBjYXJib24vZ3JpZFxuQG1peGluIGNhcmJvbi0tbWFrZS1jb250YWluZXItbWF4LXdpZHRocyhcbiAgJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXG4pIHtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCR2YWx1ZSwgd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIENTUyBmb3IgYSBncmlkIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludHMgYW5kIGd1dHRlcnNcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIFRoZSBkZWZhdWx0IGJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRncmlkLWd1dHRlciBbJGNhcmJvbi0tZ3JpZC1ndXR0ZXJdIC0gVGhlIGRlZmF1bHQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29uZGVuc2VkLWd1dHRlciBbJGNhcmJvbi0tZ3JpZC1ndXR0ZXItLWNvbmRlbnNlZF0gLSBUaGUgY29uZGVuc2VkIG1vZGUgZ3V0dGVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9ncmlkXG5AbWl4aW4gY2FyYm9uLS1ncmlkKFxuICAkYnJlYWtwb2ludHM6ICRjYXJib24tLWdyaWQtYnJlYWtwb2ludHMsXG4gICRncmlkLWd1dHRlcjogJGNhcmJvbi0tZ3JpZC1ndXR0ZXIsXG4gICRjb25kZW5zZWQtZ3V0dGVyOiAkY2FyYm9uLS1ncmlkLWd1dHRlci0tY29uZGVuc2VkXG4pIHtcbiAgLiN7JHByZWZpeH0tLWdyaWQge1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tbWFrZS1jb250YWluZXIoJGJyZWFrcG9pbnRzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGNhcmJvbi0tbGFyZ2VzdC1icmVha3BvaW50KCRicmVha3BvaW50cykge1xuICAgIC4jeyRwcmVmaXh9LS1ncmlkLS1mdWxsLXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcm93IHtcbiAgICBAaW5jbHVkZSBjYXJib24tLW1ha2Utcm93KCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZ3JpZC0tY29uZGVuc2VkIC4jeyRwcmVmaXh9LS1yb3c6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29uZGVuc2VkLWd1dHRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1yb3ctLWNvbmRlbnNlZCArIC4jeyRwcmVmaXh9LS1yb3ctLWNvbmRlbnNlZCB7XG4gICAgbWFyZ2luLXRvcDogJGNvbmRlbnNlZC1ndXR0ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBjYXJib24tLW1ha2UtZ3JpZC1jb2x1bW5zKCRicmVha3BvaW50cywgJGdyaWQtZ3V0dGVyKTtcbiAgQGluY2x1ZGUgY2FyYm9uLS1uby1ndXR0ZXIoKTtcbiAgQGluY2x1ZGUgY2FyYm9uLS1oYW5nKCRncmlkLWd1dHRlcik7XG4gIEBpbmNsdWRlIGNhcmJvbi0tYXNwZWN0LXJhdGlvKCk7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE4LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvdjQtZGV2L3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzXG5AaW1wb3J0ICdjb252ZXJ0JztcbkBpbXBvcnQgJ3V0aWxpdGllcyc7XG5cbi8vLyBDYXJib24gZ3V0dGVyIHNpemUgaW4gcmVtXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbiRjYXJib24tLWdyaWQtZ3V0dGVyOiBjYXJib24tLXJlbSgzMnB4KTtcblxuLy8vIENhcmJvbiBjb25kZW5zZWQgZ3V0dGVyIHNpemUgaW4gcmVtXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbiRjYXJib24tLWdyaWQtZ3V0dGVyLS1jb25kZW5zZWQ6IGNhcmJvbi0tcmVtKDJweCk7XG5cbi8vIEluaXRpYWwgbWFwIG9mIG91ciBicmVha3BvaW50cyBhbmQgdGhlaXIgdmFsdWVzXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbiRjYXJib24tLWdyaWQtYnJlYWtwb2ludHM6IChcbiAgc206IChcbiAgICBjb2x1bW5zOiA0LFxuICAgIG1hcmdpbjogMCxcbiAgICB3aWR0aDogY2FyYm9uLS1yZW0oMzIwcHgpLFxuICApLFxuICBtZDogKFxuICAgIGNvbHVtbnM6IDgsXG4gICAgbWFyZ2luOiBjYXJib24tLXJlbSgxNnB4KSxcbiAgICB3aWR0aDogY2FyYm9uLS1yZW0oNjcycHgpLFxuICApLFxuICBsZzogKFxuICAgIGNvbHVtbnM6IDE2LFxuICAgIG1hcmdpbjogY2FyYm9uLS1yZW0oMTZweCksXG4gICAgd2lkdGg6IGNhcmJvbi0tcmVtKDEwNTZweCksXG4gICksXG4gIHhsZzogKFxuICAgIGNvbHVtbnM6IDE2LFxuICAgIG1hcmdpbjogY2FyYm9uLS1yZW0oMTZweCksXG4gICAgd2lkdGg6IGNhcmJvbi0tcmVtKDEzMTJweCksXG4gICksXG4gIG1heDogKFxuICAgIGNvbHVtbnM6IDE2LFxuICAgIG1hcmdpbjogY2FyYm9uLS1yZW0oMjRweCksXG4gICAgd2lkdGg6IGNhcmJvbi0tcmVtKDE1ODRweCksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gR2V0IHRoZSB2YWx1ZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWthcG9pbnRcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIEEgbWFwIG9mIGJyZWFrcG9pbnRzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgYW5kIHRoZSB2YWx1ZSBpcyB0aGUgdmFsdWVzIGZvciB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TGlzdH0gJGJyZWFrcG9pbnQtbmFtZXMgW21hcC1rZXlzKCRicmVha3BvaW50cyldIC0gQSBsaXN0IG9mIG5hbWVzIGZyb20gdGhlIGAkYnJlYWtwb2ludHNgIG1hcFxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuQGZ1bmN0aW9uIGNhcmJvbi0tYnJlYWtwb2ludC1uZXh0KFxuICAkbmFtZSxcbiAgJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzLFxuICAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKVxuKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpIHtcbiAgICBAcmV0dXJuIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKTtcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBHZXQgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgZmlyc3QgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBicmVrYXBvaW50XG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c10gLSBBIG1hcCBvZiBicmVha3BvaW50cyB3aGVyZSB0aGUga2V5IGlzIHRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IGFuZCB0aGUgdmFsdWUgaXMgdGhlIHZhbHVlcyBmb3IgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge0xpc3R9ICRicmVha3BvaW50LW5hbWVzIFttYXAta2V5cygkYnJlYWtwb2ludHMpXSAtIEEgbGlzdCBvZiBuYW1lcyBmcm9tIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXBcbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbkBmdW5jdGlvbiBjYXJib24tLWJyZWFrcG9pbnQtcHJldihcbiAgJG5hbWUsXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50cyxcbiAgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cylcbikge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmICRuICE9IG51bGwgYW5kICRuID4gMSB7XG4gICAgQHJldHVybiBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuIC0gMSk7XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBnaXZlbiBicmVha3BvaW50IG5hbWVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgYnJla2Fwb2ludFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBhbmQgdGhlIHZhbHVlIGlzIHRoZSB2YWx1ZXMgZm9yIHRoZSBicmVha3BvaW50XG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuQGZ1bmN0aW9uIGNhcmJvbi0taXMtc21hbGxlc3QtYnJlYWtwb2ludChcbiAgJG5hbWUsXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIEByZXR1cm4gaW5kZXgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJG5hbWUpID09IDE7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQgbmFtZVxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuQGZ1bmN0aW9uIGNhcmJvbi0tbGFyZ2VzdC1icmVha3BvaW50LW5hbWUoXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gICR0b3RhbC1icmVha3BvaW50czogbGVuZ3RoKCRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gY2FyYm9uLS1rZXktYnktaW5kZXgoJGJyZWFrcG9pbnRzLCAkdG90YWwtYnJlYWtwb2ludHMpO1xufVxuXG4vLy8gR2V0IHRoZSBpbmZpeCBmb3IgYSBnaXZlbiBicmVha3BvaW50IGluIGEgbGlzdCBvZiBicmVha3BvaW50cy4gVXNlc2Z1bCBmb3IgZ2VuZXJhdGUgdGhlIHNpemUgcGFydCBpbiBhIHNlbGVjdG9yLCBmb3IgZXhhbXBsZTogYC5wcmVmaXgtLWNvbC1zbS0yYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuQGZ1bmN0aW9uIGNhcmJvbi0tYnJlYWtwb2ludC1pbmZpeCgkbmFtZSkge1xuICBAcmV0dXJuICctI3skbmFtZX0nO1xufVxuXG4vLy8gR2VuZXJhdGUgYSBtZWRpYSBxdWVyeSB1cCB0byB0aGUgd2lkdGggb2YgdGhlIGdpdmVuIGJyZWFrcG9pbnQgbmFtZVxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkbmFtZVxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZVxuLy8vIEBjb250ZW50XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbkBtaXhpbiBjYXJib24tLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50cykge1xuICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ251bWJlcicge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnQsIHdpZHRoKTtcbiAgICBAaWYgY2FyYm9uLS1pcy1zbWFsbGVzdC1icmVha3BvaW50KCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnVW5hYmxlIHRvIGZpbmQgYSBicmVha3BvaW50IHdpdGggbmFtZSBgI3skbmFtZX1gLiBFeHBlY3RlZCBvbmUgb2Y6ICgje21hcC1rZXlzKCRicmVha3BvaW50cyl9KSc7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBnaXZlbiBzdHlsZXNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJG5hbWVcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIEEgbWFwIG9mIGJyZWFrcG9pbnRzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG5hbWVcbi8vLyBAY29udGVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vbGF5b3V0XG5AbWl4aW4gY2FyYm9uLS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50cykge1xuICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ251bWJlcicge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnQsIHdpZHRoKTtcbiAgICBAaWYgY2FyYm9uLS1pcy1zbWFsbGVzdC1icmVha3BvaW50KCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnVW5hYmxlIHRvIGZpbmQgYSBicmVha3BvaW50IHdpdGggbmFtZSBgI3skbmFtZX1gLiBFeHBlY3RlZCBvbmUgb2Y6ICgje21hcC1rZXlzKCRicmVha3BvaW50cyl9KSc7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIHRoZSByYW5nZSBiZXR3ZWVuIHRoZSBsb3dlciBhbmQgdXBwZXIgYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJGxvd2VyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR1cHBlclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRjYXJib24tLWdyaWQtYnJlYWtwb2ludHNdIC0gQSBtYXAgb2YgYnJlYWtwb2ludHMgd2hlcmUgdGhlIGtleSBpcyB0aGUgbmFtZVxuLy8vIEBjb250ZW50XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9sYXlvdXRcbkBtaXhpbiBjYXJib24tLWJyZWFrcG9pbnQtYmV0d2VlbihcbiAgJGxvd2VyLFxuICAkdXBwZXIsXG4gICRicmVha3BvaW50czogJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gICRpcy1udW1iZXItbG93ZXI6IHR5cGUtb2YoJGxvd2VyKSA9PSAnbnVtYmVyJztcbiAgJGlzLW51bWJlci11cHBlcjogdHlwZS1vZigkdXBwZXIpID09ICdudW1iZXInO1xuICAkbWluOiBpZigkaXMtbnVtYmVyLWxvd2VyLCAkbG93ZXIsIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbG93ZXIpKTtcbiAgJG1heDogaWYoJGlzLW51bWJlci11cHBlciwgJHVwcGVyLCBtYXAtZ2V0KCRicmVha3BvaW50cywgJHVwcGVyKSk7XG5cbiAgQGlmICRtaW4gYW5kICRtYXgge1xuICAgICRtaW4td2lkdGg6IGlmKG5vdCAkaXMtbnVtYmVyLWxvd2VyIGFuZCAkbWluLCBtYXAtZ2V0KCRtaW4sIHdpZHRoKSwgJG1pbik7XG4gICAgJG1heC13aWR0aDogaWYobm90ICRpcy1udW1iZXItdXBwZXIgYW5kICRtYXgsIG1hcC1nZXQoJG1heCwgd2lkdGgpLCAkbWF4KTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluICE9IG51bGwgYW5kICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50LXVwKCRsb3dlcikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQtZG93bigkdXBwZXIpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdVbmFibGUgdG8gZmluZCBhIGJyZWFrcG9pbnQgdG8gc2F0aXNmeTogKCN7JGxvd2VyfSwjeyR1cHBlcn0pLiBFeHBlY3RlZCBib3RoIHRvIGJlIG9uZSBvZiAoI3ttYXAta2V5cygkYnJlYWtwb2ludHMpfSkuJztcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzXSAtIEEgbWFwIG9mIGJyZWFrcG9pbnRzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG5hbWVcbi8vLyBAY29udGVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vbGF5b3V0XG5AbWl4aW4gY2FyYm9uLS1sYXJnZXN0LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChjYXJib24tLWxhcmdlc3QtYnJlYWtwb2ludC1uYW1lKCkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgYSBnaXZlbiBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICRuYW1lXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGNhcmJvbi0tZ3JpZC1icmVha3BvaW50c10gLSBBIG1hcCBvZiBicmVha3BvaW50cyB3aGVyZSB0aGUga2V5IGlzIHRoZSBuYW1lXG4vLy8gQGNvbnRlbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL2xheW91dFxuQG1peGluIGNhcmJvbi0tYnJlYWtwb2ludCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY2FyYm9uLS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdG9vbHRpcCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuXG4vLy8gQnV0dG9uIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBidXR0b25cbkBtaXhpbiBidXR0b24ge1xuICAvLyBidXR0b24gc2V0IHN0eWxlc1xuICAuI3skcHJlZml4fS0tYnRuLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4tc2V0ID4gLiN7JHByZWZpeH0tLWJ0biB7XG4gICAgLy8gbWF4LXdpZHRoOiByZW0oMTk2cHgpOyAvLyAxOTZweCBmcm9tIGRlc2lnbiBraXRcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4tLXNlY29uZGFyeS4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkXG4gICAgKyAuI3skcHJlZml4fS0tYnRuLS1wcmltYXJ5LiN7JHByZWZpeH0tLWJ0bi0tZGlzYWJsZWQsXG4gIC4jeyRwcmVmaXh9LS1idG4tLXRlcnRpYXJ5LiN7JHByZWZpeH0tLWJ0bi0tZGlzYWJsZWRcbiAgICArIC4jeyRwcmVmaXh9LS1idG4tLWRhbmdlci4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkIHtcbiAgICBib3JkZXItbGVmdDogcmVtKDFweCkgc29saWQgJGRpc2FibGVkLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0biB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJi4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkID4gc3ZnLiN7JHByZWZpeH0tLWJ0bl9faWNvbixcbiAgICAmOmRpc2FibGVkID4gc3ZnLiN7JHByZWZpeH0tLWJ0bl9faWNvbiB7XG4gICAgICBmaWxsOiAkZGlzYWJsZWQtMDM7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgaW50cmlzaWMgcGFkZGluZyBpbiBGaXJlZm94IChzZWUgIzczMSlcbiAgLiN7JHByZWZpeH0tLWJ0bjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdGhlbWUoXG4gICAgICAkaW50ZXJhY3RpdmUtMDEsXG4gICAgICB0cmFuc3BhcmVudCxcbiAgICAgICR0ZXh0LTA0LFxuICAgICAgJGhvdmVyLXByaW1hcnksXG4gICAgICBjdXJyZW50Q29sb3IsXG4gICAgICAkYWN0aXZlLXByaW1hcnlcbiAgICApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0tc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdGhlbWUoXG4gICAgICAkaW50ZXJhY3RpdmUtMDIsXG4gICAgICB0cmFuc3BhcmVudCxcbiAgICAgICR0ZXh0LTA0LFxuICAgICAgJGhvdmVyLXNlY29uZGFyeSxcbiAgICAgIGN1cnJlbnRDb2xvcixcbiAgICAgICRhY3RpdmUtc2Vjb25kYXJ5XG4gICAgKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0tdGVydGlhcnkge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi10aGVtZShcbiAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgJGludGVyYWN0aXZlLTAzLFxuICAgICAgJGludGVyYWN0aXZlLTAzLFxuICAgICAgJGhvdmVyLXRlcnRpYXJ5LFxuICAgICAgY3VycmVudENvbG9yLFxuICAgICAgJGFjdGl2ZS10ZXJ0aWFyeSxcbiAgICAgIDFweFxuICAgICk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkdGV4dC0wNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnRlcmFjdGl2ZS0wMztcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLXByaW1hcnk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmOmhvdmVyOmRpc2FibGVkLFxuICAgICY6Zm9jdXM6ZGlzYWJsZWQsXG4gICAgJi4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkLFxuICAgICYuI3skcHJlZml4fS0tYnRuLS1kaXNhYmxlZDpob3ZlcixcbiAgICAmLiN7JHByZWZpeH0tLWJ0bi0tZGlzYWJsZWQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGRpc2FibGVkO1xuXG4gICAgICAmID4gLiN7JHByZWZpeH0tLWJ0bl9faWNvbiBwYXRoIHtcbiAgICAgICAgZmlsbDogJGRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgPiAuI3skcHJlZml4fS0tYnRuX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogJGludmVyc2UtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0tZ2hvc3Qge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi10aGVtZShcbiAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAkbGluay0wMSxcbiAgICAgICRob3Zlci11aSxcbiAgICAgIGN1cnJlbnRDb2xvcixcbiAgICAgICRhY3RpdmUtdWlcbiAgICApO1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZy1naG9zdDtcblxuICAgIC4jeyRwcmVmaXh9LS1idG5fX2ljb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRob3Zlci1wcmltYXJ5LXRleHQ7XG5cbiAgICAgIC4jeyRwcmVmaXh9LS1idG5fX2ljb24gcGF0aCB7XG4gICAgICAgIGZpbGw6ICRob3Zlci1wcmltYXJ5LXRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS11aTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLFxuICAgICY6aG92ZXI6ZGlzYWJsZWQsXG4gICAgJjpmb2N1czpkaXNhYmxlZCxcbiAgICAmLiN7JHByZWZpeH0tLWJ0bi0tZGlzYWJsZWQsXG4gICAgJi4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkOmhvdmVyLFxuICAgICYuI3skcHJlZml4fS0tYnRuLS1kaXNhYmxlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuI3skcHJlZml4fS0tYnRuX19pY29uIHBhdGgge1xuICAgICAgICBmaWxsOiAkZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS1idG4tLXNtIHtcbiAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZy1naG9zdC1zbTtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLWJ0bi0tZmllbGQge1xuICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nLWdob3N0LWZpZWxkO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4uI3skcHJlZml4fS0tYnRuLS1pY29uLW9ubHkuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlciB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tdHJpZ2dlcignaWNvbicsICdib3R0b20nKTtcbiAgICBvdXRsaW5lOiAkYnV0dG9uLW91dGxpbmUtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC00cHg7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLiN7JHByZWZpeH0tLWJ0bi0taWNvbi1vbmx5LiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXI6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzO1xuICAgIG91dGxpbmUtY29sb3I6ICR1aS0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4uI3skcHJlZml4fS0tYnRuLS1pY29uLW9ubHkuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlcjpmb2N1c1xuICAgIHN2ZyB7XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1pY29uLW9ubHktLXRvcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tdHJpZ2dlcignaWNvbicsICd0b3AnKTtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAndG9wJywgJ2NlbnRlcicpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0taWNvbi1vbmx5LS1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnaWNvbicsICdib3R0b20nLCAnY2VudGVyJyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1pY29uLW9ubHksXG4gIC4jeyRwcmVmaXh9LS1idG4tLXNtLiN7JHByZWZpeH0tLWJ0bi0taWNvbi1vbmx5LFxuICAuI3skcHJlZml4fS0tYnRuLS1maWVsZC4jeyRwcmVmaXh9LS1idG4tLWljb24tb25seSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDEzcHgpO1xuXG4gICAgLiN7JHByZWZpeH0tLWJ0bl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tYnRuLS1naG9zdCAuI3skcHJlZml4fS0tYnRuX19pY29uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi10aGVtZShcbiAgICAgIC8vICRzdXBwb3J0LTAxLCBUT0RPOiByZXBsYWNlIHdpdGggdXBkYXRlZCB0b2tlblxuICAgICAgICAjZGMyMjJiLFxuICAgICAgLy8gJHN1cHBvcnQtMDEsIFRPRE86IHJlcGxhY2Ugd2l0aCB1cGRhdGVkIHRva2VuXG4gICAgICAgICNkYzIyMmIsXG4gICAgICAkdGV4dC0wNCxcbiAgICAgICRob3Zlci1kYW5nZXIsXG4gICAgICAkaWNvbi0wMyxcbiAgICAgICRhY3RpdmUtZGFuZ2VyXG4gICAgKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR0ZXh0LTA0O1xuICAgICAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1zbSB7XG4gICAgbWluLWhlaWdodDogcmVtKDMycHgpO1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZy1zbTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4tLWZpZWxkIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmctZmllbGQ7XG4gIH1cblxuICAvLyBTa2VsZXRvbiBTdGF0ZVxuICAuI3skcHJlZml4fS0tYnRuLiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogcmVtKDE1MHB4KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdidXR0b24nKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5cbi8vLyBCdXR0b24gYmFzZSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgYnV0dG9uXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSByZXNldDtcbiAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi1oZWlnaHQ6IHJlbSgkYnV0dG9uLWhlaWdodCk7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKTtcbiAgb3V0bGluZTogJGJ1dHRvbi1vdXRsaW5lLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBvdXRsaW5lLW9mZnNldDogLTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IHJlbSgzMjBweCk7XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDM7XG4gICAgYmFja2dyb3VuZDogJGRpc2FibGVkLTAyO1xuICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiByZW0oMTZweCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHJlbSgxNnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxNnB4KTtcbiAgfVxufVxuXG4vLy8gQnV0dG9uIHZhcmlhbnQgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGJ1dHRvblxuQG1peGluIGJ1dHRvbi10aGVtZShcbiAgJGJnLWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yLFxuICAkZm9udC1jb2xvcixcbiAgJGhvdmVyLWJnLWNvbG9yLFxuICAkaWNvbi1jb2xvcixcbiAgJGFjdGl2ZS1jb2xvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGhcbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICBjb2xvcjogJGZvbnQtY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXM7XG4gICAgb3V0bGluZS1jb2xvcjogJHVpLTAyO1xuICB9XG5cbiAgJjpkaXNhYmxlZDpob3ZlcixcbiAgJjpkaXNhYmxlZDpmb2N1cyxcbiAgJjpob3Zlci4jeyRwcmVmaXh9LS1idG4tLWRpc2FibGVkLFxuICAmOmZvY3VzLiN7JHByZWZpeH0tLWJ0bi0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkdWktMDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lLWNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1jb2xvcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG5fX2ljb24sXG4gIC4jeyRwcmVmaXh9LS1idG5fX2ljb24gcGF0aCB7XG4gICAgZmlsbDogJGljb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICd2YXJzJztcblxuLy8vIEJhc2UgZm9udCBzaXplIGluIHB4XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZ2xvYmFsLXR5cG9ncmFwaHlcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZGVwcmVjYXRlZCAoRm9yIHYxMCkgU3VwZXJzZWRlZCBieSBgJGNhcmJvbi0tYmFzZS1mb250LXNpemVgXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHB4IHRvIHJlbVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIFZhbHVlIG9mIHR5cGUgaW4gcGl4ZWxzXG4vLy8gQHJldHVybnMge051bWJlcn0gSW4gcmVtXG4vLy8gQGV4YW1wbGUgcmVtKDQ4cHgpO1xuLy8vIEBncm91cCBnbG9iYWwtdHlwb2dyYXBoeVxuLy8vIEBkZXByZWNhdGVkIChGb3IgdjEwKSBVc2UgYGNhcmJvbi0tcmVtKClgXG5AZnVuY3Rpb24gcmVtKCRweCkge1xuICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbn1cblxuLy8vIENvbnZlcnQgcHggdG8gZW1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSBWYWx1ZSBvZiB0eXBlIGluIHBpeGVsc1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEluIGVtXG4vLy8gQGV4YW1wbGUgZW0oNDhweCk7XG4vLy8gQGdyb3VwIGdsb2JhbC10eXBvZ3JhcGh5XG4vLy8gQGRlcHJlY2F0ZWQgKEZvciB2MTApIFVzZSBgY2FyYm9uLS1lbSgpYFxuQGZ1bmN0aW9uIGVtKCRweCkge1xuICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLyDwn5SsIEV4cGVyaW1lbnRhbFxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvdHlwZS9zdHlsZXMnO1xuXG4vLy8gRGlmZmVyZW50IHR5cGUgc3R5bGVzIHBlciB0b2tlblxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRva2VuIHRvIGdldCB0aGUgc3R5bGVzIGZvclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGZsdWlkIFtmYWxzZV0gLSBTcGVjaWZ5IHdoZXRoZXIgdG8gaW5jbHVkZSBmbHVpZCBzdHlsZXNcbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4vLy8gQGdyb3VwIGdsb2JhbC10eXBvZ3JhcGh5XG5AbWl4aW4gdHlwZS1zdHlsZSgkbmFtZSwgJGZsdWlkOiBmYWxzZSkge1xuICBAaW5jbHVkZSBjYXJib24tLXR5cGUtc3R5bGUoJG5hbWUsICRmbHVpZCk7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICdzcGFjaW5nJztcbkBpbXBvcnQgJy4vdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy90aGVtZXMvdGhlbWVzJztcblxuLy8vIFRoZW1lIHZhcmlhYmxlc1xuXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtdGhlbWVzXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtdGhlbWVzXG4kaW5wdXQtbGFiZWwtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGdsb2JhbC10aGVtZXNcbiRkaXNhYmxlZDogJGRpc2FibGVkLTAyICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtdGhlbWVzXG4kZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAxICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtdGhlbWVzXG4kZm9jdXM6ICRpYm0tY29sb3JfX2JsdWUtNjAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGdsb2JhbC10aGVtZXNcbiRpbnZlcnNlLWZvY3VzLXVpOiAkaWJtLWNvbG9yX193aGl0ZS0wICFkZWZhdWx0O1xuXG4vLyBMaW5rXG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGxpbmtcbiRsaW5rLXZpc2l0ZWQ6ICRpYm0tY29sb3JfX3B1cnBsZS02MCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBVc2UgdGhlbWUgdG9rZW4gYCRpbnZlcnNlLWxpbmtgIGluc3RlYWQuXG4vLy8gQGdyb3VwIGxpbmtcbiRsaW5rLWludmVyc2UtY29sb3I6ICM2ZWE2ZmYgIWRlZmF1bHQ7XG5cbi8vIFRvb2x0aXBcblxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgdG9vbHRpcFxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtMDIgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvblxuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBidXR0b25cbiRidXR0b24tZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4kYnV0dG9uLWhlaWdodDogNDhweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4kYnV0dG9uLXBhZGRpbmc6IGNhbGMoMC44NzVyZW0gLSAzcHgpIDYwcHggY2FsYygwLjg3NXJlbSAtIDNweCkgMTJweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4kYnV0dG9uLXBhZGRpbmctZmllbGQ6IGNhbGMoMC42NzVyZW0gLSAzcHgpIDYwcHggY2FsYygwLjY3NXJlbSAtIDNweCkgMTJweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4kYnV0dG9uLXBhZGRpbmctc206IGNhbGMoMC4zNzVyZW0gLSAzcHgpIDYwcHggY2FsYygwLjM3NXJlbSAtIDNweCkgMTJweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGJ1dHRvbi1wYWRkaW5nLWxnOiAkY2FyYm9uLS1zcGFjaW5nLTA0ICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8gVXNlcyB0aGUgc2FtZSBwYWRkaW5nLXkgYXMgbm9ybWFsIGJ1dHRvbnMsIGJ1dCByZW1vdmVzIGV4dHJhIHBhZGRpbmctcmlnaHRcbiRidXR0b24tcGFkZGluZy1naG9zdDogY2FsYygwLjg3NXJlbSAtIDNweCkgMTJweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vIFVzZXMgdGhlIHNhbWUgcGFkZGluZy15IGFzIGZpZWxkIGJ1dHRvbnMsIGJ1dCByZW1vdmVzIGV4dHJhIHBhZGRpbmctcmlnaHRcbiRidXR0b24tcGFkZGluZy1naG9zdC1maWVsZDogY2FsYygwLjY3NXJlbSAtIDNweCkgMTJweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vIFVzZXMgdGhlIHNhbWUgcGFkZGluZy15IGFzIHNtYWxsIGJ1dHRvbnMsIGJ1dCByZW1vdmVzIGV4dHJhIHBhZGRpbmctcmlnaHRcbiRidXR0b24tcGFkZGluZy1naG9zdC1zbTogY2FsYygwLjM3NXJlbSAtIDNweCkgMXJlbSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDNweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGJ1dHRvbi1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBidXR0b25cbiRidXR0b24tb3V0bGluZS1vZmZzZXQ6IC01cHggIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGJ1dHRvblxuJGJ1dHRvbi1vdXRsaW5lOiAxcHggc29saWQgJGlibS1jb2xvcl9fd2hpdGUtMCAhZGVmYXVsdDtcblxuLy8gQWNjb3JkaW9uXG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuJGFjY29yZGlvbi1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuJGFjY29yZGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuJGFjY29yZGlvbi1hcnJvdy1tYXJnaW46IDAgJGNhcmJvbi0tc3BhY2luZy0wNSAwIDAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuJGFjY29yZGlvbi10aXRsZS1tYXJnaW46IDAgMCAwICRjYXJib24tLXNwYWNpbmctMDUgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMCAwICRjYXJib24tLXNwYWNpbmctMDUgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjaGVja2JveFxuJGNoZWNrYm94LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4vLyBDb2RlIFNuaXBwZXRcblxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY29kZS1zbmlwcGV0XG4kc25pcHBldC1iYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDEgIWRlZmF1bHQ7IC8vIFRPRE86IERlZmluZSBmb3IgZXhwZXJpbWVudGFsXG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvZGUtc25pcHBldFxuJHNuaXBwZXQtYm9yZGVyLWNvbG9yOiAkdWktMDMgIWRlZmF1bHQ7IC8vIFRPRE86IERlZmluZSBmb3IgZXhwZXJpbWVudGFsXG5cbi8vIENvbnRlbnQgU3dpdGNoZXJcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvbnRlbnQtc3dpdGNoZXJcbiRjb250ZW50LXN3aXRjaGVyLWJvcmRlci1yYWRpdXM6IDBweCAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvbnRlbnQtc3dpdGNoZXJcbiRjb250ZW50LXN3aXRjaGVyLW9wdGlvbi1ib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtMDEgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvbnRlbnQtc3dpdGNoZXJcbiRjb250ZW50LXN3aXRjaGVyLWRpdmlkZXI6ICR1aS0wMyAhZGVmYXVsdDtcblxuLy8gRGF0YSBUYWJsZVxuXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBkYXRhLXRhYmxlXG4kZGF0YS10YWJsZS1oZWFkaW5nLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBkYXRhLXRhYmxlXG4kZGF0YS10YWJsZS1oZWFkaW5nLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYnJhbmQtMDEgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBkYXRhLXRhYmxlXG4kZGF0YS10YWJsZS1yb3ctaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBkYXRhLXRhYmxlXG4kZGF0YS10YWJsZS16ZWJyYS1jb2xvcjogJHVpLTAyICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBkYXRhLXRhYmxlXG4kZGF0YS10YWJsZS1jb2x1bW4taG92ZXI6ICRob3Zlci1zZWxlY3RlZC11aSAhZGVmYXVsdDtcblxuLy8gRGF0ZSBQaWNrZXJcblxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZGF0ZS1waWNrZXJcbiRkYXRlLXBpY2tlci1pbi1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yOiAkaWJtLWNvbG9yX19ibHVlLTIwICFkZWZhdWx0O1xuXG4vLyBNb2RhbFxuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBtb2RhbFxuJG1vZGFsLWJvcmRlci10b3A6ICRicmFuZC0wMSA0cHggc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIG1vZGFsXG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICR1aS0wMyAhZGVmYXVsdDtcblxuLy8gTm90aWZpY2F0aW9uXG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJG5vdGlmaWNhdGlvbi1pbmZvLWJhY2tncm91bmQtY29sb3I6ICRpYm0tY29sb3JfX2JsdWUtMTAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJG5vdGlmaWNhdGlvbi1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yOiAkaWJtLWNvbG9yX19yZWQtMTAgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJG5vdGlmaWNhdGlvbi13YXJuaW5nLWJhY2tncm91bmQtY29sb3I6IG1peChcbiAgJGlibS1jb2xvcl9feWVsbG93LTIwLFxuICAkaWJtLWNvbG9yX193aGl0ZS0wLFxuICAxNSVcbikgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuJG5vdGlmaWNhdGlvbi1zdWNjZXNzLWJhY2tncm91bmQtY29sb3I6ICRpYm0tY29sb3JfX2dyZWVuLTEwICFkZWZhdWx0O1xuXG4vLyBQcm9ncmVzcyBJbmRpY2F0b3JcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtaW5kaWNhdG9yXG4kcHJvZ3Jlc3MtaW5kaWNhdG9yLWJhci13aWR0aDogMXB4IGluc2V0IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtaW5kaWNhdG9yXG4kcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0cm9rZS13aWR0aDogNSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIHByb2dyZXNzLWluZGljYXRvclxuJHByb2dyZXNzLWluZGljYXRvci1saW5lLW9mZnNldDogMC42MjVyZW0gIWRlZmF1bHQ7XG5cbi8vIENvcHkgQnV0dG9uXG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvcHktYnV0dG9uXG4kY29weS1hY3RpdmU6ICRhY3RpdmUtdWkgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNvcHktYnV0dG9uXG4kY29weS1idG4tZmVlZGJhY2s6ICRpbnZlcnNlLTAyICFkZWZhdWx0O1xuXG4vLyBSYWRpbyBCdXR0b25cblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIHJhZGlvLWJ1dHRvblxuJHJhZGlvLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLyBTdHJ1Y3R1cmVkIExpc3RcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIHN0cnVjdHVyZWQtbGlzdFxuJHN0cnVjdHVyZWQtbGlzdC1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBzdHJ1Y3R1cmVkLWxpc3RcbiRzdHJ1Y3R1cmVkLWxpc3QtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFRhYnNcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgdGFic1xuJHRhYi11bmRlcmxpbmUtY29sb3I6IDNweCBzb2xpZCAkdWktMDMgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIHRhYnNcbiR0YWItdW5kZXJsaW5lLWNvbG9yLWhvdmVyOiAzcHggc29saWQgJHVpLTA0ICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCB0YWJzXG4kdGFiLXRleHQtZGlzYWJsZWQ6ICRkaXNhYmxlZC0wMiAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgdGFic1xuJHRhYi11bmRlcmxpbmUtZGlzYWJsZWQ6IDNweCBzb2xpZCAkZGlzYWJsZWQtMDEgIWRlZmF1bHQ7XG5cbi8vIFNrZWxldG9uIExvYWRpbmdcblxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgc2tlbGV0b25cbiRza2VsZXRvbjogJHNrZWxldG9uLTAxICFkZWZhdWx0OyAvLyBUT0RPOiBSZW1vdmUgdGhpcyBpbiBuZXh0IG1ham9yIHJlbGVhc2VcbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTgsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy8gQ29tbW9uIGNvbXBvbmVudCBlYXNpbmdzXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9tb3Rpb25cbiRjYXJib24tLWVhc2luZ3M6IChcbiAgc3RhbmRhcmQ6IChcbiAgICBwcm9kdWN0aXZlOiBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLjM4LCAwLjkpLFxuICAgIGV4cHJlc3NpdmU6IGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSksXG4gICksXG4gIGVudHJhbmNlOiAoXG4gICAgcHJvZHVjdGl2ZTogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzgsIDAuOSksXG4gICAgZXhwcmVzc2l2ZTogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMywgMSksXG4gICksXG4gIGV4aXQ6IChcbiAgICBwcm9kdWN0aXZlOiBjdWJpYy1iZXppZXIoMC4yLCAwLCAxLCAwLjkpLFxuICAgIGV4cHJlc3NpdmU6IGN1YmljLWJlemllcigwLjQsIDAuMTQsIDEsIDEpLFxuICApLFxuKTtcblxuLy8vIEdldCB0aGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gZm9yIGEgZ2l2ZW4gZWFzaW5nIGFuZCBtb3Rpb24gbW9kZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIENhbiBiZSBgc3RhbmRhcmRgLCBgZW50cmFuY2VgLCBvciBgZXhpdGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1vZGUgW3Byb2R1Y3RpdmVdIC0gQ2FuIGJlIGBwcm9kdWN0aXZlYCBvciBgZXhwcmVzc2l2ZWBcbi8vLyBAcGFyYW0ge01hcH0gJGVhc2luZ3MgWyRjYXJib24tLWVhc2luZ3NdIC0gRWFzaW5ncyBtYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBAY2FyYm9uL21vdGlvblxuLy8vIEByZXR1cm4ge0Z1bmN0aW9ufSBDU1MgYGN1YmljLWJlemllcigpYCBmdW5jdGlvblxuQGZ1bmN0aW9uIGNhcmJvbi0tbW90aW9uKCRuYW1lLCAkbW9kZTogcHJvZHVjdGl2ZSwgJGVhc2luZ3M6ICRjYXJib24tLWVhc2luZ3MpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRlYXNpbmdzLCAkbmFtZSkge1xuICAgICRlYXNpbmc6IG1hcC1nZXQoJGVhc2luZ3MsICRuYW1lKTtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGVhc2luZywgJG1vZGUpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkZWFzaW5nLCAkbW9kZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ1VuYWJsZSB0byBmaW5kIGEgbW9kZSBmb3IgdGhlIGVhc2luZyAjeyRlYXNpbmd9IGNhbGxlZDogI3skbW9kZX0uJztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnVW5hYmxlIHRvIGZpbmQgYW4gZWFzaW5nIG5hbWVkICN7JG5hbWV9IGluIG91ciBzdXBwb3J0ZWQgZWFzaW5ncy4nO1xuICB9XG59XG5cbi8vLyBTZXQgdGhlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uIGZvciBhIGdpdmVuIGVhc2luZyBhbmQgbW90aW9uIG1vZGVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZWFzaW5nIGN1cnZlIHRvIGFwcGx5XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtb2RlIC0gVGhlIG1vZGUgZm9yIHRoZSBlYXNpbmcgY3VydmUgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgQGNhcmJvbi9tb3Rpb25cbkBtaXhpbiBjYXJib24tLW1vdGlvbigkbmFtZSwgJG1vZGUpIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGNhcmJvbi0tbW90aW9uKCRuYW1lLCAkbW9kZSk7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnbGF5ZXInO1xuXG4vLyBUb29sdGlwXG4vLyBEZWZpbml0aW9uIGFuZCBJY29uIENTUyBvbmx5IHRvb2x0aXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRvb2x0aXAtdHlwZSBbJ2ljb24nXSAtIFRoZSB0eXBlLCBmcm9tOiBgaWNvbmAsIGBkZWZpbml0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gWydib3R0b20nXSAtIFRoZSBwb3NpdGlvbiwgZnJvbTogYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCB0b29sdGlwXG5AbWl4aW4gdG9vbHRpcC0tdHJpZ2dlcigkdG9vbHRpcC10eXBlOiAnaWNvbicsICRwb3NpdGlvbjogJ2JvdHRvbScpIHtcbiAgQGluY2x1ZGUgcmVzZXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgQGlmICR0b29sdGlwLXR5cGUgPT0gJ2ljb24nIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnYm9yZGVyJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gOjpiZWZvcmUgLSBUb29sdGlwIGNhcmV0XG4gIC8vIDo6YWZ0ZXIgLSBsZWdhY3kgVG9vbHRpcCBjb250ZW50IChkZXByZWNhdGVkKVxuICAvLyAuI3skcHJlZml4fS0tYXNzaXN0aXZlLXRleHQgLSBXQ0FHIDIuMSBjb21wbGlhbnQgdG9vbHRpcCBjb250ZW50XG4gIC8vICAgIHRoYXQgY2FuIGVpdGhlciBiZSBhIGNoaWxkIChpY29uIHRvb2x0aXApIG9yIHNpYmxpbmcgKGRlZmluaXRpb24gdG9vbHRpcClcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlcixcbiAgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICArIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB6KCdmbG9hdGluZycpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLy8gSUUgbWVkaWEgcXVlcnlcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAmLiN7JHByZWZpeH0tLXRvb2x0aXAtLWExMXk6OmJlZm9yZSxcbiAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hMTF5OjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIGNhcmV0XG4gICY6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYXNzaXN0aXZlLXRleHQsXG4gICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0IHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvLyBJbiBvcmRlciB0byBwYXNzIEFBVCwgb3BhY2l0eSBtdXN0IGJlIHNldCB0byAxIGluIHRoZSBkZWZhdWx0IHN0YXRlXG4gICAgLy8gT24gZm9jdXMvaG92ZXIgdXNlIGEga2V5ZnJhbWUgYW5pbWF0aW9uIHRvIG1pbWljIHRyYW5zaXRpb25cbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vIG92ZXJ3cml0ZSBkZWZhdWx0IG5vd3JhcCBiZWhhdmlvclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cblxuICAvLyBjb250ZW50IGJveFxuICAvLyBAdG9kbyBTaW1wbGlmeSBDU1Mgc2VsZWN0b3JzIG9uIG5leHQgbWFqb3IgcmVsZWFzZVxuICAmOjphZnRlcixcbiAgJjpob3ZlciAuI3skcHJlZml4fS0tYXNzaXN0aXZlLXRleHQsXG4gICY6Zm9jdXMgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAmOmhvdmVyICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAmOmZvY3VzICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBsYXllcignb3ZlcmxheScpO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IHJlbSgyMDhweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IGlmKFxuICAgICAgJHRvb2x0aXAtdHlwZSA9PSAnZGVmaW5pdGlvbicsXG4gICAgICByZW0oOHB4KSByZW0oMTZweCksXG4gICAgICByZW0oMnB4KSByZW0oMTZweClcbiAgICApO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSgycHgpO1xuICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLTAyO1xuXG4gICAgLy8gSUUgbWVkaWEgcXVlcnlcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICAgd2lkdGg6IHJlbSgyMDhweCk7XG4gICAgfVxuICAgIC8vIEVkZ2UgMTItMTUgYW5kIEVkZ2UgMTYgZmVhdHVyZSBxdWVyaWVzXG4gICAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6IHRydWUpIHtcbiAgICAgIHdpZHRoOiByZW0oMjA4cHgpO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIHdpZHRoOiByZW0oMjA4cHgpO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xuICB9XG5cbiAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hMTF5OjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgdG9vbHRpcC1mYWRlIHtcbiAgICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCxcbiAgICArIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCB7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAgICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYTExeTo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogdG9vbHRpcC1mYWRlICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUb29sdGlwXG4vLyBEZWZpbml0aW9uIGFuZCBJY29uIENTUyBvbmx5IHRvb2x0aXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRvb2x0aXAtdHlwZSBbJ2ljb24nXSAtIFRoZSB0eXBlLCBmcm9tOiBgaWNvbmAsIGBkZWZpbml0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gWydib3R0b20nXSAtIFRoZSBwb3NpdGlvbiwgZnJvbTogYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFsnY2VudGVyJ10gLSBUaGUgYWxpZ25tZW50LCBmcm9tOiBgc3RhcnRgLCBgY2VudGVyYCwgYGVuZGBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCB0b29sdGlwXG5AbWl4aW4gdG9vbHRpcC0tcGxhY2VtZW50KFxuICAkdG9vbHRpcC10eXBlOiAnaWNvbicsXG4gICRwb3NpdGlvbjogJ2JvdHRvbScsXG4gICRhbGlnbjogJ2NlbnRlcidcbikge1xuICAvLyBwb3NpdGlvbiBhbmQgYWxpZ25tZW50XG4gICRjYXJldC1zcGFjaW5nOiBpZihcbiAgICAkdG9vbHRpcC10eXBlID09ICdkZWZpbml0aW9uJyxcbiAgICByZW0oNHB4KSxcbiAgICByZW0oOHB4KVxuICApOyAvLyBzcGFjZSBiZXR3ZWVuIGNhcmV0IGFuZCB0cmlnZ2VyIGJ1dHRvblxuICAkY2FyZXQtaGVpZ2h0OiByZW0oNXB4KTtcbiAgJGNhcmV0LXdpZHRoOiByZW0oOHB4KTtcbiAgJGJvZHktc3BhY2luZzogJGNhcmV0LXNwYWNpbmcgKyAkY2FyZXQtaGVpZ2h0O1xuXG4gIC8vIEB0b2RvIFNpbXBsaWZ5IENTUyBzZWxlY3RvcnMgb24gbmV4dCBtYWpvciByZWxlYXNlXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIsXG4gICY6aG92ZXIgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAmOmZvY3VzIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCxcbiAgJjpob3ZlciArIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCxcbiAgJjpmb2N1cyArIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCB7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3RvcCcpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ3JpZ2h0Jykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgQGlmICgkcG9zaXRpb24gPT0gJ2xlZnQnKSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgdG9wOiAtJGNhcmV0LXNwYWNpbmc7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbSg1cHgpIHJlbSg0cHgpIDAgcmVtKDRweCk7XG4gICAgICBib3JkZXItY29sb3I6ICRpbnZlcnNlLTAyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgIH1cbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICByaWdodDogLSRjYXJldC1zcGFjaW5nO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0oNHB4KSByZW0oNXB4KSByZW0oNHB4KSAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkaW52ZXJzZS0wMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICAgIH1cbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAnYm90dG9tJykge1xuICAgICAgYm90dG9tOiAtJGNhcmV0LXNwYWNpbmc7XG4gICAgICBib3JkZXItd2lkdGg6IDAgcmVtKDRweCkgcmVtKDVweCkgcmVtKDRweCk7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRpbnZlcnNlLTAyIHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7XG4gICAgfVxuICAgIEBpZiAoJHBvc2l0aW9uID09ICdsZWZ0Jykge1xuICAgICAgbGVmdDogLSRjYXJldC1zcGFjaW5nO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0oNHB4KSAwIHJlbSg0cHgpIHJlbSg1cHgpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkaW52ZXJzZS0wMjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICB9XG4gIH1cblxuICAvLyBhbGlnbm1lbnQgb3B0aW9ucyBhdmFpbGFibGUgb25seSBmb3IgdG9wIGFuZCBib3R0b20gdG9vbHRpcCBwb3NpdGlvblxuICAvLyBAdG9kbyBTaW1wbGlmeSBDU1Mgc2VsZWN0b3JzIG9uIG5leHQgbWFqb3IgcmVsZWFzZVxuICAmOjphZnRlcixcbiAgJjpob3ZlciAuI3skcHJlZml4fS0tYXNzaXN0aXZlLXRleHQsXG4gICY6Zm9jdXMgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAmOmhvdmVyICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0LFxuICAmOmZvY3VzICsgLiN7JHByZWZpeH0tLWFzc2lzdGl2ZS10ZXh0IHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgdG9wOiAtJGJvZHktc3BhY2luZztcbiAgICAgIEBpZiAoJGFsaWduID09ICdzdGFydCcpIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgfSBAZWxzZSBpZiAoJGFsaWduID09ICdlbmQnKSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAoJHBvc2l0aW9uID09ICdyaWdodCcpIHtcbiAgICAgIHJpZ2h0OiAtJGJvZHktc3BhY2luZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICAgIH1cbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAnYm90dG9tJykge1xuICAgICAgYm90dG9tOiAtJGJvZHktc3BhY2luZztcbiAgICAgIEBpZiAoJGFsaWduID09ICdzdGFydCcpIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gICAgICB9IEBlbHNlIGlmICgkYWxpZ24gPT0gJ2VuZCcpIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAnbGVmdCcpIHtcbiAgICAgIGxlZnQ6IC0kYm9keS1zcGFjaW5nO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEB0b2RvIHNpbXBsaWZ5IG9uIG5leHQgbWFqb3IgcmVsZWFzZSB0byBtb3ZlIHRoZSA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVudCB3aXRoaW4gdGhlIHRvb2x0aXAgaW5zdGVhZCBvZiB0aGUgdHJpZ2dlclxuICBAaWYgJHRvb2x0aXAtdHlwZSA9PSAnZGVmaW5pdGlvbicge1xuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYTExeSArIC4jeyRwcmVmaXh9LS1hc3Npc3RpdmUtdGV4dCB7XG4gICAgICBAaWYgKCRwb3NpdGlvbiA9PSAnYm90dG9tJykge1xuICAgICAgICBib3R0b206IC0oXG4gICAgICAgICAgICAkYm9keS1zcGFjaW5nIC0gcmVtKDFweClcbiAgICAgICAgICApOyAvLyBjYXJyeW92ZXIgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY2FyYm9uLWRlc2lnbi1zeXN0ZW0vY2FyYm9uL3B1bGwvMzE1MS9maWxlcyNkaWZmLTkzNzM0YmUwNzg0ZTk1MzBiNmQxNGE3YjAzYjBkMzUyUjI2MS1SMjY1XG4gICAgICAgIEBpZiAoJGFsaWduID09ICdzdGFydCcgb3IgJGFsaWduID09ICdlbmQnKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnaGVscGVyLWNsYXNzZXMnO1xuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGdyb3VwIGdsb2JhbC1sYXlvdXRcbiR6LWluZGV4ZXM6IChcbiAgbW9kYWw6IDkwMDAsXG4gIG92ZXJsYXk6IDgwMDAsXG4gIGRyb3Bkb3duOiA5MTAwLFxuICBoZWFkZXI6IDYwMDAsXG4gIGZvb3RlcjogNTAwMCxcbiAgaGlkZGVuOiAtIDEsXG4gIG92ZXJmbG93SGlkZGVuOiAtIDEsXG4gIGZsb2F0aW5nOiAxMDAwMCxcbik7XG5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbGF5ZXIgLSBWYWx1ZSBmcm9tIGAkei1pbmRleGVzYCBtYXBcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheW91dFxuLy8vIEBleGFtcGxlIC0gc2Nzc1xuLy8vICAgLm1vZGFsIHtcbi8vLyAgICAgei1pbmRleDogeignbW9kYWwnKTtcbi8vLyAgIH1cbkBmdW5jdGlvbiB6KCRsYXllcikge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCR6LWluZGV4ZXMsICRsYXllcikge1xuICAgIEB3YXJuICdObyBsYXllciBmb3VuZCBmb3IgYCN7JGxheWVyfWAgaW4gJHotaW5kZXhlcyBtYXAuIFByb3BlcnR5IG9taXR0ZWQuJztcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkei1pbmRleGVzLCAkbGF5ZXIpO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8g8J+TkSBMYXllclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gICBMYXllciAgICAgICAgICAgICAgICAgfHwgIEVsZXZhdGlvblxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgMCAtIEJhc2UgICAgICAgICAgICAgIHx8ICAwXG4vLyAgIDEgLSBGbGF0ICAgICAgICAgICAgICB8fCAgMVxuLy8gICAyIC0gUmFpc2VkICAgICAgICAgICAgfHwgIDJcbi8vICAgMyAtIE92ZXJsYXkgICAgICAgICAgIHx8ICA4XG4vLyAgIDQgLSBQb3Atb3V0ICAgICAgICAgICB8fCAgMjRcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgIEN1c3RvbTogTGVmdCBOYXYgICAgICB8fCAgMTZcbi8vICAgQ3VzdG9tOiBHbG9iYWwgSGVhZGVyIHx8ICAxMlxuLy9cblxuLy8gQm94IHNoYWRvdyB2YXJpYWJsZXNcblxuLy8vIEJveCBzaGFkb3cgY29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBWYWx1ZVxuLy8vIEBncm91cCBnbG9iYWwtbGF5ZXJcbi8vLyBAZXhhbXBsZSBib3gtc2hhZG93OiAwcHggM3B4IDNweCAwICRib3gtc2hhZG93O1xuJGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuLy8vIFJhaXNlZCBib3ggc2hhZG93XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheWVyXG4kYm94LXNoYWRvdy0tcmFpc2VkOiAwIDFweCAycHggMCAkYm94LXNoYWRvdztcblxuLy8vIE92ZXJsYXkgYm94IHNoYWRvd1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIFZhbHVlXG4vLy8gQGdyb3VwIGdsb2JhbC1sYXllclxuJGJveC1zaGFkb3ctLW92ZXJsYXk6IDAgNHB4IDhweCAwICRib3gtc2hhZG93O1xuXG4vLy8gU3RpY2t5IG5hdiBib3ggc2hhZG93XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheWVyXG4kYm94LXNoYWRvdy0tc3RpY2t5LW5hdjogMCA2cHggMTJweCAwICRib3gtc2hhZG93O1xuXG4vLy8gVGVtcG9yYXJ5IG5hdiBib3ggc2hhZG93XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheWVyXG4kYm94LXNoYWRvdy0tdGVtcG9yYXJ5LW5hdjogMCA4cHggMTZweCAwICRib3gtc2hhZG93O1xuXG4vLy8gUG9wIG91dCBib3ggc2hhZG93XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHR5cGUgVmFsdWVcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheWVyXG4kYm94LXNoYWRvdy0tcG9wLW91dDogMCAxMnB4IDI0cHggMCAkYm94LXNoYWRvdztcblxuLy8gTGF5ZXIgYm94LXNoYWRvdyBtYXBcblxuLy8vIE1hcCBvZiBib3ggc2hhZG93cyB1c2VkIGluIHRoZSBgbGF5ZXIoKWAgbWl4aW5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBNYXBcbi8vLyBAZ3JvdXAgZ2xvYmFsLWxheWVyXG4vLy8gQGV4YW1wbGUgLSBAaW5jbHVkZSBsYXllcigncmFpc2VkJyk7XG4kbGF5ZXItc2hhZG93czogKFxuICBiYXNlOiBub25lLFxuICBmbGF0OiBub25lLFxuICByYWlzZWQ6ICRib3gtc2hhZG93LS1yYWlzZWQsXG4gIG92ZXJsYXk6ICRib3gtc2hhZG93LS1vdmVybGF5LFxuICBwb3Atb3V0OiAkYm94LXNoYWRvdy0tcG9wLW91dCxcbiAgdGVtcG9yYXJ5LW5hdjogJGJveC1zaGFkb3ctLXRlbXBvcmFyeS1uYXYsXG4gIHN0aWNreS1uYXY6ICRib3gtc2hhZG93LS1zdGlja3ktbmF2LFxuKTtcblxuLy8vIExheWVyIG1peGluIHRvIHNldCBgYm94LXNoYWRvd2Bcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbGF5ZXIgLSBBIHZhbHVlIGZyb20gdGhlIGAkbGF5ZXItc2hhZG93c2AgbWFwXG4vLy8gQGdyb3VwIGdsb2JhbC1sYXllclxuLy8vIEBleGFtcGxlIC0gQGluY2x1ZGUgbGF5ZXIoJ3JhaXNlZCcpO1xuQG1peGluIGxheWVyKCRsYXllcikge1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKCdjc3MtLXVzZS1sYXllcicpID09IGZhbHNlIG9yICRjc3MtLXVzZS1sYXllciA9PSB0cnVlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGxheWVyLXNoYWRvd3MsICRsYXllcikge1xuICAgICAgYm94LXNoYWRvdzogI3ttYXAtZ2V0KCRsYXllci1zaGFkb3dzLCAkbGF5ZXIpfTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuICcjeyRsYXllcn0gaXMgbm90IGEgdmFsaWQgbGF5ZXIuJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5ZXInO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vYnV0dG9uL2J1dHRvbic7XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2NvcHktYnV0dG9uJykge1xuICAuI3skcHJlZml4fS0tYnRuLS1jb3B5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAuI3skcHJlZml4fS0tYnRuX19pY29uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNXB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1jb3B5X19mZWVkYmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAxLjJyZW07XG4gICAgbGVmdDogNTAlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbGF5ZXIoJ292ZXJsYXknKTtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2xhYmVsLTAxJyk7XG4gICAgICB0b3A6IDEuMXJlbTtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTJ4cztcbiAgICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMC44NXJlbTtcbiAgICAgIHdpZHRoOiAwLjZyZW07XG4gICAgICBoZWlnaHQ6IDAuNnJlbTtcbiAgICAgIGxlZnQ6IC0wLjNyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkaW52ZXJzZS0wMjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW52ZXJzZS0wMjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS0wMjtcbiAgICB9XG5cbiAgICAmLS1kaXNwbGF5ZWQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2xheW91dC9taW5pLXVuaXQnO1xuQGltcG9ydCAnLi92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2xheW91dC9zcGFjaW5nJztcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyDwn4yMIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICAgU2l6ZSBpbiBweCBiYXNlZCBvbiAxNnB4IGJhc2Vcbi8vXG4vLyAgIFNwYWNpbmcgU2NhbGVcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgIDR4cyAgfHwgIDFweFxuLy8gICAzeHMgIHx8ICAycHhcbi8vICAgMnhzICB8fCAgNHB4XG4vLyAgIHhzICAgfHwgIDhweFxuLy8gICBzbSAgIHx8ICAxMnB4XG4vLyAgIG1kICAgfHwgIDE2cHhcbi8vICAgbGcgICB8fCAgMjRweFxuLy8gICB4bCAgIHx8ICAzMnB4XG4vLyAgIDJ4bCAgfHwgIDQwcHhcbi8vICAgM3hsICB8fCAgNDhweFxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyAgIExheW91dCBTY2FsZVxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgMnhzICB8fCAgMTZweFxuLy8gICB4cyAgIHx8ICAyNHB4XG4vLyAgIHNtICAgfHwgIDMycHhcbi8vICAgbWQgICB8fCAgNDhweFxuLy8gICBsZyAgIHx8ICA2NHB4XG4vLyAgIHhsICAgfHwgIDk2cHhcbi8vICAgMnhsICB8fCAgMTYwcHhcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyAxcmVtIGJhc2VsaW5lIHNwYWNpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmctYmFzZWxpbmU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyAxcHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmctNHhzOiAkc3BhY2luZy1iYXNlbGluZSAqIDAuMDYyNSAhZGVmYXVsdDtcblxuLy8vIDJweCBzcGFjaW5nIGluIHJlbSB1bml0c1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGdsb2JhbC1zcGFjaW5nXG4kc3BhY2luZy0zeHM6ICRzcGFjaW5nLWJhc2VsaW5lICogMC4xMjUgIWRlZmF1bHQ7XG5cbi8vLyA0cHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmctMnhzOiAkc3BhY2luZy1iYXNlbGluZSAqIDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyA4cHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmcteHM6ICRzcGFjaW5nLWJhc2VsaW5lICogMC41ICFkZWZhdWx0O1xuXG4vLy8gMTJweCBzcGFjaW5nIGluIHJlbSB1bml0c1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGdsb2JhbC1zcGFjaW5nXG4kc3BhY2luZy1zbTogJHNwYWNpbmctYmFzZWxpbmUgKiAwLjc1ICFkZWZhdWx0O1xuXG4vLy8gMTZweCBzcGFjaW5nIGluIHJlbSB1bml0c1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGdsb2JhbC1zcGFjaW5nXG4kc3BhY2luZy1tZDogJHNwYWNpbmctYmFzZWxpbmUgIWRlZmF1bHQ7XG5cbi8vLyAyNHB4IHNwYWNpbmcgaW4gcmVtIHVuaXRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZ3JvdXAgZ2xvYmFsLXNwYWNpbmdcbiRzcGFjaW5nLWxnOiAkc3BhY2luZy1iYXNlbGluZSAqIDEuNSAhZGVmYXVsdDtcblxuLy8vIDMycHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmcteGw6ICRzcGFjaW5nLWJhc2VsaW5lICogMiAhZGVmYXVsdDtcblxuLy8vIDQwcHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmctMnhsOiAkc3BhY2luZy1iYXNlbGluZSAqIDIuNSAhZGVmYXVsdDtcblxuLy8vIDQ4cHggc3BhY2luZyBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJHNwYWNpbmctM3hsOiAkc3BhY2luZy1iYXNlbGluZSAqIDMgIWRlZmF1bHQ7XG5cbi8vLyAxNnB4IGxheW91dCBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJGxheW91dC0yeHM6ICRzcGFjaW5nLWJhc2VsaW5lICFkZWZhdWx0O1xuXG4vLy8gMjRweCBsYXlvdXQgaW4gcmVtIHVuaXRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZ3JvdXAgZ2xvYmFsLXNwYWNpbmdcbiRsYXlvdXQteHM6ICRzcGFjaW5nLWJhc2VsaW5lICogMS41ICFkZWZhdWx0O1xuXG4vLy8gMzJweCBsYXlvdXQgaW4gcmVtIHVuaXRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZ3JvdXAgZ2xvYmFsLXNwYWNpbmdcbiRsYXlvdXQtc206ICRzcGFjaW5nLWJhc2VsaW5lICogMiAhZGVmYXVsdDtcblxuLy8vIDQ4cHggbGF5b3V0IGluIHJlbSB1bml0c1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGdsb2JhbC1zcGFjaW5nXG4kbGF5b3V0LW1kOiAkc3BhY2luZy1iYXNlbGluZSAqIDMgIWRlZmF1bHQ7XG5cbi8vLyA2NHB4IGxheW91dCBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJGxheW91dC1sZzogJHNwYWNpbmctYmFzZWxpbmUgKiA0ICFkZWZhdWx0O1xuXG4vLy8gOTZweCBsYXlvdXQgaW4gcmVtIHVuaXRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZ3JvdXAgZ2xvYmFsLXNwYWNpbmdcbiRsYXlvdXQteGw6ICRzcGFjaW5nLWJhc2VsaW5lICogNiAhZGVmYXVsdDtcblxuLy8vIDE2MHB4IGxheW91dCBpbiByZW0gdW5pdHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBncm91cCBnbG9iYWwtc3BhY2luZ1xuJGxheW91dC0yeGw6ICRzcGFjaW5nLWJhc2VsaW5lICogMTAgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuXG4vLy8gRm9ybSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgZm9ybVxuQG1peGluIGZvcm0ge1xuICAuI3skcHJlZml4fS0tZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZm9ybS1pdGVtIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGFiZWwge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2xhYmVsLTAxJyk7XG5cbiAgICBjb2xvcjogJHRleHQtMDI7XG4gICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1sYWJlbC13ZWlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGFiZWwgLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXIge1xuICAgIC8vIFdoZW4gdG9vbHRpcCB0cmlnZ2VyIGlzIHB1dCBpbiBmb3JtIGxhYmVsIHRoZSB0cmlnZ2VyIGJ1dHRvbiBzaG91bGQgZml0IGluIHRoZSBzaXplIG9mIGxhYmVsXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0lCTS9jYXJib24tY29tcG9uZW50cy1yZWFjdC9pc3N1ZXMvMTE1XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnbGFiZWwtMDEnKTtcbiAgfVxuXG4gIC8vIFNrZWxldG9uIFN0YXRlXG4gIC4jeyRwcmVmaXh9LS1sYWJlbC4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IHJlbSg3NXB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxNHB4KTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9J251bWJlciddIHtcbiAgICBmb250LWZhbWlseTogY2FyYm9uLS1mb250LWZhbWlseSgnbW9ubycpO1xuICB9XG5cbiAgaW5wdXRbZGF0YS1pbnZhbGlkXSxcbiAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJbZGF0YS1pbnZhbGlkXSxcbiAgLiN7JHByZWZpeH0tLXRleHQtYXJlYV9fd3JhcHBlcltkYXRhLWludmFsaWRdXG4gICAgPiAuI3skcHJlZml4fS0tdGV4dC1hcmVhLS1pbnZhbGlkLFxuICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0X193cmFwcGVyW2RhdGEtaW52YWxpZF0sXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveFtkYXRhLWludmFsaWRdLFxuICAuI3skcHJlZml4fS0tY29tYm8tYm94W2RhdGEtaW52YWxpZF0gLiN7JHByZWZpeH0tLXRleHQtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ2ludmFsaWQnKTtcbiAgfVxuXG4gIGlucHV0W2RhdGEtaW52YWxpZF0sXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyW2RhdGEtaW52YWxpZF0sXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWFyZWFfX3dyYXBwZXJbZGF0YS1pbnZhbGlkXSxcbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlcltkYXRhLWludmFsaWRdLFxuICAuI3skcHJlZml4fS0tdGltZS1waWNrZXJbZGF0YS1pbnZhbGlkXSxcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94W2RhdGEtaW52YWxpZF0ge1xuICAgIH4gLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgICAgbWF4LWhlaWdodDogcmVtKDIwMHB4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRzdXBwb3J0LTAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpeCBmb3IgcmVkIHJpbmcgd2hlbiBpbnB1dCBpcyBtYXJrZWQgcmVxdWlyZWQgaW4gRmlyZWZveCwgcmVmcyAjNzQ0XG4gIGlucHV0Om5vdChvdXRwdXQpOm5vdChbZGF0YS1pbnZhbGlkXSk6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2NhcHRpb24tMDEnKTtcbiAgICBtYXJnaW46ICRjYXJib24tLXNwYWNpbmctMDIgMCAwO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGFiZWwgKyAuI3skcHJlZml4fS0tZm9ybV9faGVscGVyLXRleHQge1xuICAgIG1hcmdpbi10b3A6IHJlbSgtNnB4KTsgLy8gd2hlbiBib3RoIGhlbHBlciB0ZXh0IGFuZCBsYWJlbCBhcmUgcmVuZGVyZWRcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1mb3JtX19oZWxwZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnaGVscGVyLXRleHQtMDEnKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KCdzbScpIHtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sYWJlbC0tZGlzYWJsZWQsXG4gIC4jeyRwcmVmaXh9LS1mb3JtX19oZWxwZXItdGV4dC0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnZm9ybScpIHtcbiAgQGluY2x1ZGUgZm9ybTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICd2YXJzJztcblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS1lbmQtcDEge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLWVuZC1wMiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB9XG59XG5cbi8qIFN0cm9rZSBhbmltYXRpb25zICovXG5Aa2V5ZnJhbWVzIGluaXQtc3Ryb2tlIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyNDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRsb2FkaW5nX19nYXA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzdHJva2UtZW5kIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkbG9hZGluZ19fZ2FwO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyNDA7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxvYWRpbmdcbiRsb2FkaW5nX19nYXA6IDQwO1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxvYWRpbmdcbiRsb2FkaW5nX19zaXplOiAxMC41cmVtO1xuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJ2tleWZyYW1lcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndmFycyc7XG5cbi8vLyBMb2FkaW5nIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBsb2FkaW5nXG5AbWl4aW4gbG9hZGluZyB7XG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSBhbmltYXRpb25fX2xvYWRpbmctLXNwaW47XG4gICAgd2lkdGg6ICRsb2FkaW5nX19zaXplO1xuICAgIGhlaWdodDogJGxvYWRpbmdfX3NpemU7XG4gIH1cblxuICAvLyBBbmltYXRpb24gKFNwaW4gYnkgZGVmYXVsdClcbiAgLiN7JHByZWZpeH0tLWxvYWRpbmdfX3N2ZyB7XG4gICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbG9hZGluZ19fc3ZnIGNpcmNsZSB7XG4gICAgc3Ryb2tlLXdpZHRoOiA4O1xuICAgIHN0cm9rZS1saW5lY2FwOiBidXR0O1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDI0MDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nX19zdHJva2Uge1xuICAgIHN0cm9rZTogJGludGVyYWN0aXZlLTA0O1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkbG9hZGluZ19fZ2FwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxvYWRpbmctLXN0b3Age1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbl9fbG9hZGluZy0tc3RvcDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nLS1zbWFsbCB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2Utd2lkdGg6IDEyO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nLS1zbWFsbCAuI3skcHJlZml4fS0tbG9hZGluZ19fc3ZnIHtcbiAgICBzdHJva2U6ICRpbnRlcmFjdGl2ZS0wNDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nX19iYWNrZ3JvdW5kIHtcbiAgICBzdHJva2U6ICR1aS0wMztcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1sb2FkaW5nLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdWktMDIsIDAuNik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1zbG93LTAyIG1vdGlvbihzdGFuZGFyZCwgZXhwcmVzc2l2ZSk7XG4gICAgei1pbmRleDogeignb3ZlcmxheScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxvYWRpbmctb3ZlcmxheS0tc3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdsb2FkaW5nJykge1xuICBAaW5jbHVkZSBsb2FkaW5nO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQW5pbWF0aW9ucyAtIExvYWRpbmdcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxvYWRpbmdcbkBtaXhpbiBhbmltYXRpb25fX2xvYWRpbmctLXNwaW4ge1xuICAvLyBBbmltYXRlIHRoZSBjb250YWluZXJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA2OTBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cbiAgLy8gQW5pbWF0ZSB0aGUgc3Ryb2tlXG4gIHN2ZyBjaXJjbGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBpbml0LXN0cm9rZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwbXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGNhcmJvbi0tc3RhbmRhcmQtZWFzaW5nO1xuICB9XG59XG5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgbG9hZGluZ1xuQG1peGluIGFuaW1hdGlvbl9fbG9hZGluZy0tc3RvcCB7XG4gIC8vIEFuaW1hdGUgdGhlIGNvbnRhaW5lclxuICBhbmltYXRpb246IHJvdGF0ZS1lbmQtcDEgNzAwbXMgJGNhcmJvbi0tZWFzZS1vdXQgZm9yd2FyZHMsXG4gICAgcm90YXRlLWVuZC1wMiA3MDBtcyAkY2FyYm9uLS1lYXNlLW91dCA3MDBtcyBmb3J3YXJkcztcblxuICAvLyBBbmltYXRlIHRoZSBzdHJva2VcbiAgJiBzdmcgY2lyY2xlIHtcbiAgICBhbmltYXRpb24tbmFtZTogc3Ryb2tlLWVuZDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDcwMG1zO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRjYXJib24tLWVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1kZWxheTogNzAwbXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvbW90aW9uL21vdGlvbic7XG5cbi8vLyBVc2VkIHByaW1hcmlseSBmb3IgcmVtb3ZpbmcgZWxlbWVudHMgZnJvbSB0aGUgc2NyZWVuXG4vLy8gQHR5cGUgRnVuY3Rpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kY2FyYm9uLS1lYXNlLWluOiBjdWJpYy1iZXppZXIoMC4yNSwgMCwgMSwgMSk7XG5cbi8vLyBVc2VkIGZvciBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIHNjcmVlbiBvciBjaGFuZ2luZyBvbi1zY3JlZW4gc3RhdGVzIGF0IGEgdXNlcnMncyBpbnB1dFxuLy8vIEB0eXBlIEZ1bmN0aW9uXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZ2xvYmFsLW1vdGlvblxuJGNhcmJvbi0tZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcblxuLy8vIFVzZWQgZm9yIHRoZSBtYWpvcml0eSBvZiBhbmltYXRpb25zXG4vLy8gQHR5cGUgRnVuY3Rpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc6IGN1YmljLWJlemllcigwLjUsIDAsIDAuMSwgMSk7XG5cbi8vLyBCYXNlIHRyYW5zaXRpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kdHJhbnNpdGlvbi0tYmFzZTogMjUwbXM7XG5cbi8vLyBFeHBhbnNpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kdHJhbnNpdGlvbi0tZXhwYW5zaW9uOiAzMDBtcztcblxuLy8vIE5ldyBlYXNpbmcgZHVyYXRpb25zXG5cbi8vLyBFeHBhbnNpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kZHVyYXRpb24tLWZhc3QtMDE6IDcwbXM7XG5cbi8vLyBFeHBhbnNpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kZHVyYXRpb24tLWZhc3QtMDI6IDExMG1zO1xuXG4vLy8gRXhwYW5zaW9uIGR1cmF0aW9uXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgZ2xvYmFsLW1vdGlvblxuJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMTogMTUwbXM7XG5cbi8vLyBFeHBhbnNpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kZHVyYXRpb24tLW1vZGVyYXRlLTAyOiAyNDBtcztcblxuLy8vIEV4cGFuc2lvbiBkdXJhdGlvblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGdsb2JhbC1tb3Rpb25cbiRkdXJhdGlvbi0tc2xvdy0wMTogNDAwbXM7XG5cbi8vLyBFeHBhbnNpb24gZHVyYXRpb25cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kZHVyYXRpb24tLXNsb3ctMDI6IDcyMG1zO1xuXG4vLy8gRGVmYXVsdCBlYXNlLWluIGZvciBjb21wb25lbnRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAdHlwZSBGdW5jdGlvblxuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4kY2FyYm9uLS1lYXNlLWluOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4zOCwgMC45KTtcblxuLy8vIERlZmF1bHQgZWFzZS1vdXQgZm9yIGNvbXBvbmVudHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIEZ1bmN0aW9uXG4vLy8gQGdyb3VwIGdsb2JhbC1tb3Rpb25cbiRjYXJib24tLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMC4yLCAwLCAxLCAwLjkpO1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIGNvbXBvbmVudHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEB0eXBlIEZ1bmN0aW9uXG4vLy8gQGdyb3VwIGdsb2JhbC1tb3Rpb25cbiRjYXJib24tLXN0YW5kYXJkLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuMiwgMCwgMC4zOCwgMC45KTtcblxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGdsb2JhbC1tb3Rpb25cbi8vLyBAYWxpYXMgZHVyYXRpb24tLWZhc3QtMDJcbiR0cmFuc2l0aW9uLS1iYXNlOiAkZHVyYXRpb24tLWZhc3QtMDI7XG5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4vLy8gQGFsaWFzIGR1cmF0aW9uLS1tb2RlcmF0ZS0wMlxuJHRyYW5zaXRpb24tLWV4cGFuc2lvbjogJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMjtcblxuLy8vIEdldCB0aGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gZm9yIGEgZ2l2ZW4gZWFzaW5nIGFuZCBtb3Rpb24gbW9kZS5cbi8vLyBFYXNpbmdzIHRoYXQgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQgaW5jbHVkZTogYHN0YW5kYXJkYCwgYGVudHJhbmNlYCwgYW5kIGBleGl0YC5cbi8vLyBXZSBhbHNvIG9mZmVyIHR3byBtb2RlczogYHByb2R1Y3RpdmVgIGFuZCBgZXhwcmVzc2l2ZWAuXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZWFzaW5nIGN1cnZlIHRvIGFwcGx5XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtb2RlIFtwcm9kdWN0aXZlXSAtIFRoZSBtb2RlIGZvciB0aGUgZWFzaW5nIGN1cnZlIHRvIHVzZVxuLy8vIEBwYXJhbSB7TWFwfSAkZWFzaW5ncyBbJGNhcmJvbi0tZWFzaW5nc10gLSBNYXAgb2YgY29tcG9uZW50IGVhc2luZ3Ncbi8vLyBAcmV0dXJuIHtGdW5jdGlvbn0gQSBDU1MgY3ViaWMtYmV6aWVyIGZ1bmN0aW9uXG4vLy8gQGdyb3VwIGdsb2JhbC1tb3Rpb25cbkBmdW5jdGlvbiBtb3Rpb24oJG5hbWUsICRtb2RlOiBwcm9kdWN0aXZlLCAkZWFzaW5nczogJGNhcmJvbi0tZWFzaW5ncykge1xuICBAcmV0dXJuIGNhcmJvbi0tbW90aW9uKCRuYW1lLCAkbW9kZSwgJGVhc2luZ3MpO1xufVxuXG4vLy8gR2V0IHRoZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiBmb3IgYSBnaXZlbiBlYXNpbmcgYW5kIG1vdGlvbiBtb2RlLlxuLy8vIEVhc2luZ3MgdGhhdCBhcmUgY3VycmVudGx5IHN1cHBvcnRlZCBpbmNsdWRlOiBzdGFuZGFyZCwgZW50cmFuY2UsIGFuZCBleGl0LlxuLy8vIFdlIGFsc28gb2ZmZXIgdHdvIG1vZGVzOiBwcm9kdWN0aXZlIGFuZCBleHByZXNzaXZlLlxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGVhc2luZyBjdXJ2ZSB0byBhcHBseVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kZSAtIFRoZSBtb2RlIGZvciB0aGUgZWFzaW5nIGN1cnZlIHRvIHVzZVxuLy8vIEBncm91cCBnbG9iYWwtbW90aW9uXG4vLy8gQGFsaWFzIGNhcmJvbi0tbW90aW9uXG5AbWl4aW4gbW90aW9uKCRuYW1lLCAkbW9kZSkge1xuICBAaW5jbHVkZSBjYXJib24tLW1vdGlvbigkbmFtZSwgJG1vZGUpO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uL2J1dHRvbi9idXR0b24nO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcbkBpbXBvcnQgJy4uL2xvYWRpbmcvbG9hZGluZyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy90eXBlL3N0eWxlcyc7XG5cbi8vLyBGaWxlIHVwbG9hZGVyIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBmaWxlLXVwbG9hZGVyXG5AbWl4aW4gZmlsZS11cGxvYWRlciB7XG4gIC4jeyRwcmVmaXh9LS1maWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1maWxlLS1pbnZhbGlkIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gICAgZmlsbDogJHN1cHBvcnQtMDE7XG4gIH1cblxuICAvLyBUT0RPOiBzeW5jIHdpdGggdHlwZVxuICAuI3skcHJlZml4fS0tZmlsZS0tbGFiZWwge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2hlYWRpbmctMDEnKTtcblxuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGhpZGRlbjtcbiAgfVxuXG4gIC8vIFRoaXMgY2xhc3MgaXMgb2Ygb2xkIG1hcmt1cCB3aXRoIFwic2VsZWN0IGZpbGVcIiBidXR0b25cbiAgLy8gTmV3IGNvZGUgc2hvdWxkIHVzZSBsaW5rLXN0eWxlIFwic2VsZWN0IGZpbGVcIiBVSSAoYC5ieC0tZmlsZS1icm93c2UtYnRuYClcbiAgLy8gVE9ETzogZGVwcmVjYXRlIHRoaXMgYmxvY2tcbiAgLiN7JHByZWZpeH0tLWZpbGUtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDY0cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxhYmVsLWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG5cbiAgICBjb2xvcjogJHRleHQtMDI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1maWxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGNhcmJvbi0tc3BhY2luZy0wNjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1maWxlX19zZWxlY3RlZC1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIG1heC13aWR0aDogcmVtKDMwMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIHBhZGRpbmc6IDAgJGNhcmJvbi0tc3BhY2luZy0wMyAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0taW5saW5lLWxvYWRpbmdfX2FuaW1hdGlvbixcbiAgICAuI3skcHJlZml4fS0tbG9hZGluZyB7XG4gICAgICByaWdodDogLTAuMjVyZW07IC8vIG9mZnNldCBmb3IgbG9hZGluZyBzdmcgY29udGFpbmVyXG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWZpbGVfX3NlbGVjdGVkLWZpbGUtLWludmFsaWQge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ2ludmFsaWQnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWZpbGVfX3NlbGVjdGVkLWZpbGUtLWludmFsaWQgKyAuI3skcHJlZml4fS0tZm9ybS1yZXF1aXJlbWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogcmVtKDIwMHB4KTtcbiAgICBjb2xvcjogJHN1cHBvcnQtMDE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDAgMCAkY2FyYm9uLS1zcGFjaW5nLTAzIDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZmlsZS1maWxlbmFtZSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3coMzAwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgLypydGw6aWdub3JlKi9cbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IC8qcnRsOntmbGV4LWVuZH0qL1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWZpbGVfX3N0YXRlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLiN7JHByZWZpeH0tLWxvYWRpbmdfX3N2ZyB7XG4gICAgICBzdHJva2U6ICR1aS0wNTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZmlsZV9fc3RhdGUtY29udGFpbmVyIC4jeyRwcmVmaXh9LS1maWxlLWNvbXBsZXRlIHtcbiAgICBmaWxsOiAkc3VwcG9ydC0wMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ2JvcmRlcicpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1maWxlX19zdGF0ZS1jb250YWluZXIgLiN7JHByZWZpeH0tLWZpbGUtY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdmaWxlLXVwbG9hZGVyJykge1xuICBAaW5jbHVkZSBmaWxlLXVwbG9hZGVyO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uL2Zvcm0vZm9ybSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5cbi8vLyBDaGVja2JveCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgY2hlY2tib3hcbkBtaXhpbiBjaGVja2JveCB7XG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBjaGVja2JveGVzXG4gIC4jeyRwcmVmaXh9LS1mb3JtLWl0ZW0uI3skcHJlZml4fS0tY2hlY2tib3gtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDhweCk7XG4gIH1cblxuICAvLyBTcGFjaW5nIGFib3ZlIGNvbGxlY3Rpb24gb2YgY2hlY2tib3hlc1xuICAuI3skcHJlZml4fS0tZm9ybS1pdGVtLiN7JHByZWZpeH0tLWNoZWNrYm94LXdyYXBwZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDNweCk7XG4gIH1cblxuICAvLyBSZW1vdmUgc3BhY2luZyBhYm92ZSBjb2xsZWN0aW9uIG9mIGNoZWNrYm94ZXMgaWYgbGFiZWwgaXMgcHJlc2VudFxuICAuI3skcHJlZml4fS0tbGFiZWwgKyAuI3skcHJlZml4fS0tZm9ybS1pdGVtLiN7JHByZWZpeH0tLWNoZWNrYm94LXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAvLyBTcGFjaW5nIGJlbG93IGNvbGxlY3Rpb24gb2YgY2hlY2tib3hlc1xuICAuI3skcHJlZml4fS0tZm9ybS1pdGVtLiN7JHByZWZpeH0tLWNoZWNrYm94LXdyYXBwZXI6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oM3B4KTtcbiAgfVxuXG4gIC8vIFZpc3VhbGx5LCB3ZSdsbCBoaWRlIHRoZSBjaGVja2JveCBpbnB1dCBhbmQgY3JlYXRlIG91ciBvd24gc3R5bGVkIHZlcnNpb25cbiAgLy8gdG8gbWF0Y2ggdGhlIHNwZWNzLlxuICAuI3skcHJlZml4fS0tY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIGhpZGRlbjtcbiAgfVxuXG4gIC8vIFRoZSBsYWJlbCBjb3JyZXNwb25kcyB0byB0aGUgY29udGVudCBpbnNpZGUgb2YgdGhlIGBsYWJlbGAgdGFnLiBTaW5jZSB3ZSdyZVxuICAvLyBjcmVhdGluZyBvdXIgb3duIGNoZWNrYm94IHN0eWxlLCB3ZSdsbCBuZWVkIHRvIHBvc2l0aW9uIHRoaXMgaW4gb3JkZXIgdG9cbiAgLy8gYWNjb21vZGF0ZSB0aGUgc3BhY2luZyBuZWVkZWQgZm9yIHRoZSBjaGVja2JveC5cbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG5cbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyNnB4KTsgLy93aWR0aCBvZiBjaGVja2JveCAxNnB4ICsgMTBweCBvZiBwYWRkaW5nXG4gICAgbWluLWhlaWdodDogcmVtKDI0cHgpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gU3BhY2luZyBmb3IgcHJlc2VudGF0aW9uYWwgY2hlY2tib3hcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsOjpiZWZvcmUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29udGVudDogJyc7XG5cbiAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHdlJ2xsIHdhbnQgdGhlIGJvdW5kaW5nIGJveCBmb3Igb3VyIGNoZWNrYm94IHRvXG4gICAgLy8gYmUgMTZweC4gVGhlIGJvcmRlciBzaXplIHdpbGwgYmUgd2hhdCB3aWxsIGJlIHVwZGF0ZWQgZHVyaW5nIHRoZVxuICAgIC8vIGRpZmZlcmVudCBjaGVja2JveCBzdGF0ZXMuXG4gICAgd2lkdGg6IHJlbSgxNnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxNnB4KTtcbiAgICBtYXJnaW46IHJlbSgycHgpO1xuXG4gICAgLy8gV2UgbmVlZCB0byBwb3NpdGlvbiB0aGUgcHNldWRvLWVsZW1lbnQgYWJzb2x1dGVseSBpbiB0aGUgc3BhY2UgdGhhdCB3ZSd2ZVxuICAgIC8vIGNyZWF0ZWQgd2l0aCB0aGUgcGFkZGluZyBmcm9tIHRoZSBsYWJlbCBpdHNlbGYuIFdlIHBvc2l0aW9uIG9ubHkgd2l0aFxuICAgIC8vIGB0b3BgIHNpbmNlIHdlIGRvbid0IHdhbnQgdGhlIGNoZWNrYm94IHRvIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgd2l0aCB0aGVcbiAgICAvLyB0ZXh0IG92ZXJmbG93cy5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IHJlbSgycHgpO1xuXG4gICAgLy8gQ2hlY2tib3hlcyB3aXRoIGEgYmFja2dyb3VuZCBjb2xvciBsb29rIHZpc3VhbGx5IG9mZiBhZ2FpbnN0IGEgcGFyZW50IGNvbnRhaW5lci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdWktMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjaGVjayBpbiB0aGUgYGFmdGVyYCBwc2V1ZG8tZWxlbWVudFxuICAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogcmVtKDZweCk7XG4gICAgdG9wOiByZW0oOHB4KTtcbiAgICB3aWR0aDogcmVtKDdweCk7XG4gICAgaGVpZ2h0OiByZW0oM3B4KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGludmVyc2UtMDE7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRpbnZlcnNlLTAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IHJlbSgtM3B4KTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDaGVja2VkXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFVwZGF0ZSBwcm9wZXJ0aWVzIGZvciBjaGVja2VkIGNoZWNrYm94XG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveDpjaGVja2VkICsgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveDppbmRldGVybWluYXRlICsgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbFtkYXRhLWNvbnRhaW5lZC1jaGVja2JveC1zdGF0ZT0ndHJ1ZSddOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbFtkYXRhLWNvbnRhaW5lZC1jaGVja2JveC1zdGF0ZT0nbWl4ZWQnXTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi0wMTtcbiAgICBib3JkZXItY29sb3I6ICRpY29uLTAxO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLy8gRGlzcGxheSB0aGUgY2hlY2tcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94OmNoZWNrZWQgKyAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWw6OmFmdGVyLFxuICAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWxbZGF0YS1jb250YWluZWQtY2hlY2tib3gtc3RhdGU9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAvLyBJbmRldGVybWluYXRlIHN5bWJvbFxuICAuI3skcHJlZml4fS0tY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSArIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbDo6YWZ0ZXIsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbFtkYXRhLWNvbnRhaW5lZC1jaGVja2JveC1zdGF0ZT0nbWl4ZWQnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIGJvcmRlci1sZWZ0OiAwIHNvbGlkICRpbnZlcnNlLTAxO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkaW52ZXJzZS0wMTtcbiAgICB3aWR0aDogcmVtKDhweCk7XG4gICAgdG9wOiByZW0oMTFweCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRm9jdXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gVW5jaGVja2VkXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveDpmb2N1cyArIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbDo6YmVmb3JlLFxuICAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWxfX2ZvY3VzOjpiZWZvcmUsXG4gIC8vIENoZWNrZWRcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMgKyAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWw6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LXN0YXRlPSd0cnVlJ10uI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWxfX2ZvY3VzOjpiZWZvcmUsXG4gIC8vIEluZGV0ZXJtaW5hdGVcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMgKyAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWw6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LXN0YXRlPSdtaXhlZCddLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsX19mb2N1czo6YmVmb3JlIHtcbiAgICAvLyBXZSBjYW4ndCB1c2Ugb3V0bGluZSBoZXJlIGJlY2F1c2Ugb2YgdGhlIHJvdW5kZWQgY29ybmVycyBzbyBoYXZlIHRvIGluY3JlYXNlIHRoZSB3aWR0aC9oZWlnaHQgdG8gZmFrZSBhbiBvdXRsaW5lLlxuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzO1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIHdpZHRoOiByZW0oMjBweCk7XG4gICAgaGVpZ2h0OiByZW0oMjBweCk7XG4gICAgbGVmdDogLTJweDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRGlzYWJsZWRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gV29ya2Fyb3VuZCBmb3I6IGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzExMjk1MjMxXG4gIFtkaXNhYmxlZF0gfiBfIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY2hlY2tib3g6ZGlzYWJsZWQgKyAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWwsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbFtkYXRhLWNvbnRhaW5lZC1jaGVja2JveC1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY2hlY2tib3g6ZGlzYWJsZWQgKyAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWw6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LWRpc2FibGVkPSd0cnVlJ106OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY2hlY2tib3g6Y2hlY2tlZDpkaXNhYmxlZCArIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbDo6YmVmb3JlLFxuICAuI3skcHJlZml4fS0tY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpkaXNhYmxlZFxuICAgICsgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbFtkYXRhLWNvbnRhaW5lZC1jaGVja2JveC1zdGF0ZT0ndHJ1ZSddW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LWRpc2FibGVkPSd0cnVlJ106OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LXN0YXRlPSdtaXhlZCddW2RhdGEtY29udGFpbmVkLWNoZWNrYm94LWRpc2FibGVkPSd0cnVlJ106OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAyO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2NoZWNrYm94Jykge1xuICBAaW5jbHVkZSBjaGVja2JveDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMaXN0IEJveFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1oZWxwZXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheWVyJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcblxuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBsaXN0LWJveFxuJGxpc3QtYm94LXdpZHRoOiAxMDAlO1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxpc3QtYm94XG4kbGlzdC1ib3gtaGVpZ2h0OiByZW0oNDBweCk7XG5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgbGlzdC1ib3hcbiRsaXN0LWJveC1pbmxpbmUtaGVpZ2h0OiAkbGlzdC1ib3gtaGVpZ2h0O1xuXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxpc3QtYm94XG4kbGlzdC1ib3gtbWVudS13aWR0aDogcmVtKDMwMHB4KTtcblxuLy8vIExpc3QgYm94IHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBsaXN0LWJveFxuQG1peGluIGxpc3Rib3gge1xuICAvLyBUaGUgb3ZlcmFsbCBjb250YWluZXIgZWxlbWVudCBmb3IgYSBgbGlzdC1ib3hgLiBIYXMgdHdvIHZhcmlhbnRzLFxuICAvLyBgZGlzYWJsZWRgIGFuZCBgaW5saW5lYC5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X193cmFwcGVyLS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZTogYXV0byBhdXRvIC8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiByZW0oNHB4KTtcblxuICAgIC4jeyRwcmVmaXh9LS1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWxhYmVsLFxuICAgIC4jeyRwcmVmaXh9LS1mb3JtX19oZWxwZXItdGV4dCxcbiAgICAuI3skcHJlZml4fS0tZm9ybS1yZXF1aXJlbWVudCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWZvcm1fX2hlbHBlci10ZXh0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tZm9ybS1yZXF1aXJlbWVudCB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJGxpc3QtYm94LXdpZHRoO1xuICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIG1heC1oZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkOmhvdmVyLiN7JHByZWZpeH0tLWxpc3QtYm94LS1saWdodDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94IC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAvLyBpbnZhbGlkIHN0YXRlc1xuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ludmFsaWQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGNhcmJvbi0tc3BhY2luZy0wNDtcbiAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wODtcbiAgICBmaWxsOiAkc3VwcG9ydC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lIC4jeyRwcmVmaXh9LS1saXN0LWJveF9faW52YWxpZC1pY29uIHtcbiAgICB0b3A6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hbZGF0YS1pbnZhbGlkXSAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhcmJvbi0tbWluaS11bml0cyg4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveFtkYXRhLWludmFsaWRdLiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmVcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYXJib24tLW1pbmktdW5pdHMoNyk7XG4gIH1cblxuICAvLyBMaWdodCB2YXJpYXRpb24gZm9yICdsaXN0LWJveCdcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1saWdodC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZXhwYW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBmb3IgYGxpc3QtYm94YFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWxpZ2h0LiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCxcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkLFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWRpc2FibGVkIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fZmllbGQ6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19sYWJlbCxcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZC4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19sYWJlbCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWljb24gPiBzdmcge1xuICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQsXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZCxcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaWNvbiB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW0sXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW06aG92ZXIsXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWRcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbS0taGlnaGxpZ2h0ZWQge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX3NlbGVjdGlvbjpob3ZlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8vIGRpc2FibGVkICYmIGludmFsaWRcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZC4jeyRwcmVmaXh9LS1saXN0LWJveFtkYXRhLWludmFsaWRdXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZCB7XG4gICAgcGFkZGluZy1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wOTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQuI3skcHJlZml4fS0tbGlzdC1ib3hbZGF0YS1pbnZhbGlkXS4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FyYm9uLS1taW5pLXVuaXRzKDQpO1xuICB9XG5cbiAgLy8gSW5saW5lIHZhcmlhbnQgZm9yIGEgYGxpc3QtYm94YFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3guI3skcHJlZml4fS0tbGlzdC1ib3gtLWlubGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItdWk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmUuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmUuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZFthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZDpob3ZlcixcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmUuI3skcHJlZml4fS0tbGlzdC1ib3gtLWV4cGFuZGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3guI3skcHJlZml4fS0tbGlzdC1ib3gtLWlubGluZSxcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmVcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkIHtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZCB7XG4gICAgcGFkZGluZzogMCBjYXJib24tLW1pbmktdW5pdHMoNCkgMCAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmVcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaWNvbiB7XG4gICAgcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3guI3skcHJlZml4fS0tbGlzdC1ib3gtLWlubGluZVxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9faW52YWxpZC1pY29uIHtcbiAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wNztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0taW5saW5lIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC8vIFRoZSBmaWVsZCB3ZSB1c2UgZm9yIGlucHV0LCBzaG93aW5nIHNlbGVjdGlvbiwgZXRjLlxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tcmVzZXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiAwICRjYXJib24tLXNwYWNpbmctMDkgMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fZmllbGQ6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fZmllbGRbZGlzYWJsZWRdIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAvLyBwb3B1bGF0ZWQgaW5wdXQgZmllbGRcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZCAuI3skcHJlZml4fS0tdGV4dC1pbnB1dFt2YWx1ZV0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhcmJvbi0tbWluaS11bml0cyg5KTtcbiAgfVxuXG4gIC8vIGludmFsaWQgJiYgcG9wdWxhdGVkIGlucHV0IGZpZWxkXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveFtkYXRhLWludmFsaWRdXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZFxuICAgIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0W3ZhbHVlXSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDk4cHgpOyAvLyB0byBhY2NvdW50IGZvciBjbGVhciBpbnB1dCBidXR0b24gb3V0bGluZVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94W2RhdGEtaW52YWxpZF1cbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkXG4gICAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXRbdmFsdWVdXG4gICAgKyAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ludmFsaWQtaWNvbiB7XG4gICAgcmlnaHQ6IHJlbSg2NnB4KTsgLy8gdG8gYWNjb3VudCBmb3IgY2xlYXIgaW5wdXQgYnV0dG9uIG91dGxpbmVcbiAgfVxuXG4gIC8vIGVtcHR5IGlucHV0IGZpZWxkXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fZmllbGQgLiN7JHByZWZpeH0tLXRleHQtaW5wdXRbdmFsdWU9JyddIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA5O1xuICB9XG5cbiAgLy8gaW52YWxpZCAmJiBlbXB0eSBpbnB1dCBmaWVsZFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hbZGF0YS1pbnZhbGlkXVxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fZmllbGRcbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dFt2YWx1ZT0nJ10ge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhcmJvbi0tbWluaS11bml0cyg5KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveFtkYXRhLWludmFsaWRdXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19maWVsZFxuICAgIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0W3ZhbHVlPScnXVxuICAgICsgLiN7JHByZWZpeH0tLWxpc3QtYm94X19pbnZhbGlkLWljb24ge1xuICAgIHJpZ2h0OiByZW0oNDBweCk7IC8vIHRvIGFjY291bnQgZm9yIGNsZWFyIGlucHV0IGJ1dHRvbiBvdXRsaW5lXG4gIH1cblxuICAvLyBMYWJlbCBmb3IgYSBgbGlzdC1ib3hfX2ZpZWxkYFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIE1lbnUgc3RhdHVzIGluc2lkZSBvZiBhIGBsaXN0LWJveF9fZmllbGRgXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaWNvbiA+IHN2ZyB7XG4gICAgZmlsbDogJGljb24tMDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWljb24tLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cblxuICAvLyBTZWxlY3Rpb24gaW5kaWNhdG9yIGZvciBhIGBsaXN0LWJveF9fZmllbGRgXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fc2VsZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbSgzM3B4KTsgLy8gdG8gcHJlc2VydmUgLjVyZW0gc3BhY2UgYmV0d2VlbiBpY29ucyBhY2NvcmRpbmcgdG8gc3BlY1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbSgzMHB4KTtcbiAgICB3aWR0aDogcmVtKDMwcHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19zZWxlY3Rpb24gPiBzdmcge1xuICAgIGZpbGw6ICRpY29uLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX3NlbGVjdGlvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWxpc3QtYm94X19zZWxlY3Rpb24gPiBzdmcge1xuICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgfVxuXG4gIC8vIE1vZGlmaWVyIGZvciBhIHNlbGVjdGlvbiB0byBzaG93IHRoYXQgbXVsdGlwbGUgc2VsZWN0aW9ucyBoYXZlIGJlZW4gbWFkZVxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX3NlbGVjdGlvbi0tbXVsdGkge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2xhYmVsLTAxJyk7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtMDI7XG4gICAgaGVpZ2h0OiByZW0oMjRweCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgY29sb3I6ICRpbnZlcnNlLTAxO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IHJlbSg4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgycHgpOyAvLyBBbGlnbiB3aXRoIGhvdmVyIGNpcmNsZSBvZiBYIGJ1dHRvblxuICAgIG1hcmdpbi1yaWdodDogcmVtKDEwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fc2VsZWN0aW9uLS1tdWx0aSA+IHN2ZyB7XG4gICAgZmlsbDogJGludmVyc2UtMDE7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbSg0cHgpO1xuICAgIHdpZHRoOiByZW0oMjBweCk7XG4gICAgaGVpZ2h0OiByZW0oMjBweCk7XG4gICAgcGFkZGluZzogcmVtKDJweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX3NlbGVjdGlvbi0tbXVsdGkgPiBzdmc6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItc2Vjb25kYXJ5O1xuICAgIGZpbGw6ICRpY29uLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19zZWxlY3Rpb24tLW11bHRpOmZvY3VzLFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX3NlbGVjdGlvbi0tbXVsdGk6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyBEZXNjZW5kYW50IG9mIGEgYGxpc3QtYm94YCB0aGF0IGRpc3BsYXlzIGEgbGlzdCBvZiBvcHRpb25zIHRvIHNlbGVjdFxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJGxpc3QtYm94LXdpZHRoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICBtYXgtaGVpZ2h0OiByZW0oMTQwcHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogeignZHJvcGRvd24nKTtcbiAgfVxuXG4gIC8vIERlc2NlbmRhbnQgb2YgYSBgbGlzdC1ib3hfX21lbnVgIHRoYXQgcmVwcmVzZW50cyBhIHNlbGVjdGlvbiBmb3IgYSBjb250cm9sXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3gtLWRpc2FibGVkIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZGlzYWJsZWRcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbV9fb3B0aW9uOmhvdmVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbTpmaXJzdC1vZi10eXBlXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW1fX29wdGlvbiB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbTpob3ZlclxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtOmhvdmVyXG4gICAgKyAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbVxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtOmhvdmVyXG4gICAgKyAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbVxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR1aS0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24ge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTZweCk7XG4gICAgcGFkZGluZzogcmVtKDExcHgpIDA7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdWktMDM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiByZW0oMTFweCkgcmVtKDE2cHgpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtOmhvdmVyXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW1fX29wdGlvbixcbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LS1kaXNhYmxlZCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbV9fb3B0aW9uIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94LiN7JHByZWZpeH0tLWxpc3QtYm94LS1pbmxpbmVcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbV9fb3B0aW9uIHtcbiAgICBtYXJnaW46IDAgJGNhcmJvbi0tc3BhY2luZy0wMztcblxuICAgICY6Zm9jdXMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgICAgcGFkZGluZy1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbS0taGlnaGxpZ2h0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtLS1oaWdobGlnaHRlZFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24sXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtLS1oaWdobGlnaHRlZFxuICAgICsgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW1cbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbV9fb3B0aW9uIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtLS1oaWdobGlnaHRlZFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtLS1hY3RpdmUge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkc2VsZWN0ZWQtdWk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbS0tYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW1fX29wdGlvbiB7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19tZW51LWl0ZW0gLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtIC4jeyRwcmVmaXh9LS1jaGVja2JveC1sYWJlbC10ZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBUd2Vha3MgZm9yIGRlc2NlbmRhbnRzXG4gIC8vIFdoZW4gaGFuZGxpbmcgaW5wdXQsIHdlIG5lZWQgdG8gdGFyZ2V0IG5vZGVzIHRoYXQgc3BlY2lmaWNhbGx5IG9wdC1pbiB0b1xuICAvLyB0aGUgYGNvbWJvYm94YCByb2xlIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSB0aGUgdGV4dCBpbnB1dCBpcyBzdHlsZWRcbiAgLy8gY29ycmVjdGx5LlxuICAuI3skcHJlZml4fS0tbGlzdC1ib3ggaW5wdXRbcm9sZT0nY29tYm9ib3gnXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdsaXN0LWJveCcpIHtcbiAgQGluY2x1ZGUgbGlzdGJveDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21ib0JveFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi9saXN0LWJveC9saXN0LWJveCc7XG5cbi8vLyBDb21ibyBib3ggc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGNvbWJvLWJveFxuQG1peGluIGNvbWJvLWJveCB7XG4gIC4jeyRwcmVmaXh9LS1jb21iby1ib3ggLiN7JHByZWZpeH0tLXRleHQtaW5wdXQge1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWNvbWJvLWJveC4jeyRwcmVmaXh9LS1saXN0LWJveC0tZXhwYW5kZWRcbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHVpLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWNvbWJvLWJveCAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkLFxuICAuI3skcHJlZml4fS0tY29tYm8tYm94LiN7JHByZWZpeH0tLWxpc3QtYm94W2RhdGEtaW52YWxpZF1cbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2NvbWJvLWJveCcpIHtcbiAgQGluY2x1ZGUgY29tYm8tYm94O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJhZGlvXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uL2Zvcm0vZm9ybSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5cbi8vLyBSYWRpbyBidXR0b24gc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHJhZGlvLWJ1dHRvblxuQG1peGluIHJhZGlvLWJ1dHRvbiB7XG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b24tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0oNnB4KTtcbiAgfVxuXG4gIC8vIHZlcnRpY2FsIHJhZGlvIGJ1dHRvblxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLWdyb3VwLS12ZXJ0aWNhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICYuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLWdyb3VwLS1sYWJlbC1sZWZ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWw6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDM7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fYXBwZWFyYW5jZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogJHJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkaWNvbi0wMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBoZWlnaHQ6IHJlbSgxOHB4KTtcbiAgICB3aWR0aDogcmVtKDE4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b246Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19hcHBlYXJhbmNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAkaWNvbi0wMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDAuNXJlbTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tMDE7XG5cbiAgICAgIC8vIEFsbG93IHRoZSBzZWxlY3RlZCBidXR0b24gdG8gYmUgc2VlbiBpbiBXaW5kb3dzIEhDTSBmb3IgSUUvRWRnZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgLy8gVXRpbGl6ZSBhIHN5c3RlbSBjb2xvciB2YXJpYWJsZSB0byBhY2NvbW9kYXRlIGFueSB1c2VyIEhDTSB0aGVtZVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aW5kb3dUZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdvcmthcm91bmQgZm9yOiBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMTI5NTIzMVxuICBbZGlzYWJsZWRdIH4gXyB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbjpkaXNhYmxlZCArIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2xhYmVsIHtcbiAgICBjb2xvcjogJGRpc2FibGVkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uOmRpc2FibGVkXG4gICAgKyAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2FwcGVhcmFuY2UsXG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b246ZGlzYWJsZWQ6Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19hcHBlYXJhbmNlIHtcbiAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXNcblxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uOmZvY3VzXG4gICAgKyAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2FwcGVhcmFuY2Uge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkZm9jdXM7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gU2tlbGV0b24gU3RhdGVcbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWwuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIHdpZHRoOiByZW0oMTAwcHgpO1xuICAgIGhlaWdodDogcmVtKDE4cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWwuI3skcHJlZml4fS0tc2tlbGV0b25cbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19hcHBlYXJhbmNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbi13cmFwcGVyIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbi13cmFwcGVyOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbi1ncm91cC0tdmVydGljYWxcbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLXdyYXBwZXI6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b24tZ3JvdXAtLWxhYmVsLXJpZ2h0IC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2xhYmVsLFxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLXdyYXBwZXIuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLXdyYXBwZXItLWxhYmVsLXJpZ2h0XG4gICAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbl9fbGFiZWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLWdyb3VwLS1sYWJlbC1sZWZ0IC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2xhYmVsLFxuICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLXdyYXBwZXIuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uLXdyYXBwZXItLWxhYmVsLWxlZnRcbiAgICAuI3skcHJlZml4fS0tcmFkaW8tYnV0dG9uX19sYWJlbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXJhZGlvLWJ1dHRvbi1ncm91cC0tbGFiZWwtbGVmdFxuICAgIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2FwcGVhcmFuY2UsXG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b24td3JhcHBlci4jeyRwcmVmaXh9LS1yYWRpby1idXR0b24td3JhcHBlci0tbGFiZWwtbGVmdFxuICAgIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b25fX2FwcGVhcmFuY2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdyYWRpby1idXR0b24nKSB7XG4gIEBpbmNsdWRlIHJhZGlvLWJ1dHRvbjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUb2dnbGVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcblxuLy8vIFRvZ2dsZSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdG9nZ2xlXG5AbWl4aW4gdG9nZ2xlIHtcbiAgLiN7JHByZWZpeH0tLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgaGlkZGVuO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdsYWJlbC0wMScpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAkY2FyYm9uLS1zcGFjaW5nLTAzIDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlX19hcHBlYXJhbmNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhcmJvbi0tcmVtKDQ4cHgpO1xuICAgIGhlaWdodDogY2FyYm9uLS1yZW0oMjRweCk7XG5cbiAgICAvLyBUb2dnbGUgYmFja2dyb3VuZCBvdmFsXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wNDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IGNhcmJvbi0tcmVtKDI0cHgpO1xuICAgICAgd2lkdGg6IGNhcmJvbi0tcmVtKDQ4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogY2FyYm9uLS1yZW0oMTVweCk7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdztcbiAgICAgIC8vIENvcnJlc3BvbmRzIHRvIHRoZSBkb3VibGUtYm9yZGVyIGZvciBmb2N1c2VkIHN0YXRlIChgMCAwIDAgMXB4ICR1aS0wMiwgMCAwIDAgM3B4ICRmb2N1c2ApXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQsIDAgMCAwIDNweCB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihleGl0LCBwcm9kdWN0aXZlKSxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGV4aXQsIHByb2R1Y3RpdmUpO1xuICAgIH1cblxuICAgIC8vIFRvZ2dsZSBjaXJjbGVcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGxlZnQ6IGNhcmJvbi0tcmVtKDNweCk7XG4gICAgICB0b3A6IGNhcmJvbi0tcmVtKDNweCk7XG4gICAgICB3aWR0aDogY2FyYm9uLS1yZW0oMThweCk7XG4gICAgICBoZWlnaHQ6IGNhcmJvbi0tcmVtKDE4cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tMDM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGV4aXQsIHByb2R1Y3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGVfX2NoZWNrIHtcbiAgICBmaWxsOiAkaWNvbi0wMztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FyYm9uLS1yZW0oNnB4KTtcbiAgICB0b3A6IGNhcmJvbi0tcmVtKDZweCk7XG4gICAgd2lkdGg6IGNhcmJvbi0tcmVtKDZweCk7XG4gICAgaGVpZ2h0OiBjYXJib24tLXJlbSg1cHgpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihleGl0LCBwcm9kdWN0aXZlKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1sZWZ0LFxuICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1yaWdodCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGVfX3RleHQtLWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYXJib24tLXJlbSg0OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXRvZ2dsZV9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1sZWZ0LFxuICAuI3skcHJlZml4fS0tdG9nZ2xlOm5vdCg6Y2hlY2tlZClcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fdGV4dC0tcmlnaHQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXRvZ2dsZV9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1yaWdodCxcbiAgLiN7JHByZWZpeH0tLXRvZ2dsZTpub3QoOmNoZWNrZWQpXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX3RleHQtLWxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXRvZ2dsZV9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX19hcHBlYXJhbmNlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VwcG9ydC0wMjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLTAzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhcmJvbi0tcmVtKDI0cHgpKTtcbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRm9jdXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbCxcbiAgLiN7JHByZWZpeH0tLXRvZ2dsZSArIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsIHtcbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX19hcHBlYXJhbmNlOmJlZm9yZSB7XG4gICAgICAvLyBDb3JyZXNwb25kcyB0byB0aGUgZG91YmxlLWJvcmRlciBmb3IgZm9jdXNlZCBzdGF0ZSAoYDAgMCAwIDFweCAkdWktMDIsIDAgMCAwIDNweCAkZm9jdXNgKVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50LCAwIDAgMCAzcHggdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6Zm9jdXMgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbCxcbiAgLiN7JHByZWZpeH0tLXRvZ2dsZTphY3RpdmUgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbCB7XG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fYXBwZWFyYW5jZTpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR1aS0wMiwgMCAwIDAgM3B4ICRmb2N1cztcbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRGlzYWJsZWRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6ZGlzYWJsZWQgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGU6ZGlzYWJsZWRcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fYXBwZWFyYW5jZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAxO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oZXhpdCwgcHJvZHVjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZTpkaXNhYmxlZFxuICAgICsgLiN7JHByZWZpeH0tLXRvZ2dsZV9fbGFiZWxcbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1sZWZ0LFxuICAuI3skcHJlZml4fS0tdG9nZ2xlOmRpc2FibGVkXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX3RleHQtLXJpZ2h0IHtcbiAgICBjb2xvcjogJGRpc2FibGVkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZTpkaXNhYmxlZDphY3RpdmVcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fYXBwZWFyYW5jZTpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlOmRpc2FibGVkXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX2NoZWNrIHtcbiAgICBmaWxsOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU21hbGwgdG9nZ2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtLXNtYWxsXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX2FwcGVhcmFuY2Uge1xuICAgIHdpZHRoOiBjYXJib24tLXJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IGNhcmJvbi0tcmVtKDE2cHgpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogY2FyYm9uLS1yZW0oMTZweCk7XG4gICAgICB3aWR0aDogY2FyYm9uLS1yZW0oMzJweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjkzNzVyZW07XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogY2FyYm9uLS1yZW0oMTBweCk7XG4gICAgICBoZWlnaHQ6IGNhcmJvbi0tcmVtKDEwcHgpO1xuICAgICAgdG9wOiBjYXJib24tLXJlbSgzcHgpO1xuICAgICAgbGVmdDogY2FyYm9uLS1yZW0oM3B4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlLS1zbWFsbDpjaGVja2VkXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX2NoZWNrIHtcbiAgICBmaWxsOiAkc3VwcG9ydC0wMjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoY2FyYm9uLS1yZW0oMTZweCkpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS0tc21hbGxcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGVfX2xhYmVsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fdGV4dC0tbGVmdCB7XG4gICAgbGVmdDogY2FyYm9uLS1yZW0oMzJweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlLS1zbWFsbDpjaGVja2VkXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlX19sYWJlbFxuICAgIC4jeyRwcmVmaXh9LS10b2dnbGVfX2FwcGVhcmFuY2Uge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYXJib24tLXJlbSgxN3B4KSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gbmV3IGFjY2Vzc2libGUgdG9nZ2xlXG4gIC8vIFRPRE86IGRlcHJlY2F0ZSBzdHlsZXMgYWJvdmUgdGhpcyBsaW5lXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgaGlkZGVuO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdsYWJlbC0wMScpO1xuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYXJib24tLXJlbSg0OHB4KTtcbiAgICBoZWlnaHQ6IGNhcmJvbi0tcmVtKDI0cHgpO1xuICAgIG1hcmdpbjogJGNhcmJvbi0tc3BhY2luZy0wMyAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIFRvZ2dsZSBiYWNrZ3JvdW5kIG92YWxcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGNhcmJvbi0tcmVtKDQ4cHgpO1xuICAgICAgaGVpZ2h0OiBjYXJib24tLXJlbSgyNHB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhcmJvbi0tcmVtKDE1cHgpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDQ7XG4gICAgICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdztcbiAgICAgIC8vIENvcnJlc3BvbmRzIHRvIHRoZSBkb3VibGUtYm9yZGVyIGZvciBmb2N1c2VkIHN0YXRlIChgMCAwIDAgMXB4ICR1aS0wMiwgMCAwIDAgM3B4ICRmb2N1c2ApXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQsIDAgMCAwIDNweCB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihleGl0LCBwcm9kdWN0aXZlKSxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGV4aXQsIHByb2R1Y3RpdmUpO1xuICAgIH1cblxuICAgIC8vIFRvZ2dsZSBjaXJjbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYXJib24tLXJlbSgzcHgpO1xuICAgICAgbGVmdDogY2FyYm9uLS1yZW0oM3B4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGNhcmJvbi0tcmVtKDE4cHgpO1xuICAgICAgaGVpZ2h0OiBjYXJib24tLXJlbSgxOHB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLTAzO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihleGl0LCBwcm9kdWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1vZmYsXG4gIC4jeyRwcmVmaXh9LS10b2dnbGVfX3RleHQtLW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhcmJvbi0tcmVtKDU2cHgpO1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDaGVja2VkXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0OmNoZWNrZWRcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsXG4gICAgPiAuI3skcHJlZml4fS0tdG9nZ2xlX19zd2l0Y2hcbiAgICA+IC4jeyRwcmVmaXh9LS10b2dnbGVfX3RleHQtLW9mZixcbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dDpub3QoOmNoZWNrZWQpXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbFxuICAgID4gLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoXG4gICAgPiAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1vbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dDpjaGVja2VkXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbFxuICAgID4gLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cHBvcnQtMDI7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tMDM7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FyYm9uLS1yZW0oMjRweCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBGb2N1cyBhbmQgYWN0aXZlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0OmZvY3VzXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbFxuICAgID4gLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQ6YWN0aXZlXG4gICAgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbFxuICAgID4gLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdWktMDIsIDAgMCAwIDNweCAkZm9jdXM7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRGlzYWJsZWRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQ6ZGlzYWJsZWQgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQ6ZGlzYWJsZWRcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsXG4gICAgPiAuI3skcHJlZml4fS0tdG9nZ2xlX19zd2l0Y2gge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAxO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oZXhpdCwgcHJvZHVjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dDpkaXNhYmxlZCArIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsIHtcbiAgICBjb2xvcjogJGRpc2FibGVkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dDpkaXNhYmxlZDphY3RpdmVcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsXG4gICAgPiAuI3skcHJlZml4fS0tdG9nZ2xlX19zd2l0Y2g6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTbWFsbCB0b2dnbGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQtLXNtYWxsICsgLiN7JHByZWZpeH0tLXRvZ2dsZS1pbnB1dF9fbGFiZWwge1xuICAgID4gLiN7JHByZWZpeH0tLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgIHdpZHRoOiBjYXJib24tLXJlbSgzMnB4KTtcbiAgICAgIGhlaWdodDogY2FyYm9uLS1yZW0oMTZweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBjYXJib24tLXJlbSgzMnB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYXJib24tLXJlbSgxNnB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC45Mzc1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBjYXJib24tLXJlbSgxMHB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYXJib24tLXJlbSgxMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9nZ2xlX190ZXh0LS1vZmYsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fdGV4dC0tb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhcmJvbi0tcmVtKDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQtLXNtYWxsOmNoZWNrZWQgKyAuI3skcHJlZml4fS0tdG9nZ2xlLWlucHV0X19sYWJlbCB7XG4gICAgPiAuI3skcHJlZml4fS0tdG9nZ2xlX19zd2l0Y2g6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYXJib24tLXJlbSgxN3B4KSk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fY2hlY2sge1xuICAgICAgZmlsbDogJHN1cHBvcnQtMDI7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVgoY2FyYm9uLS1yZW0oMTZweCkpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXQtLXNtYWxsOmRpc2FibGVkOmNoZWNrZWRcbiAgICArIC4jeyRwcmVmaXh9LS10b2dnbGUtaW5wdXRfX2xhYmVsXG4gICAgLiN7JHByZWZpeH0tLXRvZ2dsZV9fY2hlY2sge1xuICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0b2dnbGUnKSB7XG4gIEBpbmNsdWRlIHRvZ2dsZTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZWFyY2hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2ltcG9ydC1vbmNlJztcblxuLy8vIFNlYXJjaCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgc2VhcmNoXG5AbWl4aW4gc2VhcmNoIHtcbiAgLiN7JHByZWZpeH0tLXNlYXJjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2ggLiN7JHByZWZpeH0tLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBoaWRkZW47XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAyJyk7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgncmVzZXQnKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIHBhZGRpbmc6IDAgJGNhcmJvbi0tc3BhY2luZy0wODtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTA0O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR0ZXh0LTAzO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0W2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICRkaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXRbZGlzYWJsZWRdIH4gLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXIge1xuICAgIGZpbGw6ICRkaXNhYmxlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtLWxpZ2h0IC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICRmaWVsZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtLXNtIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtLXhsIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDInKTtcbiAgICBoZWlnaHQ6IHJlbSg0OHB4KTtcbiAgICBwYWRkaW5nOiAwIHJlbSg2NHB4KSAwIHJlbSg0OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtbWFnbmlmaWVyIHtcbiAgICBsZWZ0OiAwLjc1cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC8vIEVuc3VyZSBjbGVhciBpY29uIGlzIHJlbmRlcmVkIGluIEZpcmVmb3ggKCMxMTI3KVxuICAgIGZpbGw6ICR0ZXh0LTAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlYXJjaC0teGwgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXIge1xuICAgIGhlaWdodDogcmVtKDIwcHgpO1xuICAgIHdpZHRoOiByZW0oMjBweCk7XG4gICAgbGVmdDogcmVtKDI0cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlYXJjaC1jbG9zZSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KGZhbHNlKTtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogcmVtKDFweCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDJcbiAgICAgICAgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlYXJjaC1idXR0b24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcblxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2UsXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgYm9yZGVyICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgd2lkdGg6IHJlbSg0MHB4KTtcbiAgICBmaWxsOiAkaWNvbi0wMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWZpZWxkO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlOmhvdmVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWZpZWxkO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2U6Zm9jdXMsXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2U6YWN0aXZlIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQ6Zm9jdXMgfiAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLS1zbSB7XG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1jbG9zZSxcbiAgICB+IC4jeyRwcmVmaXh9LS1zZWFyY2gtYnV0dG9uIHtcbiAgICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLS14bCB7XG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1jbG9zZSxcbiAgICB+IC4jeyRwcmVmaXh9LS1zZWFyY2gtYnV0dG9uIHtcbiAgICAgIGhlaWdodDogcmVtKDQ4cHgpO1xuICAgICAgd2lkdGg6IHJlbSg0OHB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlLS1oaWRkZW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlYXJjaC0tbGcuI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCxcbiAgLiN7JHByZWZpeH0tLXNlYXJjaC0tc20uI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ3NlYXJjaCcpIHtcbiAgQGluY2x1ZGUgc2VhcmNoO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNlbGVjdFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi9mb3JtL2Zvcm0nO1xuXG4vLy8gU2VsZWN0IHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBzZWxlY3RcbkBtaXhpbiBzZWxlY3Qge1xuICAuI3skcHJlZml4fS0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6aG92ZXIgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItdWk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogcmVtKDIyNHB4KTtcbiAgICBtaW4td2lkdGg6IHJlbSgxMjhweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNDQ4cHgpO1xuICAgIHBhZGRpbmc6IDAgcmVtKDQycHgpIDAgJGNhcmJvbi0tc3BhY2luZy0wNTsgLy8gMS41cmVtICsgY2hldnJvbiB3aWR0aFxuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIG91dGxpbmUgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIGRlZmF1bHQgc2VsZWN0IGFycm93IGluIElFMTArXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdCB0ZXh0IHJlbmRlcnMgYSBsaXR0bGUgaGlnaCBvbiBGaXJlZm94XG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0oNHB4KTtcblxuICAgICAgLy8gUmVtb3ZlcyBkb3R0ZWQgaW5uZXIgZm9jdXNcbiAgICAgICY6LW1vei1mb2N1c3JpbmcsXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLFxuICAgICY6aG92ZXI6ZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtLWRpc2FibGVkIC4jeyRwcmVmaXh9LS1sYWJlbCxcbiAgLiN7JHByZWZpeH0tLXNlbGVjdC0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLWZvcm1fX2hlbHBlci10ZXh0IHtcbiAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlcltkYXRhLWludmFsaWRdIC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg2NHB4KTsgLy8gMXJlbSArIGNoZXZyb24gd2lkdGggKyBpbnZhbGlkIGljb24gd2lkdGhcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXRfX3dyYXBwZXJbZGF0YS1pbnZhbGlkXSAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0LFxuICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0X193cmFwcGVyW2RhdGEtaW52YWxpZF1cbiAgICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0OmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdpbnZhbGlkJyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZm9ybS1yZXF1aXJlbWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRzdXBwb3J0LTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0OmRpc2FibGVkIH4gLiN7JHByZWZpeH0tLXNlbGVjdF9fYXJyb3cge1xuICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtLWxpZ2h0IC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJjpob3ZlcjpkaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3RfX2Fycm93IHtcbiAgICBmaWxsOiAkdWktMDU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlcltkYXRhLWludmFsaWRdXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dFxuICAgIH4gLiN7JHByZWZpeH0tLXNlbGVjdF9faW52YWxpZC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbSgzNHB4KTsgLy8gMS41cmVtICsgY2hldnJvbiB3aWR0aFxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlcltkYXRhLWludmFsaWRdXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dFxuICAgIH4gLiN7JHByZWZpeH0tLXNlbGVjdF9faW52YWxpZC1pY29uIHtcbiAgICBmaWxsOiAkc3VwcG9ydC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3Qtb3B0Z3JvdXAsXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3Qtb3B0aW9uIHtcbiAgICBjb2xvcjogJHRleHQtMDE7IC8vIEZvciB0aGUgb3B0aW9ucyB0byBzaG93IGluIElFMTFcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3Qtb3B0aW9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvLyBPdmVycmlkZSBzb21lIEZpcmVmb3ggdXNlci1hZ2VudCBzdHlsZXNcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuI3skcHJlZml4fS0tc2VsZWN0LW9wdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDE7XG4gICAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdC1vcHRncm91cCB7XG4gICAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC0taW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtLWlubGluZS4jeyRwcmVmaXh9LS1zZWxlY3QtLWludmFsaWQgLiN7JHByZWZpeH0tLWxhYmVsLFxuICAuI3skcHJlZml4fS0tc2VsZWN0LS1pbmxpbmUuI3skcHJlZml4fS0tc2VsZWN0LS1pbnZhbGlkXG4gICAgLiN7JHByZWZpeH0tLWZvcm1fX2hlbHBlci10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMTNweCk7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtLWlubGluZSAuI3skcHJlZml4fS0tZm9ybV9faGVscGVyLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbSg4cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC0taW5saW5lIC4jeyRwcmVmaXh9LS1sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW46IDAgJGNhcmJvbi0tc3BhY2luZy0wMyAwIDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LS1pbmxpbmUgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyNnB4KTtcblxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LS1pbmxpbmUgLiN7JHByZWZpeH0tLXNlbGVjdF9fYXJyb3cge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEuMTI1cmVtO1xuICAgIHJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC0taW5saW5lLiN7JHByZWZpeH0tLXNlbGVjdC0taW52YWxpZFxuICAgIC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zZWxlY3QtLWlubGluZS4jeyRwcmVmaXh9LS1zZWxlY3QtLWludmFsaWRcbiAgICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0XG4gICAgfiAuI3skcHJlZml4fS0tc2VsZWN0X19pbnZhbGlkLWljb24ge1xuICAgIHJpZ2h0OiByZW0oMjRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LS1pbmxpbmUgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICB+ICoge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LS1pbmxpbmUgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8vU2tlbGV0b24gU3RhdGVcbiAgLiN7JHByZWZpeH0tLXNlbGVjdC4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VsZWN0LiN7JHByZWZpeH0tLXNrZWxldG9uIC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnc2VsZWN0Jykge1xuICBAaW5jbHVkZSBzZWxlY3Q7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGV4dFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3Rvb2x0aXAnO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcblxuLy8vIFRleHQgaW5wdXQgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHRleHQtaW5wdXRcbkBtaXhpbiB0ZXh0LWlucHV0IHtcbiAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTA0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuXG4gICAgJi13cmFwcGVyIHN2Z1toaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhc3N3b3JkLWlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA4O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9ycztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0LS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAyO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBEaXNhYmxlZCAmIEVycm9yIGljb24gc3BhY2luZ1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICAgIGZpbGw6ICRzdXBwb3J0LTAxO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGRlcHJlY2F0ZSB0aGlzIHN0eWxlIGJsb2NrXG4gICAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQtLXBhc3N3b3JkX192aXNpYmlsaXR5IHtcbiAgICAgIEBpbmNsdWRlIHRvb2x0aXAtLXRyaWdnZXIoJ2ljb24nLCAnYm90dG9tJyk7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAnYm90dG9tJywgJ2NlbnRlcicpO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0LS1wYXNzd29yZF9fdmlzaWJpbGl0eSxcbiAgICAvLyBUT0RPOiByZW1vdmUgc2VsZWN0b3IgYWJvdmVcbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0tcGFzc3dvcmRfX3Zpc2liaWxpdHlfX3RvZ2dsZS4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICAgICAgd2lkdGg6IHJlbSgxNnB4KTtcbiAgICAgIHJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRpY29uLTAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0LS1pbnZhbGlkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDg7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQtLWludmFsaWQuI3skcHJlZml4fS0tcGFzc3dvcmQtaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtKDY0cHgpO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0LS1pbnZhbGlkXG4gICAgICArIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0LS1wYXNzd29yZF9fdmlzaWJpbGl0eSxcbiAgICAvLyBUT0RPOiByZW1vdmUgc2VsZWN0b3IgYWJvdmVcbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0taW52YWxpZFxuICAgICAgKyAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0tcGFzc3dvcmRfX3Zpc2liaWxpdHlfX3RvZ2dsZSB7XG4gICAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFzc3dvcmQtaW5wdXQtd3JhcHBlciAuI3skcHJlZml4fS0tdGV4dC1pbnB1dF9faW52YWxpZC1pY29uIHtcbiAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wODtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0OmRpc2FibGVkXG4gICAgKyAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0tcGFzc3dvcmRfX3Zpc2liaWxpdHlcbiAgICBzdmcsXG4gIC8vIFRPRE86IHJlbW92ZSBzZWxlY3RvciBhYm92ZVxuICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dDpkaXNhYmxlZFxuICAgICsgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQtLXBhc3N3b3JkX192aXNpYmlsaXR5X190b2dnbGVcbiAgICBzdmcge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBEaXNhYmxlZFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWlucHV0OmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQtLWxpZ2h0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dDpkaXNhYmxlZDo6cGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRXJyb3JcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0taW52YWxpZCB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnaW52YWxpZCcpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dC0tcGFzc3dvcmRfX3Zpc2liaWxpdHksXG4gICAgLy8gVE9ETzogcmVtb3ZlIHNlbGVjdG9yIGFib3ZlXG4gICAgLiN7JHByZWZpeH0tLXRleHQtaW5wdXQtLXBhc3N3b3JkX192aXNpYmlsaXR5X190b2dnbGUge1xuICAgICAgcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ3RleHQtaW5wdXQnKSB7XG4gIEBpbmNsdWRlIHRleHQtaW5wdXQ7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGV4dCBhcmVhXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uL2Zvcm0vZm9ybSc7XG5cbi8vLyBUZXh0IGFyZWEgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHRleHQtYXJlYVxuQG1peGluIHRleHQtYXJlYSB7XG4gIC4jeyRwcmVmaXh9LS10ZXh0LWFyZWEge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICBtaW4taGVpZ2h0OiByZW0oNDBweCk7XG4gICAgcGFkZGluZzogcmVtKDExcHgpICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIG9yZGVyOiAzO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIG91dGxpbmUgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG5cbiAgICAmIH4gLiN7JHByZWZpeH0tLWZvcm1fX2hlbHBlci10ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAmIH4gLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgICAgb3JkZXI6IDQ7XG4gICAgICBjb2xvcjogJHN1cHBvcnQtMDE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXRvcDogJGNhcmJvbi0tc3BhY2luZy0wMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGV4dC1hcmVhOmZvY3VzLFxuICAuI3skcHJlZml4fS0tdGV4dC1hcmVhOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtYXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9ycztcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LWxvbmctMDEnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtYXJlYS0tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWFyZWEtLWludmFsaWQge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDg7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGV4dC1hcmVhX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10ZXh0LWFyZWFfX2ludmFsaWQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIHRvcDogJGNhcmJvbi0tc3BhY2luZy0wNDtcbiAgICBmaWxsOiAkc3VwcG9ydC0wMTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRGlzYWJsZWRcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGV4dC1hcmVhOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRleHQtYXJlYTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAvLyBTa2VsZXRvbiBTdGF0ZVxuICAjeyRwcmVmaXh9LS10ZXh0LWFyZWEuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIGhlaWdodDogcmVtKDEwMHB4KTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygndGV4dC1hcmVhJykge1xuICBAaW5jbHVkZSB0ZXh0LWFyZWE7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcblxuLy8vIE51bWJlciBpbnB1dCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgbnVtYmVyLWlucHV0XG5AbWl4aW4gbnVtYmVyLWlucHV0IHtcbiAgLiN7JHByZWZpeH0tLW51bWJlciB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1udW1iZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIGZvbnQtZmFtaWx5OiBjYXJib24tLWZvbnQtZmFtaWx5KCdtb25vJyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDkuMzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA3O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTA0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB+IC4jeyRwcmVmaXh9LS1udW1iZXJfX2NvbnRyb2xzIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIH4gLiN7JHByZWZpeH0tLW51bWJlcl9fY29udHJvbHMgc3ZnIHtcbiAgICAgIGZpbGw6ICRkaXNhYmxlZDtcbiAgICB9XG5cbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gRmlyZWZveDogSGlkZSBzcGlubmVyICh1cCBhbmQgZG93biBidXR0b25zKVxuXG4gICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIElFOiBIaWRlIFwiY2xlYXItZmllbGRcIiBgeGAgYnV0dG9uIG9uIGlucHV0IGZpZWxkXG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBTYWZhcmk6IEhpZGUgbnVtYmVyIHNwaW5uZXJcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbnVtYmVyIGlucHV0W3R5cGU9J251bWJlciddOmRpc2FibGVkLFxuICAuI3skcHJlZml4fS0tbnVtYmVyLS1yZWFkb25seSBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGRpc2FibGVkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW51bWJlcl9faW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgfiAuI3skcHJlZml4fS0tZm9ybS1yZXF1aXJlbWVudCB7XG4gICAgICBjb2xvcjogJHN1cHBvcnQtMDE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXRvcDogJGNhcmJvbi0tc3BhY2luZy0wMjtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1udW1iZXJfX2NvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbnVtYmVyX19jb250cm9sLWJ0biB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgyMHB4KTtcbiAgICBjb2xvcjogJGljb24tMDE7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYudXAtaWNvbiBzdmcge1xuICAgICAgdG9wOiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAmLmRvd24taWNvbiBzdmcge1xuICAgICAgdG9wOiByZW0oLTVweCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgY29sb3I6ICRpY29uLTAxO1xuICAgICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGljb24tMDE7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgY29sb3I6ICRkaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbnVtYmVyLS1yZWFkb25seSAuI3skcHJlZml4fS0tbnVtYmVyX19jb250cm9sLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1udW1iZXJbZGF0YS1pbnZhbGlkXSB7XG4gICAgLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogcmVtKDIwMHB4KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdpbnZhbGlkJyk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW51bWJlcl9faW52YWxpZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAycmVtO1xuICAgIGZpbGw6ICRzdXBwb3J0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW51bWJlci0tbGlnaHQgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1udW1iZXItLW1vYmlsZSB7XG4gICAgbWluLXdpZHRoOiByZW0oMTQ0cHgpO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLiN7JHByZWZpeH0tLW51bWJlcl9fY29udHJvbC1idG4sXG4gICAgJi4jeyRwcmVmaXh9LS1udW1iZXItLWxpZ2h0IC4jeyRwcmVmaXh9LS1udW1iZXJfX2NvbnRyb2wtYnRuIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogcmVtKDQwcHgpO1xuICAgICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDE7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBtaW4td2lkdGg6IHJlbSg2NHB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHVpLTAzO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkdWktMDM7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAxO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tbnVtYmVyLS1saWdodCB7XG4gICAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMjtcbiAgICAgIH1cblxuICAgICAgLiN7JHByZWZpeH0tLW51bWJlcl9fY29udHJvbC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2tlbGV0b24gU3RhdGVcbiAgLiN7JHByZWZpeH0tLW51bWJlci4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG5cbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdudW1iZXItaW5wdXQnKSB7XG4gIEBpbmNsdWRlIG51bWJlci1pbnB1dDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMaW5rXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jb2xvcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3RoZW1lJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcblxuLy8vIExpbmsgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxpbmtcbkBtaXhpbiBsaW5rIHtcbiAgLiN7JHByZWZpeH0tLWxpbmsge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICAgIGNvbG9yOiAkbGluay0wMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRsaW5rLTAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG4gICAgfVxuXG4gICAgJjpub3QoW2hyZWZdKSB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGxpbmstMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpbmstLXZpc2l0ZWQge1xuICAgIGNvbG9yOiAkdmlzaXRlZC1saW5rO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpbmstLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LWxvbmctMDEnKTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnbGluaycpIHtcbiAgQGluY2x1ZGUgbGluaztcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMaXN0XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIExpc3Qgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGxpc3RcbkBtaXhpbiBsaXN0cyB7XG4gIC4jeyRwcmVmaXh9LS1saXN0LS1uZXN0ZWQsXG4gIC4jeyRwcmVmaXh9LS1saXN0LS11bm9yZGVyZWQsXG4gIC4jeyRwcmVmaXh9LS1saXN0LS1vcmRlcmVkIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG5cbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0aXRlbTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0X19pdGVtIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3RpdGVtO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIHBhZGRpbmctbGVmdDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtI3skY2FyYm9uLS1zcGFjaW5nLTAzfTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LS1uZXN0ZWQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA3O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtLXVub3JkZXJlZCA+IC4jeyRwcmVmaXh9LS1saXN0X19pdGVtOmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWxpc3QtLW9yZGVyZWQgPiAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC0tdW5vcmRlcmVkXG4gICAgLiN7JHByZWZpeH0tLWxpc3QtLW5lc3RlZFxuICAgID4gLiN7JHByZWZpeH0tLWxpc3RfX2l0ZW06YmVmb3JlLFxuICAuI3skcHJlZml4fS0tbGlzdC0tb3JkZXJlZFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LS1uZXN0ZWRcbiAgICA+IC4jeyRwcmVmaXh9LS1saXN0X19pdGVtOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LS11bm9yZGVyZWQgPiAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwMjAxMyc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC0tdW5vcmRlcmVkXG4gICAgdWwuI3skcHJlZml4fS0tbGlzdC0tbmVzdGVkXG4gICAgPiAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwMjVBQSc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC0tdW5vcmRlcmVkXG4gICAgb2wuI3skcHJlZml4fS0tbGlzdC0tbmVzdGVkXG4gICAgPiAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdGl0ZW0sIGxvd2VyLWFscGhhKSAnLic7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbGlzdC0tb3JkZXJlZCA+IC4jeyRwcmVmaXh9LS1saXN0X19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihsaXN0aXRlbSkgJy4nO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtLW9yZGVyZWQgb2wuI3skcHJlZml4fS0tbGlzdC0tbmVzdGVkIHtcbiAgICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtLW9yZGVyZWRcbiAgICBvbC4jeyRwcmVmaXh9LS1saXN0LS1uZXN0ZWRcbiAgICA+IC4jeyRwcmVmaXh9LS1saXN0X19pdGVtIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1saXN0LS1vcmRlcmVkXG4gICAgb2wuI3skcHJlZml4fS0tbGlzdC0tbmVzdGVkXG4gICAgPiAuI3skcHJlZml4fS0tbGlzdF9faXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlciwgbG93ZXItYWxwaGEpICcuJztcbiAgICB3aWR0aDogMC42cmVtO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWxpc3QtLW9yZGVyZWRcbiAgICB1bC4jeyRwcmVmaXh9LS1saXN0LS1uZXN0ZWRcbiAgICA+IC4jeyRwcmVmaXh9LS1saXN0X19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMDAyNUFBJztcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdsaXN0cycpIHtcbiAgQGluY2x1ZGUgbGlzdHM7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuXG4vLy8gRGF0YSB0YWJsZSBhY3Rpb24gc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGRhdGEtdGFibGVcbkBtaXhpbiBkYXRhLXRhYmxlLXYyLWFjdGlvbiB7XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvL1RPT0xCQVJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10YWJsZS10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMTtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtMDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvL25lZWQgZm9yIGJhdGNoIGFjdGlvbnNcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTA0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBjbGlwLXBhdGggJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYmF0Y2gtYWN0aW9ucyB+IC4jeyRwcmVmaXh9LS10b29sYmFyLWNvbnRlbnQge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItY29udGVudCAuI3skcHJlZml4fS0tc2VhcmNoIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgdG9vbCBiYXIgYW5pbWF0aW9uIHdpdGggKGVzcC4pIHBlcnNpc3RlbnQgc2VhcmNoIGJveFxuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vREVQUkVDQVRFRCB2MTAvdjkgc2VhcmNoIGJlaGF2aW91clxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWJhdGNoLWFjdGlvbnMgfiAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTEwbXM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vSElEREVOIFNFQVJDSCAtIERFRkFVTFQgVE9PTEJBUlxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlIHtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtMDQ7XG4gICAgd2lkdGg6ICRsYXlvdXQtMDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGZsZXggJHRyYW5zaXRpb24tLWV4cGFuc2lvbiAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItZXhwYW5kYWJsZSAuI3skcHJlZml4fS0tc2VhcmNoIHtcbiAgICB3aWR0aDogJGxheW91dC0wNDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWV4cGFuZGFibGVcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXIge1xuICAgIGhlaWdodDogJGxheW91dC0wNDtcbiAgICB3aWR0aDogJGxheW91dC0wNDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tZDtcbiAgICBsZWZ0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWV4cGFuZGFibGVcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXI6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItZXhwYW5kYWJsZVxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLW1hZ25pZmllcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGhvdmVyLWZpZWxkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItZXhwYW5kYWJsZVxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlIHtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtMDQ7XG4gICAgd2lkdGg6ICRsYXlvdXQtMDQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy9BQ1RJVkUgU0VBUkNIIC0gREVGQVVMVCBUT09MQkFSXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZSB7XG4gICAgZmxleDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBmbGV4ICRkdXJhdGlvbi0tbW9kZXJhdGUtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlIC4jeyRwcmVmaXh9LS1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0zeGw7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQ6Zm9jdXNcbiAgICArIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2Uge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZVxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItZmllbGQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXI6Zm9jdXMsXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtbWFnbmlmaWVyOmFjdGl2ZSxcbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXI6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vU0VBUkNIIENMT1NFIEJVVFRPTlxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1wZXJzaXN0ZW50IC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2UsXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItcGVyc2lzdGVudFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2U6aG92ZXIsXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2UsXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2U6aG92ZXIge1xuICAgIGJvcmRlcjogbm9uZTsgLy90by1kbzogaXMgdGhlcmUgYSBzcGVjIGZvciBjbG9zZSBidXR0b24gb24gaG92ZXI/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy9UT09MQkFSIEJVVFRPTlNcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24tcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTA0O1xuICAgIHdpZHRoOiAkbGF5b3V0LTA0O1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLW1kO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAvLyBERVBSRUNBVEVEIHByZWZlciAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbiBpbnN0ZWFkXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogJGxheW91dC0wNDtcbiAgICB3aWR0aDogJGxheW91dC0wNDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYmFja2dyb3VuZDogJGhvdmVyLWZpZWxkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uOmhvdmVyW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogJHVpLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbltkaXNhYmxlZF0gLiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uX19pY29uIHtcbiAgICBmaWxsOiAkZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG5cbiAgICAmLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlIHtcbiAgICAgIC8vIFRoZSBmb2N1cyBzdHlsZSBpcyBoYW5kbGVkIGJ5IHNlYXJjaCBpbnB1dCBpbiBpdCwgbmVlZCB0byBhdm9pZCBkdXBsaWNhdGUgYW5pbWF0aW9uXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbiB+IC4jeyRwcmVmaXh9LS1idG4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtMDQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS0tZGF0YS10YWJsZSB7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTA0O1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vVE9PTEJBUiBCVVRUT04gSUNPTlNcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWFjdGlvbl9faWNvbiB7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTAxO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogJGxheW91dC0wMTtcbiAgICBmaWxsOiAkaWNvbi0wMTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvL1BFUlNJU1RFTlQgU0VBUkNIIC0gT1BUSU9OQUwgVE9PTEJBUlxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1wZXJzaXN0ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtMDQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICArIC4jeyRwcmVmaXh9LS10b29sYmFyLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItcGVyc2lzdGVudCAuI3skcHJlZml4fS0tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItcGVyc2lzdGVudFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLW1hZ25pZmllciB7XG4gICAgbGVmdDogJHNwYWNpbmctbWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTA0O1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctM3hsO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItcGVyc2lzdGVudFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1wZXJzaXN0ZW50XG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItZmllbGQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgYmFja2dyb3VuZDogJGhvdmVyLWZpZWxkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1wZXJzaXN0ZW50XG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtY2xvc2Uge1xuICAgIGhlaWdodDogJGxheW91dC0wNDtcbiAgICB3aWR0aDogJGxheW91dC0wNDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1iYXRjaC1hY3Rpb25zLS1hY3RpdmUgfiAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLFxuICAuI3skcHJlZml4fS0tYmF0Y2gtYWN0aW9ucy0tYWN0aXZlIH4gLiN7JHByZWZpeH0tLXRvb2xiYXItY29udGVudCB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDAsIDAgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA0OHB4LCAwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBjbGlwLXBhdGggJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy9CQVRDSCBBQ1RJT05TXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tYmF0Y2gtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLWxnO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLWxnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMCwgMCAwKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBjbGlwLXBhdGggJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBvcGFjaXR5ICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNDhweCwgMCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYmF0Y2gtYWN0aW9uczpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1iYXRjaC1hY3Rpb25zLS1hY3RpdmUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC8vYnRucyBjb250YWluZXJcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYWN0aW9uLWxpc3QgLiN7JHByZWZpeH0tLWJ0biB7XG4gICAgY29sb3I6ICR0ZXh0LTA0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4gLiN7JHByZWZpeH0tLWJ0bl9faWNvbiB7XG4gICAgZmlsbDogJGljb24tMDM7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4gLiN7JHByZWZpeH0tLWJ0bl9faWNvbiAuc3QwIHtcbiAgICBmaWxsOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJhdGNoLWRvd25sb2FkIHtcbiAgICBwYWRkaW5nOiByZW0oMXB4KTsgLy9tYWtlcyBpdCBzbWFsbGVyIHRvIG1hdGNoIG90aGVyIGljb25zXG4gIH1cblxuICAvL292ZXJyaWRlIGJ0biBzdHlsZXNcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6Zm9jdXM6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6Zm9jdXM6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6Zm9jdXM6OmFmdGVyLFxuICAuI3skcHJlZml4fS0tYWN0aW9uLWxpc3QgLiN7JHByZWZpeH0tLWJ0bi0tcHJpbWFyeTpmb2N1czo6YWZ0ZXIsXG4gIC4jeyRwcmVmaXh9LS1hY3Rpb24tbGlzdCAuI3skcHJlZml4fS0tYnRuLS1wcmltYXJ5OjphZnRlcixcbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWFjdGlvbi1saXN0IC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkdWktMDE7XG4gICAgb3V0bGluZS1vZmZzZXQ6IHJlbSgtMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY3Rpb24tbGlzdCAuI3skcHJlZml4fS0tYnRuIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBjYW5jZWwgYnRuIHBzZXVkbyBlbGVtZW50XG4gIC4jeyRwcmVmaXh9LS1hY3Rpb24tbGlzdFxuICAgIC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnk6bnRoLWNoaWxkKDMpOmhvdmVyXG4gICAgKyAuI3skcHJlZml4fS0tYnRuLS1wcmltYXJ5LiN7JHByZWZpeH0tLWJhdGNoLXN1bW1hcnlfX2NhbmNlbDo6YmVmb3JlLFxuICAuI3skcHJlZml4fS0tYWN0aW9uLWxpc3RcbiAgICAuI3skcHJlZml4fS0tYnRuLS1wcmltYXJ5Om50aC1jaGlsZCgzKTpmb2N1c1xuICAgICsgLiN7JHByZWZpeH0tLWJ0bi0tcHJpbWFyeS4jeyRwcmVmaXh9LS1iYXRjaC1zdW1tYXJ5X19jYW5jZWw6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnkuI3skcHJlZml4fS0tYmF0Y2gtc3VtbWFyeV9fY2FuY2VsOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogcmVtKDE1cHgpOyAvL3Zpc3VhbGx5IDE2cHggc3BhY2luZyBpcyAxcHggdG9vIGxvd1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTAxO1xuICAgIHdpZHRoOiByZW0oMXB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC0wNDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnkuI3skcHJlZml4fS0tYmF0Y2gtc3VtbWFyeV9fY2FuY2VsOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi0tYmFzZSAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gIH1cblxuICAvLyBjYW5jZWwgYnRuXG4gIC4jeyRwcmVmaXh9LS1iYXRjaC1zdW1tYXJ5X19jYW5jZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTA1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIGl0ZW1zIHNlbGVjdGVkIHRleHRcbiAgLiN7JHByZWZpeH0tLWJhdGNoLXN1bW1hcnkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0wNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LTA0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJhdGNoLXN1bW1hcnlfX3BhcmEge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvL1NNQUxMIFRPT0xCQVJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10YWJsZS10b29sYmFyLS1zbWFsbCB7XG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG5cbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWV4cGFuZGFibGUsXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1wZXJzaXN0ZW50IHtcbiAgICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItZXhwYW5kYWJsZVxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCxcbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlLFxuICAgIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItcGVyc2lzdGVudFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1jbG9zZSB7XG4gICAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICAgIHdpZHRoOiByZW0oMzJweCk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLW1hZ25pZmllcixcbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLXBlcnNpc3RlbnRcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtbWFnbmlmaWVyIHtcbiAgICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzO1xuICAgIH1cblxuICAgIC8vaGlkZGVuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlIHtcbiAgICAgIHdpZHRoOiByZW0oMzJweCk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1leHBhbmRhYmxlXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmcteGw7XG4gICAgfVxuXG4gICAgLy9hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZSB7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogZmxleCAxNzVtcyAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZVxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItZmllbGQ7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQ6YWN0aXZlLFxuICAgIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaC1jb250YWluZXItYWN0aXZlXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1maWVsZDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZVxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXI6Zm9jdXMsXG4gICAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLWNvbnRhaW5lci1hY3RpdmVcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2hcbiAgICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtbWFnbmlmaWVyOmFjdGl2ZSxcbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtY29udGFpbmVyLWFjdGl2ZVxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaFxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXI6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgncmVzZXQnKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTTUFMTCBCQVRDSCBBQ1RJT05TXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGFibGUtdG9vbGJhci0tc21hbGxcbiAgICAuI3skcHJlZml4fS0tYmF0Y2gtYWN0aW9uc1xuICAgIC4jeyRwcmVmaXh9LS1hY3Rpb24tbGlzdCB7XG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtdG9vbGJhci0tc21hbGwgLiN7JHByZWZpeH0tLXRvb2xiYXItYWN0aW9uIHtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICB3aWR0aDogcmVtKDMycHgpO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLXRvb2xiYXItLXNtYWxsIC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oM3B4KTtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJsZS10b29sYmFyLS1zbWFsbFxuICAgIC4jeyRwcmVmaXh9LS1idG4tLXByaW1hcnkuI3skcHJlZml4fS0tYmF0Y2gtc3VtbWFyeV9fY2FuY2VsOjpiZWZvcmUge1xuICAgIHRvcDogcmVtKDhweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtdG9vbGJhci0tc21hbGxcbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1hY3Rpb25cbiAgICB+IC4jeyRwcmVmaXh9LS1idG4ge1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIHdpZHRoOiByZW0oMTYwcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnZGF0YS10YWJsZS12Mi1hY3Rpb24nKSB7XG4gIEBpbmNsdWRlIGRhdGEtdGFibGUtdjItYWN0aW9uO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbi8vLyBEYXRhIHRhYmxlIGNvcmUgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGRhdGEtdGFibGVcbkBtaXhpbiBkYXRhLXRhYmxlLWNvcmUge1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ29udGFpbmVyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogcmVtKDUwMHB4KTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy0wMTsgLy8gYWxsb3cgc3BhY2UgZm9yIGZvY3VzIHN0eWxlc1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFRhYmxlIHRpdGxlIHRleHRcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJHVpLTAxO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTA1IDAgJHNwYWNpbmctMDYgJHNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS1oZWFkZXJfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdwcm9kdWN0aXZlLWhlYWRpbmctMDMnKTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS1oZWFkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIERhdGEgdGFibGVcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGhlYWQge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2hlYWRpbmctMDEnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0Ym9keSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LTA0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGJvZHkgdHIsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRib2R5IHRyIHRkLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0Ym9keSB0ciB0aCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItZmllbGQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCxcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGJvZHkgdHI6aG92ZXIgdGgge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItZmllbGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRob3Zlci1maWVsZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhvdmVyLWZpZWxkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGgsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTA0O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTA0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRoIHtcbiAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGg6Zmlyc3Qtb2YtdHlwZTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZCkge1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0aDpsYXN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIC4jeyRwcmVmaXh9LS10YWJsZS1oZWFkZXItbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHJlbSgxNHB4KSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0ZCxcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGJvZHkgdGgge1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS0wMTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTAzO1xuICAgIHBhZGRpbmc6IHJlbSgxNHB4KSAkc3BhY2luZy0wNDtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEzcHgpO1xuXG4gICAgJiArIHRkOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0wNDtcbiAgICB9XG4gIH1cblxuICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IC8vIGZpeCB0byBzaG93IGJvcmRlcnMgaW4gZmZcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGQ6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy0wNTtcbiAgfVxuXG4gIC8vIHNwZWNpZmljIHBhZGRpbmcvd2lkdGggZm9yIG92ZXJmbG93IG1lbnUgY29sdW1uc1xuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSAuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudTpsYXN0LW9mLXR5cGUge1xuICAgIHdpZHRoOiByZW0oNTJweCk7XG4gICAgbWluLXdpZHRoOiByZW0oNTJweCk7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTAzO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdGQuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGVcbiAgICB0ZC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudVxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51W2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ106aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMztcbiAgfVxuXG4gIC8vIE92ZXJmbG93IE1lbnUgT3ZlcnJpZGVzXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlXG4gICAgdGQuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnVcbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudVthcmlhLWV4cGFuZGVkPSdmYWxzZSddOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZVxuICAgIHRkLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1tZW51XG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKGhvdmVyOiBob3ZlciksXG4gICAgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLFxuICAgICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlXG4gICAgICB0ZC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudVxuICAgICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVcbiAgICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51X19pY29uIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tdmlzaWJsZS1vdmVyZmxvdy1tZW51XG4gICAgdGQuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnVcbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudVxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51X19pY29uLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZVxuICAgIHRkLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1tZW51XG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnU6aG92ZXJcbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudV9faWNvbixcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGVcbiAgICB0ZC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudVxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51OmZvY3VzXG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVfX2ljb24sXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlXG4gICAgdHI6aG92ZXJcbiAgICB0ZC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudVxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51XG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVfX2ljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtcm93LS1tZW51LW9wdGlvblxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX2J0blxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbi1jb250ZW50XG4gICAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTAzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHJlbShcbiAgICAgIDNweFxuICAgICk7IC8vdXNlZCB0byBjZW50ZXIgc3ZnIHdpdGhvdXQgc2V0dGluZyBkaXNwbGF5IGZsZXggLy9kaXNwbGF5IGJsb2NrIG5lZWRlZCBmb3Igb3ZlcmZsb3cgdGV4dCB0cnVuY2F0aW9uXG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy9aRUJSQVxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0temVicmEgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXplYnJhIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0YS10YWJsZS16ZWJyYS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhdGEtdGFibGUtemVicmEtY29sb3I7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXRhLXRhYmxlLXplYnJhLWNvbG9yO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXplYnJhIHRib2R5IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItZmllbGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRob3Zlci1maWVsZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhvdmVyLWZpZWxkO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlbGVjdFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1jaGVja2JveCAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0aC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkdWktMDM7XG4gICAgcGFkZGluZzogcmVtKDEycHgpICRzcGFjaW5nLTAzIDAgJHNwYWNpbmctMDU7XG4gICAgd2lkdGg6IHJlbShcbiAgICAgIDQ0cHhcbiAgICApOyAvLyAxNnB4IHBhZGRpbmcgbGVmdCArIDhweCBwYWRkaW5nIHJpZ2h0ICsgMjBweCBjaGVja2JveCB3aWR0aFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0ZC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTFweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICB0aC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3g6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRkYXRhLXRhYmxlLWNvbHVtbi1ob3ZlcjtcbiAgfVxuXG4gIC8vIGRlZmF1bHQgc2VsZWN0ZWQgcm93ICsgemVicmEgc2VsZWN0IC0gZXZlbiBjaGlsZFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0temVicmFcbiAgICB0Ym9keVxuICAgIHRyOm50aC1jaGlsZChvZGQpLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkXG4gICAgdGQsXG4gIHRyLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkIHRkIHtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkLXVpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2VsZWN0ZWQtdWk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY3RpdmUtdWk7IC8vYm90dG9tIGJvcmRlciBhY3RzIGFzIHNlcGFyYXRvciBmcm9tIG90aGVyIHJvd3NcbiAgfVxuXG4gIC8vIGZpcnN0IHJvd1xuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0temVicmFcbiAgICB0Ym9keVxuICAgIHRyOmZpcnN0LW9mLXR5cGU6bnRoLWNoaWxkKG9kZCkuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWRcbiAgICB0ZCxcbiAgdHIuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWQ6Zmlyc3Qtb2YtdHlwZSB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhY3RpdmUtdWk7IC8vdG9wIGJvcmRlciBhY3RzIGFzIHNlcGFyYXRvciBmcm9tIHRoZWFkXG4gIH1cblxuICAvLyBsYXN0IHJvdyArIHplYnJhIHNlbGVjdCBsYXN0XG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS16ZWJyYVxuICAgIHRib2R5XG4gICAgdHI6bGFzdC1vZi10eXBlOm50aC1jaGlsZChvZGQpLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkXG4gICAgdGQsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS16ZWJyYVxuICAgIHRib2R5XG4gICAgdHI6bGFzdC1vZi10eXBlOm50aC1jaGlsZChldmVuKS4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZFxuICAgIHRkLFxuICB0ci4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZDpsYXN0LW9mLXR5cGUgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2VsZWN0ZWQtdWk7IC8vIGRvZXNuJ3QgbmVlZCBzZXBhcmF0b3JzXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWxlY3RlZC11aTtcbiAgfVxuXG4gIC8vIHplYnJhIHNlbGVjdCAtIG9kZCBjaGlsZFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0temVicmFcbiAgICB0Ym9keVxuICAgIHRyOm50aC1jaGlsZChldmVuKS4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZFxuICAgIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjdGl2ZS11aTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS16ZWJyYVxuICAgIHRib2R5XG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkOmhvdmVyXG4gICAgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGF0YS10YWJsZS1jb2x1bW4taG92ZXI7XG4gIH1cblxuICAvLyBob3ZlciArIHplYnJhIHNlbGVjdCAtIGV2ZW4gY2hpbGRcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXplYnJhXG4gICAgdGJvZHlcbiAgICB0cjpudGgtY2hpbGQob2RkKS4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZDpob3ZlclxuICAgIHRkLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZSB0Ym9keSAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWQ6aG92ZXIgdGQge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kOiAkZGF0YS10YWJsZS1jb2x1bW4taG92ZXI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXRhLXRhYmxlLWNvbHVtbi1ob3ZlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhdGEtdGFibGUtY29sdW1uLWhvdmVyO1xuICB9XG5cbiAgLy8gc2VsZWN0ZWQgb3ZlcmZsb3cgbWVudVxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWRcbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudVxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51X19pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENvbXBhY3RcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1jb21wYWN0IHRoZWFkIHRyLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdCB0Ym9keSB0ciB7XG4gICAgaGVpZ2h0OiByZW0oMjRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdCAuI3skcHJlZml4fS0tdGFibGUtaGVhZGVyLWxhYmVsIHtcbiAgICBwYWRkaW5nOiByZW0oMnB4KSAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLWNvbXBhY3QgdGQge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDJweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdCAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudSB7XG4gICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgyM3B4KTsgLy8yNHB4IHJvdyAtIDFweCBib3JkZXJcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLWNvbXBhY3RcbiAgICAuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3hcbiAgICAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IHJlbSgyM3B4KTsgLy8yNHB4IHJvdyAtIDFweCBib3JkZXJcbiAgICBoZWlnaHQ6IHJlbSgyM3B4KTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaG9ydFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNob3J0IHRoZWFkIHRyLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2hvcnQgdGJvZHkgdHIge1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNob3J0IC4jeyRwcmVmaXh9LS10YWJsZS1oZWFkZXItbGFiZWwge1xuICAgIHBhZGRpbmc6IHJlbSg3cHgpIDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2hvcnQgdGQge1xuICAgIHBhZGRpbmctdG9wOiByZW0oN3B4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2hvcnQgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUge1xuICAgIGhlaWdodDogcmVtKDMxcHgpOyAvLzMycHggcm93IC0gMXB4IGJvcmRlclxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2hvcnRcbiAgICAuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2hvcnRcbiAgICAuI3skcHJlZml4fS0tdGFibGUtY29sdW1uLWNoZWNrYm94IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDNweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzcHgpO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFRhbGxcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS10YWxsIHRoZWFkIHRyLFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tdGFsbCB0Ym9keSB0ciB7XG4gICAgaGVpZ2h0OiByZW0oNjRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tdGFsbCAuI3skcHJlZml4fS0tdGFibGUtaGVhZGVyLWxhYmVsIHtcbiAgICBwYWRkaW5nOiByZW0oMTZweCkgMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS10YWxsIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1jZWxsLXNlY29uZGFyeS10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdsYWJlbC0wMScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tdGFsbFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudSxcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tdGFsbFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTJweCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3RhdGljXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc3RhdGljIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS1cbiAgLy8gU3RpY2t5IGhlYWRlclxuICAvLyAtLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlX2lubmVyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAzO1xuICAgIHBhZGRpbmctdG9wOiByZW0oNDhweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXN0aWNreS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vIG1heC1oZWlnaHQ6IHJlbSgzMDBweCk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgdGhlYWQsXG4gICAgdGJvZHksXG4gICAgdHIsXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8vaGlkZXMgaWUgc2Nyb2xsYmFyXG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgIHRoZWFkIHRyIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWN0aXZlLXVpO1xuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8vaGlkZXMgaWUgc2Nyb2xsYmFyXG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbSg0OHB4KTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICB0ci4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZDpmaXJzdC1vZi10eXBlIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLy9oaWRlcyB3ZWJraXQgc2Nyb2xsYmFyXG4gICAgdGhlYWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuICAgIHRib2R5Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vaGlkZXMgZmYgc2Nyb2xsYmFyXG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgIHRoZWFkLFxuICAgICAgdGJvZHkge1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkgdHI6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdGg6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gpOm5vdCguI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUpOm5vdCguI3skcHJlZml4fS0tdGFibGUtZXhwYW5kLXYyKTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1pY29uKSxcbiAgICB0ZDpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1jaGVja2JveCk6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tbWVudSk6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmQtdjIpOm5vdCguI3skcHJlZml4fS0tdGFibGUtY29sdW1uLWljb24pIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1oZWFkZXItbGFiZWwge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3RpY2t5LWhlYWRlcigkbWF4LXdpZHRoOiByZW0oOTAwcHgpKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnZGF0YS10YWJsZS12Mi1jb3JlJykge1xuICBAaW5jbHVkZSBkYXRhLXRhYmxlLWNvcmU7XG59XG4iLCIvLyBAYWNjZXNzIHB1YmxpY1xuLy8gQGNvbnRlbnQgSW5jbHVkZXMgYSBibG9jayBvZiBzdHlsZXMgZm9yIHN0aWNreSBkYXRhIHRhYmxlcyB0aGF0IHNldHMgdGFibGUgbWF4LXdpZHRoLCBtYXgtaGVpZ2h0IGFuZCBjb2x1bW4gbWluLXdpZHRoXG4vLyBAZXhhbXBsZSAtIEBpbmNsdWRlIHN0aWNreS1oZWFkZXIoJG1heC1oZWlnaHQ6IHJlbSg5MDBweCksICRtaW4td2lkdGg6IHJlbSgzMHB4KSk7XG4vLyBAcGFyYW0ge3ZhbHVlfSAkbWF4LXdpZHRoIFsxMDAlXSAtIHNldHMgdGhlIG1heC13aWR0aCBvZiB0aGUgZGF0YSB0YWJsZSBwYXJlbnQgY29udGFpbmVyXG4vLyBAcGFyYW0ge3ZhbHVlfSAkbWF4LWhlaWdodCBbcmVtKDMwMHB4KV0gLSBzZXRzIHRoZSBtYXgtaGVpZ2h0IG9mIHRoZSBkYXRhIHRhYmxlXG4vLyBAcGFyYW0ge3ZhbHVlfSAkbWluLXdpZHRoIFtyZW0oMTAwcHgpXSAtIHNldHMgdGhlIG1pbi13aWR0aCBvZiB0aCdzIGFuZCB0ZCdzIHNvIHRoZWlyIHNpemVzIGFsaWduXG5AbWl4aW4gc3RpY2t5LWhlYWRlcihcbiAgJG1pbi13aWR0aDogZmFsc2UsXG4gICRtYXgtd2lkdGg6IDEwMCUsXG4gICRtYXgtaGVpZ2h0OiByZW0oMzAwcHgpXG4pIHtcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLW1heC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXN0aWNreS1oZWFkZXIge1xuICAgIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuXG4gICAgQGlmICRtaW4td2lkdGgge1xuICAgICAgdGg6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4tY2hlY2tib3gpOm5vdCguI3skcHJlZml4fS0tdGFibGUtY29sdW1uLW1lbnUpOm5vdCguI3skcHJlZml4fS0tdGFibGUtZXhwYW5kKTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1pY29uKSxcbiAgICAgIHRkOm5vdCguI3skcHJlZml4fS0tdGFibGUtY29sdW1uLWNoZWNrYm94KTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1tZW51KTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZCk6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1jb2x1bW4taWNvbikge1xuICAgICAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuXG4vLy8gRGF0YSB0YWJsZSBleHBhbmRhYmxlIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBkYXRhLXRhYmxlXG5AbWl4aW4gZGF0YS10YWJsZS1leHBhbmRhYmxlIHtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBhcmVudCByb3dcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vZmlyc3Qgcm93IHRvcCBib3JkZXJcbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdzpmaXJzdC1vZi10eXBlIHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLTAzO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENoaWxkIHJvd1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gZGVmYXVsdCBzdHlsZXNcbiAgLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LS1oaWRkZW4gdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogJHNwYWNpbmctMDU7XG4gIH1cblxuICAvL2NoaWxkIHJvdyBoaWRkZW5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdzpub3QoLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93KVxuICAgICsgdHJbZGF0YS1jaGlsZC1yb3ddIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRkdXJhdGlvbi0tbW9kZXJhdGUtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3c6bm90KC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdylcbiAgICArIHRyW2RhdGEtY2hpbGQtcm93XVxuICAgIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLW1vZGVyYXRlLTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93Om5vdCguI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cpXG4gICAgKyB0cltkYXRhLWNoaWxkLXJvd11cbiAgICB0ZFxuICAgIC4jeyRwcmVmaXh9LS1jaGlsZC1yb3ctaW5uZXItY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gIH1cblxuICAvL2NoaWxkIHJvdyB2aXNpYmxlXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cgKyB0cltkYXRhLWNoaWxkLXJvd10ge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAkZHVyYXRpb24tLW1vZGVyYXRlLTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93ICsgdHJbZGF0YS1jaGlsZC1yb3ddIHRkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIzcHgpO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvd1xuICAgICsgdHJbZGF0YS1jaGlsZC1yb3ddXG4gICAgdGRcbiAgICAuI3skcHJlZml4fS0tY2hpbGQtcm93LWlubmVyLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC8vIGJvdHRvbSBib3JkZXIgb3ZlcnJpZGVzXG4gIC4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93ID4gdGQsXG4gIC4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93ICsgdHJbZGF0YS1jaGlsZC1yb3ddID4gdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFyZW50LXJvdzpub3QoLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93KVxuICAgICsgdHJbZGF0YS1jaGlsZC1yb3ddXG4gICAgPiB0ZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93ID4gdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgLy8gZmlyc3QgdGQgZG9lc24ndCBoYXZlIGEgdmlzaWJsZSBib3JkZXJcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIb3ZlciBzdHlsZXNcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3c6bm90KC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdykgdGQsXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cgdGQsXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAkZHVyYXRpb24tLW1vZGVyYXRlLTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdyArIHRyW2RhdGEtY2hpbGQtcm93XSB0ZCB7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLy8gaG92ZXJpbmcgb24gY29sbGFwc2VkIHBhcmVudFxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93Om5vdCguI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cpOmZpcnN0LW9mLXR5cGU6aG92ZXJcbiAgICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRob3Zlci11aTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhvdmVyLXVpO1xuICB9XG5cbiAgLy8gaG92ZXJpbmcgb24gZXhwYW5kZWQgcGFyZW50XG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3c6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhvdmVyLXVpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDM7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdzpob3ZlciB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGhvdmVyLXVpOyAvLyBmaXJzdCB0ZCBkb2Vzbid0IGhhdmUgYSB2aXNpYmxlIGJvcmRlclxuICB9XG5cbiAgLy8gY2hpbGQgcm93IHdoZW4gaG92ZXJpbmcgb24gZXhwYW5kZWQgcGFyZW50XG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3c6aG92ZXJcbiAgICArIHRyW2RhdGEtY2hpbGQtcm93XVxuICAgIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItdWk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDM7XG4gIH1cblxuICAvL2hvdmVyaW5nIG9uIGV4cGFuZGVkIGNoaWxkIHJvd1xuICB0ci4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdy0taG92ZXIgKyB0cltkYXRhLWNoaWxkLXJvd10gdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDM7XG4gIH1cblxuICAvL2hvdmVyaW5nIG9uIGV4cGFuZGVkIGNoaWxkIHJvdyAoY2xhc3MgYWRkZWQgdG8gcGFyZW50KVxuICB0ci4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdy0taG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgfVxuXG4gIHRyLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LS1ob3ZlciB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDM7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRob3Zlci11aTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LS1ob3ZlclxuICAgIHRkOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaG92ZXItdWk7IC8vIGZpcnN0IHBhcmVudCB0ZCBkb2VzbnQgaGF2ZSB2aXNpYmxlIGJvdHRvbSBib3JkZXJcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFeHBhbmQgaWNvbiBjb2x1bW5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlIHRkLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZCB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBtaW4td2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZFtkYXRhLXByZXZpb3VzLXZhbHVlPSdjb2xsYXBzZWQnXVxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmRfX3N2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZF9fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24tcmVzZXQoJ2ZhbHNlJyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zaG9ydCAuI3skcHJlZml4fS0tdGFibGUtZXhwYW5kX19idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmRfX2J1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZF9fYnV0dG9uOmZvY3VzIC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmRfX3N2ZyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMXB4ICRmb2N1cztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmRfX3N2ZyB7XG4gICAgZmlsbDogJHVpLTA1O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgdGguI3skcHJlZml4fS0tdGFibGUtZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHRoLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZCArIHRoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1jaGVja2JveCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0wMztcbiAgfVxuXG4gIC8vIGZpeCBleHBhbmRlZCBwYXJlbnQgc2VwYXJhdGluZyBib3JkZXIgbGVuZ3RoXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3dcbiAgICB0ZC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmRcbiAgICArIHRkOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiByZW0oLTFweCk7XG4gICAgaGVpZ2h0OiByZW0oMXB4KTtcbiAgICB3aWR0aDogcmVtKDhweCk7XG4gICAgYmFja2dyb3VuZDogJHVpLTAxO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdzpob3ZlclxuICAgIHRkLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZFxuICAgICsgdGQ6OmFmdGVyLFxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LS1ob3ZlclxuICAgIHRkLiN7JHByZWZpeH0tLXRhYmxlLWV4cGFuZFxuICAgICsgdGQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItdWk7XG4gIH1cblxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkXG4gICAgdGQuI3skcHJlZml4fS0tdGFibGUtZXhwYW5kXG4gICAgKyB0ZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VsZWN0ZWRcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIHBhcmVudCBjb2xsYXBzZWRcbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZDpmaXJzdC1vZi10eXBlIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWQtdWk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhY3RpdmUtdWk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4ICRhY3RpdmUtdWk7XG4gIH1cblxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWQtdWk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAkYWN0aXZlLXVpO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZDpsYXN0LW9mLXR5cGUgdGQge1xuICAgIGJhY2tncm91bmQ6ICRzZWxlY3RlZC11aTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxcHggJHVpLTAzO1xuICB9XG5cbiAgLy8gcGFyZW50IGNvbGxhcHNlZCBob3ZlclxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkOm5vdCguI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3cpOmhvdmVyXG4gICAgdGQge1xuICAgIGJhY2tncm91bmQ6ICRob3Zlci1zZWxlY3RlZC11aTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGhvdmVyLXNlbGVjdGVkLXVpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAkaG92ZXItc2VsZWN0ZWQtdWk7XG4gIH1cblxuICAvLyBwYXJlbnQgZXhwYW5kZWRcbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvd1xuICAgIHRkLFxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93XG4gICAgdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4ICRzZWxlY3RlZC11aTsgLy9ubyB2aXNpYmxlIGJvcmRlciB3aGVuIGV4cGFuZGVkXG4gIH1cblxuICAvLyBwYXJlbnQgZXhwYW5kZWQgaG92ZXJcbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdzpob3ZlclxuICAgIHRkLFxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93OmhvdmVyXG4gICAgdGQ6Zmlyc3Qtb2YtdHlwZSxcbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdy0taG92ZXJcbiAgICB0ZCxcbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvdy0taG92ZXJcbiAgICB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItc2VsZWN0ZWQtdWk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRob3Zlci1zZWxlY3RlZC11aTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxcHggJGhvdmVyLXNlbGVjdGVkLXVpO1xuICB9XG5cbiAgLy8gY2hpbGQgcm93IGV4cGFuZGVkXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWQuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3dcbiAgICArIHRyW2RhdGEtY2hpbGQtcm93XVxuICAgIHRkIHtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAkYWN0aXZlLXVpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYWN0aXZlLXVpO1xuICB9XG5cbiAgdHIuI3skcHJlZml4fS0tcGFyZW50LXJvdy4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zZWxlY3RlZC4jeyRwcmVmaXh9LS1leHBhbmRhYmxlLXJvd1xuICAgICsgdHJbZGF0YS1jaGlsZC1yb3ddOmxhc3Qtb2YtdHlwZVxuICAgIHRkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggJGFjdGl2ZS11aTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDI0cHgpO1xuICB9XG5cbiAgLy8gY2hpbGQgcm93IGV4cGFuZGVkIGhvdmVyXG4gIHRyLiN7JHByZWZpeH0tLXBhcmVudC1yb3cuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc2VsZWN0ZWQuI3skcHJlZml4fS0tZXhwYW5kYWJsZS1yb3c6aG92ZXJcbiAgICArIHRyW2RhdGEtY2hpbGQtcm93XVxuICAgIHRkLFxuICB0ci4jeyRwcmVmaXh9LS1wYXJlbnQtcm93LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNlbGVjdGVkLiN7JHByZWZpeH0tLWV4cGFuZGFibGUtcm93LS1ob3ZlclxuICAgICsgdHJbZGF0YS1jaGlsZC1yb3ddXG4gICAgdGQge1xuICAgIGJhY2tncm91bmQ6ICRzZWxlY3RlZC11aTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdkYXRhLXRhYmxlLXYyLWV4cGFuZGFibGUnKSB7XG4gIEBpbmNsdWRlIGRhdGEtdGFibGUtZXhwYW5kYWJsZTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5cbi8vLyBEYXRhIHRhYmxlIHNvcnQgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGRhdGEtdGFibGVcbkBtaXhpbiBkYXRhLXRhYmxlLXNvcnQge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNvcnRhYmxlIHRhYmxlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNvcnQgdGgsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zb3J0XG4gICAgdGg6Zmlyc3Qtb2YtdHlwZTpub3QoLiN7JHByZWZpeH0tLXRhYmxlLWNvbHVtbi1jaGVja2JveCk6bm90KC4jeyRwcmVmaXh9LS10YWJsZS1leHBhbmQpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNvcnQgdGgge1xuICAgIGhlaWdodDogJGxheW91dC0wNDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc29ydCB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0wMztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zb3J0IHRoOmZpcnN0LW9mLXR5cGUgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQge1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctMDQ7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFRoID4gQnV0dG9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1yZXNldChmYWxzZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0wMztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTA1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSksXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQ6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJsZS1zb3J0OmhvdmVyIHtcbiAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgYmFja2dyb3VuZDogJHVpLTA1O1xuICB9XG5cbiAgLy8gY2hhbmdlcyBvcGFjaXR5IHdoZW4gdGggaXMgaW5hY3RpdmUgKHNlZSBsaW5lIDE2MSlcbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQ6Zm9jdXMgc3ZnLFxuICAuI3skcHJlZml4fS0tdGFibGUtc29ydDpob3ZlciBzdmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vVGggPiBCdXR0b24gPiBTdmcgKFNvcnQgSWNvbnMpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gaW5hY3RpdmUgaWNvbnNcbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnRfX2ljb24taW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnRfX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtc29ydF9faWNvbi11bnNvcnRlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHJlbSgycHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0wMztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmaWxsOiAkdGV4dC0wNDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6ICRsYXlvdXQtMDE7XG4gIH1cblxuICAvLyBhY3RpdmUgaWNvbnNcbiAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQuI3skcHJlZml4fS0tdGFibGUtc29ydC0tYWN0aXZlXG4gICAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnRfX2ljb24tdW5zb3J0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtc29ydC4jeyRwcmVmaXh9LS10YWJsZS1zb3J0LS1hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tdGFibGUtc29ydF9faWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTsgLy9jaGFuZ2VzIG9wYWNpdHkgd2hlbiB0aCBpcyBhY3RpdmUgKHNlZSBsaW5lIDEyNSlcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJsZS1zb3J0LS1hc2NlbmRpbmcgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnRfX2ljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFibGUtc29ydF9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IHJlbSgycHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0wMztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLS1iYXNlICRjYXJib24tLXN0YW5kYXJkLWVhc2luZztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbGw6ICR0ZXh0LTA0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogJGxheW91dC0wMTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDb21wYWN0LCBTaG9ydCwgVGFsbCBTb3J0YWJsZVxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU29ydGFibGUgY29tcGFjdFxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tY29tcGFjdC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zb3J0IHRoIHtcbiAgICBoZWlnaHQ6IHJlbSgyNHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1jb21wYWN0LiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNvcnRcbiAgICB0aFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1zb3J0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFNvcnRhYmxlIFNob3J0XG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zaG9ydC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zb3J0IHRoIHtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zaG9ydC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS1zb3J0XG4gICAgdGhcbiAgICAuI3skcHJlZml4fS0tdGFibGUtc29ydCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAvLyBTb3J0YWJsZSBUYWxsXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS10YWxsLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNvcnQgdGgge1xuICAgIGhlaWdodDogcmVtKDY0cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXRhbGwuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc29ydFxuICAgIHRoXG4gICAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXRhbGwuI3skcHJlZml4fS0tZGF0YS10YWJsZS0tc29ydFxuICAgIHRoXG4gICAgLiN7JHByZWZpeH0tLXRhYmxlLXNvcnRcbiAgICBzdmcge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgdG9wOiAkc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLS10YWxsLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNvcnRcbiAgICB0aFxuICAgIC4jeyRwcmVmaXh9LS10YWJsZS1zb3J0XG4gICAgLiN7JHByZWZpeH0tLXRhYmxlLWhlYWRlci1sYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiByZW0oLThweCk7XG4gICAgbWF4LWhlaWdodDogM3JlbTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsgLy8gd2VpcmQgdGV4dCB0cnVuY2F0aW9uIHN0eWxlIHVzZWRcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7IC8vIGJlY2F1c2Ugd2UgbmVlZCB0ZXh0IHRvIHdyYXBcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAvLyBjYW4ndCB1c2Ugd2hpdGUtc3BhY2U6IG5vd3JhcFxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2RhdGEtdGFibGUtc29ydCcpIHtcbiAgQGluY2x1ZGUgZGF0YS10YWJsZS1zb3J0O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcblxuQGluY2x1ZGUgZXhwb3J0cygnZGF0YS10YWJsZS1pbmxpbmUtZWRpdCcpIHtcbiAgLiN7JHByZWZpeH0tLWlubGluZS1lZGl0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAuI3skcHJlZml4fS0taW5saW5lLWVkaXQtbGFiZWxfX2ljb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtZWRpdC1sYWJlbC0taW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLWVkaXQtbGFiZWxfX2FjdGlvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KGZhbHNlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTN4cztcblxuICAgICAgLiN7JHByZWZpeH0tLWlubGluZS1lZGl0LWxhYmVsX19pY29uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1lZGl0LWxhYmVsX19pY29uIHtcbiAgICBmaWxsOiAkdWktMDU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtZWRpdC1pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtZWRpdC1pbnB1dC0tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogcmVtKC0xMnB4KTtcblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctc207XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGEtdGFibGUtLXNob3J0IHtcbiAgICBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgcGFkZGluZzogMC40NXJlbSAyLjc1cmVtIDAuNDVyZW0gJHNwYWNpbmctbWQ7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdF9fYXJyb3cge1xuICAgICAgdG9wOiAwLjg3NXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2RhdGEtdGFibGUtdjItc2tlbGV0b24nKSB7XG4gIC4jeyRwcmVmaXh9LS1kYXRhLXRhYmxlLiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyYW5kLTAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCBzcGFuLFxuICAgIHRkIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdHI6aG92ZXIge1xuICAgICAgdGQge1xuICAgICAgICBib3JkZXItY29sb3I6ICR1aS0wMztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlLFxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdWktMDM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS12Mi4jeyRwcmVmaXh9LS1za2VsZXRvbiAuI3skcHJlZml4fS0tdGFibGUtc29ydC12MiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gc3RydWN0dXJlZC1saXN0IHtcbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC0tc2VsZWN0aW9uIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGQsXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtLXNlbGVjdGlvbiAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXRoIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLS1kYXRhLXN0cnVjdHVyZWQtbGlzdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC0tY29uZGVuc2VkIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGQsXG4gICAgJi4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtLWNvbmRlbnNlZCAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXRoIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmctdGQtLWNvbmRlbnNlZDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtLXNlbGVjdGlvblxuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93OmhvdmVyOm5vdCguI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXJvdy0taGVhZGVyLXJvdyk6bm90KC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93LS1zZWxlY3RlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1yb3c7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaG92ZXItcm93O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3cuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXJvdy0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC11aTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93LiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3ctLWhlYWRlci1yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2VsZWN0ZWQtdWk7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3c6Zm9jdXM6bm90KC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93LS1oZWFkZXItcm93KSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC0tc2VsZWN0aW9uXG4gICAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3c6aG92ZXI6bm90KC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93LS1oZWFkZXItcm93KVxuICAgID4gLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC10ZCxcbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3cuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXJvdy0tc2VsZWN0ZWRcbiAgICA+IC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGQge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtLXNlbGVjdGlvblxuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93OmhvdmVyOm5vdCguI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXJvdy0taGVhZGVyLXJvdylcbiAgICA+IC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGgge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHBhZGRpbmctdGg7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnaGVhZGluZy0wMScpO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3RydWN0dXJlZC1saXN0LXRleHQtdHJhbnNmb3JtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXRib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGQge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmctdGQ7XG4gICAgbGluZS1oZWlnaHQ6IGNhcmJvbi0tcmVtKDIxcHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXRoIHtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC10ZCB7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1jb250ZW50LS1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LXN2ZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1yb3c6aG92ZXIgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1zdmcge1xuICAgIGZpbGw6ICRpYm0tY29sb3JfX2dyYXktNDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LWlucHV0OmNoZWNrZWRcbiAgICArIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtcm93XG4gICAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC1zdmcsXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtaW5wdXQ6Y2hlY2tlZFxuICAgICsgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC10ZFxuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3Qtc3ZnIHtcbiAgICBmaWxsOiAkaWNvbi0wMTtcbiAgfVxuXG4gIC8vIFNrZWxldG9uIFN0YXRlXG4gIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiA4JTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGggc3BhbiB7XG4gICAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3RydWN0dXJlZC1saXN0LiN7JHByZWZpeH0tLXNrZWxldG9uXG4gICAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC10aFxuICAgIHNwYW4ge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtLXNlbGVjdGlvbi4jeyRwcmVmaXh9LS1za2VsZXRvblxuICAgIC4jeyRwcmVmaXh9LS1zdHJ1Y3R1cmVkLWxpc3QtdGg6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA1JTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnc3RydWN0dXJlZC1saXN0Jykge1xuICBAaW5jbHVkZSBzdHJ1Y3R1cmVkLWxpc3Q7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8vIFVzZWQgb25seSBmb3IgYC4je3ByZWZpeH0tLXN0cnVjdHVyZWQtbGlzdC0tY29uZGVuc2VkYFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBzdHJ1Y3R1cmVkLWxpc3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRzdHJ1Y3R1cmVkLWxpc3QtcGFkZGluZ11cbkBtaXhpbiBwYWRkaW5nLXRkLS1jb25kZW5zZWQoJHBhZGRpbmc6ICRzdHJ1Y3R1cmVkLWxpc3QtcGFkZGluZykge1xuICBwYWRkaW5nOiAkcGFkZGluZyAvIDQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLy8vIFVzZWQgb25seSBmb3IgW2RhdGEtc3RydWN0dXJlZC1saXN0XVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBzdHJ1Y3R1cmVkLWxpc3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRzdHJ1Y3R1cmVkLWxpc3QtcGFkZGluZ11cbkBtaXhpbiBwYWRkaW5nLS1kYXRhLXN0cnVjdHVyZWQtbGlzdCgkcGFkZGluZzogJHN0cnVjdHVyZWQtbGlzdC1wYWRkaW5nKSB7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmcgLyAyO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZyAvIDI7XG5cbiAgLy8gQ29udHJvbHMgZ3V0dGVyIHNpemVzIGZvciBjaGVja1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nIC8gMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZyAvIDI7XG4gIH1cbn1cblxuLy8vIFVzZWQgb25seSBmb3Igbm9ybWFsIHN0cnVjdHVyZWQtbGlzdFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBzdHJ1Y3R1cmVkLWxpc3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRzdHJ1Y3R1cmVkLWxpc3QtcGFkZGluZ11cbkBtaXhpbiBwYWRkaW5nLXRoKCRwYWRkaW5nOiAkc3RydWN0dXJlZC1saXN0LXBhZGRpbmcpIHtcbiAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICBwYWRkaW5nLXRvcDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDM7XG59XG5cbi8vLyBVc2VkIG9ubHkgZm9yIG5vcm1hbCBzdHJ1Y3R1cmVkLWxpc3Rcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgc3RydWN0dXJlZC1saXN0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskc3RydWN0dXJlZC1saXN0LXBhZGRpbmddXG5AbWl4aW4gcGFkZGluZy10ZCgkcGFkZGluZzogJHN0cnVjdHVyZWQtbGlzdC1wYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wNjtcbiAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xufVxuIiwiLy8gQ29kZSBnZW5lcmF0ZWQgYnkgQGNhcmJvbi9jb2xvcnMuIERPIE5PVCBFRElULlxuLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxOCwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG4vLy8gRGVmaW5lIGNvbG9yIHZhcmlhYmxlc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vY29sb3JzXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIGAkY2FyYm9uLS1jb2xvcnNgIGdvaW5nIGZvcndhcmRcbkBtaXhpbiBpYm0tLWNvbG9ycygpIHtcbiAgJGlibS1jb2xvcl9fYmxhY2stMTAwOiAjMDAwMDAwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2JsdWUtMTA6ICNlZGY0ZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fYmx1ZS0yMDogI2M5ZGVmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ibHVlLTMwOiAjOTdjMWZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2JsdWUtNDA6ICM2ZWE2ZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fYmx1ZS01MDogIzQwOGJmYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ibHVlLTYwOiAjMDA2MmZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2JsdWUtNzA6ICMwNTRhZGEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fYmx1ZS04MDogIzA1MzBhZCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ibHVlLTkwOiAjMDYxZjgwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2JsdWUtMTAwOiAjMDUxMjQzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2Nvb2wtZ3JheS0xMDogI2YyZjRmOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jb29sLWdyYXktMjA6ICNkNWQ5ZTAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY29vbC1ncmF5LTMwOiAjYjliZmM3ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2Nvb2wtZ3JheS00MDogIzlmYTVhZCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jb29sLWdyYXktNTA6ICM4NjhkOTUgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY29vbC1ncmF5LTYwOiAjNjk3MDc3ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2Nvb2wtZ3JheS03MDogIzUwNTY1YiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jb29sLWdyYXktODA6ICMzNzNkNDIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY29vbC1ncmF5LTkwOiAjMjQyYTJlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2Nvb2wtZ3JheS0xMDA6ICMxMzE3MWEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY3lhbi0xMDogI2UzZjZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jeWFuLTIwOiAjYjNlNmZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2N5YW4tMzA6ICM2Y2NhZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY3lhbi00MDogIzMwYjBmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jeWFuLTUwOiAjMTE5MWU2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2N5YW4tNjA6ICMwMDcyYzMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY3lhbi03MDogIzAwNThhMSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19jeWFuLTgwOiAjMDAzZDczICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2N5YW4tOTA6ICMwMDJiNTAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fY3lhbi0xMDA6ICMwNzE5MmIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JheS0xMDogI2YzZjNmMyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ncmF5LTIwOiAjZGNkY2RjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2dyYXktMzA6ICNiZWJlYmUgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JheS00MDogI2E0YTRhNCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ncmF5LTUwOiAjOGM4YzhjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2dyYXktNjA6ICM2ZjZmNmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JheS03MDogIzU2NTY1NiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19ncmF5LTgwOiAjM2QzZDNkICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX2dyYXktOTA6ICMyODI4MjggIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JheS0xMDA6ICMxNzE3MTcgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tMTA6ICNkYWZiZTQgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tMjA6ICM5ZGVlYjIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tMzA6ICM1NmQ2NzkgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tNDA6ICMzZGJiNjEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tNTA6ICMyNGExNDggIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tNjA6ICMxOTgwMzggIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tNzA6ICMxMDY0MmEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tODA6ICMwNTQ3MTkgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tOTA6ICMwMTMzMGYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fZ3JlZW4tMTAwOiAjMDgxYjA5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX21hZ2VudGEtMTA6ICNmZmYwZjYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fbWFnZW50YS0yMDogI2ZmY2ZlMSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19tYWdlbnRhLTMwOiAjZmZhMGMyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX21hZ2VudGEtNDA6ICNmYTc1YTYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fbWFnZW50YS01MDogI2VlNTM4YiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19tYWdlbnRhLTYwOiAjZDEyNzY1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX21hZ2VudGEtNzA6ICNhMTE5NTAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fbWFnZW50YS04MDogIzc2MGEzYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19tYWdlbnRhLTkwOiAjNTcwMDJiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX21hZ2VudGEtMTAwOiAjMmEwYTE2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX29yYW5nZS00MDogI2ZjN2IxZSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19wdXJwbGUtMTA6ICNmN2YxZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcHVycGxlLTIwOiAjZTZkNmZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3B1cnBsZS0zMDogI2QwYjBmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19wdXJwbGUtNDA6ICNiYjhlZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcHVycGxlLTUwOiAjYTY2ZWZhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3B1cnBsZS02MDogIzhhM2ZmYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19wdXJwbGUtNzA6ICM2ZTMyYzkgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcHVycGxlLTgwOiAjNGYyMTk2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3B1cnBsZS05MDogIzM4MTQ2YiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19wdXJwbGUtMTAwOiAjMWUxMDMzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3JlZC0xMDogI2ZmZjBmMSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19yZWQtMjA6ICNmY2QwZDMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcmVkLTMwOiAjZmZhNGE5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3JlZC00MDogI2ZmNzY3YyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19yZWQtNTA6ICNmYjRiNTMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcmVkLTYwOiAjZGExZTI4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3JlZC03MDogI2E1MTkyMCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX19yZWQtODA6ICM3NTBlMTMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fcmVkLTkwOiAjNTcwNDA4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3JlZC0xMDA6ICMyYzA4MGEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fdGVhbC0xMDogI2RiZmJmYiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX190ZWFsLTIwOiAjOTJlZWVlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3RlYWwtMzA6ICMyMGQ1ZDIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fdGVhbC00MDogIzAwYmFiNiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX190ZWFsLTUwOiAjMDA5Yzk4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3RlYWwtNjA6ICMwMDdkNzkgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fdGVhbC03MDogIzAwNjE2MSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX190ZWFsLTgwOiAjMDA0NTQ4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3RlYWwtOTA6ICMwMDMxMzcgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fdGVhbC0xMDA6ICMwODFhMWMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fd2FybS1ncmF5LTEwOiAjZjdmM2YxICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3dhcm0tZ3JheS0yMDogI2UwZGJkYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX193YXJtLWdyYXktMzA6ICNjMWJjYmIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fd2FybS1ncmF5LTQwOiAjYTdhMmEyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3dhcm0tZ3JheS01MDogIzhmOGI4YiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX193YXJtLWdyYXktNjA6ICM3MjZlNmUgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fd2FybS1ncmF5LTcwOiAjNTk1NTU1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3dhcm0tZ3JheS04MDogIzQwM2MzYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX193YXJtLWdyYXktOTA6ICMyYjI4MjggIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGlibS1jb2xvcl9fd2FybS1ncmF5LTEwMDogIzFhMTcxNyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yX193aGl0ZS0wOiAjZmZmZmZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRpYm0tY29sb3JfX3llbGxvdy0yMDogI2ZkZDEzYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkaWJtLWNvbG9yLW1hcDogKFxuICAgICdibGFjayc6IChcbiAgICAgIDEwMDogIzAwMDAwMCxcbiAgICApLFxuICAgICdibHVlJzogKFxuICAgICAgMTA6ICNlZGY0ZmYsXG4gICAgICAyMDogI2M5ZGVmZixcbiAgICAgIDMwOiAjOTdjMWZmLFxuICAgICAgNDA6ICM2ZWE2ZmYsXG4gICAgICA1MDogIzQwOGJmYyxcbiAgICAgIDYwOiAjMDA2MmZmLFxuICAgICAgNzA6ICMwNTRhZGEsXG4gICAgICA4MDogIzA1MzBhZCxcbiAgICAgIDkwOiAjMDYxZjgwLFxuICAgICAgMTAwOiAjMDUxMjQzLFxuICAgICksXG4gICAgJ2Nvb2wtZ3JheSc6IChcbiAgICAgIDEwOiAjZjJmNGY4LFxuICAgICAgMjA6ICNkNWQ5ZTAsXG4gICAgICAzMDogI2I5YmZjNyxcbiAgICAgIDQwOiAjOWZhNWFkLFxuICAgICAgNTA6ICM4NjhkOTUsXG4gICAgICA2MDogIzY5NzA3NyxcbiAgICAgIDcwOiAjNTA1NjViLFxuICAgICAgODA6ICMzNzNkNDIsXG4gICAgICA5MDogIzI0MmEyZSxcbiAgICAgIDEwMDogIzEzMTcxYSxcbiAgICApLFxuICAgICdjb29sR3JheSc6IChcbiAgICAgIDEwOiAjZjJmNGY4LFxuICAgICAgMjA6ICNkNWQ5ZTAsXG4gICAgICAzMDogI2I5YmZjNyxcbiAgICAgIDQwOiAjOWZhNWFkLFxuICAgICAgNTA6ICM4NjhkOTUsXG4gICAgICA2MDogIzY5NzA3NyxcbiAgICAgIDcwOiAjNTA1NjViLFxuICAgICAgODA6ICMzNzNkNDIsXG4gICAgICA5MDogIzI0MmEyZSxcbiAgICAgIDEwMDogIzEzMTcxYSxcbiAgICApLFxuICAgICdjeWFuJzogKFxuICAgICAgMTA6ICNlM2Y2ZmYsXG4gICAgICAyMDogI2IzZTZmZixcbiAgICAgIDMwOiAjNmNjYWZmLFxuICAgICAgNDA6ICMzMGIwZmYsXG4gICAgICA1MDogIzExOTFlNixcbiAgICAgIDYwOiAjMDA3MmMzLFxuICAgICAgNzA6ICMwMDU4YTEsXG4gICAgICA4MDogIzAwM2Q3MyxcbiAgICAgIDkwOiAjMDAyYjUwLFxuICAgICAgMTAwOiAjMDcxOTJiLFxuICAgICksXG4gICAgJ2dyYXknOiAoXG4gICAgICAxMDogI2YzZjNmMyxcbiAgICAgIDIwOiAjZGNkY2RjLFxuICAgICAgMzA6ICNiZWJlYmUsXG4gICAgICA0MDogI2E0YTRhNCxcbiAgICAgIDUwOiAjOGM4YzhjLFxuICAgICAgNjA6ICM2ZjZmNmYsXG4gICAgICA3MDogIzU2NTY1NixcbiAgICAgIDgwOiAjM2QzZDNkLFxuICAgICAgOTA6ICMyODI4MjgsXG4gICAgICAxMDA6ICMxNzE3MTcsXG4gICAgKSxcbiAgICAnZ3JlZW4nOiAoXG4gICAgICAxMDogI2RhZmJlNCxcbiAgICAgIDIwOiAjOWRlZWIyLFxuICAgICAgMzA6ICM1NmQ2NzksXG4gICAgICA0MDogIzNkYmI2MSxcbiAgICAgIDUwOiAjMjRhMTQ4LFxuICAgICAgNjA6ICMxOTgwMzgsXG4gICAgICA3MDogIzEwNjQyYSxcbiAgICAgIDgwOiAjMDU0NzE5LFxuICAgICAgOTA6ICMwMTMzMGYsXG4gICAgICAxMDA6ICMwODFiMDksXG4gICAgKSxcbiAgICAnbWFnZW50YSc6IChcbiAgICAgIDEwOiAjZmZmMGY2LFxuICAgICAgMjA6ICNmZmNmZTEsXG4gICAgICAzMDogI2ZmYTBjMixcbiAgICAgIDQwOiAjZmE3NWE2LFxuICAgICAgNTA6ICNlZTUzOGIsXG4gICAgICA2MDogI2QxMjc2NSxcbiAgICAgIDcwOiAjYTExOTUwLFxuICAgICAgODA6ICM3NjBhM2EsXG4gICAgICA5MDogIzU3MDAyYixcbiAgICAgIDEwMDogIzJhMGExNixcbiAgICApLFxuICAgICdvcmFuZ2UnOiAoXG4gICAgICA0MDogI2ZjN2IxZSxcbiAgICApLFxuICAgICdwdXJwbGUnOiAoXG4gICAgICAxMDogI2Y3ZjFmZixcbiAgICAgIDIwOiAjZTZkNmZmLFxuICAgICAgMzA6ICNkMGIwZmYsXG4gICAgICA0MDogI2JiOGVmZixcbiAgICAgIDUwOiAjYTY2ZWZhLFxuICAgICAgNjA6ICM4YTNmZmMsXG4gICAgICA3MDogIzZlMzJjOSxcbiAgICAgIDgwOiAjNGYyMTk2LFxuICAgICAgOTA6ICMzODE0NmIsXG4gICAgICAxMDA6ICMxZTEwMzMsXG4gICAgKSxcbiAgICAncmVkJzogKFxuICAgICAgMTA6ICNmZmYwZjEsXG4gICAgICAyMDogI2ZjZDBkMyxcbiAgICAgIDMwOiAjZmZhNGE5LFxuICAgICAgNDA6ICNmZjc2N2MsXG4gICAgICA1MDogI2ZiNGI1MyxcbiAgICAgIDYwOiAjZGExZTI4LFxuICAgICAgNzA6ICNhNTE5MjAsXG4gICAgICA4MDogIzc1MGUxMyxcbiAgICAgIDkwOiAjNTcwNDA4LFxuICAgICAgMTAwOiAjMmMwODBhLFxuICAgICksXG4gICAgJ3RlYWwnOiAoXG4gICAgICAxMDogI2RiZmJmYixcbiAgICAgIDIwOiAjOTJlZWVlLFxuICAgICAgMzA6ICMyMGQ1ZDIsXG4gICAgICA0MDogIzAwYmFiNixcbiAgICAgIDUwOiAjMDA5Yzk4LFxuICAgICAgNjA6ICMwMDdkNzksXG4gICAgICA3MDogIzAwNjE2MSxcbiAgICAgIDgwOiAjMDA0NTQ4LFxuICAgICAgOTA6ICMwMDMxMzcsXG4gICAgICAxMDA6ICMwODFhMWMsXG4gICAgKSxcbiAgICAnd2FybS1ncmF5JzogKFxuICAgICAgMTA6ICNmN2YzZjEsXG4gICAgICAyMDogI2UwZGJkYSxcbiAgICAgIDMwOiAjYzFiY2JiLFxuICAgICAgNDA6ICNhN2EyYTIsXG4gICAgICA1MDogIzhmOGI4YixcbiAgICAgIDYwOiAjNzI2ZTZlLFxuICAgICAgNzA6ICM1OTU1NTUsXG4gICAgICA4MDogIzQwM2MzYyxcbiAgICAgIDkwOiAjMmIyODI4LFxuICAgICAgMTAwOiAjMWExNzE3LFxuICAgICksXG4gICAgJ3dhcm1HcmF5JzogKFxuICAgICAgMTA6ICNmN2YzZjEsXG4gICAgICAyMDogI2UwZGJkYSxcbiAgICAgIDMwOiAjYzFiY2JiLFxuICAgICAgNDA6ICNhN2EyYTIsXG4gICAgICA1MDogIzhmOGI4YixcbiAgICAgIDYwOiAjNzI2ZTZlLFxuICAgICAgNzA6ICM1OTU1NTUsXG4gICAgICA4MDogIzQwM2MzYyxcbiAgICAgIDkwOiAjMmIyODI4LFxuICAgICAgMTAwOiAjMWExNzE3LFxuICAgICksXG4gICAgJ3doaXRlJzogKFxuICAgICAgMDogI2ZmZmZmZixcbiAgICApLFxuICAgICd5ZWxsb3cnOiAoXG4gICAgICAyMDogI2ZkZDEzYSxcbiAgICApLFxuICApICFkZWZhdWx0ICFnbG9iYWw7XG59XG4vLy8gRGVmaW5lIGNvbG9yIHZhcmlhYmxlc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIEBjYXJib24vY29sb3JzXG5AbWl4aW4gY2FyYm9uLS1jb2xvcnMoKSB7XG4gICRjYXJib24tLWJsYWNrLTEwMDogIzAwMDAwMCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ibHVlLTEwOiAjZWRmNGZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWJsdWUtMjA6ICNjOWRlZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tYmx1ZS0zMDogIzk3YzFmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ibHVlLTQwOiAjNmVhNmZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWJsdWUtNTA6ICM0MDhiZmMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tYmx1ZS02MDogIzAwNjJmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ibHVlLTcwOiAjMDU0YWRhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWJsdWUtODA6ICMwNTMwYWQgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tYmx1ZS05MDogIzA2MWY4MCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ibHVlLTEwMDogIzA1MTI0MyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jb29sLWdyYXktMTA6ICNmMmY0ZjggIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY29vbC1ncmF5LTIwOiAjZDVkOWUwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWNvb2wtZ3JheS0zMDogI2I5YmZjNyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jb29sLWdyYXktNDA6ICM5ZmE1YWQgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY29vbC1ncmF5LTUwOiAjODY4ZDk1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWNvb2wtZ3JheS02MDogIzY5NzA3NyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jb29sLWdyYXktNzA6ICM1MDU2NWIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY29vbC1ncmF5LTgwOiAjMzczZDQyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWNvb2wtZ3JheS05MDogIzI0MmEyZSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jb29sLWdyYXktMTAwOiAjMTMxNzFhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWN5YW4tMTA6ICNlM2Y2ZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY3lhbi0yMDogI2IzZTZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jeWFuLTMwOiAjNmNjYWZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWN5YW4tNDA6ICMzMGIwZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY3lhbi01MDogIzExOTFlNiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jeWFuLTYwOiAjMDA3MmMzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWN5YW4tNzA6ICMwMDU4YTEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tY3lhbi04MDogIzAwM2Q3MyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1jeWFuLTkwOiAjMDAyYjUwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWN5YW4tMTAwOiAjMDcxOTJiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyYXktMTA6ICNmM2YzZjMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tZ3JheS0yMDogI2RjZGNkYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ncmF5LTMwOiAjYmViZWJlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyYXktNDA6ICNhNGE0YTQgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tZ3JheS01MDogIzhjOGM4YyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ncmF5LTYwOiAjNmY2ZjZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyYXktNzA6ICM1NjU2NTYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tZ3JheS04MDogIzNkM2QzZCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1ncmF5LTkwOiAjMjgyODI4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyYXktMTAwOiAjMTcxNzE3ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTEwOiAjZGFmYmU0ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTIwOiAjOWRlZWIyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTMwOiAjNTZkNjc5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTQwOiAjM2RiYjYxICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTUwOiAjMjRhMTQ4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTYwOiAjMTk4MDM4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTcwOiAjMTA2NDJhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTgwOiAjMDU0NzE5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTkwOiAjMDEzMzBmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWdyZWVuLTEwMDogIzA4MWIwOSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1tYWdlbnRhLTEwOiAjZmZmMGY2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLW1hZ2VudGEtMjA6ICNmZmNmZTEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tbWFnZW50YS0zMDogI2ZmYTBjMiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1tYWdlbnRhLTQwOiAjZmE3NWE2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLW1hZ2VudGEtNTA6ICNlZTUzOGIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tbWFnZW50YS02MDogI2QxMjc2NSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1tYWdlbnRhLTcwOiAjYTExOTUwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLW1hZ2VudGEtODA6ICM3NjBhM2EgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tbWFnZW50YS05MDogIzU3MDAyYiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1tYWdlbnRhLTEwMDogIzJhMGExNiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1vcmFuZ2UtNDA6ICNmYzdiMWUgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcHVycGxlLTEwOiAjZjdmMWZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXB1cnBsZS0yMDogI2U2ZDZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1wdXJwbGUtMzA6ICNkMGIwZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcHVycGxlLTQwOiAjYmI4ZWZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXB1cnBsZS01MDogI2E2NmVmYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1wdXJwbGUtNjA6ICM4YTNmZmMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcHVycGxlLTcwOiAjNmUzMmM5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXB1cnBsZS04MDogIzRmMjE5NiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1wdXJwbGUtOTA6ICMzODE0NmIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcHVycGxlLTEwMDogIzFlMTAzMyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1yZWQtMTA6ICNmZmYwZjEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcmVkLTIwOiAjZmNkMGQzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXJlZC0zMDogI2ZmYTRhOSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1yZWQtNDA6ICNmZjc2N2MgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcmVkLTUwOiAjZmI0YjUzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXJlZC02MDogI2RhMWUyOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1yZWQtNzA6ICNhNTE5MjAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tcmVkLTgwOiAjNzUwZTEzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXJlZC05MDogIzU3MDQwOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS1yZWQtMTAwOiAjMmMwODBhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXRlYWwtMTA6ICNkYmZiZmIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tdGVhbC0yMDogIzkyZWVlZSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS10ZWFsLTMwOiAjMjBkNWQyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXRlYWwtNDA6ICMwMGJhYjYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tdGVhbC01MDogIzAwOWM5OCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS10ZWFsLTYwOiAjMDA3ZDc5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXRlYWwtNzA6ICMwMDYxNjEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0tdGVhbC04MDogIzAwNDU0OCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS10ZWFsLTkwOiAjMDAzMTM3ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXRlYWwtMTAwOiAjMDgxYTFjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXdhcm0tZ3JheS0xMDogI2Y3ZjNmMSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS13YXJtLWdyYXktMjA6ICNlMGRiZGEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0td2FybS1ncmF5LTMwOiAjYzFiY2JiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXdhcm0tZ3JheS00MDogI2E3YTJhMiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS13YXJtLWdyYXktNTA6ICM4ZjhiOGIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0td2FybS1ncmF5LTYwOiAjNzI2ZTZlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXdhcm0tZ3JheS03MDogIzU5NTU1NSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS13YXJtLWdyYXktODA6ICM0MDNjM2MgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0td2FybS1ncmF5LTkwOiAjMmIyODI4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLXdhcm0tZ3JheS0xMDA6ICMxYTE3MTcgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNhcmJvbi0td2hpdGUtMDogI2ZmZmZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY2FyYm9uLS15ZWxsb3ctMjA6ICNmZGQxM2EgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGJsYWNrLTEwMDogIzAwMDAwMCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS0xMDogI2VkZjRmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS0yMDogI2M5ZGVmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS0zMDogIzk3YzFmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS00MDogIzZlYTZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS01MDogIzQwOGJmYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS02MDogIzAwNjJmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS03MDogIzA1NGFkYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS04MDogIzA1MzBhZCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS05MDogIzA2MWY4MCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkYmx1ZS0xMDA6ICMwNTEyNDMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNvb2wtZ3JheS0xMDogI2YyZjRmOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY29vbC1ncmF5LTIwOiAjZDVkOWUwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjb29sLWdyYXktMzA6ICNiOWJmYzcgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNvb2wtZ3JheS00MDogIzlmYTVhZCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY29vbC1ncmF5LTUwOiAjODY4ZDk1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjb29sLWdyYXktNjA6ICM2OTcwNzcgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNvb2wtZ3JheS03MDogIzUwNTY1YiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkY29vbC1ncmF5LTgwOiAjMzczZDQyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjb29sLWdyYXktOTA6ICMyNDJhMmUgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGNvb2wtZ3JheS0xMDA6ICMxMzE3MWEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tMTA6ICNlM2Y2ZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tMjA6ICNiM2U2ZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tMzA6ICM2Y2NhZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tNDA6ICMzMGIwZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tNTA6ICMxMTkxZTYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tNjA6ICMwMDcyYzMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tNzA6ICMwMDU4YTEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tODA6ICMwMDNkNzMgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tOTA6ICMwMDJiNTAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGN5YW4tMTAwOiAjMDcxOTJiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTEwOiAjZjNmM2YzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTIwOiAjZGNkY2RjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTMwOiAjYmViZWJlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTQwOiAjYTRhNGE0ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTUwOiAjOGM4YzhjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTYwOiAjNmY2ZjZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTcwOiAjNTY1NjU2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTgwOiAjM2QzZDNkICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTkwOiAjMjgyODI4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmF5LTEwMDogIzE3MTcxNyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkZ3JlZW4tMTA6ICNkYWZiZTQgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGdyZWVuLTIwOiAjOWRlZWIyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmVlbi0zMDogIzU2ZDY3OSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkZ3JlZW4tNDA6ICMzZGJiNjEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGdyZWVuLTUwOiAjMjRhMTQ4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmVlbi02MDogIzE5ODAzOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkZ3JlZW4tNzA6ICMxMDY0MmEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJGdyZWVuLTgwOiAjMDU0NzE5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRncmVlbi05MDogIzAxMzMwZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkZ3JlZW4tMTAwOiAjMDgxYjA5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTEwOiAjZmZmMGY2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTIwOiAjZmZjZmUxICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTMwOiAjZmZhMGMyICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTQwOiAjZmE3NWE2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTUwOiAjZWU1MzhiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTYwOiAjZDEyNzY1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTcwOiAjYTExOTUwICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTgwOiAjNzYwYTNhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTkwOiAjNTcwMDJiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRtYWdlbnRhLTEwMDogIzJhMGExNiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkb3JhbmdlLTQwOiAjZmM3YjFlICFkZWZhdWx0ICFnbG9iYWw7XG4gICRwdXJwbGUtMTA6ICNmN2YxZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHB1cnBsZS0yMDogI2U2ZDZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcHVycGxlLTMwOiAjZDBiMGZmICFkZWZhdWx0ICFnbG9iYWw7XG4gICRwdXJwbGUtNDA6ICNiYjhlZmYgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHB1cnBsZS01MDogI2E2NmVmYSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcHVycGxlLTYwOiAjOGEzZmZjICFkZWZhdWx0ICFnbG9iYWw7XG4gICRwdXJwbGUtNzA6ICM2ZTMyYzkgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHB1cnBsZS04MDogIzRmMjE5NiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcHVycGxlLTkwOiAjMzgxNDZiICFkZWZhdWx0ICFnbG9iYWw7XG4gICRwdXJwbGUtMTAwOiAjMWUxMDMzICFkZWZhdWx0ICFnbG9iYWw7XG4gICRyZWQtMTA6ICNmZmYwZjEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHJlZC0yMDogI2ZjZDBkMyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcmVkLTMwOiAjZmZhNGE5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRyZWQtNDA6ICNmZjc2N2MgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHJlZC01MDogI2ZiNGI1MyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcmVkLTYwOiAjZGExZTI4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRyZWQtNzA6ICNhNTE5MjAgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHJlZC04MDogIzc1MGUxMyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkcmVkLTkwOiAjNTcwNDA4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICRyZWQtMTAwOiAjMmMwODBhICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTEwOiAjZGJmYmZiICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTIwOiAjOTJlZWVlICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTMwOiAjMjBkNWQyICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTQwOiAjMDBiYWI2ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTUwOiAjMDA5Yzk4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTYwOiAjMDA3ZDc5ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTcwOiAjMDA2MTYxICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTgwOiAjMDA0NTQ4ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTkwOiAjMDAzMTM3ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR0ZWFsLTEwMDogIzA4MWExYyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkd2FybS1ncmF5LTEwOiAjZjdmM2YxICFkZWZhdWx0ICFnbG9iYWw7XG4gICR3YXJtLWdyYXktMjA6ICNlMGRiZGEgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHdhcm0tZ3JheS0zMDogI2MxYmNiYiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkd2FybS1ncmF5LTQwOiAjYTdhMmEyICFkZWZhdWx0ICFnbG9iYWw7XG4gICR3YXJtLWdyYXktNTA6ICM4ZjhiOGIgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHdhcm0tZ3JheS02MDogIzcyNmU2ZSAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkd2FybS1ncmF5LTcwOiAjNTk1NTU1ICFkZWZhdWx0ICFnbG9iYWw7XG4gICR3YXJtLWdyYXktODA6ICM0MDNjM2MgIWRlZmF1bHQgIWdsb2JhbDtcbiAgJHdhcm0tZ3JheS05MDogIzJiMjgyOCAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkd2FybS1ncmF5LTEwMDogIzFhMTcxNyAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkd2hpdGUtMDogI2ZmZmZmZiAhZGVmYXVsdCAhZ2xvYmFsO1xuICAkeWVsbG93LTIwOiAjZmRkMTNhICFkZWZhdWx0ICFnbG9iYWw7XG4gICRjYXJib24tLWNvbG9yczogKFxuICAgICdibGFjayc6IChcbiAgICAgIDEwMDogIzAwMDAwMCxcbiAgICApLFxuICAgICdibHVlJzogKFxuICAgICAgMTA6ICNlZGY0ZmYsXG4gICAgICAyMDogI2M5ZGVmZixcbiAgICAgIDMwOiAjOTdjMWZmLFxuICAgICAgNDA6ICM2ZWE2ZmYsXG4gICAgICA1MDogIzQwOGJmYyxcbiAgICAgIDYwOiAjMDA2MmZmLFxuICAgICAgNzA6ICMwNTRhZGEsXG4gICAgICA4MDogIzA1MzBhZCxcbiAgICAgIDkwOiAjMDYxZjgwLFxuICAgICAgMTAwOiAjMDUxMjQzLFxuICAgICksXG4gICAgJ2Nvb2wtZ3JheSc6IChcbiAgICAgIDEwOiAjZjJmNGY4LFxuICAgICAgMjA6ICNkNWQ5ZTAsXG4gICAgICAzMDogI2I5YmZjNyxcbiAgICAgIDQwOiAjOWZhNWFkLFxuICAgICAgNTA6ICM4NjhkOTUsXG4gICAgICA2MDogIzY5NzA3NyxcbiAgICAgIDcwOiAjNTA1NjViLFxuICAgICAgODA6ICMzNzNkNDIsXG4gICAgICA5MDogIzI0MmEyZSxcbiAgICAgIDEwMDogIzEzMTcxYSxcbiAgICApLFxuICAgICdjb29sR3JheSc6IChcbiAgICAgIDEwOiAjZjJmNGY4LFxuICAgICAgMjA6ICNkNWQ5ZTAsXG4gICAgICAzMDogI2I5YmZjNyxcbiAgICAgIDQwOiAjOWZhNWFkLFxuICAgICAgNTA6ICM4NjhkOTUsXG4gICAgICA2MDogIzY5NzA3NyxcbiAgICAgIDcwOiAjNTA1NjViLFxuICAgICAgODA6ICMzNzNkNDIsXG4gICAgICA5MDogIzI0MmEyZSxcbiAgICAgIDEwMDogIzEzMTcxYSxcbiAgICApLFxuICAgICdjeWFuJzogKFxuICAgICAgMTA6ICNlM2Y2ZmYsXG4gICAgICAyMDogI2IzZTZmZixcbiAgICAgIDMwOiAjNmNjYWZmLFxuICAgICAgNDA6ICMzMGIwZmYsXG4gICAgICA1MDogIzExOTFlNixcbiAgICAgIDYwOiAjMDA3MmMzLFxuICAgICAgNzA6ICMwMDU4YTEsXG4gICAgICA4MDogIzAwM2Q3MyxcbiAgICAgIDkwOiAjMDAyYjUwLFxuICAgICAgMTAwOiAjMDcxOTJiLFxuICAgICksXG4gICAgJ2dyYXknOiAoXG4gICAgICAxMDogI2YzZjNmMyxcbiAgICAgIDIwOiAjZGNkY2RjLFxuICAgICAgMzA6ICNiZWJlYmUsXG4gICAgICA0MDogI2E0YTRhNCxcbiAgICAgIDUwOiAjOGM4YzhjLFxuICAgICAgNjA6ICM2ZjZmNmYsXG4gICAgICA3MDogIzU2NTY1NixcbiAgICAgIDgwOiAjM2QzZDNkLFxuICAgICAgOTA6ICMyODI4MjgsXG4gICAgICAxMDA6ICMxNzE3MTcsXG4gICAgKSxcbiAgICAnZ3JlZW4nOiAoXG4gICAgICAxMDogI2RhZmJlNCxcbiAgICAgIDIwOiAjOWRlZWIyLFxuICAgICAgMzA6ICM1NmQ2NzksXG4gICAgICA0MDogIzNkYmI2MSxcbiAgICAgIDUwOiAjMjRhMTQ4LFxuICAgICAgNjA6ICMxOTgwMzgsXG4gICAgICA3MDogIzEwNjQyYSxcbiAgICAgIDgwOiAjMDU0NzE5LFxuICAgICAgOTA6ICMwMTMzMGYsXG4gICAgICAxMDA6ICMwODFiMDksXG4gICAgKSxcbiAgICAnbWFnZW50YSc6IChcbiAgICAgIDEwOiAjZmZmMGY2LFxuICAgICAgMjA6ICNmZmNmZTEsXG4gICAgICAzMDogI2ZmYTBjMixcbiAgICAgIDQwOiAjZmE3NWE2LFxuICAgICAgNTA6ICNlZTUzOGIsXG4gICAgICA2MDogI2QxMjc2NSxcbiAgICAgIDcwOiAjYTExOTUwLFxuICAgICAgODA6ICM3NjBhM2EsXG4gICAgICA5MDogIzU3MDAyYixcbiAgICAgIDEwMDogIzJhMGExNixcbiAgICApLFxuICAgICdvcmFuZ2UnOiAoXG4gICAgICA0MDogI2ZjN2IxZSxcbiAgICApLFxuICAgICdwdXJwbGUnOiAoXG4gICAgICAxMDogI2Y3ZjFmZixcbiAgICAgIDIwOiAjZTZkNmZmLFxuICAgICAgMzA6ICNkMGIwZmYsXG4gICAgICA0MDogI2JiOGVmZixcbiAgICAgIDUwOiAjYTY2ZWZhLFxuICAgICAgNjA6ICM4YTNmZmMsXG4gICAgICA3MDogIzZlMzJjOSxcbiAgICAgIDgwOiAjNGYyMTk2LFxuICAgICAgOTA6ICMzODE0NmIsXG4gICAgICAxMDA6ICMxZTEwMzMsXG4gICAgKSxcbiAgICAncmVkJzogKFxuICAgICAgMTA6ICNmZmYwZjEsXG4gICAgICAyMDogI2ZjZDBkMyxcbiAgICAgIDMwOiAjZmZhNGE5LFxuICAgICAgNDA6ICNmZjc2N2MsXG4gICAgICA1MDogI2ZiNGI1MyxcbiAgICAgIDYwOiAjZGExZTI4LFxuICAgICAgNzA6ICNhNTE5MjAsXG4gICAgICA4MDogIzc1MGUxMyxcbiAgICAgIDkwOiAjNTcwNDA4LFxuICAgICAgMTAwOiAjMmMwODBhLFxuICAgICksXG4gICAgJ3RlYWwnOiAoXG4gICAgICAxMDogI2RiZmJmYixcbiAgICAgIDIwOiAjOTJlZWVlLFxuICAgICAgMzA6ICMyMGQ1ZDIsXG4gICAgICA0MDogIzAwYmFiNixcbiAgICAgIDUwOiAjMDA5Yzk4LFxuICAgICAgNjA6ICMwMDdkNzksXG4gICAgICA3MDogIzAwNjE2MSxcbiAgICAgIDgwOiAjMDA0NTQ4LFxuICAgICAgOTA6ICMwMDMxMzcsXG4gICAgICAxMDA6ICMwODFhMWMsXG4gICAgKSxcbiAgICAnd2FybS1ncmF5JzogKFxuICAgICAgMTA6ICNmN2YzZjEsXG4gICAgICAyMDogI2UwZGJkYSxcbiAgICAgIDMwOiAjYzFiY2JiLFxuICAgICAgNDA6ICNhN2EyYTIsXG4gICAgICA1MDogIzhmOGI4YixcbiAgICAgIDYwOiAjNzI2ZTZlLFxuICAgICAgNzA6ICM1OTU1NTUsXG4gICAgICA4MDogIzQwM2MzYyxcbiAgICAgIDkwOiAjMmIyODI4LFxuICAgICAgMTAwOiAjMWExNzE3LFxuICAgICksXG4gICAgJ3dhcm1HcmF5JzogKFxuICAgICAgMTA6ICNmN2YzZjEsXG4gICAgICAyMDogI2UwZGJkYSxcbiAgICAgIDMwOiAjYzFiY2JiLFxuICAgICAgNDA6ICNhN2EyYTIsXG4gICAgICA1MDogIzhmOGI4YixcbiAgICAgIDYwOiAjNzI2ZTZlLFxuICAgICAgNzA6ICM1OTU1NTUsXG4gICAgICA4MDogIzQwM2MzYyxcbiAgICAgIDkwOiAjMmIyODI4LFxuICAgICAgMTAwOiAjMWExNzE3LFxuICAgICksXG4gICAgJ3doaXRlJzogKFxuICAgICAgMDogI2ZmZmZmZixcbiAgICApLFxuICAgICd5ZWxsb3cnOiAoXG4gICAgICAyMDogI2ZkZDEzYSxcbiAgICApLFxuICApICFkZWZhdWx0ICFnbG9iYWw7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnbWl4aW5zJztcblxuLy8vIENvZGUgc25pcHBldCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgY29kZS1zbmlwcGV0XG5AbWl4aW4gc25pcHBldCB7XG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0IGNvZGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2NvZGUtMDEnKTtcbiAgfVxuXG4gIC8vIElubGluZSBDb2RlIFNuaXBwZXRcbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLWlubGluZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgLy8gTm90ZTogb3JpZ2luYWxseSB0aGlzIGlubGluZSBzbmlwcGV0IGluaGVyaXRlZCBmb250LXNpemUsIHdlIG1pZ2h0IG5lZWRcbiAgICAvLyBhIG1vcmUgZmxleGlibGUgc3RyYXRlZ3kgdGhhbiBleHBsaWNpdGx5IHNldHRpbmcgZm9udC1zaXplIHdpdGggdGhpc1xuICAgIC8vIHR5cGUgc3R5bGVcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjb2RlLTAxJyk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDM7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvcHktYWN0aXZlO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRpbnRlcmFjdGl2ZS0wMTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0taW5saW5lIGNvZGUge1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmcteHM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0taW5saW5lLiN7JHByZWZpeH0tLXNuaXBwZXQtLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGludGVyYWN0aXZlLTAyLCAwLjEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSBMaW5lIFNuaXBwZXRcbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLXNpbmdsZSB7XG4gICAgQGluY2x1ZGUgYngtLXNuaXBwZXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1heC13aWR0aDogcmVtKDc2MHB4KTtcbiAgICBtaW4td2lkdGg6IHJlbSgzMjBweCk7XG4gICAgaGVpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA4O1xuICAgIHBhZGRpbmc6IDAgNTZweCAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0tc2luZ2xlIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAkY2FyYm9uLS1zcGFjaW5nLTA1IDA7XG4gICAgaGVpZ2h0OiByZW0oNTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0tc2luZ2xlIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjb2RlLTAxJyk7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmcteHM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0tc2luZ2xlOjphZnRlciB7XG4gICAgd2lkdGg6IHJlbSgxNnB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogcmVtKDU2cHgpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICR1aS0wMSk7XG4gIH1cblxuICAvLyBNdWx0aSBMaW5lIFNuaXBwZXRcbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLW11bHRpIHtcbiAgICBAaW5jbHVkZSBieC0tc25pcHBldDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBtaW4td2lkdGg6IHJlbSgzMjBweCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy9jbG9zZWQgc25pcHBldCBjb250YWluZXJcbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLW11bHRpIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogcmVtKDIzOHB4KTtcbiAgICBtaW4taGVpZ2h0OiByZW0oNTZweCk7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZHVyYXRpb24tLW1vZGVyYXRlLTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAvLyBleHBhbmRlZCBzbmlwcGV0IGNvbnRhaW5lclxuICAuI3skcHJlZml4fS0tc25pcHBldC0tbXVsdGkuI3skcHJlZml4fS0tc25pcHBldC0tZXhwYW5kXG4gICAgLiN7JHByZWZpeH0tLXNuaXBwZXQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiByZW0oMTUwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRkdXJhdGlvbi0tbW9kZXJhdGUtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC8vIGNsb3NlZCBwcmVcbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLW11bHRpIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWNvbnRhaW5lciBwcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgyNHB4KTtcbiAgfVxuXG4gIC8vIGV4cGFuZGVkIHByZVxuICAuI3skcHJlZml4fS0tc25pcHBldC0tbXVsdGkuI3skcHJlZml4fS0tc25pcHBldC0tZXhwYW5kXG4gICAgLiN7JHByZWZpeH0tLXNuaXBwZXQtY29udGFpbmVyXG4gICAgcHJlIHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0tbXVsdGkgLiN7JHByZWZpeH0tLXNuaXBwZXQtY29udGFpbmVyIHByZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgJHVpLTAxKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS1tdWx0aSAuI3skcHJlZml4fS0tc25pcHBldC1jb250YWluZXIgcHJlIGNvZGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvL0NvcHkgQnV0dG9uXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0X19pY29uIHtcbiAgICBmaWxsOiAkaWNvbi0wMTtcbiAgICBoZWlnaHQ6IHJlbSgxNnB4KTtcbiAgICB3aWR0aDogcmVtKDE2cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA4O1xuICAgIHdpZHRoOiAkY2FyYm9uLS1zcGFjaW5nLTA4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAkZm9jdXM7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLW11bHRpIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA3O1xuICAgIHdpZHRoOiAkY2FyYm9uLS1zcGFjaW5nLTA3O1xuICAgIHRvcDogJHNwYWNpbmcteHM7XG4gICAgcmlnaHQ6ICRzcGFjaW5nLXhzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItdWk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29weS1hY3RpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnRuLS1jb3B5X19mZWVkYmFjayB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIHotaW5kZXg6IHooJ292ZXJsYXknKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgdG9wOiAwLjc1cmVtO1xuICAgIHJpZ2h0OiAxLjI1cmVtO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0tY29weV9fZmVlZGJhY2s6YmVmb3JlLFxuICAuI3skcHJlZml4fS0tYnRuLS1jb3B5X19mZWVkYmFjazphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGNvcHktYnRuLWZlZWRiYWNrO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJ0bi0tY29weV9fZmVlZGJhY2s6YWZ0ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC8vIFNob3cgbW9yZSAvIGxlc3MgYnV0dG9uXG4gIGJ1dHRvbi4jeyRwcmVmaXh9LS1idG4uI3skcHJlZml4fS0tc25pcHBldC1idG4tLWV4cGFuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6ICRzcGFjaW5nLXhzO1xuICAgIGJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZzogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gIH1cblxuICBidXR0b24uI3skcHJlZml4fS0tYnRuLiN7JHByZWZpeH0tLXNuaXBwZXQtYnRuLS1leHBhbmRcbiAgICAuI3skcHJlZml4fS0tc25pcHBldC1idG4tLXRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHJlbSgtMXB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ0bi0tZXhwYW5kLS1oaWRlLiN7JHByZWZpeH0tLXNuaXBwZXQtYnRuLS1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC1idG4tLWV4cGFuZCAuI3skcHJlZml4fS0taWNvbi1jaGV2cm9uLS1kb3duIHtcbiAgICBmaWxsOiAkdGV4dC0wMTtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmcteHM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgYnV0dG9uLiN7JHByZWZpeH0tLWJ0bi4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ0bi0tZXhwYW5kOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkaG92ZXItdWk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtYnRuLS1leHBhbmQ6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29weS1hY3RpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC1idG4tLWV4cGFuZDpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLWV4cGFuZFxuICAgIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ0bi0tZXhwYW5kXG4gICAgLiN7JHByZWZpeH0tLWljb24tY2hldnJvbi0tZG93biB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tLWV4cGFuc2lvbjtcbiAgfVxuXG4gIC8vIFNrZWxldG9uIFN0YXRlXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS1jb2RlLiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICBoZWlnaHQ6IHJlbSg5OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS10ZXJtaW5hbC4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgaGVpZ2h0OiByZW0oNTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC4jeyRwcmVmaXh9LS1za2VsZXRvbiAuI3skcHJlZml4fS0tc25pcHBldC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LiN7JHByZWZpeH0tLXNrZWxldG9uIGNvZGUge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LWJ1dHRvbiAuI3skcHJlZml4fS0tYnRuLS1jb3B5X19mZWVkYmFjayB7XG4gICAgdG9wOiByZW0oMjVweCk7XG4gICAgbGVmdDogMXJlbTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS1pbmxpbmUgLiN7JHByZWZpeH0tLWJ0bi0tY29weV9fZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuXG4gICN7JHByZWZpeH0tLXNuaXBwZXQtLW11bHRpLiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICBoZWlnaHQ6IHJlbSg5OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS1zaW5nbGUuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIGhlaWdodDogcmVtKDU2cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQuI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXNuaXBwZXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC4jeyRwcmVmaXh9LS1za2VsZXRvbiBzcGFuIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbmlwcGV0LS1zaW5nbGUuI3skcHJlZml4fS0tc2tlbGV0b25cbiAgICAuI3skcHJlZml4fS0tc25pcHBldC1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQtLWlubGluZSAuI3skcHJlZml4fS0tYnRuLS1jb3B5X19mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBTa2VsZXRvbiBTdGF0ZVxuICAuI3skcHJlZml4fS0tc25pcHBldC0tY29kZS4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgaGVpZ2h0OiByZW0oOThweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC0tdGVybWluYWwuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIGhlaWdodDogcmVtKDU2cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNuaXBwZXQuI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXNuaXBwZXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc25pcHBldC4jeyRwcmVmaXh9LS1za2VsZXRvbiBjb2RlIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnc25pcHBldCcpIHtcbiAgQGluY2x1ZGUgc25pcHBldDtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5cbi8vLyBDb2RlIHNuaXBwZXQgYmFzZSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgY29kZS1zbmlwcGV0XG5AbWl4aW4gYngtLXNuaXBwZXQge1xuICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjb2RlLTAxJyk7XG4gIGJhY2tncm91bmQ6ICRzbmlwcGV0LWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzbmlwcGV0LWJvcmRlci1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IHJlbSg2MDBweCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE92ZXJmbG93IE1lbnVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheWVyJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuXG4vLy8gT3ZlcmZsb3cgbWVudSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgb3ZlcmZsb3ctbWVudVxuQG1peGluIG92ZXJmbG93LW1lbnUge1xuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudV9fdHJpZ2dlciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUsXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51X190cmlnZ2VyIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogcmVtKDMycHgpO1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVyd3JpdGUgSWNvbiBUb29sdGlwIGZvY3VzIHN0eWxlc1xuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudV9fdHJpZ2dlci4jeyRwcmVmaXh9LS10b29sdGlwLS1hMTF5LiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXI6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcblxuICAgIHN2ZyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLW9wZW4sXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLW9wZW5cbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudV9fdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVfX2ljb24ge1xuICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gICAgZmlsbDogJGljb24tMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB6KCdmbG9hdGluZycpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICB3aWR0aDogcmVtKDE2MHB4KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRvcDogMzJweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyXG4gICAgICAgIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc1tkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSdib3R0b20nXTo6YWZ0ZXIge1xuICAgIHRvcDogcmVtKC0zcHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IHJlbSgzcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc1tkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSd0b3AnXTo6YWZ0ZXIge1xuICAgIGJvdHRvbTogcmVtKC02cHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IHJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IHJlbSg2cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc1tkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSdsZWZ0J106OmFmdGVyIHtcbiAgICByaWdodDogcmVtKC02cHgpO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICB3aWR0aDogcmVtKDZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zW2RhdGEtZmxvYXRpbmctbWVudS1kaXJlY3Rpb249J3JpZ2h0J106OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogcmVtKC02cHgpO1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIHdpZHRoOiByZW0oNnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LS1mbGlwLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc1tkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSd0b3AnXTo6YWZ0ZXIsXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LS1mbGlwLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc1tkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSdib3R0b20nXTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS0tZmxpcC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNbZGF0YS1mbG9hdGluZy1tZW51LWRpcmVjdGlvbj0nbGVmdCddOjphZnRlcixcbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLWZsaXAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zW2RhdGEtZmxvYXRpbmctbWVudS1kaXJlY3Rpb249J3JpZ2h0J106OmFmdGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9ucy0tb3BlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbiB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LS1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLTAzO1xuICB9XG5cbiAgYS4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX2J0bjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zX19idG4ge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHRleHQtMDI7XG4gICAgbWF4LXdpZHRoOiAxMS4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpLFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKSxcbiAgICAgIGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fYnRuIHN2ZyB7XG4gICAgZmlsbDogJGljb24tMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zX19idG46aG92ZXIgc3ZnIHtcbiAgICBmaWxsOiAkaWNvbi0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbi1jb250ZW50IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zX19vcHRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbi0tZGFuZ2VyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fb3B0aW9uLS1kYW5nZXJcbiAgICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zX19idG46aG92ZXIsXG4gIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbi0tZGFuZ2VyXG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fYnRuOmZvY3VzIHtcbiAgICBjb2xvcjogJHRleHQtMDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cHBvcnQtMDE7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogJHRleHQtMDQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fb3B0aW9uLS1kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudS1vcHRpb25zX19vcHRpb24tLWRpc2FibGVkXG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fYnRuIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtb3B0aW9uc19fb3B0aW9uLS1kaXNhYmxlZFxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX2J0blxuICAgIHN2ZyB7XG4gICAgZmlsbDogJGRpc2FibGVkLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLWZsaXAge1xuICAgIGxlZnQ6IC0xNDBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDE0NXB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdvdmVyZmxvdy1tZW51Jykge1xuICBAaW5jbHVkZSBvdmVyZmxvdy1tZW51O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIENvbnRlbnQgc3dpdGNoZXIgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIGNvbnRlbnQtc3dpdGNoZXJcbkBtaXhpbiBjb250ZW50LXN3aXRjaGVyIHtcbiAgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci0tZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci1idG4ge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJGNhcmJvbi0tc3BhY2luZy0wMyAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGZvY3VzO1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLTAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtKDRweCk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtKDRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci1idG46bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbSg0cHgpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0oNHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjpub3QoOmZpcnN0LW9mLXR5cGUpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiByZW0oMXB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1zd2l0Y2hlci1kaXZpZGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci1idG4uI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci0tc2VsZWN0ZWQ6OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXItYnRuLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXItLXNlbGVjdGVkXG4gICAgKyAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci1idG46OmJlZm9yZSxcbiAgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXItYnRuOmZvY3VzOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjpmb2N1c1xuICAgICsgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXItYnRuOjpiZWZvcmUsXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjpob3Zlcjo6YmVmb3JlLFxuICAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlci1idG46aG92ZXJcbiAgICArIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyX19pY29uIHtcbiAgICBmaWxsOiAkdGV4dC0wMjtcbiAgICB0cmFuc2l0aW9uOiBmaWxsICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXJfX2ljb24gKyBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyX19sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bjpob3ZlciAuI3skcHJlZml4fS0tY29udGVudC1zd2l0Y2hlcl9faWNvbixcbiAgLiN7JHByZWZpeH0tLWNvbnRlbnQtc3dpdGNoZXItYnRuOmZvY3VzIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyX19pY29uIHtcbiAgICBmaWxsOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bi4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTA1O1xuICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtMDM7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLWJ0bi4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyLS1zZWxlY3RlZFxuICAgIC4jeyRwcmVmaXh9LS1jb250ZW50LXN3aXRjaGVyX19pY29uIHtcbiAgICBmaWxsOiAkaW52ZXJzZS0wMTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjb250ZW50LXN3aXRjaGVyJykge1xuICBAaW5jbHVkZSBjb250ZW50LXN3aXRjaGVyO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcblxuLmZsYXRwaWNrci1jYWxlbmRhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMxNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2LCAtMXB4IDAgMCAjZTZlNmU2LCAwIDFweCAwICNlNmU2ZTYsXG4gICAgMCAtMXB4IDAgI2U2ZTZlNiwgMCAzcHggMTNweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4sXG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXgtaGVpZ2h0OiA2NDBweDtcbn1cblxuLmZsYXRwaWNrci1jYWxlbmRhci5vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6LWluZGV4OiA5OTk5OTtcbn1cblxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlSW5Eb3duICRkdXJhdGlvbi0tZmFzdC0wMlxuICAgIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSk7XG4gIGFuaW1hdGlvbjogZnBGYWRlSW5Eb3duICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpO1xufVxuXG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4O1xufVxuXG4uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAycHgpO1xufVxuXG4uZmxhdHBpY2tyLWNhbGVuZGFyLnN0YXRpYy5vcGVuIHtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsYXRwaWNrci1jYWxlbmRhci5oYXNXZWVrcyB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVyLFxuLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzVGltZSAuZGF5Q29udGFpbmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVyIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLnNob3dUaW1lSW5wdXQuaGFzVGltZSAuZmxhdHBpY2tyLXRpbWUge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1lIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmUsXG4uZmxhdHBpY2tyLWNhbGVuZGFyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiAyMnB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5yaWdodE1vc3Q6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMjJweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gIG1hcmdpbjogMCAtNXB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogNHB4O1xuICBtYXJnaW46IDAgLTRweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlciB7XG4gIGJvdHRvbTogMTAwJTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmUsXG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3Itd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmZsYXRwaWNrci1tb250aCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGhlaWdodDogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZsYXRwaWNrci1wcmV2LW1vbnRoLFxuLmZsYXRwaWNrci1uZXh0LW1vbnRoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIHBhZGRpbmc6IDEwcHggY2FsYygzLjU3JSAtIDEuNXB4KTtcbiAgei1pbmRleDogMztcbn1cbi5mbGF0cGlja3ItcHJldi1tb250aCBpLFxuLmZsYXRwaWNrci1uZXh0LW1vbnRoIGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGgsXG4uZmxhdHBpY2tyLW5leHQtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGgge1xuICAvKlxuICAgICAgICAvKnJ0bDpiZWdpbjppZ25vcmUqL1xuICAvKlxuICAgICAgICAqL1xuICBsZWZ0OiAwO1xuICAvKlxuICAgICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbiAgLypcbiAgICAgICAgKi9cbn1cbi8qXG4gICAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCxcbi5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCB7XG4gIC8qXG4gICAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4gIC8qXG4gICAgICAgICovXG4gIHJpZ2h0OiAwO1xuICAvKlxuICAgICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbiAgLypcbiAgICAgICAgKi9cbn1cbi8qXG4gICAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItcHJldi1tb250aDpob3Zlcixcbi5mbGF0cGlja3ItbmV4dC1tb250aDpob3ZlciB7XG4gIGNvbG9yOiAjOTU5ZWE5O1xufVxuLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVyIHN2Zyxcbi5mbGF0cGlja3ItbmV4dC1tb250aDpob3ZlciBzdmcge1xuICBmaWxsOiAjZjY0NzQ3O1xufVxuLmZsYXRwaWNrci1wcmV2LW1vbnRoIHN2Zyxcbi5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcge1xuICB3aWR0aDogMTRweDtcbn1cbi5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aCxcbi5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcgcGF0aCB7XG4gIHRyYW5zaXRpb246IGZpbGwgMC4xcztcbiAgZmlsbDogaW5oZXJpdDtcbn1cbi5udW1JbnB1dFdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5udW1JbnB1dFdyYXBwZXIgaW5wdXQsXG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTRweDtcbiAgcGFkZGluZzogMCA0cHggMCAycHg7XG4gIGhlaWdodDogNTAlO1xuICBsaW5lLWhlaWdodDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTcsIDU3LCA1NywgMC4wNSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzMlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXAge1xuICB0b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSg1NywgNTcsIDU3LCAwLjYpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gIHRvcDogNTAlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSg1NywgNTcsIDU3LCAwLjYpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuIHN2ZyB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4gc3ZnIHBhdGgge1xuICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi5udW1JbnB1dFdyYXBwZXI6aG92ZXIgc3BhbiB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGgge1xuICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdoZWFkaW5nLTAxJyk7XG5cbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDc1JTtcbiAgbGVmdDogMTIuNSU7XG4gIHBhZGRpbmc6IDYuMTZweCAwIDAgMDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoLnNsaWRlTGVmdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMHB4LCAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmcEZhZGVPdXQgNDAwbXMgZWFzZSxcbiAgICBmcFNsaWRlTGVmdCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gIGFuaW1hdGlvbjogZnBGYWRlT3V0IDQwMG1zIGVhc2UsXG4gICAgZnBTbGlkZUxlZnQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoLnNsaWRlTGVmdE5ldyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlSW4gNDAwbXMgZWFzZSxcbiAgICBmcFNsaWRlTGVmdE5ldyA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gIGFuaW1hdGlvbjogZnBGYWRlSW4gNDAwbXMgZWFzZSxcbiAgICBmcFNsaWRlTGVmdE5ldyA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGguc2xpZGVSaWdodCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlT3V0IDQwMG1zIGVhc2UsXG4gICAgZnBTbGlkZVJpZ2h0IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgYW5pbWF0aW9uOiBmcEZhZGVPdXQgNDAwbXMgZWFzZSxcbiAgICBmcFNsaWRlUmlnaHQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoLnNsaWRlUmlnaHROZXcge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwcHgpO1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlSW4gNDAwbXMgZWFzZSxcbiAgICBmcFNsaWRlUmlnaHROZXcgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuICBhbmltYXRpb246IGZwRmFkZUluIDQwMG1zIGVhc2UsXG4gICAgZnBTbGlkZVJpZ2h0TmV3IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41Y2g7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3Bhbi5jdXItbW9udGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIge1xuICB3aWR0aDogNmNoO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwYWRkaW5nOiAwIDAgMCAwLjVjaDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdOmhvdmVyIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmxhdHBpY2tyLXdlZWtkYXlzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDMxNXB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbnNwYW4uZmxhdHBpY2tyLXdlZWtkYXkge1xuICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG5cbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbn1cbi5kYXlDb250YWluZXIsXG4uZmxhdHBpY2tyLXdlZWtzIHtcbiAgcGFkZGluZzogMXB4IDAgMCAwO1xufVxuLmZsYXRwaWNrci1kYXlzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMzE1cHg7XG59XG4uZmxhdHBpY2tyLWRheXM6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmRheUNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAzMTVweDtcbiAgbWluLXdpZHRoOiAzMTVweDtcbiAgbWF4LXdpZHRoOiAzMTVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICBvcGFjaXR5OiAxO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlIC5kYXlDb250YWluZXIuc2xpZGVMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZwRmFkZU91dCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZUxlZnQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuICBhbmltYXRpb246IGZwRmFkZU91dCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZUxlZnQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlIC5kYXlDb250YWluZXIuc2xpZGVMZWZ0LFxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlIC5kYXlDb250YWluZXIuc2xpZGVMZWZ0TmV3IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDBweCwgMHB4KTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYW5pbWF0ZSAuZGF5Q29udGFpbmVyLnNsaWRlTGVmdE5ldyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmcEZhZGVJbiA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZUxlZnQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuICBhbmltYXRpb246IGZwRmFkZUluIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSxcbiAgICBmcFNsaWRlTGVmdCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFuaW1hdGUgLmRheUNvbnRhaW5lci5zbGlkZVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZwRmFkZU91dCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZVJpZ2h0IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgYW5pbWF0aW9uOiBmcEZhZGVPdXQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLFxuICAgIGZwU2xpZGVSaWdodCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlIC5kYXlDb250YWluZXIuc2xpZGVSaWdodE5ldyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmcEZhZGVJbiA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZVJpZ2h0TmV3IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgYW5pbWF0aW9uOiBmcEZhZGVJbiA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksXG4gICAgZnBTbGlkZVJpZ2h0TmV3IDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbn1cbi5mbGF0cGlja3ItZGF5IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTQuMjg1NzE0MyU7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNC4yODU3MTQzJTtcbiAgZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIG1heC13aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLy8gLmZsYXRwaWNrci1kYXkuaW5SYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheS5pblJhbmdlLFxuLy8gLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LmluUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS50b2RheS5pblJhbmdlLFxuLy8gLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5OmhvdmVyLFxuLy8gLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5OmhvdmVyLFxuLy8gLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5OmhvdmVyLFxuLy8gLmZsYXRwaWNrci1kYXk6Zm9jdXMsXG4vLyAuZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6Zm9jdXMsXG4vLyAuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6Zm9jdXMge1xuLy8gICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgIG91dGxpbmU6IDA7XG4vLyAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4vLyAgIGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcbi8vIH1cbi8vIC5mbGF0cGlja3ItZGF5LnRvZGF5IHtcbi8vICAgYm9yZGVyLWNvbG9yOiAjOTU5ZWE5O1xuLy8gfVxuLy8gLmZsYXRwaWNrci1kYXkudG9kYXk6aG92ZXIsXG4vLyAuZmxhdHBpY2tyLWRheS50b2RheTpmb2N1cyB7XG4vLyAgIGJvcmRlci1jb2xvcjogIzk1OWVhOTtcbi8vICAgYmFja2dyb3VuZDogIzk1OWVhOTtcbi8vICAgY29sb3I6ICNmZmY7XG4vLyB9XG4vLyAuZmxhdHBpY2tyLWRheS5zZWxlY3RlZCxcbi8vIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5lbmRSYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmluUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmluUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5pblJhbmdlLFxuLy8gLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQ6Zm9jdXMsXG4vLyAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmZvY3VzLFxuLy8gLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2U6Zm9jdXMsXG4vLyAuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpob3Zlcixcbi8vIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6aG92ZXIsXG4vLyAuZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpob3Zlcixcbi8vIC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnByZXZNb250aERheSxcbi8vIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UucHJldk1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UucHJldk1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5uZXh0TW9udGhEYXksXG4vLyAuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5uZXh0TW9udGhEYXkge1xuLy8gICBiYWNrZ3JvdW5kOiAjNTY5ZmY3O1xuLy8gICBib3gtc2hhZG93OiBub25lO1xuLy8gICBjb2xvcjogI2ZmZjtcbi8vICAgYm9yZGVyLWNvbG9yOiAjNTY5ZmY3O1xuLy8gfVxuLy8gLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2Uge1xuLy8gICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCA1MHB4O1xuLy8gfVxuLy8gLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdlLFxuLy8gLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2Uge1xuLy8gICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xuLy8gfVxuLy8gLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSArIC5lbmRSYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSArIC5lbmRSYW5nZSxcbi8vIC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UgKyAuZW5kUmFuZ2Uge1xuLy8gICBib3gtc2hhZG93OiAtMTBweCAwIDAgIzU2OWZmNztcbi8vIH1cbi8vIC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnN0YXJ0UmFuZ2UuZW5kUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2UsXG4vLyAuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5zdGFydFJhbmdlLmVuZFJhbmdlIHtcbi8vICAgYm9yZGVyLXJhZGl1czogNTBweDtcbi8vIH1cbi8vIC5mbGF0cGlja3ItZGF5LmluUmFuZ2Uge1xuLy8gICBib3JkZXItcmFkaXVzOiAwO1xuLy8gICBib3gtc2hhZG93OiAtNXB4IDAgMCAjZTZlNmU2LCA1cHggMCAwICNlNmU2ZTY7XG4vLyB9XG4vLyAuZmxhdHBpY2tyLWRheS5kaXNhYmxlZCxcbi8vIC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVyIHtcbi8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyB9XG4vLyAuZmxhdHBpY2tyLWRheS5kaXNhYmxlZCxcbi8vIC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVyLFxuLy8gLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZCxcbi8vIC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQucHJldk1vbnRoRGF5LFxuLy8gLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5uZXh0TW9udGhEYXkge1xuLy8gICBjb2xvcjogcmdiYSg1Nyw1Nyw1NywwLjMpO1xuLy8gICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbi8vICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICAgY3Vyc29yOiBkZWZhdWx0O1xuLy8gfVxuLmZsYXRwaWNrci1kYXkud2Vlay5zZWxlY3RlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IC01cHggMCAwICM1NjlmZjcsIDVweCAwIDAgIzU2OWZmNztcbn1cbi8vIC5yYW5nZU1vZGUgLmZsYXRwaWNrci1kYXkge1xuLy8gICBtYXJnaW4tdG9wOiAxcHg7XG4vLyB9XG4uZmxhdHBpY2tyLXdlZWt3cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrcyB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5mbGF0cGlja3ItaW5uZXJDb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGF0cGlja3ItckNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5mbGF0cGlja3ItdGltZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3V0bGluZTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIG1heC1oZWlnaHQ6IDQwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIge1xuICAtd2Via2l0LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICB3aWR0aDogNDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM5MzkzOTtcbn1cbi5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5MzkzOTtcbn1cbi5mbGF0cGlja3ItdGltZS5oYXNTZWNvbmRzIC5udW1JbnB1dFdyYXBwZXIge1xuICB3aWR0aDogMjYlO1xufVxuLmZsYXRwaWNrci10aW1lLnRpbWUyNGhyIC5udW1JbnB1dFdyYXBwZXIge1xuICB3aWR0aDogNDklO1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSxcbi5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25kIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yLFxuLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG0ge1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyJTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgLW1zLWdyaWQtcm93LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtIHtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDE4JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3Zlcixcbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbn1cbi5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmcEZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmcFNsaWRlTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDBweCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBTbGlkZUxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwcHgsIDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMHB4LCAwcHgpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZnBTbGlkZUxlZnROZXcge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmcFNsaWRlTGVmdE5ldyB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwcHgsIDBweCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZnBTbGlkZVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwcHgpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMHB4LCAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZwU2xpZGVSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMHB4KTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDBweCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDBweCwgMHB4KTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwU2xpZGVSaWdodE5ldyB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwcHgpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBTbGlkZVJpZ2h0TmV3IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDBweCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMHB4KTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBGYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmcEZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5ZXInO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcbkBpbXBvcnQgJ2ZsYXRwaWNrci5zY3NzJztcblxuLy8vIERhdGUgcGlja2VyIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBkYXRlLXBpY2tlclxuQG1peGluIGRhdGUtcGlja2VyIHtcbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyLS1saWdodCAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2lucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiAkZmllbGQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXIgfiAuI3skcHJlZml4fS0tbGFiZWwge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItaW5wdXRfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIH4gLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgICAgbWF4LWhlaWdodDogcmVtKDIwMHB4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRzdXBwb3J0LTAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi10b3A6ICRjYXJib24tLXNwYWNpbmctMDI7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXIuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItLXNpbXBsZSB7XG4gICAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19pbnB1dCB7XG4gICAgICB3aWR0aDogcmVtKDEyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXIuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItLXNpbXBsZS4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlci0tc2hvcnQge1xuICAgIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9faW5wdXQge1xuICAgICAgd2lkdGg6IDUuN3JlbTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXIuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItLXNpbmdsZSB7XG4gICAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSgyODhweCk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19pbnB1dCB7XG4gICAgICB3aWR0aDogcmVtKDI4OHB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2lucHV0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjb2RlLTAyJyk7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgncmVzZXQnKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBtYXgtd2lkdGg6IHJlbSgyODhweCk7XG4gICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSkgYWxsO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmLiN7JHByZWZpeH0tLWZvY3VzZWQge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cblxuICAgICZbZGF0YS1pbnZhbGlkXSxcbiAgICAmW2RhdGEtaW52YWxpZF06Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnaW52YWxpZCcpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9ycztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZmlsbDogJGljb24tMDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2ljb24gfiAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2lucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA5O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19pbnB1dDpkaXNhYmxlZCB+IC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9faWNvbiB7XG4gICAgZmlsbDogJGRpc2FibGVkLTAyO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItLXJhbmdlXG4gICAgPiAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyLS1yYW5nZSAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItY29udGFpbmVyLFxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXItLXJhbmdlIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9faW5wdXQge1xuICAgIHdpZHRoOiByZW0oMTQzLjVweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2NhbGVuZGFyLFxuICAuZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4ge1xuICAgIEBpbmNsdWRlIGxheWVyKCdwb3Atb3V0Jyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRjYXJib24tLXNwYWNpbmctMDIgJGNhcmJvbi0tc3BhY2luZy0wMiAkY2FyYm9uLS1zcGFjaW5nLTAzXG4gICAgICAkY2FyYm9uLS1zcGFjaW5nLTAyO1xuICAgIHdpZHRoOiByZW0oMjg4cHgpICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiByZW0oMzM2cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkaW50ZXJhY3RpdmUtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19tb250aCxcbiAgLmZsYXRwaWNrci1tb250aCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX21vbnRoIC5mbGF0cGlja3ItcHJldi1tb250aCxcbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19tb250aCAuZmxhdHBpY2tyLW5leHQtbW9udGgsXG4gIC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCxcbiAgLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICB3aWR0aDogcmVtKDQwcHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmlsbDogJHRleHQtMDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIH1cbiAgfVxuXG4gIC5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHtcbiAgICB3aWR0aDogN2NoO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19tb250aCAuZmxhdHBpY2tyLWN1cnJlbnQtbW9udGgsXG4gIC5mbGF0cGlja3ItbW9udGggLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdoZWFkaW5nLTAxJyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fbW9udGggLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHN2ZyxcbiAgLmZsYXRwaWNrci1tb250aCAuZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggc3ZnIHtcbiAgICBmaWxsOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fbW9udGggLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5jdXItbW9udGgsXG4gIC5mbGF0cGlja3ItbW9udGggLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5jdXItbW9udGgge1xuICAgIG1hcmdpbi1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wMjtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX21vbnRoIC5udW1JbnB1dFdyYXBwZXIgLm51bUlucHV0LFxuICAuZmxhdHBpY2tyLW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgLm51bUlucHV0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogJGNhcmJvbi0tc3BhY2luZy0wMjtcbiAgICAvLyBBZGRlZCBpbiB3aGVuIHVwZ3JhZGVkIHRvIEZsYXRwaWNrciA0LjUuNVxuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiBGaXJlZm94ICovXG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkaW50ZXJhY3RpdmUtMDE7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC8vIEFkZGVkIGluIHdoZW4gdXBncmFkZWQgdG8gRmxhdHBpY2tyIDQuNS41XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IC8qIDwtLSBBcHBhcmVudGx5IHNvbWUgbWFyZ2luIGFyZSBzdGlsbCB0aGVyZSBldmVuIHRob3VnaCBpdCdzIGhpZGRlbiAqL1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fbW9udGggLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXAsXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fbW9udGggLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bixcbiAgLmZsYXRwaWNrci1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCxcbiAgLmZsYXRwaWNrci1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duIHtcbiAgICBsZWZ0OiAyLjZyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiByZW0oMTJweCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW50ZXJhY3RpdmUtMDE7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpY29uLTAxO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGljb24tMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCxcbiAgLmZsYXRwaWNrci1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCB7XG4gICAgdG9wOiA0cHg7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX21vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd24sXG4gIC5mbGF0cGlja3ItbW9udGggLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gICAgdG9wOiAxMXB4O1xuICB9XG5cbiAgc3Bhbi4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fd2Vla2RheSxcbiAgc3Bhbi5mbGF0cGlja3Itd2Vla2RheSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19kYXksXG4gIC5mbGF0cGlja3ItZGF5IHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgd2lkdGg6IHJlbSg0MHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGhvdmVyLXVpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgICAgb3V0bGluZS1jb2xvcjogJGludGVyYWN0aXZlLTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fZGF5cyAubmV4dE1vbnRoRGF5LFxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheXMgLnByZXZNb250aERheSB7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19kYXkudG9kYXksXG4gIC5mbGF0cGlja3ItZGF5LnRvZGF5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvdHRvbTogcmVtKDdweCk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBoZWlnaHQ6IHJlbSg0cHgpO1xuICAgICAgd2lkdGg6IHJlbSg0cHgpO1xuICAgICAgYmFja2dyb3VuZDogJGludGVyYWN0aXZlLTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fZGF5LnRvZGF5Lm5vLWJvcmRlcixcbiAgLmZsYXRwaWNrci1kYXkudG9kYXkubm8tYm9yZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS50b2RheS5zZWxlY3RlZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGludGVyYWN0aXZlLTAxO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19kYXkuZGlzYWJsZWQsXG4gIC5mbGF0cGlja3ItZGF5LmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjb2xvcjogJHVpLTA1O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS5pblJhbmdlLFxuICAuZmxhdHBpY2tyLWRheS5pblJhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGF0ZS1waWNrZXItaW4tcmFuZ2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS5zZWxlY3RlZCxcbiAgLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAkdGV4dC0wNDtcbiAgICBiYWNrZ3JvdW5kOiAkaW50ZXJhY3RpdmUtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS5zdGFydFJhbmdlLnNlbGVjdGVkLFxuICAuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS5lbmRSYW5nZSxcbiAgLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uge1xuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgICAgYmFja2dyb3VuZDogJHVpLTAxO1xuICAgICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fZGF5LmVuZFJhbmdlLmluUmFuZ2UsXG4gIC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2Uge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICBiYWNrZ3JvdW5kOiAkdWktMDE7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlcl9fZGF5LmVuZFJhbmdlLmluUmFuZ2Uuc2VsZWN0ZWQsXG4gIC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2Uuc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAkdGV4dC0wNDtcbiAgICBiYWNrZ3JvdW5kOiAkaW50ZXJhY3RpdmUtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2RheS5zdGFydFJhbmdlLmluUmFuZ2U6bm90KC5zZWxlY3RlZCksXG4gIC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZTpub3QoLnNlbGVjdGVkKSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMTtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyX19kYXlzLFxuICAuZGF5Q29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0oMjQ2cHgpO1xuICB9XG5cbiAgLmZsYXRwaWNrci1pbm5lckNvbnRhaW5lcixcbiAgLmZsYXRwaWNrci1yQ29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX3dlZWtkYXlzLFxuICAuZmxhdHBpY2tyLXdlZWtkYXlzLFxuICAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZsYXRwaWNrci13ZWVrZGF5cyB7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLmZsYXRwaWNrci1tb250aHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmZsYXRwaWNrci1wcmV2LW1vbnRoLFxuICAuZmxhdHBpY2tyLW5leHQtbW9udGgge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICB9XG5cbiAgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVyIHN2ZyxcbiAgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyIHN2ZyB7XG4gICAgZmlsbDogJHRleHQtMDE7XG4gIH1cblxuICAuZmxhdHBpY2tyLW5leHQtbW9udGguZGlzYWJsZWQsXG4gIC5mbGF0cGlja3ItcHJldi1tb250aC5kaXNhYmxlZCB7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICR1aS0wNTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiAkdWktMDU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2tlbGV0b24gU3RhdGVcbiAgLiN7JHByZWZpeH0tLWRhdGUtcGlja2VyLiN7JHByZWZpeH0tLXNrZWxldG9uIGlucHV0LFxuICAuI3skcHJlZml4fS0tZGF0ZS1waWNrZXJfX2lucHV0LiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kYXRlLXBpY2tlci4jeyRwcmVmaXh9LS1za2VsZXRvbiAuI3skcHJlZml4fS0tbGFiZWwge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIHdpZHRoOiByZW0oNzVweCk7XG4gICAgaGVpZ2h0OiByZW0oMTRweCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnZGF0ZS1waWNrZXInKSB7XG4gIEBpbmNsdWRlIGRhdGUtcGlja2VyO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERyb3Bkb3duXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXllcic7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5b3V0JztcblxuLy8vIERyb3Bkb3duIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBkcm9wZG93blxuQG1peGluIGRyb3Bkb3duIHtcbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duX193cmFwcGVyLS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZTogYXV0byBhdXRvIC8gYXV0byBtaW4tY29udGVudDtcbiAgICBncmlkLWdhcDogcmVtKDRweCk7XG5cbiAgICAuI3skcHJlZml4fS0tbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1sYWJlbCxcbiAgICAuI3skcHJlZml4fS0tZm9ybV9faGVscGVyLXRleHQsXG4gICAgLiN7JHByZWZpeH0tLWZvcm0tcmVxdWlyZW1lbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1mb3JtLXJlcXVpcmVtZW50IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93biB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgncmVzZXQnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktMDQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHVpLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1pbnZhbGlkIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdpbnZhbGlkJyk7XG5cbiAgICAuI3skcHJlZml4fS0tZHJvcGRvd24tdGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTZweCk7IC8vIFRPRE86IHNwYWNpbmcgdG9rZW5cbiAgICB9XG5cbiAgICArIC4jeyRwcmVmaXh9LS1mb3JtLXJlcXVpcmVtZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IHJlbSgyMDBweCk7XG4gICAgICBjb2xvcjogJHN1cHBvcnQtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duX19pbnZhbGlkLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogcmVtKDQwcHgpOyAvLyBUT0RPOiBzcGFjaW5nIHRva2VuXG4gICAgZmlsbDogJHN1cHBvcnQtMDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1vcGVuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLW9wZW46Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiAuI3skcHJlZml4fS0tZHJvcGRvd24tbGlzdCB7XG4gICAgQGluY2x1ZGUgbGF5ZXIoJ292ZXJsYXknKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tdXAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpc3Qge1xuICAgIGJvdHRvbTogMnJlbTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bl9fYXJyb3cge1xuICAgIGZpbGw6ICR1aS0wNTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiByZW0oMTNweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG4gIH1cblxuICBidXR0b24uI3skcHJlZml4fS0tZHJvcGRvd24tdGV4dCB7XG4gICAgLy8gYnV0dG9uLXJlc2V0IG1peGluIGNvbnRyYWRpY3RzIHdpdGggYngtLWRyb3Bkb3duLXRleHQgc3R5bGVzXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgcGFkZGluZy10b3A6ICRjYXJib24tLXNwYWNpbmctMDQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0MnB4KTsgLy8gMnJlbSArIFNWRyB3aWR0aFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIEBpbmNsdWRlIGxheWVyKCdvdmVybGF5Jyk7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogeignZHJvcGRvd24nKTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duOm5vdCguI3skcHJlZml4fS0tZHJvcGRvd24tLW9wZW4pXG4gICAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5ICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgb3BhY2l0eSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItdWk7XG5cbiAgICAgICsgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWl0ZW0gLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpbmsge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC11aTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpbmsge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWl0ZW06bGFzdC1vZi10eXBlIC4jeyRwcmVmaXh9LS1kcm9wZG93bi1saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgY29sb3I6ICR0ZXh0LTAyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTZweCk7XG4gICAgcGFkZGluZzogcmVtKDExcHgpIDA7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHVpLTAzO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWZvY3VzZWQsXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi1saW5rOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHJlbSgxMXB4KSByZW0oMTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24taXRlbTpob3ZlciAuI3skcHJlZml4fS0tZHJvcGRvd24tbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGhvdmVyLXVpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1zZWxlY3RlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiAuI3skcHJlZml4fS0tZHJvcGRvd25fX2Fycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiAuI3skcHJlZml4fS0tZHJvcGRvd24tbGlzdCB7XG4gICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiAuI3skcHJlZml4fS0tZHJvcGRvd24taXRlbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0tZGlzYWJsZWQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLXRleHQge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tZHJvcGRvd25fX2Fycm93IHtcbiAgICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1saWdodDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1hdXRvLXdpZHRoIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IHJlbSg0MDBweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZSB7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tZHJvcGRvd24tLWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1kcm9wZG93bl9fYXJyb3cge1xuICAgICAgdG9wOiByZW0oOHB4KTtcbiAgICAgIHJpZ2h0OiByZW0oOHB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZS4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZSAuI3skcHJlZml4fS0tZHJvcGRvd24tdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHJlbSg3cHgpIHJlbSgzMnB4KSByZW0oN3B4KSAkY2FyYm9uLS1zcGFjaW5nLTA0OyAvLyBUT0RPOiBzcGFjaW5nIHRva2VuXG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1pbmxpbmUuI3skcHJlZml4fS0tZHJvcGRvd24tLWRpc2FibGVkXG4gICAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLXRleHQge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZS4jeyRwcmVmaXh9LS1kcm9wZG93bi0tZGlzYWJsZWQ6Zm9jdXNcbiAgICAuI3skcHJlZml4fS0tZHJvcGRvd24tdGV4dCB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi0taW5saW5lLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1pbnZhbGlkXG4gICAgLiN7JHByZWZpeH0tLWRyb3Bkb3duX19pbnZhbGlkLWljb24ge1xuICAgIHJpZ2h0OiByZW0oMzJweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZS4jeyRwcmVmaXh9LS1kcm9wZG93bi0taW52YWxpZFxuICAgIC4jeyRwcmVmaXh9LS1kcm9wZG93bi10ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tZHJvcGRvd24tLWlubGluZS4jeyRwcmVmaXh9LS1kcm9wZG93bi0tb3Blbjpmb2N1c1xuICAgIC4jeyRwcmVmaXh9LS1kcm9wZG93bi1saXN0IHtcbiAgICBAaW5jbHVkZSBsYXllcignb3ZlcmxheScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLS1pbmxpbmUgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA0O1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oMTBweCk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNrZWxldG9uIFN0YXRlXG4gIC4jeyRwcmVmaXh9LS1kcm9wZG93bi12Mi4jeyRwcmVmaXh9LS1za2VsZXRvbixcbiAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLiN7JHByZWZpeH0tLXNrZWxldG9uIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdkcm9wZG93bicpIHtcbiAgQGluY2x1ZGUgZHJvcGRvd247XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kYWxzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheWVyJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcblxuQGltcG9ydCAnLi4vYnV0dG9uL2J1dHRvbic7XG5cbi8vLyBNb2RhbCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgbW9kYWxcbkBtaXhpbiBtb2RhbCB7XG4gIC4jeyRwcmVmaXh9LS1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiB6KCdoaWRkZW4nKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLXNsb3ctMDIgbW90aW9uKGV4aXQsIGV4cHJlc3NpdmUpLFxuICAgICAgb3BhY2l0eSAkZHVyYXRpb24tLW1vZGVyYXRlLTAyIG1vdGlvbihleGl0LCBleHByZXNzaXZlKSxcbiAgICAgIHotaW5kZXggJGR1cmF0aW9uLS1zbG93LTAyIG1vdGlvbihleGl0LCBleHByZXNzaXZlKSxcbiAgICAgIHZpc2liaWxpdHkgJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMiBtb3Rpb24oZXhpdCwgZXhwcmVzc2l2ZSk7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgei1pbmRleDogeignbW9kYWwnKTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG92ZXJsYXktMDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tc2xvdy0wMlxuICAgICAgICAgIG1vdGlvbihlbnRyYW5jZSwgZXhwcmVzc2l2ZSksXG4gICAgICAgIG9wYWNpdHkgJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMiBtb3Rpb24oZW50cmFuY2UsIGV4cHJlc3NpdmUpLFxuICAgICAgICB6LWluZGV4ICRkdXJhdGlvbi0tc2xvdy0wMiBtb3Rpb24oZW50cmFuY2UsIGV4cHJlc3NpdmUpLFxuICAgICAgICB2aXNpYmlsaXR5ICRkdXJhdGlvbi0tbW9kZXJhdGUtMDIgbW90aW9uKGVudHJhbmNlLCBleHByZXNzaXZlKTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdGV4dC1pbnB1dCxcbiAgICAuI3skcHJlZml4fS0tdGV4dC1hcmVhLFxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtaW5wdXQsXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dCxcbiAgICAuI3skcHJlZml4fS0tZHJvcGRvd24sXG4gICAgLiN7JHByZWZpeH0tLWRyb3Bkb3duLWxpc3QsXG4gICAgLiN7JHByZWZpeH0tLW51bWJlciBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW1vZGFsLmlzLXZpc2libGUgLiN7JHByZWZpeH0tLW1vZGFsLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRkdXJhdGlvbi0tbW9kZXJhdGUtMDIgbW90aW9uKGVudHJhbmNlLCBleHByZXNzaXZlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW1vZGFsLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI0cHgsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tLW1vZGVyYXRlLTAyIG1vdGlvbihleGl0LCBleHByZXNzaXZlKTtcblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtZCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KGxnKSB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLW1vZGFsLWhlYWRlcixcbiAgLiN7JHByZWZpeH0tLW1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cblxuICAuI3skcHJlZml4fS0tbW9kYWwtaGVhZGVyLFxuICAuI3skcHJlZml4fS0tbW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbW9kYWwtaGVhZGVyX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnbGFiZWwtMDEnKTtcblxuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTAyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW1vZGFsLWhlYWRlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgncHJvZHVjdGl2ZS1oZWFkaW5nLTAzJyk7XG5cbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1sb25nLTAxJyk7XG5cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDk7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbW9kYWwtY29udGVudCA+ICoge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW1vZGFsLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtZm9vdGVyLWJhY2tncm91bmQtY29sb3I7XG5cbiAgICBidXR0b24uI3skcHJlZml4fS0tYnRuIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1tb2RhbC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gICAgcGFkZGluZzogcmVtKDEycHgpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICRmb2N1cztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbW9kYWwtY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1tb2RhbC1jbG9zZV9faWNvbiB7XG4gICAgZmlsbDogJGljb24tMDE7XG4gICAgaGVpZ2h0OiByZW0oMjBweCk7XG4gICAgd2lkdGg6IHJlbSgyMHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1ib2R5LS13aXRoLW1vZGFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygnbW9kYWwnKSB7XG4gIEBpbmNsdWRlIG1vZGFsO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExpc3QgQm94XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uL2xpc3QtYm94L2xpc3QtYm94JztcblxuLy8vIE11bHRpIHNlbGVjdCBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgbXVsdGktc2VsZWN0XG5AbWl4aW4gbXVsdGlzZWxlY3Qge1xuICAuI3skcHJlZml4fS0tbXVsdGktc2VsZWN0IC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudSB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW11bHRpLXNlbGVjdFxuICAgIC4jeyRwcmVmaXh9LS1saXN0LWJveF9fbWVudS1pdGVtX19vcHRpb25cbiAgICAuI3skcHJlZml4fS0tY2hlY2tib3gtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1tdWx0aS1zZWxlY3RcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbV9fb3B0aW9uXG4gICAgPiAuI3skcHJlZml4fS0tZm9ybS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1tdWx0aS1zZWxlY3RcbiAgICAuI3skcHJlZml4fS0tbGlzdC1ib3hfX21lbnUtaXRlbVxuICAgIC4jeyRwcmVmaXh9LS1jaGVja2JveDpjaGVja2VkXG4gICAgfiAuI3skcHJlZml4fS0tY2hlY2tib3gtbGFiZWwtdGV4dCB7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW11bHRpLXNlbGVjdC0tZmlsdGVyYWJsZSB7XG4gICAgLiN7JHByZWZpeH0tLWxpc3QtYm94X19zZWxlY3Rpb24tLW11bHRpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbXVsdGktc2VsZWN0LS1zZWxlY3RlZCAuI3skcHJlZml4fS0tdGV4dC1pbnB1dCB7XG4gICAgLy8gdGhpcyB2YWx1ZSB3aWxsIG5lZWQgdG8gY2hhbmdlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgZGlnaXRzIGluXG4gICAgLy8gdGhlIG51bWJlciBvZiBpdGVtcyBzZWxlY3RlZFxuICAgIC8vXG4gICAgLy8gaS5lLiB0aGUgaW5wdXQgZmllbGQgbmVlZHMgYWRqdXN0ZWQgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgd2lkdGggb2ZcbiAgICAvLyB0aGUgbnVtYmVyIGluIDxMaXN0Qm94LlNlbGVjdGlvbj5cbiAgICBwYWRkaW5nLWxlZnQ6IGNhcmJvbi0tbWluaS11bml0cyg3KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdtdWx0aS1zZWxlY3QnKSB7XG4gIEBpbmNsdWRlIG11bHRpc2VsZWN0O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGlmaWNhdGlvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheWVyJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnbWl4aW5zJztcblxuLy8vIElubGluZSBub3RpZmljYXRpb24gc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIG5vdGlmaWNhdGlvblxuQG1peGluIGlubGluZS1ub3RpZmljYXRpb25zIHtcbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24ge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IHJlbSg0OHB4KTtcbiAgICBtaW4td2lkdGg6IHJlbSgyODhweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oMjg4cHgpO1xuICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICBtYXJnaW4tdG9wOiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDU7XG5cbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDYwOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobGcpIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDczNnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWF4KSB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg4MzJweCk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdCB7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoJGludmVyc2Utc3VwcG9ydC0wMSwgJGludmVyc2UtMDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS1lcnJvciB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoXG4gICAgICAkc3VwcG9ydC0wMSxcbiAgICAgICRub3RpZmljYXRpb24tZXJyb3ItYmFja2dyb3VuZC1jb2xvclxuICAgICk7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbi0tc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoJGludmVyc2Utc3VwcG9ydC0wMiwgJGludmVyc2UtMDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbChcbiAgICAgICRzdXBwb3J0LTAyLFxuICAgICAgJG5vdGlmaWNhdGlvbi1zdWNjZXNzLWJhY2tncm91bmQtY29sb3JcbiAgICApO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24tLWluZm8ge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi0tZXhwZXJpbWVudGFsKCRpbnZlcnNlLXN1cHBvcnQtMDQsICRpbnZlcnNlLTAyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS1sb3ctY29udHJhc3QuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbi0taW5mbyB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoXG4gICAgICAkc3VwcG9ydC0wNCxcbiAgICAgICRub3RpZmljYXRpb24taW5mby1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS1pbmZvIC5ieC0taW5saW5lLW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uLS13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbCgkaW52ZXJzZS1zdXBwb3J0LTAzLCAkaW52ZXJzZS0wMik7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbi0tbG93LWNvbnRyYXN0LiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb24tLXdhcm5pbmcge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi0tZXhwZXJpbWVudGFsKFxuICAgICAgJHN1cHBvcnQtMDMsXG4gICAgICAkbm90aWZpY2F0aW9uLXdhcm5pbmctYmFja2dyb3VuZC1jb2xvclxuICAgICk7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbi0td2FybmluZ1xuICAgIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uX19pY29uXG4gICAgcGF0aFtvcGFjaXR5PScwJ10ge1xuICAgIGZpbGw6ICRjYXJib25fX2JsYWNrLTEwMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb25fX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG1hcmdpbi10b3A6IHJlbSgxNHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbm90aWZpY2F0aW9uX190ZXh0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGNhcmJvbi0tc3BhY2luZy0wNCAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb25fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdoZWFkaW5nLTAxJyk7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDIgMCAwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjRweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb25fX2FjdGlvbi1idXR0b24ge1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIG1hcmdpbjogJGNhcmJvbi0tc3BhY2luZy0wMyAwO1xuXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1ob3Zlci11aTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9fY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IHJlbSg0OHB4KTtcbiAgICB3aWR0aDogcmVtKDQ4cHgpO1xuICAgIG1pbi13aWR0aDogcmVtKDQ4cHgpO1xuICAgIG1heC13aWR0aDogcmVtKDQ4cHgpO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb25fX2Nsb3NlLWljb24ge1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBmaWxsOiAkaW52ZXJzZS0wMTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbi0tbG93LWNvbnRyYXN0IHtcbiAgICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9fY2xvc2UtYnV0dG9uXG4gICAgICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9fY2xvc2UtaWNvbiB7XG4gICAgICBmaWxsOiAkdWktMDU7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWlubGluZS1ub3RpZmljYXRpb25fX2FjdGlvbi1idXR0b24ge1xuICAgICAgY29sb3I6ICRsaW5rLTAxO1xuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkY2FyYm9uLS1ibHVlLTgwO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyYm9uLS13aGl0ZS0wO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdpbmxpbmUtbm90aWZpY2F0aW9ucycpIHtcbiAgQGluY2x1ZGUgaW5saW5lLW5vdGlmaWNhdGlvbnM7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJbmxpbmUgTm90aWZpY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbkBtaXhpbiBpbmxpbmUtbm90aWZpY2F0aW9uLS1jb2xvcigkY29sb3IpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICRjb2xvcjtcblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVG9hc3QgTm90aWZpY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbkBtaXhpbiBub3RpZmljYXRpb24tLWNvbG9yKCRjb2xvcikge1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICRjb2xvcjtcbn1cblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbkBtaXhpbiBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbCgkY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJGNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAuI3skcHJlZml4fS0taW5saW5lLW5vdGlmaWNhdGlvbl9faWNvbixcbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTm90aWZpY2F0aW9uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5ZXInO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuXG4vLy8gVG9hc3Qgbm90aWZpY2F0aW9uIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBub3RpZmljYXRpb25cbkBtaXhpbiB0b2FzdC1ub3RpZmljYXRpb25zIHtcbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbiB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiByZW0oMjg4cHgpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgY29sb3I6ICRpbnZlcnNlLTAxO1xuICAgIG1hcmdpbi10b3A6ICRjYXJib24tLXNwYWNpbmctMDM7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtYXgpIHtcbiAgICAgIHdpZHRoOiByZW0oMzUycHgpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdCB7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbi0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi0tZXhwZXJpbWVudGFsKCRpbnZlcnNlLXN1cHBvcnQtMDEsICRpbnZlcnNlLTAyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWVycm9yIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbChcbiAgICAgICRzdXBwb3J0LTAxLFxuICAgICAgJG5vdGlmaWNhdGlvbi1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLXN1Y2Nlc3Mge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi0tZXhwZXJpbWVudGFsKCRpbnZlcnNlLXN1cHBvcnQtMDIsICRpbnZlcnNlLTAyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLXN1Y2Nlc3Mge1xuICAgIEBpbmNsdWRlIG5vdGlmaWNhdGlvbi0tZXhwZXJpbWVudGFsKFxuICAgICAgJHN1cHBvcnQtMDIsXG4gICAgICAkbm90aWZpY2F0aW9uLXN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvclxuICAgICk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uLS1pbmZvIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbCgkaW52ZXJzZS1zdXBwb3J0LTA0LCAkaW52ZXJzZS0wMik7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uLS1sb3ctY29udHJhc3QuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uLS1pbmZvIHtcbiAgICBAaW5jbHVkZSBub3RpZmljYXRpb24tLWV4cGVyaW1lbnRhbChcbiAgICAgICRzdXBwb3J0LTA0LFxuICAgICAgJG5vdGlmaWNhdGlvbi1pbmZvLWJhY2tncm91bmQtY29sb3JcbiAgICApO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbi0td2FybmluZyB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoJGludmVyc2Utc3VwcG9ydC0wMywgJGludmVyc2UtMDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbi0tbG93LWNvbnRyYXN0LiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbi0td2FybmluZyB7XG4gICAgQGluY2x1ZGUgbm90aWZpY2F0aW9uLS1leHBlcmltZW50YWwoXG4gICAgICAkc3VwcG9ydC0wMyxcbiAgICAgICRub3RpZmljYXRpb24td2FybmluZy1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLXdhcm5pbmdcbiAgICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uX19pY29uXG4gICAgcGF0aFtvcGFjaXR5PScwJ10ge1xuICAgIGZpbGw6ICRjYXJib25fX2JsYWNrLTEwMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9faWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG1hcmdpbi10b3A6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogcmVtKDQ4cHgpO1xuICAgIHdpZHRoOiByZW0oNDhweCk7XG4gICAgbWluLWhlaWdodDogcmVtKDQ4cHgpO1xuICAgIG1pbi13aWR0aDogcmVtKDQ4cHgpO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUgJHRyYW5zaXRpb24tLWJhc2UsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tLWJhc2U7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uX19jbG9zZS1pY29uIHtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgZmlsbDogJGludmVyc2UtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbi0tbG93LWNvbnRyYXN0XG4gICAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9fY2xvc2UtYnV0dG9uXG4gICAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9fY2xvc2UtaWNvbiB7XG4gICAgZmlsbDogJHVpLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2hlYWRpbmctMDEnKTtcblxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvYXN0LW5vdGlmaWNhdGlvbl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcblxuICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJib24tLXNwYWNpbmctMDY7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdFxuICAgIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb25fX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9hc3Qtbm90aWZpY2F0aW9uX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG5cbiAgICBjb2xvcjogJGludmVyc2UtMDE7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb24tLWxvdy1jb250cmFzdFxuICAgIC4jeyRwcmVmaXh9LS10b2FzdC1ub3RpZmljYXRpb25fX2NhcHRpb24ge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0b2FzdC1ub3RpZmljYXRpb25zJykge1xuICBAaW5jbHVkZSB0b2FzdC1ub3RpZmljYXRpb25zO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXllcic7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdG9vbHRpcCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5cbi8vIFRPRE86IGRlcHJlY2F0ZSBsZWdhY3kgdG9vbHRpcCBtaXhpbnNcbi8vIFRvb2x0aXAgSWNvblxuLy8gSWNvbiBDU1Mgb25seSB0b29sdGlwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGRlcHJlY2F0ZWRcbi8vLyBAZ3JvdXAgdG9vbHRpcFxuQG1peGluIHRvb2x0aXAtLWljb24ge1xuICBAaW5jbHVkZSByZXNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAvLyBUb29sdGlwIC0gcmVuZGVycyBhcyBhIGNvbWJvIG9mIDo6YmVmb3JlIGFuZCA6OmFmdGVyIGVsZW1lbnRzXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIHJlbSg0cHgpIHJlbSg1cHgpIHJlbSg0cHgpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkaW52ZXJzZS0wMiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBsYXllcignb3ZlcmxheScpO1xuICAgIG1pbi13aWR0aDogcmVtKDI0cHgpO1xuICAgIG1heC13aWR0aDogcmVtKDIwOHB4KTtcbiAgICBoZWlnaHQ6IHJlbSgyNHB4KTtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oMnB4KTtcbiAgICBjb2xvcjogJGludmVyc2UtMDE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLTAyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIFRvb2x0aXAgSWNvbiBjYXJldCAtIHRvcCBwb3NpdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gWydib3R0b20nXSAtIFRoZSBwb3NpdGlvbiwgZnJvbTogYHRvcGAsIGBib3R0b21gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJ2NlbnRlciddIC0gVGhlIGFsaWdubWVudCwgZnJvbTogYHN0YXJ0YCwgYGNlbnRlcmAsIGBlbmRgXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGRlcHJlY2F0ZWRcbi8vLyBAZ3JvdXAgdG9vbHRpcFxuQG1peGluIHRvb2x0aXAtLWljb24tcGxhY2VtZW50KCRwb3NpdGlvbjogJ2JvdHRvbScsICRhbGlnbjogJ2NlbnRlcicpIHtcbiAgJHRyYW5zbGF0ZS14OiBpZigkYWxpZ24gPT0gJ2NlbnRlcicsIC01MCUsIDApO1xuICAkdHJhbnNsYXRlLXktY2FyZXQ6IGlmKCRwb3NpdGlvbiA9PSAndG9wJywgY2FsYygtMTAwJSAtIDlweCksIDEwcHgpO1xuICAkdHJhbnNsYXRlLXktYm9keTogaWYoXG4gICAgJHBvc2l0aW9uID09ICd0b3AnLFxuICAgIGNhbGMoLTEwMCUgLSAxMnB4KSxcbiAgICBjYWxjKDEwMCUgKyAxMHB4KVxuICApO1xuICAkcm90YXRlLWNhcmV0OiBpZigkcG9zaXRpb24gPT0gJ3RvcCcsIDE4MGRlZywgMCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgdG9wOiAxcHg7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIEBpZiAoJGFsaWduID09ICdzdGFydCcpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgfSBAZWxzZSBpZiAoJGFsaWduID09ICdlbmQnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXktY2FyZXQpIHJvdGF0ZSgkcm90YXRlLWNhcmV0KTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaWYgKCRwb3NpdGlvbiA9PSAndG9wJykge1xuICAgICAgdG9wOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaWYgKCRhbGlnbiAhPSAnY2VudGVyJykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpZiAoJGFsaWduID09ICdlbmQnKSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXktYm9keSk7XG4gIH1cbn1cblxuLy8gbGVnYWN5IGRlZmluaXRpb24gdG9vbHRpcCBtaXhpblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBkZXByZWNhdGVkXG4vLy8gQGdyb3VwIHRvb2x0aXBcbkBtaXhpbiB0b29sdGlwLS1kZWZpbml0aW9uLS1sZWdhY3kge1xuICAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbiB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXIge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnbGFiZWwtMDEnKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkaW50ZXJhY3RpdmUtMDE7XG4gICAgICBjb2xvcjogJHRleHQtMDE7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgKyAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbl9fdG9wLFxuICAgICAgICArIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uX19ib3R0b20ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdib3JkZXInKTtcblxuICAgICAgICArIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uX190b3AsXG4gICAgICAgICsgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWRlZmluaXRpb25fX2JvdHRvbSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbl9fYm90dG9tLFxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbl9fdG9wIHtcbiAgICBAaW5jbHVkZSBsYXllcignb3ZlcmxheScpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtMDI7XG4gICAgd2lkdGg6IHJlbSgyMDhweCk7XG4gICAgbWFyZ2luLXRvcDogJGNhcmJvbi0tc3BhY2luZy0wNDtcbiAgICBwYWRkaW5nOiAkY2FyYm9uLS1zcGFjaW5nLTAzICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtKDJweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgICBjb2xvcjogJGludmVyc2UtMDE7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwLjZyZW07XG4gICAgICBoZWlnaHQ6IDAuNnJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLTAyO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgfVxuICB9XG5cbiAgLy8gVG9vbHRpcCBEZWZpbml0aW9uIGNhcmV0IC0gYm90dG9tIHBvc2l0aW9uXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uX19ib3R0b20gLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICB0b3A6IC0wLjJyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIH1cblxuICAvLyBUb29sdGlwIERlZmluaXRpb24gY2FyZXQgLSB0b3AgcG9zaXRpb25cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWRlZmluaXRpb25fX3RvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBtYXJnaW4tdG9wOiByZW0oLTMycHgpO1xuXG4gICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICAgIGJvdHRvbTogLTAuMnJlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbl9fYWxpZ24tZW5kIHtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uX19hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWRlZmluaXRpb25fX3RvcC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uX19hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWRlZmluaXRpb25fX2FsaWduLWNlbnRlciAuI3skcHJlZml4fS0tdG9vbHRpcF9fY2FyZXQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgLy8gQWRqdXN0IGJ5IHRoZSBoYWxmIG9mIHRoZSBkaWFnb25hbCBvZiB0aGUgY2FyZXQsIHdoaWNoIHNpemVzIDAuNnJlbVxuICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA2cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWRlZmluaXRpb25fX2FsaWduLWVuZCAuI3skcHJlZml4fS0tdG9vbHRpcF9fY2FyZXQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMTZweCk7XG4gIH1cbn1cblxuLy8gbGVnYWN5IGljb24gdG9vbHRpcCBtaXhpblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBkZXByZWNhdGVkXG4vLy8gQGdyb3VwIHRvb2x0aXBcbkBtaXhpbiB0b29sdGlwLS1pY29uLS1sZWdhY3kge1xuICAvLyBJY29uIENTUyBvbmx5IHRvb2x0aXBcbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0taWNvbl9fdG9wLFxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0taWNvbl9fYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS1pY29uO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRpY29uLTAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBzdmcge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdib3JkZXInKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUb29sdGlwIEljb24gY2FyZXQgLSB0b3AgcG9zaXRpb25cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWljb25fX3RvcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0taWNvbi1wbGFjZW1lbnQoJ3RvcCcpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCBJY29uIGNhcmV0IC0gYm90dG9tIHBvc2l0aW9uXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1pY29uX19ib3R0b20ge1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLWljb24tcGxhY2VtZW50KCdib3R0b20nKTtcbiAgfVxuXG4gIC8vIFRvb2x0aXAgSWNvbiBjYXJldCAtIHRvcCBwb3NpdGlvbiwgbGVmdCBhbGlnbm1lbnRcbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWljb25fX3RvcC4jeyRwcmVmaXh9LS10b29sdGlwLS1pY29uX19hbGlnbi1zdGFydCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0taWNvbi1wbGFjZW1lbnQoJ3RvcCcsICdzdGFydCcpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCBJY29uIGNhcmV0IC0gdG9wIHBvc2l0aW9uLCByaWdodCBhbGlnbm1lbnRcbiAgLiN7JHByZWZpeH0tLXRvb2x0aXAtLWljb25fX3RvcC4jeyRwcmVmaXh9LS10b29sdGlwLS1pY29uX19hbGlnbi1lbmQge1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLWljb24tcGxhY2VtZW50KCd0b3AnLCAnZW5kJyk7XG4gIH1cblxuICAvLyBUb29sdGlwIEljb24gY2FyZXQgLSBib3R0b20gcG9zaXRpb24sIGxlZnQgYWxpZ25tZW50XG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1pY29uX19ib3R0b20uI3skcHJlZml4fS0tdG9vbHRpcC0taWNvbl9fYWxpZ24tc3RhcnQge1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLWljb24tcGxhY2VtZW50KCdib3R0b20nLCAnc3RhcnQnKTtcbiAgfVxuXG4gIC8vIFRvb2x0aXAgSWNvbiBjYXJldCAtIGJvdHRvbSBwb3NpdGlvbiwgcmlnaHQgYWxpZ25tZW50XG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1pY29uX19ib3R0b20uI3skcHJlZml4fS0tdG9vbHRpcC0taWNvbl9fYWxpZ24tZW5kIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS1pY29uLXBsYWNlbWVudCgnYm90dG9tJywgJ2VuZCcpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCBwb3NpdGlvbiAtIGljb24gb25seVxuICAuI3skcHJlZml4fS0tdG9vbHRpcC0taWNvbiAuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlciBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vLyBUb29sdGlwIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB0b29sdGlwXG5AbWl4aW4gdG9vbHRpcCB7XG4gIC8vIENhcmV0J3Mgb3JpZ2luYWwgc2l6ZSB3YXMgMTMuNzVweCBzcXVhcmVcbiAgJGNhcmV0LXNpemU6IHJlbSg2Ljg3NXB4KTtcblxuICAuI3skcHJlZml4fS0tdG9vbHRpcF9fbGFiZWwge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2xhYmVsLTAxJyk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHRleHQtMDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ2JvcmRlcicpO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyIHN2ZyB7XG4gICAgZmlsbDogJGljb24tMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlcjpub3QoLiN7JHByZWZpeH0tLWJ0bi0taWNvbi1vbmx5KSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCR3aWR0aDogZmFsc2UpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnYm9yZGVyJyk7XG4gICAgICBmaWxsOiAkaG92ZXItcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcF9fbGFiZWwtLWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgbGF5ZXIoJ292ZXJsYXknKTtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6IHJlbSgyMDhweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oMjg4cHgpO1xuICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLTAyO1xuICAgIG1hcmdpbi10b3A6ICRjYXJib24tLXNwYWNpbmctMDI7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oMnB4KTtcbiAgICB6LWluZGV4OiB6KCdmbG9hdGluZycpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBjb2xvcjogJGludmVyc2UtMDE7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkaW52ZXJzZS0wMiwgaW5zZXQgMCAwIDAgMnB4ICR1aS1iYWNrZ3JvdW5kO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZy1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wNztcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tYnRuOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGludmVyc2UtZm9jdXMtdWk7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAkaW52ZXJzZS0wMjtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tbGluayB7XG4gICAgICBjb2xvcjogJGludmVyc2UtbGluaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRpbnZlcnNlLWZvY3VzLXVpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgICAgIH1cblxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbms7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkY2FyZXQtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogJGNhcmV0LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtc2l6ZSBzb2xpZCAkaW52ZXJzZS0wMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IGNhbGMoI3skY2FyZXQtc2l6ZSAqIC0xfSArIDFweCk7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9vbHRpcF9fZm9vdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAmW2RhdGEtZmxvYXRpbmctbWVudS1kaXJlY3Rpb249J2xlZnQnXSB7XG4gICAgICAuI3skcHJlZml4fS0tdG9vbHRpcF9fY2FyZXQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLy8gbGVmdCBwb3NpdGlvbiBoYXMgYW4gYWRkaXRpb25hbCBzcGFjZSBiZXR3ZWVuIGNhcmV0IGFuZCB0b29sdGlwXG4gICAgICAgIHJpZ2h0OiBjYWxjKCN7JGNhcmV0LXNpemUgKiAtMX0gKyAxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWZsb2F0aW5nLW1lbnUtZGlyZWN0aW9uPSd0b3AnXSB7XG4gICAgICAuI3skcHJlZml4fS0tdG9vbHRpcF9fY2FyZXQge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogY2FsYygjeyRjYXJldC1zaXplICogLTF9ICsgMXB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtZmxvYXRpbmctbWVudS1kaXJlY3Rpb249J3JpZ2h0J10ge1xuICAgICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICAgICAgbGVmdDogY2FsYygjeyRjYXJldC1zaXplICogLTF9ICsgMXB4KTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLXR5cGUtc3R5bGUoJ2hlYWRpbmctMDEnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1zaG93biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUb29sdGlwIERlZmluaXRpb25cbiAgLyogYmVnaW4gbGVnYWN5IGRlZmluaXRpb24gdG9vbHRpcCBUT0RPOiBkZXByZWNhdGUgKi9cbiAgQGluY2x1ZGUgdG9vbHRpcC0tZGVmaW5pdGlvbi0tbGVnYWN5O1xuICAvKiBlbmQgbGVnYWN5IGRlZmluaXRpb24gdG9vbHRpcCAqL1xuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uLiN7JHByZWZpeH0tLXRvb2x0aXAtLWExMXkge1xuICAgIC8vIFdyYXBwaW5nIGVsZW1lbnQgc2V0IHRvIGlubGluZSBzaW5jZSB0aGUgdG9vbHRpcCBpc24ndCBjb250YWluZWQgd2l0aGluIHRoZSB0cmlnZ2VyIChhZmZlY3RzIGNlbnRlciBhbmQgZW5kIGFsaWdubWVudHMpXG4gICAgLy8gQWxzbyBhbGxvd3MgZm9yIERlZmluaXRpb24gVG9vbHRpcCB0byBiZSB1c2VkIHdpdGhpbiBhIHBhcmFncmFwaCBvZiB0ZXh0IGFzIGRlZmluZWQgaW4gdGhlIHVzYWdlIGd1aWRlbGluZXNcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIC8vIGRlZmF1bHQgYnV0dG9ucyBpbiBTYWZhcmkgYXJlIGFkZGluZyBhIHNtYWxsIG1hcmdpbiwgYWZmZWN0aW5nIHRvb2x0aXAgcGxhY2VtZW50XG4gIC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uIGJ1dHRvbi4jeyRwcmVmaXh9LS10b29sdGlwLS1hMTF5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIENTUyBvbmx5IHRvb2x0aXBcbiAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXIuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlci0tZGVmaW5pdGlvbiB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnbGFiZWwtMDEnKTtcbiAgICBib3JkZXItYm90dG9tOiByZW0oMXB4KSBkb3R0ZWQgJGludGVyYWN0aXZlLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXIuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlci0tZGVmaW5pdGlvbi4jeyRwcmVmaXh9LS10b29sdGlwLS10b3Age1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLXRyaWdnZXIoJ2RlZmluaXRpb24nLCAndG9wJyk7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdkZWZpbml0aW9uJywgJ3RvcCcsICdzdGFydCcpO1xuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1zdGFydCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2RlZmluaXRpb24nLCAndG9wJywgJ3N0YXJ0Jyk7XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdkZWZpbml0aW9uJywgJ3RvcCcsICdjZW50ZXInKTtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLXRvb2x0aXAtLWFsaWduLWVuZCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2RlZmluaXRpb24nLCAndG9wJywgJ2VuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RyaWdnZXItLWRlZmluaXRpb24uI3skcHJlZml4fS0tdG9vbHRpcC0tYm90dG9tIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS10cmlnZ2VyKCdkZWZpbml0aW9uJywgJ2JvdHRvbScpO1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnZGVmaW5pdGlvbicsICdib3R0b20nLCAnc3RhcnQnKTtcblxuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYWxpZ24tc3RhcnQge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdkZWZpbml0aW9uJywgJ2JvdHRvbScsICdzdGFydCcpO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnZGVmaW5pdGlvbicsICdib3R0b20nLCAnY2VudGVyJyk7XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1lbmQge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdkZWZpbml0aW9uJywgJ2JvdHRvbScsICdlbmQnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUb29sdGlwIEljb25cblxuICAvKiBiZWdpbiB0b29sdGlwIGljb24gKFRPRE86IGRlcHJlY2F0ZSkgKi9cbiAgQGluY2x1ZGUgdG9vbHRpcC0taWNvbi0tbGVnYWN5O1xuICAvKiBlbmQgbGVnYWN5IHRvb2x0aXAgaWNvbiAqL1xuXG4gIC8vIEljb24gQ1NTIG9ubHkgdG9vbHRpcFxuICAuI3skcHJlZml4fS0tdG9vbHRpcF9fdHJpZ2dlciB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRpY29uLTAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyLiN7JHByZWZpeH0tLXRvb2x0aXAtLXRvcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tdHJpZ2dlcignaWNvbicsICd0b3AnKTtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAndG9wJywgJ2NlbnRlcicpO1xuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1zdGFydCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAndG9wJywgJ3N0YXJ0Jyk7XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdpY29uJywgJ3RvcCcsICdjZW50ZXInKTtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLXRvb2x0aXAtLWFsaWduLWVuZCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAndG9wJywgJ2VuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyLiN7JHByZWZpeH0tLXRvb2x0aXAtLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS10cmlnZ2VyKCdpY29uJywgJ3JpZ2h0Jyk7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdpY29uJywgJ3JpZ2h0JywgJ2NlbnRlcicpO1xuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1zdGFydCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAncmlnaHQnLCAnc3RhcnQnKTtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLXRvb2x0aXAtLWFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAncmlnaHQnLCAnY2VudGVyJyk7XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1lbmQge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdpY29uJywgJ3JpZ2h0JywgJ2VuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyLiN7JHByZWZpeH0tLXRvb2x0aXAtLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcC0tdHJpZ2dlcignaWNvbicsICdib3R0b20nKTtcbiAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAnYm90dG9tJywgJ2NlbnRlcicpO1xuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1zdGFydCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAnYm90dG9tJywgJ3N0YXJ0Jyk7XG4gICAgfVxuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgdG9vbHRpcC0tcGxhY2VtZW50KCdpY29uJywgJ2JvdHRvbScsICdjZW50ZXInKTtcbiAgICB9XG5cbiAgICAmLiN7JHByZWZpeH0tLXRvb2x0aXAtLWFsaWduLWVuZCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAnYm90dG9tJywgJ2VuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sdGlwX190cmlnZ2VyLiN7JHByZWZpeH0tLXRvb2x0aXAtLWxlZnQge1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLXRyaWdnZXIoJ2ljb24nLCAnbGVmdCcpO1xuICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnaWNvbicsICdsZWZ0JywgJ2NlbnRlcicpO1xuXG4gICAgJi4jeyRwcmVmaXh9LS10b29sdGlwLS1hbGlnbi1zdGFydCB7XG4gICAgICBAaW5jbHVkZSB0b29sdGlwLS1wbGFjZW1lbnQoJ2ljb24nLCAnbGVmdCcsICdzdGFydCcpO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnaWNvbicsICdsZWZ0JywgJ2NlbnRlcicpO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tdG9vbHRpcC0tYWxpZ24tZW5kIHtcbiAgICAgIEBpbmNsdWRlIHRvb2x0aXAtLXBsYWNlbWVudCgnaWNvbicsICdsZWZ0JywgJ2VuZCcpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0b29sdGlwJykge1xuICBAaW5jbHVkZSB0b29sdGlwO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRhYnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheWVyJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuXG4vLy8gVGFicyBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdGFic1xuQG1peGluIHRhYnMge1xuICAuI3skcHJlZml4fS0tdGFicyB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtZCkge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAgJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTA0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZC0wMTtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYnMtdHJpZ2dlcjpmb2N1cyxcbiAgLiN7JHByZWZpeH0tLXRhYnMtdHJpZ2dlcjphY3RpdmUge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzLXRyaWdnZXIgc3ZnIHtcbiAgICB3aWR0aDogcmVtKDEycHgpO1xuICAgIGhlaWdodDogcmVtKDdweCk7XG4gICAgZmlsbDogJHVpLTA1O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzLXRyaWdnZXItLW9wZW46Zm9jdXMsXG4gIC4jeyRwcmVmaXh9LS10YWJzLXRyaWdnZXItLW9wZW46YWN0aXZlIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyLS1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kOiAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyLS1vcGVuIHN2ZyB7XG4gICAgQGluY2x1ZGUgcm90YXRlKC0xODBkZWcsICRkdXJhdGlvbi0tZmFzdC0wMSwgNTAlIDQ1JSk7XG4gIH1cblxuICAvLyBUaGVyZSBpcyBvbmx5IGEgZGlmZmVyZW5jZSBpbiB0YWIgY29sb3Igd2hlbiBpbiBtb2JpbGUvZHJvcGRvd24gdmlld1xuICAuI3skcHJlZml4fS0tdGFicy0tbGlnaHQuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyLXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYnMtdHJpZ2dlci10ZXh0OmhvdmVyIHtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFicy10cmlnZ2VyLXRleHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFic19fbmF2IHtcbiAgICBAaW5jbHVkZSBsYXllcignb3ZlcmxheScpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiB6KCdkcm9wZG93bicpO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KG1kKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtLWhpZGRlbiB7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSXRlbVxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbSB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtZCkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAmICsgLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbSAuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbmsge1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIG91dGxpbmUgJGR1cmF0aW9uLS1mYXN0LTAxIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEl0ZW0gSG92ZXJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW06aG92ZXI6bm90KC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tc2VsZWN0ZWQpIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbTpob3Zlcjpub3QoLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtLS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci11aTtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAkaG92ZXItdWk7XG5cbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJdGVtIERpc2FibGVkXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQsXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQ6aG92ZXIge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQgLiN7JHByZWZpeH0tLXRhYnNfX25hdi1saW5rIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSXRlbSBTZWxlY3RlZFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tc2VsZWN0ZWQ6bm90KC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtZCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnaGVhZGluZy0wMScpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGludGVyYWN0aXZlLTAxO1xuICAgICAgfVxuXG4gICAgICAuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbms6Zm9jdXMsXG4gICAgICAuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbms6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGludGVyYWN0aXZlLTAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlua1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGEuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAkY2FyYm9uLS1zcGFjaW5nLTA0IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgIGhlaWdodDogcmVtKDQwcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgxNnB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTAzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KG1kKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAkdGFiLXVuZGVybGluZS1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRjYXJib24tLXNwYWNpbmctMDMgJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICAgIHdpZHRoOiByZW0oMTYwcHgpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiByZW0oMTYwcHgpO1xuICAgICAgICBwYWRkaW5nOiAkY2FyYm9uLS1zcGFjaW5nLTAzICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vICBMaW5rIEhvdmVyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtOmhvdmVyOm5vdCguI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW0tLXNlbGVjdGVkKTpub3QoLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtLS1kaXNhYmxlZClcbiAgICAuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbmsge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQobWQpIHtcbiAgICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICAgIGJvcmRlci1ib3R0b206ICR0YWItdW5kZXJsaW5lLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gIExpbmsgRGlzYWJsZWRcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW0tLWRpc2FibGVkIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtbGluayB7XG4gICAgY29sb3I6ICR0YWItdGV4dC1kaXNhYmxlZDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFiLXVuZGVybGluZS1kaXNhYmxlZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQ6aG92ZXIgLiN7JHByZWZpeH0tLXRhYnNfX25hdi1saW5rIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi11bmRlcmxpbmUtZGlzYWJsZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW0tLWRpc2FibGVkIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtbGluazpmb2N1cyxcbiAgLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtLS1kaXNhYmxlZCBhLiN7JHByZWZpeH0tLXRhYnNfX25hdi1saW5rOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAkdGFiLXVuZGVybGluZS1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gIExpbmsgRm9jdXNcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW06bm90KC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tc2VsZWN0ZWQpOm5vdCguI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW0tLWRpc2FibGVkKTpub3QoLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtLS1zZWxlY3RlZClcbiAgICAuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbms6Zm9jdXMsXG4gIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbTpub3QoLiN7JHByZWZpeH0tLXRhYnNfX25hdi1pdGVtLS1zZWxlY3RlZCk6bm90KC4jeyRwcmVmaXh9LS10YWJzX19uYXYtaXRlbS0tZGlzYWJsZWQpOm5vdCguI3skcHJlZml4fS0tdGFic19fbmF2LWl0ZW0tLXNlbGVjdGVkKVxuICAgIGEuI3skcHJlZml4fS0tdGFic19fbmF2LWxpbms6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRleHQtMDI7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNrZWxldG9uIHN0YXRlXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXRhYnMuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzLiN7JHByZWZpeH0tLXNrZWxldG9uIC4jeyRwcmVmaXh9LS10YWJzX19uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IHJlbSg3NXB4KTtcbiAgICBoZWlnaHQ6IHJlbSgxMnB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWJzLiN7JHByZWZpeH0tLXNrZWxldG9uIC4jeyRwcmVmaXh9LS10YWJzLXRyaWdnZXIge1xuICAgIEBpbmNsdWRlIHNrZWxldG9uO1xuICAgIHdpZHRoOiByZW0oMTAwcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhYnMuI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXRhYnMtdHJpZ2dlciBzdmcge1xuICAgIEBpbmNsdWRlIGhpZGRlbjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0YWJzJykge1xuICBAaW5jbHVkZSB0YWJzO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbi8vLyBUYWcgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHRhZ1xuQG1peGluIHRhZ3Mge1xuICAuI3skcHJlZml4fS0tdGFnIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdsYWJlbC0wMScpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbjogJGNhcmJvbi0tc3BhY2luZy0wMjtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oMTVweCk7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICYuI3skcHJlZml4fS0tc2tlbGV0b24ge1xuICAgICAgQGluY2x1ZGUgdGFnLXRoZW1lKCRiZy1jb2xvcjogJHVpLTAzLCAkdGV4dC1jb2xvcjogJHRleHQtMDEpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLXJlZCB7XG4gICAgQGluY2x1ZGUgdGFnLXRoZW1lKCRpYm0tY29sb3JfX3JlZC0yMCwgJGlibS1jb2xvcl9fcmVkLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLW1hZ2VudGEge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX19tYWdlbnRhLTIwLCAkaWJtLWNvbG9yX19tYWdlbnRhLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLXB1cnBsZSB7XG4gICAgQGluY2x1ZGUgdGFnLXRoZW1lKCRpYm0tY29sb3JfX3B1cnBsZS0yMCwgJGlibS1jb2xvcl9fcHVycGxlLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWJsdWUge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX19ibHVlLTIwLCAkaWJtLWNvbG9yX19ibHVlLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWN5YW4ge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX19jeWFuLTIwLCAkaWJtLWNvbG9yX19jeWFuLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLXRlYWwge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX190ZWFsLTIwLCAkaWJtLWNvbG9yX190ZWFsLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWdyZWVuIHtcbiAgICBAaW5jbHVkZSB0YWctdGhlbWUoJGlibS1jb2xvcl9fZ3JlZW4tMjAsICRpYm0tY29sb3JfX2dyZWVuLTcwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWdyYXkge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX19ncmF5LTIwLCAkaWJtLWNvbG9yX19ncmF5LTEwMCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFnLS1jb29sLWdyYXkge1xuICAgIEBpbmNsdWRlIHRhZy10aGVtZSgkaWJtLWNvbG9yX19jb29sLWdyYXktMjAsICRpYm0tY29sb3JfX2Nvb2wtZ3JheS0xMDApO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhZy0td2FybS1ncmF5IHtcbiAgICBAaW5jbHVkZSB0YWctdGhlbWUoJGlibS1jb2xvcl9fd2FybS1ncmF5LTIwLCAkaWJtLWNvbG9yX193YXJtLWdyYXktMTAwKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSB0YWctdGhlbWUoJGlibS1jb2xvcl9fZ3JheS0xMCwgJGlibS1jb2xvcl9fZ3JheS0zMCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gdGFncyB1c2VkIGZvciBmaWx0ZXJpbmdcbiAgLiN7JHByZWZpeH0tLXRhZy0tZmlsdGVyIHtcbiAgICBAaW5jbHVkZSB0YWctdGhlbWUoJGludGVyYWN0aXZlLTAyLCAkaW52ZXJzZS0wMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgycHgpOyAvLyBBbGlnbiB3aXRoIGhvdmVyIGNpcmNsZSBvZiBYIGJ1dHRvblxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRhZy0tZmlsdGVyID4gc3ZnIHtcbiAgICBmaWxsOiAkaW52ZXJzZS0wMTtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDRweCk7XG4gICAgcGFkZGluZzogcmVtKDJweCk7XG4gICAgd2lkdGg6IHJlbSgyMHB4KTtcbiAgICBoZWlnaHQ6IHJlbSgyMHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWZpbHRlciA+IHN2Zzpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1zZWNvbmRhcnk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGFnLS1maWx0ZXI6Zm9jdXMsXG4gIC4jeyRwcmVmaXh9LS10YWctLWZpbHRlcjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10YWctLWZpbHRlcjpmb2N1cyA+IHN2ZyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGludmVyc2UtMDE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgLy8gU2tlbGV0b24gc3RhdGVcbiAgLiN7JHByZWZpeH0tLXRhZy4jeyRwcmVmaXh9LS1za2VsZXRvbiB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IHJlbSg2MHB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ3RhZ3MnKSB7XG4gIEBpbmNsdWRlIHRhZ3M7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB0YWdcbkBtaXhpbiB0YWctdGhlbWUoJGJnLWNvbG9yLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4kY3NzLS1oZWxwZXJzOiB0cnVlO1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5b3V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLWhlbHBlcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vc2VsZWN0L3NlbGVjdCc7XG5AaW1wb3J0ICcuLi90ZXh0LWlucHV0L3RleHQtaW5wdXQnO1xuXG4vLy8gUGFnaW5hdGlvbiBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuQG1peGluIHBhZ2luYXRpb24ge1xuICAuI3skcHJlZml4fS0tZGF0YS10YWJsZS1jb250YWluZXIgKyAuI3skcHJlZml4fS0tcGFnaW5hdGlvbiB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS0wMztcbiAgICBoZWlnaHQ6IHJlbSg0OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uIC4jeyRwcmVmaXh9LS1zZWxlY3Qge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dF9fd3JhcHBlcixcbiAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dC0taW5saW5lX193cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbiAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0IHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbSAwICRzcGFjaW5nLW1kO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjVyZW07XG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KCdtZCcpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhcmJvbi0tbWluaS11bml0cyg0LjUpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uIC4jeyRwcmVmaXh9LS1zZWxlY3QtaW5wdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRob3Zlci11aTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uIC4jeyRwcmVmaXh9LS1zZWxlY3RfX2Fycm93IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICByaWdodDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvblxuICAgIC4jeyRwcmVmaXh9LS1zZWxlY3RfX2l0ZW0tY291bnRcbiAgICAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0IHtcbiAgICBib3JkZXItcmlnaHQ6ICRzcGFjaW5nLTR4cyBzb2xpZCAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvblxuICAgIC4jeyRwcmVmaXh9LS1zZWxlY3RfX3BhZ2UtbnVtYmVyXG4gICAgLiN7JHByZWZpeH0tLXNlbGVjdC1pbnB1dCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fbGVmdCxcbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX3JpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2xlZnQgPiAuI3skcHJlZml4fS0tZm9ybS1pdGVtLFxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fcmlnaHQgPiAuI3skcHJlZml4fS0tZm9ybS1pdGVtIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fbGVmdCAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fdGV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMXB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uX19yaWdodCAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fdGV4dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oMXB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uX19sZWZ0IHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uX190ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50KCdtZCcpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBzcGFuLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uX19idXR0b24ge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgcmVtKDE0cHgpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHVpLTAzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmaWxsOiAkdWktMDU7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2J1dHRvbjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGhvdmVyLXVpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2J1dHRvbi0tbm8taW5kZXgge1xuICAgIGZpbGw6ICRkaXNhYmxlZC0wMjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb25fX2J1dHRvbi0tbm8taW5kZXg6aG92ZXIge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgZmlsbDogJGRpc2FibGVkLTAyO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLS1pbmxpbmUge1xuICAgIGhlaWdodDogcmVtKDQycHgpO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tLWlubGluZSAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fYnV0dG9uIHtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR1aS0wMztcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdWktMDM7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tLWlubGluZSAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fYnV0dG9uLS1mb3J3YXJkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tLWlubGluZSAuI3skcHJlZml4fS0tcGFnaW5hdGlvbl9fYnV0dG9uLS1iYWNrd2FyZCB7XG4gICAgbWFyZ2luOiAwICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgcGFkZGluZzogMCAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICB9XG5cbiAgLy8gU2tlbGV0b24gc3RhdGVcbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24uI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLXNrZWxldG9uX190ZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdwYWdpbmF0aW9uJykge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXlvdXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuXG4vLy8gQWNjb3JkaW9uIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBhY2NvcmRpb25cbkBtaXhpbiBhY2NvcmRpb24ge1xuICAuI3skcHJlZml4fS0tYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSByZXNldDtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYWNjb3JkaW9uX19pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS0wMztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLTAzO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb25fX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1yZXNldDtcbiAgICBjb2xvcjogJHRleHQtMDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogJGFjY29yZGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHJlbSg2cHgpIDA7XG4gICAgZmxleC1kaXJlY3Rpb246ICRhY2NvcmRpb24tZmxleC1kaXJlY3Rpb247XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSkgJGR1cmF0aW9uLS1mYXN0LTAyO1xuXG4gICAgJjpob3ZlcjpiZWZvcmUsXG4gICAgJjpmb2N1czpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLXVpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lLWNvbXBhdCcpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb25fX2Fycm93IHtcbiAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdyZXNldCcpO1xuICAgIC8vIFdpdGhvdXQgZmxleCBiYXNpcyBhbmQgZmxleCBzaHJpbmsgYmVpbmcgc2V0IGhlcmUsIG91ciBpY29uIHdpZHRoIGNhbiBnb1xuICAgIC8vIDwxNnB4IGFuZCBjYXVzZSB0aGUgaWNvbiB0byByZW5kZXIgaW4gdGhlIGluY29ycmVjdCBhcnRib2FyZCBzaXplXG4gICAgZmxleDogMCAwIDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogJGFjY29yZGlvbi1hcnJvdy1tYXJnaW47XG4gICAgZmlsbDogJHVpLTA1O1xuICAgIC8vIFRPRE86IFJUTCByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuXG4gICAgbWFyZ2luOiAkYWNjb3JkaW9uLXRpdGxlLW1hcmdpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAvLyBUcmFuc2l0aW9uIHByb3BlcnR5IGZvciB3aGVuIHRoZSBhY2NvcmRpb24gY2xvc2VzXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSkgJGR1cmF0aW9uLS1mYXN0LTAyLFxuICAgICAgcGFkZGluZyBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpICRkdXJhdGlvbi0tZmFzdC0wMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAyNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50LWRvd24oJ21kJykge1xuICAgICAgcGFkZGluZy1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wOTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb25fX2l0ZW0tLWFjdGl2ZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAuI3skcHJlZml4fS0tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkY2FyYm9uLS1zcGFjaW5nLTA2O1xuICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXhzO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAvLyBUcmFuc2l0aW9uIHByb3BlcnR5IGZvciB3aGVuIHRoZSBhY2NvcmRpb24gb3BlbnNcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCBtb3Rpb24oZW50cmFuY2UsIHByb2R1Y3RpdmUpICRkdXJhdGlvbi0tZmFzdC0wMixcbiAgICAgICAgcGFkZGluZy10b3AgbW90aW9uKGVudHJhbmNlLCBwcm9kdWN0aXZlKSAkZHVyYXRpb24tLWZhc3QtMDIsXG4gICAgICAgIHBhZGRpbmctYm90dG9tIG1vdGlvbihlbnRyYW5jZSwgcHJvZHVjdGl2ZSkgJGR1cmF0aW9uLS1mYXN0LTAyO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1hY2NvcmRpb25fX2Fycm93IHtcbiAgICAgIC8qcnRsOmlnbm9yZSovXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgZmlsbDogJHVpLTA1O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNrZWxldG9uIHN0YXRlXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb24uI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLWFjY29yZGlvbl9faGVhZGluZyxcbiAgLiN7JHByZWZpeH0tLWFjY29yZGlvbi4jeyRwcmVmaXh9LS1za2VsZXRvbiAuI3skcHJlZml4fS0tYWNjb3JkaW9uX19idXR0b24ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb24uI3skcHJlZml4fS0tc2tlbGV0b24gLiN7JHByZWZpeH0tLWFjY29yZGlvbl9fYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbGw6ICR1aS0wNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2tlbGV0b25cbiAgICAuI3skcHJlZml4fS0tYWNjb3JkaW9uX19oZWFkaW5nOmZvY3VzXG4gICAgLiN7JHByZWZpeH0tLWFjY29yZGlvbl9fYXJyb3cge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1hY2NvcmRpb25fX3RpdGxlLiN7JHByZWZpeH0tLXNrZWxldG9uX190ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2FjY29yZGlvbicpIHtcbiAgQGluY2x1ZGUgYWNjb3JkaW9uO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIFByb2dyZXNzIGluZGljYXRvciBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtaW5kaWNhdG9yXG5AbWl4aW4gcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSByZXNldDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWluLXdpZHRoOiA3cmVtO1xuICAgIHdpZHRoOiByZW0oMTI4cHgpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogcmVtKDEyOHB4KTtcbiAgICBib3JkZXI6ICRwcm9ncmVzcy1pbmRpY2F0b3ItYmFyLXdpZHRoO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLXN0ZXAgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBoZWlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogOXB4ICRjYXJib24tLXNwYWNpbmctMDMgMCAwO1xuICAgIGZpbGw6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIG1heC13aWR0aDogcmVtKDg4cHgpO1xuICAgIG1hcmdpbjogJGNhcmJvbi0tc3BhY2luZy0wMyAwIDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLWxhYmVsOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstMDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgcmVtKDFweCkgJGxpbmstMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGFiZWw6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6ICRsaW5rLTAxO1xuICAgIGJveC1zaGFkb3c6IDAgcmVtKDNweCkgMCAwICRsaW5rLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLWxhYmVsOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgICBib3gtc2hhZG93OiAwIHJlbSgzcHgpIDAgMCAkaW50ZXJhY3RpdmUtMDE7XG4gIH1cblxuICAvL09WRVJGTE9XIFNUWUxJTkdcbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLWxhYmVsLW92ZXJmbG93OmhvdmVyIH4gLiN7JHByZWZpeH0tLXRvb2x0aXAsXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1sYWJlbC1vdmVyZmxvdzpmb2N1cyB+IC4jeyRwcmVmaXh9LS10b29sdGlwIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLXN0ZXAgLiN7JHByZWZpeH0tLXRvb2x0aXAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX2NhcmV0IHtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2x0aXBfX3RleHQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvL3NpbmdsZSBsaW5lIHRvb2x0aXBcbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLXN0ZXAgLiN7JHByZWZpeH0tLXRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktbG9uZy0wMScpO1xuICAgIG1pbi13aWR0aDogcmVtKDExNXB4KTtcbiAgICB3aWR0aDogcmVtKDEyNXB4KTtcbiAgICBtaW4taGVpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTA2O1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oMjJweCk7XG4gICAgbWFyZ2luLXRvcDogcmVtKDQwcHgpO1xuICAgIHBhZGRpbmc6ICRjYXJib24tLXNwYWNpbmctMDMgJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgY29sb3I6ICRpbnZlcnNlLTAxO1xuICB9XG5cbiAgLy9tdWx0aWxpbmUgdG9vbHRpcFxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcCAuI3skcHJlZml4fS0tdG9vbHRpcF9tdWx0aSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1sb25nLTAxJyk7XG4gICAgd2lkdGg6IHJlbSgxNTBweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNvbG9yOiAkaW52ZXJzZS0wMTtcbiAgfVxuXG4gIC8vT1BUSU9OQUwgSEVMUEVSIFRFWFQgU1RZTElOR1xuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtb3B0aW9uYWwge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2xhYmVsLTAxJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJib24tLXNwYWNpbmctMDY7XG4gICAgbWFyZ2luLXRvcDogcmVtKDI4cHgpO1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgfVxuXG4gIC8vQ1VSUkVOVCBTVFlMSU5HXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1zdGVwLS1jdXJyZW50IHtcbiAgICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW50ZXJhY3RpdmUtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLXN0ZXAtLWN1cnJlbnQgc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZmlsbDogJGludGVyYWN0aXZlLTAxO1xuICAgIG1hcmdpbi10b3A6IHJlbSg5LjVweCk7XG4gIH1cblxuICAvL0lOQ09NUExFVEUgU1RZTElOR1xuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcC0taW5jb21wbGV0ZSB7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICR1aS0wNTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDM7XG4gICAgfVxuICB9XG5cbiAgLy9DT01QTEVURUQgU1RZTElOR1xuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcC0tY29tcGxldGUge1xuICAgIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1saW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnRlcmFjdGl2ZS0wMTtcbiAgICB9XG4gIH1cblxuICAvL2ludGVyYWN0aXZlIGJ1dHRvblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAvL3VuY2xpY2thYmxlIGJ1dHRvblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcC1idXR0b24tLXVuY2xpY2thYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy9ESVNBQkxFRCBTVFlMSU5HXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1zdGVwLS1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1sYWJlbCxcbiAgICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1sYWJlbDpmb2N1cyxcbiAgICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGFiZWw6YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1saW5lIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXByb2dyZXNzLWxhYmVsLW92ZXJmbG93OmhvdmVyXG4gICAgICB+IC4jeyRwcmVmaXh9LS10b29sdGlwLS1kZWZpbml0aW9uXG4gICAgICAuI3skcHJlZml4fS0tdG9vbHRpcC0tZGVmaW5pdGlvbl9fYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy9FUlJPUiBTVFlMSU5HXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzc19fd2FybmluZyA+IHBhdGgge1xuICAgIGZpbGw6ICRzdXBwb3J0LTAxO1xuICB9XG5cbiAgLy8gU2tlbGV0b24gU3RhdGVcbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLiN7JHByZWZpeH0tLXNrZWxldG9uIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgaGVpZ2h0OiByZW0oMTJweCk7XG4gICAgd2lkdGg6IHJlbSg0MHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy0tdmVydGljYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLS12ZXJ0aWNhbCAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMC4xcmVtIDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtLXZlcnRpY2FsIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1zdGVwLS1jdXJyZW50IHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNTYzcmVtO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLS12ZXJ0aWNhbCAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtLXZlcnRpY2FsIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1zdGVwIC5ieC0tdG9vbHRpcCB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2dyZXNzLS12ZXJ0aWNhbCAuI3skcHJlZml4fS0tcHJvZ3Jlc3Mtb3B0aW9uYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMjVyZW07XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZ3Jlc3MtLXZlcnRpY2FsIC4jeyRwcmVmaXh9LS1wcm9ncmVzcy1saW5lIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdwcm9ncmVzcy1pbmRpY2F0b3InKSB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWluZGljYXRvcjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5b3V0JztcbkBpbXBvcnQgJy4uL2xpbmsvbGluayc7XG5cbi8vLyBCcmVhZGNydW1iIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCBicmVhZGNydW1iXG5AbWl4aW4gYnJlYWRjcnVtYiB7XG4gIC4jeyRwcmVmaXh9LS1icmVhZGNydW1iIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdib2R5LXNob3J0LTAxJyk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludChtZCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1icmVhZGNydW1iLWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLyc7XG4gICAgY29sb3I6ICR0ZXh0LTAxO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyYm9uLS1zcGFjaW5nLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJyZWFkY3J1bWItLW5vLXRyYWlsaW5nLXNsYXNoXG4gICAgLiN7JHByZWZpeH0tLWJyZWFkY3J1bWItaXRlbTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQsXG4gIC4jeyRwcmVmaXh9LS1icmVhZGNydW1iLWl0ZW06bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1icmVhZGNydW1iIC4jeyRwcmVmaXh9LS1saW5rIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWJyZWFkY3J1bWItaXRlbSBbYXJpYS1jdXJyZW50PSdwYWdlJ10sXG4gIC4jeyRwcmVmaXh9LS1icmVhZGNydW1iLWl0ZW0uI3skcHJlZml4fS0tYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XG4gICAgLiN7JHByZWZpeH0tLWxpbmsge1xuICAgIGNvbG9yOiAkdGV4dC0wMTtcbiAgICBjdXJzb3I6IGF1dG87XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBTa2VsZXRvbiBTdGF0ZVxuICAuI3skcHJlZml4fS0tYnJlYWRjcnVtYi4jeyRwcmVmaXh9LS1za2VsZXRvbiAuI3skcHJlZml4fS0tbGluayB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgd2lkdGg6IHJlbSgxMDBweCk7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2JyZWFkY3J1bWInKSB7XG4gIEBpbmNsdWRlIGJyZWFkY3J1bWI7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuJGNzcy0taGVscGVyczogdHJ1ZTtcblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0taGVscGVycyc7XG5AaW1wb3J0ICcuLi9idXR0b24vYnV0dG9uJztcbkBpbXBvcnQgJy4uL2NoZWNrYm94L2NoZWNrYm94JztcbkBpbXBvcnQgJy4uL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24nO1xuQGltcG9ydCAnLi4vZm9ybS9mb3JtJztcbkBpbXBvcnQgJy4uL292ZXJmbG93LW1lbnUvb3ZlcmZsb3ctbWVudSc7XG5AaW1wb3J0ICcuLi9zZWFyY2gvc2VhcmNoJztcblxuLy8vIFRvb2xiYXIgc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHRvb2xiYXJcbkBtaXhpbiB0b29sYmFyIHtcbiAgLiN7JHByZWZpeH0tLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW46IDAgcmVtKDRweCk7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCB7XG4gICAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnVfX2ljb24ge1xuICAgICAgZmlsbDogJHRleHQtMDI7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDUwbXMgJGNhcmJvbi0tc3RhbmRhcmQtZWFzaW5nO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1zZWFyY2gtbWFnbmlmaWVyIHtcbiAgICAgIGZpbGw6ICR0ZXh0LTAyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNzVtcyAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gICAgICB0b3A6IHJlbSg4cHgpO1xuICAgICAgbGVmdDogcmVtKDZweCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2gtLWFjdGl2ZSB7XG4gICAgICB3aWR0aDogcmVtKDI1MHB4KTtcblxuICAgICAgLiN7JHByZWZpeH0tLXNlYXJjaC1tYWduaWZpZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0b3A6IHJlbSg5cHgpO1xuICAgICAgfVxuXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkLTAyO1xuICAgICAgfVxuXG4gICAgICAuI3skcHJlZml4fS0tc2VhcmNoLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLW9wZW4gPiAuI3skcHJlZml4fS0tb3ZlcmZsb3ctbWVudV9faWNvbiB7XG4gICAgICBmaWxsOiAkYnJhbmQtMDE7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAxNzVtcyAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1zZWFyY2hfX2J0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICB3aWR0aDogcmVtKDMycHgpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLWZpbHRlci1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLW1lbnVfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjYXB0aW9uLTAxJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLW1lbnVfX29wdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIH1cblxuICAuI3skcHJlZml4fS0tdG9vbGJhci1tZW51X19kaXZpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1yYWRpby1idXR0b24tZ3JvdXAge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10b29sYmFyLXNlYXJjaDpub3QoLiN7JHByZWZpeH0tLXRvb2xiYXItc2VhcmNoLS1hY3RpdmUpXG4gICAgLiN7JHByZWZpeH0tLXNlYXJjaC1pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0b29sYmFyJykge1xuICBAaW5jbHVkZSB0b29sYmFyO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRpbWUgUGlja2VyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLXJlc2V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcblxuLy8vIFRpbWUgcGlja2VyIHN0eWxlc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB0aW1lLXBpY2tlclxuQG1peGluIHRpbWUtcGlja2VyIHtcbiAgLiN7JHByZWZpeH0tLXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aW1lLXBpY2tlcltkYXRhLWludmFsaWRdIC4jeyRwcmVmaXh9LS10aW1lLXBpY2tlcl9faW5wdXQtZmllbGQge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ2ludmFsaWQnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aW1lLXBpY2tlcl9fc2VsZWN0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbjogMCAkY2FyYm9uLS1zcGFjaW5nLTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aW1lLXBpY2tlcl9faW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aW1lLXBpY2tlciAuI3skcHJlZml4fS0tc2VsZWN0LWlucHV0IHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDQ4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbWUtcGlja2VyX19pbnB1dC1maWVsZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQ7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgncmVzZXQnKTtcbiAgICBAaW5jbHVkZSB0eXBlLXN0eWxlKCdjb2RlLTAyJyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA0Ljg3NXJlbTtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICB0cmFuc2l0aW9uOiBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0aW1lLXBpY2tlcicpIHtcbiAgQGluY2x1ZGUgdGltZS1waWNrZXI7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2xpZGVyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9sYXllcic7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi9mb3JtL2Zvcm0nO1xuQGltcG9ydCAnLi4vdGV4dC1pbnB1dC90ZXh0LWlucHV0JztcblxuLy8vIFNsaWRlciBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgc2xpZGVyXG5AbWl4aW4gc2xpZGVyIHtcbiAgLiN7JHByZWZpeH0tLXNsaWRlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgJGNhcmJvbi0tc3BhY2luZy0wNTtcbiAgICBtYXgtd2lkdGg6IHJlbSg2NDBweCk7XG4gICAgbWluLXdpZHRoOiByZW0oMjAwcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlcl9fcmFuZ2UtbGFiZWwge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2NvZGUtMDInKTtcbiAgICBjb2xvcjogJHRleHQtMDE7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlcl9fdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHJlbSgycHgpO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlcl9fdHJhY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmVtKDRweCk7XG4gICAgd2lkdGg6IHJlbSgycHgpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB0b3A6IHJlbSgtNXB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkdWktMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2xpZGVyX19maWxsZWQtdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHJlbSgycHgpO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wNTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlcl9fdGh1bWIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IHJlbSgxNHB4KTtcbiAgICB3aWR0aDogcmVtKDE0cHgpO1xuICAgIGJhY2tncm91bmQ6ICR1aS0wNTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHRyYW5zcGFyZW50LCBpbnNldCAwIDAgMCAycHggdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKSxcbiAgICAgIGJhY2tncm91bmQgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICBib3gtc2hhZG93ICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vIDIwcHggLyAxNHB4ID0gMS40Mjg1NzE0Mjg2XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjQyODU3MTQyODYpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gMjBweCAvIDE0cHggPSAxLjQyODU3MTQyODZcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNDI4NTcxNDI4Nik7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGludGVyYWN0aXZlLTAxLCBpbnNldCAwIDAgMCAzcHggJHVpLTAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludGVyYWN0aXZlLTAxO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNDI4NTcxNDI4Nik7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGludGVyYWN0aXZlLTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbGlkZXJfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlci10ZXh0LWlucHV0LFxuICAuI3skcHJlZml4fS1zbGlkZXItdGV4dC1pbnB1dCB7XG4gICAgd2lkdGg6IHJlbSg2NHB4KTtcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbGlkZXJfX3RodW1iOmZvY3VzIH4gLiN7JHByZWZpeH0tLXNsaWRlcl9fZmlsbGVkLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW50ZXJhY3RpdmUtMDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuI3skcHJlZml4fS0tbGFiZWwtLWRpc2FibGVkXG4gICAgfiAuI3skcHJlZml4fS0tc2xpZGVyLWNvbnRhaW5lclxuICAgID4gLiN7JHByZWZpeH0tLXNsaWRlcl9fcmFuZ2UtbGFiZWwge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2xpZGVyLS1kaXNhYmxlZCAuI3skcHJlZml4fS0tc2xpZGVyX190aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR1aS0wMztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zbGlkZXItLWRpc2FibGVkIC4jeyRwcmVmaXh9LS1zbGlkZXJfX3RyYWNrLFxuICAuI3skcHJlZml4fS0tc2xpZGVyLS1kaXNhYmxlZCAuI3skcHJlZml4fS0tc2xpZGVyX19maWxsZWQtdHJhY2ssXG4gIC4jeyRwcmVmaXh9LS1zbGlkZXItLWRpc2FibGVkXG4gICAgLiN7JHByZWZpeH0tLXNsaWRlcl9fdGh1bWI6Zm9jdXNcbiAgICB+IC4jeyRwcmVmaXh9LS1zbGlkZXJfX2ZpbGxlZC10cmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAzO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2xpZGVyLS1kaXNhYmxlZFxuICAgIH4gLiN7JHByZWZpeH0tLWZvcm0taXRlbVxuICAgIC4jeyRwcmVmaXh9LS1zbGlkZXItdGV4dC1pbnB1dCxcbiAgLiN7JHByZWZpeH0tLXNsaWRlci0tZGlzYWJsZWQgfiAuI3skcHJlZml4fS0tc2xpZGVyLXRleHQtaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC0wMTtcbiAgICBjb2xvcjogJGRpc2FibGVkLTAyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC0wMjtcbiAgICB9XG4gIH1cblxuICAvLyBTa2VsZXRvbiBzdGF0ZVxuICAuI3skcHJlZml4fS0tc2xpZGVyLWNvbnRhaW5lci4jeyRwcmVmaXh9LS1za2VsZXRvblxuICAgIC4jeyRwcmVmaXh9LS1zbGlkZXJfX3JhbmdlLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogcmVtKDIwcHgpO1xuICAgIGhlaWdodDogcmVtKDEycHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlci1jb250YWluZXIuI3skcHJlZml4fS0tc2tlbGV0b25cbiAgICAuI3skcHJlZml4fS0tc2xpZGVyX190cmFjayB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNsaWRlci1jb250YWluZXIuI3skcHJlZml4fS0tc2tlbGV0b25cbiAgICAuI3skcHJlZml4fS0tc2xpZGVyX190aHVtYiB7XG4gICAgbGVmdDogNTAlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdzbGlkZXInKSB7XG4gIEBpbmNsdWRlIHNsaWRlcjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaWxlc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5ZXInO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuXG4vLy8gVGlsZSBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdGlsZVxuQG1peGluIHRpbGUge1xuICAuI3skcHJlZml4fS0tdGlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiA4cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkY2FyYm9uLS1zcGFjaW5nLTA1O1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aWxlLS1jbGlja2FibGUsXG4gIC4jeyRwcmVmaXh9LS10aWxlLS1zZWxlY3RhYmxlLFxuICAuI3skcHJlZml4fS0tdGlsZS0tZXhwYW5kYWJsZSB7XG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uLS1tb2RlcmF0ZS0wMSBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGhvdmVyLXVpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuI3skcHJlZml4fS0tdGlsZV9fY2hlY2ttYXJrIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGlsZS0tY2xpY2thYmxlLFxuICAuI3skcHJlZml4fS0tdGlsZS0tZXhwYW5kYWJsZSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCdvdXRsaW5lJyk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbGUtLXNlbGVjdGFibGUge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJib24tLXNwYWNpbmctMDk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGlsZV9fY2hlY2ttYXJrLFxuICAuI3skcHJlZml4fS0tdGlsZV9fY2hldnJvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aWxlX19jaGVja21hcmsge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB0b3A6IDFyZW07XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHN2ZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBmaWxsOiAkaWNvbi0wMjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ291dGxpbmUnKTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGlsZV9fY2hldnJvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246ICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgICAgZmlsbDogJHVpLTA1O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGlsZS0tZXhwYW5kYWJsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRkdXJhdGlvbi0tbW9kZXJhdGUtMDEgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aWxlLWNvbnRlbnRfX2Fib3ZlLXRoZS1mb2xkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aWxlLWNvbnRlbnRfX2JlbG93LXRoZS1mb2xkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpLFxuICAgICAgdmlzaWJpbGl0eSAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS10aWxlLS1pcy1leHBhbmRlZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZHVyYXRpb24tLWZhc3QtMDIgbW90aW9uKHN0YW5kYXJkLCBwcm9kdWN0aXZlKTtcblxuICAgIC4jeyRwcmVmaXh9LS10aWxlX19jaGV2cm9uIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0tdGlsZS1jb250ZW50X19iZWxvdy10aGUtZm9sZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSksXG4gICAgICAgIHZpc2liaWxpdHkgJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbGUtLWlzLXNlbGVjdGVkIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgJGludGVyYWN0aXZlLTAyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbGUtLWlzLXNlbGVjdGVkIC4jeyRwcmVmaXh9LS10aWxlX19jaGVja21hcmsge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0tdGlsZS1pbnB1dDpjaGVja2VkXG4gICAgKyAuI3skcHJlZml4fS0tdGlsZVxuICAgID4gLiN7JHByZWZpeH0tLXRpbGVfX2NoZWNrbWFya1xuICAgIHN2ZyB7XG4gICAgZmlsbDogJHVpLTA1O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbGUtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXRpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGhpZGRlbjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCd0aWxlJykge1xuICBAaW5jbHVkZSB0aWxlO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92ZW5kb3IvQGNhcmJvbi9lbGVtZW50cy9zY3NzL2ltcG9ydC1vbmNlL2ltcG9ydC1vbmNlJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcblxuQGluY2x1ZGUgZXhwb3J0cygnc2tlbGV0b24tdGV4dCcpIHtcbiAgLiN7JHByZWZpeH0tLXNrZWxldG9uX190ZXh0IHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmJvbi0tc3BhY2luZy0wMztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1za2VsZXRvbl9faGVhZGluZyB7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ3NrZWxldG9uLWljb24nKSB7XG4gIC4jeyRwcmVmaXh9LS1pY29uLS1za2VsZXRvbiB7XG4gICAgQGluY2x1ZGUgc2tlbGV0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gICAgaGVpZ2h0OiByZW0oMTZweCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ3NrZWxldG9uLXBsYWNlaG9sZGVyJykge1xuICAuI3skcHJlZml4fS0tc2tlbGV0b25fX3BsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBza2VsZXRvbjtcbiAgICBoZWlnaHQ6IHJlbSgxMDBweCk7XG4gICAgd2lkdGg6IHJlbSgxMDBweCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5Aa2V5ZnJhbWVzIHN0cm9rZSB7XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0tcmVzZXQnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZlbmRvci9AY2FyYm9uL2VsZW1lbnRzL3Njc3MvaW1wb3J0LW9uY2UvaW1wb3J0LW9uY2UnO1xuQGltcG9ydCAnLi4vbG9hZGluZy9sb2FkaW5nJztcbkBpbXBvcnQgJ2tleWZyYW1lcyc7XG5cbi8vLyBJbmxpbmUgbG9hZGluZyBzdHlsZXNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgaW5saW5lLWxvYWRpbmdcbkBtaXhpbiBpbmxpbmUtbG9hZGluZyB7XG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuI3skcHJlZml4fS0tbG9hZGluZ19fc3ZnIGNpcmNsZSB7XG4gICAgICBzdHJva2Utd2lkdGg6IDEyO1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9LS1sb2FkaW5nX19zdHJva2Uge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDk5O1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZ19fdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGNvbG9yOiAkdGV4dC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZ19fYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZ19fY2hlY2ttYXJrLWNvbnRhaW5lciB7XG4gICAgZmlsbDogJGludGVyYWN0aXZlLTA0O1xuXG4gICAgLy8gRm9yIGRlcHJlY2F0ZWQgb2xkZXIgbWFya3VwXG4gICAgJi4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZ19fc3ZnIHtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjc1cmVtO1xuICAgIH1cblxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZ19fY2hlY2ttYXJrIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogJGludGVyYWN0aXZlLTA0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgc3Ryb2tlLXdpZHRoOiAxLjg7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMTI7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEyO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzdHJva2U7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1pbmxpbmUtbG9hZGluZy0tZXJyb3Ige1xuICAgIGZpbGw6ICRzdXBwb3J0LTAxO1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gICAgaGVpZ2h0OiByZW0oMTZweCk7XG5cbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tbG9hZGluZy0tc21hbGwgLiN7JHByZWZpeH0tLWlubGluZS1sb2FkaW5nX19zdmcge1xuICAgIHN0cm9rZTogJGludGVyYWN0aXZlLTA0O1xuICB9XG4gIC8qIElmIElFMTEgRG9uJ3Qgc2hvdyBjaGVjayBhbmltYXRpb24gKi9cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLFxuICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLiN7JHByZWZpeH0tLWlubGluZS1sb2FkaW5nX19jaGVja21hcmstY29udGFpbmVyIHtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fS0taW5saW5lLWxvYWRpbmdfX2NoZWNrbWFyayB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDA7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2lubGluZS1sb2FkaW5nJykge1xuICBAaW5jbHVkZSBpbmxpbmUtbG9hZGluZztcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdpbmF0aW9uIE5hdlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY29sb3JzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90aGVtZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmVuZG9yL0BjYXJib24vZWxlbWVudHMvc2Nzcy9pbXBvcnQtb25jZS9pbXBvcnQtb25jZSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1yZXNldCc7XG5cbi8vLyBQc2V1ZG8gdW5kZXJsaW5lXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHBhZ2luYXRpb24tbmF2XG5AbWl4aW4gcHNldWRvLXVuZGVybGluZSgpIHtcbiAgJjpub3QoLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19wYWdlLS1kaXJlY3Rpb24pIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW50ZXJhY3RpdmUtMDE7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkY2FyYm9uLS1zcGFjaW5nLTAyO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoICRkdXJhdGlvbi0tZmFzdC0wMiBtb3Rpb24oc3RhbmRhcmQsIHByb2R1Y3RpdmUpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19wYWdlLS1hY3RpdmUgKyAmOjphZnRlcixcbiAgJi4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZS0tYWN0aXZlOjphZnRlciB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAjeyRjYXJib24tLXNwYWNpbmctMDUvMn0pO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6ICRjYXJib24tLXNwYWNpbmctMDU7XG4gIH1cbn1cblxuLy8vIFBhZ2luYXRpb24gbmF2IGJhc2Ugc3R5bGVzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHBhZ2luYXRpb24tbmF2XG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRleHQtY29sb3IgWyR0ZXh0LTAyXVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0ZXh0LWNvbG9yLWFjdGl2ZSBbJHRleHQtMDJdXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtY29sb3ItaG92ZXIgWyRob3Zlci11aV1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1jb2xvci1hY3RpdmUgW2luaXRpYWxdXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXdlaWdodCBbNDAwXVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaXRlbS1wYWRkaW5nIFswXVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYnV0dG9uLW1pbi13aWR0aCBbJGNhcmJvbi0tc3BhY2luZy0wOV1cbi8vLyBAcGFyYW0ge1ZhbHVlfSAkYnV0dG9uLXBhZGRpbmcgWzEuMDYyNXJlbSAkY2FyYm9uLS1zcGFjaW5nLTAyXVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYnV0dG9uLWRpcmVjdGlvbi1zaXplIFskY2FyYm9uLS1zcGFjaW5nLTA5XVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2VsZWN0LWljb24tdG9wLXBvc2l0aW9uIFskY2FyYm9uLS1zcGFjaW5nLTA1XVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2VsZWN0LWljb24tbGVmdC1wb3NpdGlvbiBbJGNhcmJvbi0tc3BhY2luZy0wNV1cbkBtaXhpbiBwYWdpbmF0aW9uLW5hdihcbiAgJHRleHQtY29sb3I6ICR0ZXh0LTAyLFxuICAkdGV4dC1jb2xvci1hY3RpdmU6ICR0ZXh0LTAyLFxuICAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogJGhvdmVyLXVpLFxuICAkYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IGluaXRpYWwsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkaXRlbS1wYWRkaW5nOiAwLFxuICAkYnV0dG9uLW1pbi13aWR0aDogJGNhcmJvbi0tc3BhY2luZy0wOSxcbiAgJGJ1dHRvbi1wYWRkaW5nOiAxLjA2MjVyZW0gJGNhcmJvbi0tc3BhY2luZy0wMixcbiAgJGJ1dHRvbi1kaXJlY3Rpb24tc2l6ZTogJGNhcmJvbi0tc3BhY2luZy0wOSxcbiAgJHNlbGVjdC1pY29uLXRvcC1wb3NpdGlvbjogJGNhcmJvbi0tc3BhY2luZy0wNSxcbiAgJHNlbGVjdC1pY29uLWxlZnQtcG9zaXRpb246ICRjYXJib24tLXNwYWNpbmctMDVcbikge1xuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbi1uYXYge1xuICAgIEBpbmNsdWRlIHJlc2V0O1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fbGlzdCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbi1uYXZfX2xpc3QtaXRlbSB7XG4gICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1yZXNldCgkd2lkdGg6IGZhbHNlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogJGJ1dHRvbi1taW4td2lkdGg7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7XG4gICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uLS1mYXN0LTAyIG1vdGlvbihzdGFuZGFyZCwgcHJvZHVjdGl2ZSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLWhvdmVyO1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJi4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZS0tZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiByZ2JhKCR0ZXh0LWNvbG9yLCAwLjUpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBzZXVkby11bmRlcmxpbmUoKTtcblxuICAgICYuI3skcHJlZml4fS0tcGFnaW5hdGlvbi1uYXZfX3BhZ2UtLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItYWN0aXZlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19pY29uIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZS0tZGlyZWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWRpcmVjdGlvbi1zaXplO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAkYnV0dG9uLWRpcmVjdGlvbi1zaXplO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZS0tc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1heC1oZWlnaHQ6ICRidXR0b24tbWluLXdpZHRoO1xuICAgIHRleHQtaW5kZW50OiBjYWxjKDUwJSAtIDQuNXB4KTtcbiAgICAvLyBPdmVycmlkZSBzb21lIEZpcmVmb3ggdXNlci1hZ2VudCBzdHlsZXNcbiAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19zZWxlY3QtaWNvbi13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIHBzZXVkby11bmRlcmxpbmUoKTtcblxuICAgIC4jeyRwcmVmaXh9LS1wYWdpbmF0aW9uLW5hdl9fcGFnZS0tYWN0aXZlICsgJiB7XG4gICAgICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbi1uYXZfX3NlbGVjdC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFnaW5hdGlvbi1uYXZfX3NlbGVjdC1pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHNlbGVjdC1pY29uLXRvcC1wb3NpdGlvbi8yfSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAjeyRzZWxlY3QtaWNvbi10b3AtcG9zaXRpb24vMn0pO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXBhZ2luYXRpb24tbmF2X19hY2Nlc3NpYmlsaXR5LWxhYmVsIHtcbiAgICBAaW5jbHVkZSBoaWRkZW4oKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdwYWdpbmF0aW9uLW5hdicpIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1uYXY7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLWNsYXNzZXMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICd0aGVtZSc7XG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuXG4vLy8gVUkgc2hlbGwgaGVhZGVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG5AbWl4aW4gY2FyYm9uLWhlYWRlciB7XG4gIC4jeyRwcmVmaXh9LS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDE7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzaGVsbC1oZWFkZXItYm9yZGVyLTAxO1xuICAgIHotaW5kZXg6IHooJ2hlYWRlcicpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24tcmVzZXQoKTtcbiAgICB3aWR0aDogbWluaS11bml0cyg2KTtcbiAgICBoZWlnaHQ6IG1pbmktdW5pdHMoNik7XG4gICAgYm9yZGVyOiByZW0oMnB4KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMixcbiAgICAgIGJvcmRlci1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb25cbiAgICA+IHN2Zy4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLW1lbnUtcGFuZWwtY29sbGFwc2UtaWNvbixcbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fYWN0aW9uLS1hY3RpdmVcbiAgICA+IHN2Zy4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLW1lbnUtcGFuZWwtZXhwYW5kLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb24tLWFjdGl2ZVxuICAgID4gc3ZnLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbWVudS1wYW5lbC1jb2xsYXBzZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb25cbiAgICA+IHN2Zy4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLW1lbnUtcGFuZWwtY29sbGFwc2UtaWNvbixcbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fYWN0aW9uLS1hY3RpdmVcbiAgICA+IHN2Zy4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLW1lbnUtcGFuZWwtZXhwYW5kLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb24tLWFjdGl2ZVxuICAgID4gc3ZnLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbWVudS1wYW5lbC1jb2xsYXBzZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb24tLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2hlbGwtaGVhZGVyLWJvcmRlci0wMTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkc2hlbGwtaGVhZGVyLWJvcmRlci0wMTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNoZWxsLWhlYWRlci1iZy0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXJfX2FjdGlvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19hY3Rpb246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWJnLTAzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fYWN0aW9uID4gc3ZnIHtcbiAgICBmaWxsOiAkc2hlbGwtaGVhZGVyLWljb24tMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRyaWdnZXIge1xuICAgIG1hcmdpbi1yaWdodDogcmVtKC04cHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS10cmlnZ2VyID4gc3ZnIHtcbiAgICBmaWxsOiAkc2hlbGwtaGVhZGVyLWljb24tMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRyaWdnZXI6aG92ZXIge1xuICAgIGZpbGw6ICRzaGVsbC1oZWFkZXItYmctMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRvZ2dsZV9faGlkZGVuIHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlYWRlciAtIE5hbWVcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbmFtZSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnYm9keS1zaG9ydC0wMScpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCBtaW5pLXVuaXRzKDQpIDAgbWluaS11bml0cygyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm9yZGVyOiByZW0oMnB4KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbmFtZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWZvY3VzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbmFtZS0tcHJlZml4IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX25hbWUsXG4gIGEuI3skcHJlZml4fS0taGVhZGVyX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogJHNoZWxsLWhlYWRlci10ZXh0LTAxO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBOYXZpZ2F0aW9uXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbmF2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludC1kb3duKCdsZycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBoZWlnaHQ6IHJlbSgyNHB4KTtcbiAgICAgIHdpZHRoOiByZW0oMXB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYm9yZGVyLTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtYmFyW3JvbGU9J21lbnViYXInXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtW3JvbGU9J21lbnVpdGVtJ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHNoZWxsLWhlYWRlci10ZXh0LTAyO1xuICAgIHBhZGRpbmc6IDAgbWluaS11bml0cygyKTtcbiAgICAvLyBVc2VkIGZvciBsaW5rcyB0aGF0IGFyZSBkaXJlY3RseSBpbiB0aGUgbWVudWJhciB0byBzcGFuIHRoZSBmdWxsIGhlaWdodFxuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBUZXh0IHN0eWxlc1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgxOHB4KTtcbiAgICAvLyBSZXNldCBsaW5rIHN0eWxlcyBhbmQgbWFrZSBzdXJlIHRoZSB0ZXh0IGlzbid0IHNlbGVjdGFibGVcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLy8gVXNlZCBmb3IgZm9jdXMgc3R5bGVzXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIsXG4gICAgICBib3JkZXItY29sb3IgJGR1cmF0aW9uLS1mYXN0LTAyLCBjb2xvciAkZHVyYXRpb24tLWZhc3QtMDI7XG4gIH1cblxuICBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtW3JvbGU9J21lbnVpdGVtJ106aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDI7XG4gICAgY29sb3I6ICRzaGVsbC1oZWFkZXItdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXJfX2FjdGlvbjphY3RpdmUsXG4gIGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDM7XG4gICAgY29sb3I6ICRzaGVsbC1oZWFkZXItdGV4dC0wMTtcbiAgfVxuXG4gIGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWZvY3VzO1xuICAgIGNvbG9yOiAkc2hlbGwtaGVhZGVyLXRleHQtMDE7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTpob3ZlciA+IHN2ZyxcbiAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddOmFjdGl2ZSA+IHN2ZyxcbiAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddOmZvY3VzID4gc3ZnIHtcbiAgICBmaWxsOiAkc2hlbGwtaGVhZGVyLWljb24tMDE7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1oYXNwb3B1cD0ndHJ1ZSddIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWJnLTA2O1xuICAgIGNvbG9yOiAkc2hlbGwtaGVhZGVyLWZvY3VzO1xuICAgIC8vIE5vdGU6IG5lZWRzIHRvIGJlIGhpZ2hlciB0aGFuIG1lbnUuIEFkZGluZyAxIGhlcmUgaW5zdGVhZCBvZiBtb3ZpbmcgdG9cbiAgICAvLyB0aGUgbmV4dCBsZXZlbC5cbiAgICB6LWluZGV4OiAje3ooJ2hlYWRlcicpICsgMX07XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgPiAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudVtyb2xlPSdtZW51J10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgKyAuI3skcHJlZml4fS0taGVhZGVyX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogbWluaS11bml0cygyNSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLWhlYWRlci1iZy0wNjtcbiAgICBib3gtc2hhZG93OiAwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgei1pbmRleDogeignaGVhZGVyJyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgKyAuI3skcHJlZml4fS0taGVhZGVyX19tZW51XG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtaGVhZGVyLWJnLTA0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS10aXRsZVtyb2xlPSdtZW51aXRlbSddW2FyaWEtZXhwYW5kZWQ9J3RydWUnXVxuICAgICsgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudVxuICAgIC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDM7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51IC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddIHtcbiAgICBoZWlnaHQ6IG1pbmktdW5pdHMoNik7XG4gIH1cblxuICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51XG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtW3JvbGU9J21lbnVpdGVtJ106aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDY7XG4gICAgY29sb3I6ICRzaGVsbC1oZWFkZXItdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtYXJyb3cge1xuICAgIGZpbGw6ICRzaGVsbC1oZWFkZXItaWNvbi0wMztcbiAgICBtYXJnaW4tbGVmdDogbWluaS11bml0cygxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAyLCBmaWxsICRkdXJhdGlvbi0tZmFzdC0wMjtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVhZGVyIC0gR2xvYmFsXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWhlYWRlcl9fZ2xvYmFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleDogMSAxIDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVhZGVyIC0gU2tpcCB0byBjb250ZW50XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXNraXAtdG8tY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2tpcC10by1jb250ZW50OmZvY3VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGNsaXA6IGF1dG87XG4gICAgYm9yZGVyOiA0cHggc29saWQgJGlibS1jb2xvcl9fYmx1ZS02MDtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1oZWFkZXItYmctMDE7XG4gICAgY29sb3I6ICRzaGVsbC1oZWFkZXItdGV4dC0wMTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjYXJib24taGVhZGVyJykge1xuICBAaWYgZmVhdHVyZS1mbGFnLWVuYWJsZWQoJ3VpLXNoZWxsJykge1xuICAgIEBpbmNsdWRlIGNhcmJvbi1oZWFkZXI7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLy8gR2V0IGEgYHJlbWAgdmFsdWUgYmFzZWQgZm9yIGEgbnVtYmVyIG9mIG1pbmktdW5pdHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb3VudFxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEluIHJlbVxuLy8vIEBncm91cCB1aS1zaGVsbFxuQGZ1bmN0aW9uIG1pbmktdW5pdHMoJGNvdW50KSB7XG4gIEByZXR1cm4gJHVuaXQgKiAkY291bnQ7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2NvbG9ycyc7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyIHRva2Vuc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gSGVhZGVyIGJhciBiYWNrZ3JvdW5kXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1oZWFkZXItYmctMDE6ICRjYXJib24tLWdyYXktMTAwO1xuXG4vLy8gSGVhZGVyIG1lbnUgdHJpZ2dlciBob3ZlciwgSGVhZGVyIG5hdiBsaW5rIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1oZWFkZXItYmctMDI6ICMyYzJjMmM7IC8vVE9ETyBuZWVkcyBjb2xvciB2YXIgZ3JheS0xMDAtaG92ZXJcblxuLy8vIEhlYWRlciBhY3Rpb24gYWN0aXZlIGJhY2tncm91bmRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci1iZy0wMzogJGNhcmJvbi0tZ3JheS04MDtcblxuLy8vIEhlYWRlciBzdWJtZW51IGxpbmsgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci1iZy0wNDogIzM1MzUzNTsgLy9UT0RPIG5lZWRzIGNvbG9yIHZhciBncmF5LTkwLWhvdmVyXG5cbi8vLyBIZWFkZXIgbmF2IGxpbmsgYWN0aXZlIGFuZCBmb2N1cyBiYWNrZ3JvdW5kXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1oZWFkZXItYmctMDU6ICRjYXJib24tLWdyYXktNzA7XG5cbi8vLyBIZWFkZXIgbmF2IGxpbmsgc3VibWVudVxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtaGVhZGVyLWJnLTA2OiAkY2FyYm9uLS1ncmF5LTkwO1xuXG4vLy8gSGVhZGVyIGJvcmRlciBib3R0b21cbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci1ib3JkZXItMDE6ICRjYXJib24tLWdyYXktODA7XG5cbi8vLyBIZWFkZXIgZm9jdXNcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci1mb2N1czogJGNhcmJvbi0td2hpdGUtMDtcblxuLy8vIFByaW1hcnkgdGV4dCBpbiBoZWFkZXIsIFRpdGxlIHRleHRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci10ZXh0LTAxOiAkY2FyYm9uLS1ncmF5LTEwO1xuXG4vLy8gU2Vjb25kYXJ5IHRleHQgaW4gaGVhZGVyLCBNZW51IGl0ZW0gbmF2IHRleHRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci10ZXh0LTAyOiAkY2FyYm9uLS1ncmF5LTMwO1xuXG4vLy8gSGVhZGVyIG1lbnUgdHJpZ2dlclxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtaGVhZGVyLWljb24tMDE6ICRjYXJib24tLWdyYXktMTA7XG5cbi8vLyBIZWFkZXIgYmFyIGljb25zXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1oZWFkZXItaWNvbi0wMjogJGNhcmJvbi0td2hpdGUtMDtcblxuLy8vIEhlYWRlciBiYXIgaWNvbnNcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLWhlYWRlci1pY29uLTAzOiAkY2FyYm9uLS1ncmF5LTMwO1xuXG4vLy8gSXRlbSBsaW5rXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1oZWFkZXItbGluazogJGNhcmJvbi0tYmx1ZS02MDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWFkZXIgUGFuZWwgdG9rZW5zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEhlYWRlci1wYW5lbCBiYWNrZ3JvdW5kXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1wYW5lbC1iZy0wMTogJGNhcmJvbi0tZ3JheS0xMDA7XG5cbi8vLyBQYW5lbCBpdGVtIGhvdmVyIGJhY2tncm91bmRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLXBhbmVsLWJnLTAyOiAjMmMyYzJjOyAvL1RPRE8gbmVlZHMgY29sb3IgdmFyIGdyYXktMTAwLWhvdmVyXG5cbi8vLyBQYW5lbCBpdGVtIGZvY3VzIGFuZCBhY3RpdmUgYmFja2dyb3VuZFxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtcGFuZWwtYmctMDM6ICRjYXJib24tLWdyYXktODA7XG5cbi8vLyBQYW5lbCBpdGVtIGxpbmsgc2VsZWN0ZWQgYmFja2dyb3VuZFxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtcGFuZWwtYmctMDQ6ICRjYXJib24tLWdyYXktOTA7XG5cbi8vLyBQYW5lbCBib3JkZXJcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLXBhbmVsLWJvcmRlcjogJGNhcmJvbi0tZ3JheS04MDtcblxuLy8vIEhlYWRlciBwYW5lbCB0ZXh0XG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1wYW5lbC10ZXh0LTAxOiAkY2FyYm9uLS1ncmF5LTMwO1xuXG4vLy8gSGVhZGVyIHBhbmVsIHNlY29uZGFyeSB0ZXh0XG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1wYW5lbC10ZXh0LTAyOiAkY2FyYm9uLS1ncmF5LTEwO1xuXG4vLy8gSGVhZGVyIHBhbmVsIGZvY3VzIGJvcmRlclxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtcGFuZWwtZm9jdXM6ICRjYXJib24tLXdoaXRlLTA7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2lkZSBuYXYgdG9rZW5zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vLyBTaWRlLW5hdiBwYW5lbCBiYWNrZ3JvdW5kXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1zaWRlLW5hdi1iZy0wMTogJGNhcmJvbi0td2hpdGUtMDtcblxuLy8vIFNlbGVjdGVkIGNhdGVnb3J5IGJhY2tncm91bmRcbi8vLyBTZWxlY3QgTDIgZmxhdHRlZCBpdGVtIGJhY2tncm91bmRcbi8vLyBJdGVtIGFjdGl2ZSBiYWNrZ3JvdW5kXG4vLy8gRm9vdGVyLWJhciBiYWNrZ3JvdW5kXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1zaWRlLW5hdi1iZy0wMjogJGNhcmJvbi0tZ3JheS04MDsgLy9UT0RPIHdhaXRpbmcgZm9yIHVwZGF0ZWQgY29sb3JcblxuLy8vIFNlbGVjdGVkIEwyIG5lc3RlZCBpdGVtXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1zaWRlLW5hdi1iZy0wMzogJGlibS1jb2xvcl9fZ3JheS03MDsgLy9UT0RPIHdhaXRpbmcgZm9yIHVwZGF0ZWQgY29sb3JcblxuLy8vIFNpZGUgbmF2IGl0ZW0gaG92ZXIgYmFja2dyb3VuZFxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtc2lkZS1uYXYtYmctMDQ6ICNlNWU1ZTU7IC8vVE9ETyBuZWVkcyBjb2xvciB2YXIgZ3JheS05MC1ob3ZlclxuXG4vLy8gU2lkZSBuYXYgbWVudSBpdGVtIGhvdmVyIGJhY2tncm91bmRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLXNpZGUtbmF2LWJnLTA1OiAjZGNkY2RjOyAvL1RPRE8gbmVlZHMgY29sb3IgdmFyIGdyYXktODAtaG92ZXJcblxuLy8vIFByaW1hcnkgdGV4dCBpbiBzaWRlLW5hdlxuLy8vIEwyIEZsYXR0ZW4gaXRlbSB0ZXh0XG4vLy8gTDIgTmVzdGVkIGl0ZW0gdGV4dFxuLy8vIEwxIHRpdGxlIHRleHRcbi8vLyBAdHlwZSBDb2xvclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuJHNoZWxsLXNpZGUtbmF2LXRleHQtMDE6ICRpYm0tY29sb3JfX2dyYXktNzA7IC8vVE9ETyB3YWl0aW5nIGZvciB1cGRhdGVkIGNvbG9yXG5cbi8vLyBTZWNvbmRhcnkgdGV4dCBpbiBzaWRlIG5hdlxuLy8vIEwyIENhdGVnb3J5IGxhYmVsXG4vLy8gQHR5cGUgQ29sb3Jcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbiRzaGVsbC1zaWRlLW5hdi10ZXh0LTAyOiAkaWJtLWNvbG9yX19ncmF5LTMwO1xuXG4vLy8gU2lkZS1uYXYgaWNvbiBjb2xvclxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtc2lkZS1uYXYtaWNvbi0wMTogJGlibS1jb2xvcl9fZ3JheS03MDtcblxuLy8vIEl0ZW0gaGlnaGxpZ2h0IGJhclxuLy8vIEB0eXBlIENvbG9yXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4kc2hlbGwtc2lkZS1uYXYtYWNjZW50LTAxOiAkaWJtLWNvbG9yX19ibHVlLTYwO1xuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLWhlbHBlcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndGhlbWUnO1xuXG4vLy8gVUkgc2hlbGwgc2lkZSBuYXZcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbkBtaXhpbiBjYXJib24taGVhZGVyLXBhbmVsIHtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlYWRlciBQYW5lbFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLWhlYWRlci1wYW5lbCB7XG4gICAgQGluY2x1ZGUgY2FyYm9uLS1tb3Rpb24oZXhpdCwgcHJvZHVjdGl2ZSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogY2FyYm9uLS1taW5pLXVuaXRzKDYpO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtcGFuZWwtYmctMDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjExcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IHooJ2hlYWRlcicpO1xuICAgIGNvbG9yOiAkc2hlbGwtcGFuZWwtdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXItcGFuZWwtLWV4cGFuZGVkIHtcbiAgICB3aWR0aDogY2FyYm9uLS1taW5pLXVuaXRzKDMyKTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRzaGVsbC1wYW5lbC1ib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHNoZWxsLXBhbmVsLWJvcmRlcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjYXJib24taGVhZGVyLXBhbmVsJykge1xuICBAaWYgZmVhdHVyZS1mbGFnLWVuYWJsZWQoJ3VpLXNoZWxsJykge1xuICAgIEBpbmNsdWRlIGNhcmJvbi1oZWFkZXItcGFuZWw7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ3RoZW1lJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbi8vLyBVSSBzaGVsbCBwcm9kdWN0IHN3aXRjaGVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG5AbWl4aW4gcHJvZHVjdC1zd2l0Y2hlciB7XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR2xvYmFsIFBhbmVsXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXBhbmVsLS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiBtaW5pLXVuaXRzKDYpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogbWluaS11bml0cygzMik7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXBhbmVsLWJnLTAxO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTFzIGN1YmljLWJlemllcigwLjIsIDAsIDAuMzgsIDAuOSk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcGFuZWwtLWV4cGFuZGVkIHtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgkY2FyYm9uLS1ibGFjay0xMDAsIDAuMjUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFN3aXRjaGVyIC0gU2VhcmNoXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX3NlYXJjaCB7XG4gICAgcGFkZGluZzogMCBtaW5pLXVuaXRzKDIpO1xuICAgIG1hcmdpbi1ib3R0b206IG1pbmktdW5pdHMoMyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2VhcmNoLS1zaGVsbCBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmJvbi0tZ3JheS0yMDtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3dpdGNoZXIgLSBCdXR0b25zXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX3N1YmhlYWRlcixcbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX2FsbC1idG4ge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBwYWRkaW5nOiBtaW5pLXVuaXRzKDEpO1xuICAgIGNvbG9yOiAkc2hlbGwtcGFuZWwtdGV4dC0wMTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LXN3aXRjaGVyX19zdWJoZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogbWluaS11bml0cyg3KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LXN3aXRjaGVyX19hbGwtYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1pbmktdW5pdHMoNyk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fYWxsLWJ0bixcbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX2JhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2hlbGwtaGVhZGVyLWxpbms7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fYWxsLWJ0bjpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX2JhY2stYnRuOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LXN3aXRjaGVyX19hbGwtYnRuOmZvY3VzLFxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fYmFjay1idG46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICRzaGVsbC1oZWFkZXItbGluaztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LXN3aXRjaGVyX19iYWNrLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBwYWRkaW5nOiBtaW5pLXVuaXRzKDEpIG1pbmktdW5pdHMoMik7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fYmFjay1hcnJvdyB7XG4gICAgZmlsbDogJHNoZWxsLWhlYWRlci1saW5rO1xuICAgIG1hcmdpbi1yaWdodDogbWluaS11bml0cygyKTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3dpdGNoZXIgLSBQcm9kdWN0IExpc3RcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1saXN0X19pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LWxpc3RfX2l0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJib24tLWdyYXktMjA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiBtaW5pLXVuaXRzKDEpIG1pbmktdW5pdHMoMik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3QtbGluazpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggJHNoZWxsLWhlYWRlci1saW5rO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogbWluaS11bml0cygyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LWxpbmtfX25hbWUge1xuICAgIEBpbmNsdWRlIHR5cGUtc3R5bGUoJ2JvZHktc2hvcnQtMDEnKTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkc2hlbGwtaGVhZGVyLXRleHQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fcHJvZHVjdC1saXN0IC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IG1pbmktdW5pdHMoNSk7XG5cbiAgICAmLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUtLW9wZW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fcHJvZHVjdC1saXN0IC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51ID4gc3ZnIHtcbiAgICBmaWxsOiAkc2hlbGwtaGVhZGVyLXRleHQtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tcHJvZHVjdC1zd2l0Y2hlcl9fcHJvZHVjdC1saXN0IC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyYm9uLS1ncmF5LTMwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX3Byb2R1Y3QtbGlzdFxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51OmhvdmVyXG4gICAgPiBzdmcge1xuICAgIGZpbGw6ICRzaGVsbC1oZWFkZXItdGV4dC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LXN3aXRjaGVyX19wcm9kdWN0LWxpc3QgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnU6Zm9jdXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggJHNoZWxsLWhlYWRlci1saW5rO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXByb2R1Y3Qtc3dpdGNoZXJfX3Byb2R1Y3QtbGlzdFxuICAgIC4jeyRwcmVmaXh9LS1vdmVyZmxvdy1tZW51LW9wdGlvbnNfX29wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhcmJvbi0td2hpdGUtMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1wcm9kdWN0LWxpc3RfX2l0ZW06aG92ZXIgLiN7JHByZWZpeH0tLW92ZXJmbG93LW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cygncHJvZHVjdC1zd2l0Y2hlcicpIHtcbiAgQGlmIGZlYXR1cmUtZmxhZy1lbmFibGVkKCd1aS1zaGVsbCcpIHtcbiAgICBAaW5jbHVkZSBwcm9kdWN0LXN3aXRjaGVyO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2LCAyMDE4XG4vL1xuLy8gVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlLTIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuLy9cblxuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2Nzcy0taGVscGVycyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvaGVscGVyLW1peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvbGF5b3V0JztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd0aGVtZSc7XG5cbi8vLyBVSSBzaGVsbCBzaWRlIG5hdlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBncm91cCB1aS1zaGVsbFxuQG1peGluIGNhcmJvbi1zd2l0Y2hlciB7XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgU3dpdGNoZXJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1zd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRzaGVsbC1wYW5lbC10ZXh0LTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN3aXRjaGVyX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzcGFjaW5nLTA3O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXN3aXRjaGVyX19pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMDU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3dpdGNoZXJfX2l0ZW0tLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiByZW0oMjI0cHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogJHNwYWNpbmctMDMgJHNwYWNpbmctMDU7XG4gICAgYmFja2dyb3VuZDogJHNoZWxsLXBhbmVsLWJvcmRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc3dpdGNoZXJfX2l0ZW0tbGluayB7XG4gICAgQGluY2x1ZGUgY2FyYm9uLS10eXBlLXN0eWxlKCdoZWFkaW5nLTAxJyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3BhY2luZy0wNztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogcmVtKDZweCkgJHNwYWNpbmctMDU7XG4gICAgY29sb3I6ICRzaGVsbC1wYW5lbC10ZXh0LTAxO1xuXG4gICAgJjpob3Zlcjpub3QoLiN7JHByZWZpeH0tLXN3aXRjaGVyX19pdGVtLWxpbmstLXNlbGVjdGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2hlbGwtcGFuZWwtYmctMDI7XG4gICAgICBjb2xvcjogJHNoZWxsLXBhbmVsLXRleHQtMDI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgJHNoZWxsLXBhbmVsLWZvY3VzO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHNoZWxsLXBhbmVsLWJnLTAzO1xuICAgICAgY29sb3I6ICRzaGVsbC1wYW5lbC10ZXh0LTAyO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zd2l0Y2hlcl9faXRlbS1saW5rLS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJHNoZWxsLXBhbmVsLWJnLTA0O1xuICAgIGNvbG9yOiAkc2hlbGwtcGFuZWwtdGV4dC0wMjtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjYXJib24taGVhZGVyLXN3aXRjaGVyJykge1xuICBAaWYgZmVhdHVyZS1mbGFnLWVuYWJsZWQoJ3VpLXNoZWxsJykge1xuICAgIEBpbmNsdWRlIGNhcmJvbi1zd2l0Y2hlcjtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9jc3MtLWhlbHBlcnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2hlbHBlci1taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL2xheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvdmFycyc7XG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndGhlbWUnO1xuXG4vLy8gSGVscGVyIHRvIGFkZCBpbiB0ZXh0IG92ZXJmbG93IHN0eWxlcyB0byBhIHBhcnRpY3VsYXIgbm9kZS4gVXNlZnVsIGlmIHdlXG4vLy8gZG9uJ3Qgd2FudCB0byBoYXZlIGRpc3BsYXktaW5saW5lOiBibG9jayBmcm9tIHRoZSB0ZXh0IGhlbHBlciBjbGFzc2VzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1jdXN0b20tc2VsZWN0b3Ige1xuLy8vICAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4vLy8gICB9XG5AbWl4aW4gdGV4dC1vdmVyZmxvdyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLy8gSGVscGVyIGZvciBoYW5kbGluZyBzZWxlY3RvcnMgZm9yIHRoZSBleHBhbnNpb24gc3RhdGUgb2YgdGhlIHNpZGUtbmF2LlxuLy8vIFRoaXMgaGVscGVyIG1ha2VzIGl0IGVhc2llciB0byB3cml0ZSBjb2RlIGZvciBjaGlsZHJlbiB0aGF0IG5lZWQgdG8gcmVzcG9uZFxuLy8vIHRvIHdoZXRoZXIgdGhlIHNpZGUtbmF2IGlzIG9wZW4sIG9yIGNsb3NlZC4gRm9yIGNvbnZlbmllbmNlLCB3ZSBhbHNvXG4vLy8gb3B0aW9uYWxseSBzZXQgcHJvcGVydGllcyBmb3Igb3BhY2l0eSBhbmQgdmlzaWJpbGl0eSB0byBoZWxwIHdpdGggdGhlXG4vLy8gdHJhbnNpdGlvbiBhbmltYXRpb24uXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG4vLy8gQHBhcmFtIHtCb29sfSAkb3BhY2l0eSBbZmFsc2VdXG4vLy8gQHBhcmFtIHtCb29sfSAkdmlzaWJpbGl0eSBbZmFsc2VdXG4vLy8gQGNvbnRlbnRcbkBtaXhpbiBleHBhbmRlZCgkb3BhY2l0eTogZmFsc2UsICR2aXNpYmlsaXR5OiBmYWxzZSkge1xuICBAaWYgJG9wYWNpdHkgPT0gdHJ1ZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpZiAkdmlzaWJpbGl0eSA9PSB0cnVlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXY6aG92ZXIgJixcbiAgLy8gSW5jbHVkZSB0aGUgZml4ZWQgdmFyaWFudCBoZXJlIHNvIGNvbXBvbmVudHMgY2FuIHJlbmRlciBpbiBib3RoIGV4cGFuZGFibGVcbiAgLy8gYW5kIGZpeGVkIHNpZGUgbmF2c1xuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWZpeGVkICYsXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tZXhwYW5kZWQgJiB7XG4gICAgQGlmICR2aXNpYmlsaXR5ID09IHRydWUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgQGlmICRvcGFjaXR5ID09IHRydWUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFVJIHNoZWxsIHNpZGUgbmF2XG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG5AbWl4aW4gY2FyYm9uLXNpZGUtbmF2IHtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNpZGUtbmF2ID4gUGFuZWxcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLlxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IG1pbmktdW5pdHMoNik7XG4gICAgbWF4LXdpZHRoOiBtaW5pLXVuaXRzKDMyKTtcbiAgICBjb2xvcjogJHNoZWxsLXNpZGUtbmF2LXRleHQtMDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXNpZGUtbmF2LWJnLTAxO1xuICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcbiAgICAvLyBUT0RPOiBzeW5jIHdpdGggbW90aW9uIHdvcmtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjExcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAxLCAwLjkpO1xuICAgIC8vIFVzZWZ1bCB0byB0b2dnbGUgdGhpcyBwcm9wZXJ0eSB0byBzZWUgd2hhdCdzIGdvaW5nIG9uIHdoZW4gbm90IGV4cGFuZGVkXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiB6KCdoZWFkZXInKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tdXgge1xuICAgIHRvcDogJHNwYWNpbmctMDk7XG4gICAgd2lkdGg6IG1pbmktdW5pdHMoMzIpO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50LWRvd24oJ2xnJykge1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJhaWxcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVXNlZCBmb3IgcmVuZGVyaW5nIHRoZSBhY3R1YWwgc2lkZSByYWlsLiBUaGVyZSBhcmUgdHdvIHN0YXRlcyB0aGF0IHdlIGhhdmVcbiAgLy8gdG8gc3R5bGUgZm9yLCBuYW1lbHkgZm9yIHdoZW4gdGhlIHJhaWwgaXMgY29sbGFwc2VkIGFuZCBleHBhbmRlZC4gV2hlblxuICAvLyBjb2xsYXBzZWQsIHRoZSByYWlsIGlzIGludGVuZGVkIHRvIGV4cGFuZCBvbiBtb3VzZSBvdmVyLiBXaGVuIGV4cGFuZGVkLCBpdFxuICAvLyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb25zIGFzIHdoZW4gZXhwYW5kZWQgb24gbW91c2Ugb3ZlclxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tcmFpbCB7XG4gICAgd2lkdGg6IG1pbmktdW5pdHMoNik7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWhpZGRlbiB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXY6bm90KC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tZml4ZWQpOmhvdmVyLFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWV4cGFuZGVkIHtcbiAgICB3aWR0aDogbWluaS11bml0cygzMik7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSg0OHB4KTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLS1leHBhbnNpb24gJGNhcmJvbi0tc3RhbmRhcmQtZWFzaW5nLFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi0tZXhwYW5zaW9uICRjYXJib24tLXN0YW5kYXJkLWVhc2luZztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fb3ZlcmxheS1hY3RpdmUge1xuICAgIEBpbmNsdWRlIGNhcmJvbi0tYnJlYWtwb2ludC1kb3duKCdsZycpIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvdmVybGF5LTAxO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tLWV4cGFuc2lvbiAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmcsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tLWV4cGFuc2lvbiAkY2FyYm9uLS1zdGFuZGFyZC1lYXNpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gV2hlbiB1c2VkIGFsb25nc2lkZSB0aGUgaGVhZGVyLCB3ZSB1cGRhdGUgdGhlIGB0b3BgIHBvc2l0aW9uaW5nIHNvIHRoYXQgd2VcbiAgLy8gY2FuIGZpdCBib3RoIHdpZGdldHMgb24gdGhlIHNhbWUgcGFnZSB3aXRob3V0IG92ZXJsYXBwaW5nLlxuICAuI3skcHJlZml4fS0taGVhZGVyIH4gLiN7JHByZWZpeH0tLXNpZGUtbmF2IHtcbiAgICB0b3A6IG1pbmktdW5pdHMoNik7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tZml4ZWQge1xuICAgIHdpZHRoOiBtaW5pLXVuaXRzKDMyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tY29sbGFwc2VkIHtcbiAgICB3aWR0aDogbWluaS11bml0cygzMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKG1pbmktdW5pdHMoLTMyKSk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2lkZS1uYXYgPiBOYXZpZ2F0aW9uXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2lkZS1uYXYgPiBOYXZpZ2F0aW9uID4gSGVhZGVyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNoZWxsLXNpZGUtbmF2LWJnLTAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogbWluaS11bml0cyg2KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBleHBhbmRlZCgpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLXV4IC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faGVhZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2lkZS1uYXYgPiBOYXZpZ2F0aW9uID4gSGVhZGVyID4gRGV0YWlsc1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy1yaWdodDogbWluaS11bml0cygyKTtcbiAgICAvLyBOZWNlc3NhcnkgZm9yIHRleHQgdHJ1bmNhdGlvbiBpbiB0aXRsZVxuICAgIC8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZmxleGJveC10cnVuY2F0ZWQtdGV4dC8jYXJ0aWNsZS1oZWFkZXItaWQtM1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgQGluY2x1ZGUgZXhwYW5kZWQoJG9wYWNpdHk6IHRydWUsICR2aXNpYmlsaXR5OiB0cnVlKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tdXggLiN7JHByZWZpeH0tLXNpZGUtbmF2X19kZXRhaWxzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG5cbiAgICAvLyBUT0RPOiBzeW5jIHdpdGggdHlwZSBzdHlsZXNcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgICBtYXJnaW4tdG9wOiBtaW5pLXVuaXRzKDIpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gU3luYyB1cCBiZXR3ZWVuIG91ciB0aXRsZSBhbmQgc2VsZWN0IGZpZWxkIHRvIGdldCBwb3NpdGlvbiBsb2dpYyBmb3JcbiAgLy8gdGV4dFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3RpdGxlLFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3NlbGVjdCB7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDEpO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNpZGUtbmF2ID4gTmF2aWdhdGlvbiA+IEhlYWRlciA+IFN3aXRjaGVyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3N3aXRjaGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3dpdGNoZXItY2hldnJvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IG1pbmktdW5pdHMoMSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGZpbGw6ICRzaGVsbC1zaWRlLW5hdi1pY29uLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLWhlYWRlci1iZy0wMTtcbiAgICBjb2xvcjogJHNoZWxsLWhlYWRlci10ZXh0LTAxO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDQpO1xuICAgIC8vIEZsZXggYnVnLCB1c2VkIHRvIGhhdmUgdGhlIHNlbGVjdCBub2RlIHJlc3BlY3QgdGhlIHdpZHRoIGlmIGEgY2hpbGQgaGFzIGFcbiAgICAvLyB2YWx1ZSB0aGF0IGlzIGxvbmdlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgc2VsZWN0XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIC8vIEJ1ZmZlciB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHNlbGVjdCBzbyB0ZXh0IGRvZXNuJ3Qgb3ZlcmxheSB0aGUgY2hldnJvblxuICAgIHBhZGRpbmctcmlnaHQ6IG1pbmktdW5pdHMoNCk7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3NlbGVjdDpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNpZGUtbmF2ID4gTmF2aWdhdGlvbiA+IEZvb3RlclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19mb290ZXIge1xuICAgIGZsZXg6IDAgMCByZW0oNDhweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXNpZGUtbmF2LWJnLTAxO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X190b2dnbGUge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCR3aWR0aDogdHJ1ZSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZSAkZHVyYXRpb24tLWZhc3QtMDI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3RvZ2dsZTpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X190b2dnbGUge1xuICAgIHBhZGRpbmctbGVmdDogbWluaS11bml0cygyKTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaWRlLW5hdiA+IE5hdmlnYXRpb24gPiBJdGVtKHMpXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW1zIHtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMDtcblxuICAgIEBpbmNsdWRlIGV4cGFuZGVkKCkge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLXV4IC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbXMge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAvLyBGb3JjZSBhbGwgb2Ygb3VyIHNpZGUgbmF2aWdhdGlvbiBpdGVtcyB0byBiZSB0aGUgc2FtZSBkaW1lbnNpb25zLiBXaGVuIG91clxuICAvLyBtZW51IGV4cGFuZHMsIHdlIGNhbiB1bmRvIHRoZSBmb3JjZWQgZGltZW5zaW9ucy5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtIHtcbiAgICB3aWR0aDogbWluaS11bml0cyg2KTtcbiAgICBoZWlnaHQ6IG1pbmktdW5pdHMoNik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGV4cGFuZGVkKCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2LS11eCAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW0ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbTpub3QoLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtLS1hY3RpdmUpOmhvdmVyXG4gICAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtOm5vdCguI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW0tLWFjdGl2ZSlcbiAgICA+IC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudTpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtOm5vdCguI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW0tLWFjdGl2ZSlcbiAgICA+IC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGluazpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19tZW51W3JvbGU9J21lbnUnXVxuICAgIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmtbcm9sZT0nbWVudWl0ZW0nXTpub3QoLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rLS1jdXJyZW50KTpub3QoW2FyaWEtY3VycmVudD0ncGFnZSddKTpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2IGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTpob3ZlcixcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2XG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS10aXRsZVtyb2xlPSdtZW51aXRlbSddW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTpob3ZlciB7XG4gICAgLy8gVE9ETzogc3luYyBjb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGVsbC1zaWRlLW5hdi1iZy0wNDtcbiAgICBjb2xvcjogJGlibS1jb2xvcl9fZ3JheS0xMDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW06bm90KC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tYWN0aXZlKVxuICAgID4gLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rOmhvdmVyXG4gICAgPiBzcGFuLFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2l0ZW06bm90KC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tYWN0aXZlKVxuICAgIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbWVudS1pdGVtXG4gICAgPiAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbms6aG92ZXJcbiAgICA+IHNwYW4ge1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX19ncmF5LTEwMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tbGFyZ2Uge1xuICAgIGhlaWdodDogbWluaS11bml0cyg2KTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaWRlLW5hdiA+IE5hdmlnYXRpb24gPiB7TWVudSxTdWJtZW51fVxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zdWJtZW51W2FyaWEtaGFzcG9wdXA9J3RydWUnXSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCR3aWR0aDogdHJ1ZSk7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnaGVhZGluZy0wMScpO1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgcGFkZGluZzogMCBtaW5pLXVuaXRzKDIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHNoZWxsLXNpZGUtbmF2LXRleHQtMDE7XG4gICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDQpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiwgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIsXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXNpZGUtbmF2LWJnLTA0O1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX19ncmF5LTEwMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudTpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zdWJtZW51LXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faWNvbi4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudS1jaGV2cm9uIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudS1jaGV2cm9uID4gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGR1cmF0aW9uLS1mYXN0LTAyO1xuICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiByZW0oMTZweCk7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3N1Ym1lbnVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zdWJtZW51LWNoZXZyb25cbiAgICA+IHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tbGFyZ2Uge1xuICAgIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudSB7XG4gICAgICBoZWlnaHQ6IG1pbmktdW5pdHMoNik7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtLS1hY3RpdmUgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zdWJtZW51OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtc2lkZS1uYXYtYmctMDQ7XG4gICAgY29sb3I6ICRpYm0tY29sb3JfX2dyYXktMTAwO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pdGVtLS1hY3RpdmVcbiAgICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX3N1Ym1lbnVbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXNpZGUtbmF2LWJnLTA0O1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX19ncmF5LTEwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtc2lkZS1uYXYtYWNjZW50LTAxO1xuICAgIH1cbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tYWN0aXZlIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGlibS1jb2xvcl9fZ3JheS0xMDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX21lbnVbcm9sZT0nbWVudSddIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fc3VibWVudVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICArIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbWVudVtyb2xlPSdtZW51J10ge1xuICAgIG1heC1oZWlnaHQ6IHJlbSgxNTAwcHgpO1xuICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX21lbnVbcm9sZT0nbWVudSddXG4gICAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGlua1tyb2xlPSdtZW51aXRlbSddIHtcbiAgICBoZWlnaHQ6IG1pbmktdW5pdHMoNCk7XG4gICAgbWluLWhlaWdodDogbWluaS11bml0cyg0KTtcbiAgICBwYWRkaW5nLWxlZnQ6IG1pbmktdW5pdHMoNCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0taWNvblxuICAgIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmtbcm9sZT0nbWVudWl0ZW0nXSB7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDkpO1xuICB9XG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbWVudVtyb2xlPSdtZW51J11cbiAgICBhLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rLS1jdXJyZW50LFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX21lbnVbcm9sZT0nbWVudSddXG4gICAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGlua1thcmlhLWN1cnJlbnQ9J3BhZ2UnXSxcbiAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGluay0tY3VycmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlibS1jb2xvcl9fZ3JheS0yMDtcblxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogJGlibS1jb2xvcl9fZ3JheS0xMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmstLWN1cnJlbnQgPiBzcGFuLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rLXRleHQge1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX19ncmF5LTEwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaWRlLW5hdiA+IExpbmtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmssXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdiBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtW3JvbGU9J21lbnVpdGVtJ10sXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdlxuICAgIC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtdGl0bGVbcm9sZT0nbWVudWl0ZW0nXVthcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICArIC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmUoJ3Jlc2V0Jyk7XG4gICAgQGluY2x1ZGUgdHlwZS1zdHlsZSgnaGVhZGluZy0wMScpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IG1pbmktdW5pdHMoNCk7XG4gICAgcGFkZGluZzogMCBtaW5pLXVuaXRzKDIpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRkdXJhdGlvbi0tZmFzdC0wMiwgYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24tLWZhc3QtMDIsXG4gICAgICBvdXRsaW5lICRkdXJhdGlvbi0tZmFzdC0wMjtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faXRlbS0tbGFyZ2Uge1xuICAgIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmsge1xuICAgICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDYpO1xuICAgIH1cbiAgfVxuXG4gIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmsgPiAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmstdGV4dCxcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2XG4gICAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddXG4gICAgLiN7JHByZWZpeH0tLXRleHQtdHJ1bmNhdGUtZW5kIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4gICAgY29sb3I6ICRzaGVsbC1zaWRlLW5hdi10ZXh0LTAxO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgICBsaW5lLWhlaWdodDogcmVtKDIwcHgpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGluazpmb2N1cyxcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2IGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZSgnb3V0bGluZScpO1xuICB9XG5cbiAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGlua1thcmlhLWN1cnJlbnQ9J3BhZ2UnXSxcbiAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGluay0tY3VycmVudCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGEuI3skcHJlZml4fS0tc2lkZS1uYXZfX2xpbmtbYXJpYS1jdXJyZW50PSdwYWdlJ106OmJlZm9yZSxcbiAgYS4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbGluay0tY3VycmVudDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoZWxsLXNpZGUtbmF2LWFjY2VudC0wMTtcbiAgfVxuXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaWRlLW5hdiA+IEljb25zXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBIZWxwZnVsIGluIGZsZXggY29udGFpbmVycyBzbyB0aGUgaWNvbiBkb2VzIG5vdCBoYXZlIGxlc3MgdGhhbiB0aGVcbiAgICAvLyBleHBlY3RlZCB3aWR0aFxuICAgIGZsZXg6IDAgMCBtaW5pLXVuaXRzKDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pY29uOm5vdCguI3skcHJlZml4fS0tc2lkZS1uYXZfX3N1Ym1lbnUtY2hldnJvbikge1xuICAgIG1hcmdpbi1yaWdodDogbWluaS11bml0cygzKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9faWNvbiA+IHN2ZyB7XG4gICAgZmlsbDogJHNoZWxsLXNpZGUtbmF2LWljb24tMDE7XG4gICAgd2lkdGg6IG1pbmktdW5pdHMoMik7XG4gICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pY29uID4gc3ZnLiN7JHByZWZpeH0tLXNpZGUtbmF2LWNvbGxhcHNlLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWV4cGFuZGVkXG4gICAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pY29uXG4gICAgPiBzdmcuI3skcHJlZml4fS0tc2lkZS1uYXYtZXhwYW5kLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWV4cGFuZGVkXG4gICAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19pY29uXG4gICAgPiBzdmcuI3skcHJlZml4fS0tc2lkZS1uYXYtY29sbGFwc2UtaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVmFyaWFudHMgLSBGaXhlZFxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2LS1maXhlZCBhLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rLFxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYtLWZpeGVkXG4gICAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19zdWJtZW51W2FyaWEtaGFzcG9wdXA9J3RydWUnXSB7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDIpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2LS1maXhlZFxuICAgIC4jeyRwcmVmaXh9LS1zaWRlLW5hdl9fbWVudVtyb2xlPSdtZW51J11cbiAgICBhLiN7JHByZWZpeH0tLXNpZGUtbmF2X19saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1pbmktdW5pdHMoNCk7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVmFyaWFudHMgLSBIZWFkZXIgTmF2IExpbmtzIGluIFNpZGUgTmF2XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tc2lkZS1uYXYgLiN7JHByZWZpeH0tLWhlYWRlcl9fbmF2IHtcbiAgICBAaW5jbHVkZSBjYXJib24tLWJyZWFrcG9pbnQtZG93bignbGcnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZfX2hlYWRlci1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgY2FyYm9uLS1icmVha3BvaW50LWRvd24oJ2xnJykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzJweCk7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2X19oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IHJlbSgxcHgpO1xuICAgIGJvdHRvbTogcmVtKC0xNnB4KTtcbiAgICBsZWZ0OiByZW0oMTZweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgIGJhY2tncm91bmQ6ICRpYm0tY29sb3JfX2dyYXktMjA7XG4gIH1cblxuICAvL2hlYWRlciBtZW51IGl0ZW1zIG92ZXJyaWRlc1xuICAuI3skcHJlZml4fS0tc2lkZS1uYXYgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddIHtcbiAgICBjb2xvcjogJHNoZWxsLXNpZGUtbmF2LXRleHQtMDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuI3skcHJlZml4fS0tc2lkZS1uYXZcbiAgICAuI3skcHJlZml4fS0taGVhZGVyX19tZW51LXRpdGxlW3JvbGU9J21lbnVpdGVtJ11bYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgKyAuI3skcHJlZml4fS0taGVhZGVyX19tZW51IHtcbiAgICBib3R0b206IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJiBhLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1pdGVtW3JvbGU9J21lbnVpdGVtJ10ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmIGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hlbGwtc2lkZS1uYXYtYmctMDQ7XG4gICAgICBjb2xvcjogJGlibS1jb2xvcl9fZ3JheS0xMDA7XG4gICAgfVxuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2XG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudVxuICAgIGEuI3skcHJlZml4fS0taGVhZGVyX19tZW51LWl0ZW1bcm9sZT0nbWVudWl0ZW0nXSB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2XG4gICAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddOmhvdmVyXG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1hcnJvdyxcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2XG4gICAgYS4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtaXRlbVtyb2xlPSdtZW51aXRlbSddOmZvY3VzXG4gICAgLiN7JHByZWZpeH0tLWhlYWRlcl9fbWVudS1hcnJvdyxcbiAgLiN7JHByZWZpeH0tLXNpZGUtbmF2IC4jeyRwcmVmaXh9LS1oZWFkZXJfX21lbnUtYXJyb3cge1xuICAgIGZpbGw6ICRzaGVsbC1zaWRlLW5hdi10ZXh0LTAxO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2NhcmJvbi1zaWRlLW5hdicpIHtcbiAgQGlmIGZlYXR1cmUtZmxhZy1lbmFibGVkKCd1aS1zaGVsbCcpIHtcbiAgICBAaW5jbHVkZSBjYXJib24tc2lkZS1uYXY7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTYsIDIwMThcbi8vXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4vL1xuXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWxzL3Njc3MvY3NzLS1oZWxwZXJzJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9oZWxwZXItbWl4aW5zJztcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy92YXJzJztcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbi8vLyBVSSBzaGVsbCBuYXZpZ2F0aW9uXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGdyb3VwIHVpLXNoZWxsXG5AbWl4aW4gY2FyYm9uLW5hdmlnYXRpb24ge1xuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2aWdhdGlvblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IG1pbmktdW5pdHMoNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlibS1jb2xvcl9fZ3JheS05MDtcbiAgICB3aWR0aDogbWluaS11bml0cygzMik7XG4gICAgei1pbmRleDogeignZHJvcGRvd24nKTtcbiAgICBib3gtc2hhZG93OiAwIG1pbmktdW5pdHMoMSkgbWluaS11bml0cygyKSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgY29sb3I6ICRpYm0tY29sb3JfX2dyYXktMTA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbi0tcmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbiBzdmcge1xuICAgIGZpbGw6ICRpYm0tY29sb3JfX2dyYXktMTA7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2IFNlY3Rpb25cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLXNlY3Rpb246bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpYm0tY29sb3JfX2dyYXktODA7XG4gICAgbWFyZ2luOiAwIG1pbmktdW5pdHMoMik7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2IEl0ZW1cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUgPiBhLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbGluayB7XG4gICAgY29sb3I6ICRpYm0tY29sb3JfX3doaXRlLTA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWl0ZW0tLWFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWJtLWNvbG9yX19ibHVlLTYwO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE5hdiBMaW5rXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBhLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX19ncmF5LTEwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IG1pbmktdW5pdHMoNSk7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDIpO1xuICB9XG5cbiAgYS4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgY29sb3I6ICRpYm0tY29sb3JfX3doaXRlLTA7XG4gIH1cblxuICBhLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbGluazpmb2N1cyB7XG4gICAgb3V0bGluZTogcmVtKDNweCkgc29saWQgJGlibS1jb2xvcl9fYmx1ZS02MDtcbiAgICBvdXRsaW5lLW9mZnNldDogcmVtKC0zcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb24taXRlbS0taWNvbiA+IGEuI3skcHJlZml4fS0tbmF2aWdhdGlvbi1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2IENhdGVnb3J5XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCR3aWR0aDogdHJ1ZSk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnktdG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LXRvZ2dsZTpmb2N1cyB7XG4gICAgb3V0bGluZTogcmVtKDNweCkgc29saWQgJGlibS1jb2xvcl9fYmx1ZS02MDtcbiAgICBvdXRsaW5lLW9mZnNldDogcmVtKC0zcHgpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IG1pbmktdW5pdHMoMik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRpYm0tY29sb3JfX2dyYXktMTA7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtaW4taGVpZ2h0OiBtaW5pLXVuaXRzKDUpO1xuICAgIHBhZGRpbmctbGVmdDogbWluaS11bml0cygyKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWl0ZW0tLWljb24gLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LXRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnktaXRlbXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LWl0ZW0gPiBhLiN7JHByZWZpeH0tLW5hdmlnYXRpb24tbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IG1pbmktdW5pdHMoNCk7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW5pLXVuaXRzKDQpO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWl0ZW0tLWljb25cbiAgICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnktaXRlbVxuICAgID4gYS4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogbWluaS11bml0cyg3KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pdGVtLS1hY3RpdmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlibS1jb2xvcl9fYmx1ZS02MDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pdGVtLS1hY3RpdmVcbiAgICA+IGEuI3skcHJlZml4fS0tbmF2aWdhdGlvbi1saW5rIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkaWJtLWNvbG9yX193aGl0ZS0wO1xuICB9XG5cbiAgLiN7JHByZWZpeH0tLW5hdmlnYXRpb25fX2NhdGVnb3J5LS1leHBhbmRlZFxuICAgIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uX19jYXRlZ29yeS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uX19jYXRlZ29yeS0tZXhwYW5kZWRcbiAgICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnktdGl0bGVcbiAgICA+IHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uX19jYXRlZ29yeS0tZXhwYW5kZWRcbiAgICAuI3skcHJlZml4fS0tbmF2aWdhdGlvbl9fY2F0ZWdvcnktaXRlbXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2IEljb25cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC4jeyRwcmVmaXh9LS1uYXZpZ2F0aW9uLWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogbWluaS11bml0cyg2KTtcbiAgICBtaW4td2lkdGg6IG1pbmktdW5pdHMoNik7XG4gICAgaGVpZ2h0OiBtaW5pLXVuaXRzKDUpO1xuICAgIG1hcmdpbi1yaWdodDogbWluaS11bml0cygxKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKCdjYXJib24tbmF2aWdhdGlvbicpIHtcbiAgQGlmIGZlYXR1cmUtZmxhZy1lbmFibGVkKCd1aS1zaGVsbCcpIHtcbiAgICBAaW5jbHVkZSBjYXJib24tbmF2aWdhdGlvbjtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCBJQk0gQ29ycC4gMjAxNiwgMjAxOFxuLy9cbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbi8vIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbi8vXG5cbkBpbXBvcnQgJy4uLy4uL2dsb2JhbHMvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vZ2xvYmFscy9zY3NzL3ZhcnMnO1xuQGltcG9ydCAnZnVuY3Rpb25zJztcblxuLy8vIFVJIHNoZWxsIGNvbnRlbnRcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAZ3JvdXAgdWktc2hlbGxcbkBtaXhpbiBjYXJib24tY29udGVudCB7XG4gIC4jeyRwcmVmaXh9LS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkdWktMDI7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHdpbGwtY2hhbmdlOiBtYXJnaW4tbGVmdDtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1oZWFkZXIgfiAuI3skcHJlZml4fS0tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogbWluaS11bml0cyg2KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdiB+IC4jeyRwcmVmaXh9LS1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogbWluaS11bml0cyg2KTtcbiAgfVxuXG4gIC4jeyRwcmVmaXh9LS1zaWRlLW5hdi4jeyRwcmVmaXh9LS1zaWRlLW5hdi0tZXhwYW5kZWQgfiAuI3skcHJlZml4fS0tY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IG1pbmktdW5pdHMoMzIpO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoJ2NhcmJvbi1jb250ZW50Jykge1xuICBAaWYgZmVhdHVyZS1mbGFnLWVuYWJsZWQoJ3VpLXNoZWxsJykge1xuICAgIEBpbmNsdWRlIGNhcmJvbi1jb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaGVhZGVyQnRuKCRjb2xvcikge1xuXHRAaW5jbHVkZSBjbGVhckJ0bjtcblx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRmb250LXNpemU6IDEuNnJlbTsgLy8gNDBweFxuXHRjb2xvcjogJGNvbG9yO1xufVxuXG4vLyAuYWRtaW4tYmFyIHtcbi8vIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMnB4KTtcbi8vIFx0QG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4vLyBcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NnB4KTtcbi8vIFx0fVxuLy8gXHQubWVudS1kcmF3ZXIge1xuLy8gXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDB2aCAtIDMycHgpKTtcbi8vIFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbi8vIFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDB2aCAtIDQ2cHgpKTtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LmhlYWRlciB7XG4vLyBcdFx0cGFkZGluZy10b3A6IDMycHg7XG4vLyBcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4vLyBcdFx0XHRwYWRkaW5nLXRvcDogNDZweDtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LmNvbXBvbmVudC5ub3RpZmljYXRpb24ge1xuLy8gXHRcdHRvcDogMzJweDtcbi8vIFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbi8vIFx0XHRcdHRvcDogNDZweDtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIH1cblxuLy8gTWVudSBvcGVuICYgY2xvc2VcbmJvZHkge1xuXHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyAkYmFzZS10aW1pbmc7XG5cdC5tZW51LWRyYXdlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwdmgpO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyAkYmFzZS10aW1pbmc7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDYwMHB4KSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwMHB4KTtcblx0XHR9XG5cdH1cblx0Ji5vcGVuLW1lbnUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDYwMHB4KSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNjAwcHgpO1xuXHRcdH1cblx0fVxufVxuXG4uaGVhZGVyIHtcblx0QGluY2x1ZGUgY2xlYXJMaXN0KCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0LndyYXBwZXIge1xuXHRcdG9yZGVyOiAyO1xuXHRcdGZsZXg6IDEgMCAxMDAlO1xuXHRcdHBhZGRpbmc6IDAuOHJlbSAxLjJyZW0gMnJlbTsgLy8gMjBweCAzMHB4IDUwcHhcblx0fVxuXHQucm93IHtcblx0XHRAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcblx0fVxuXHQubG9nbyB7XG5cdFx0b3JkZXI6IDI7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQubG9nby1zaXRlIHtcblx0XHRcdFx0ZmlsbDogJHdoaXRlO1xuXHRcdFx0XHQmLndoaXRlIHtcblx0XHRcdFx0XHRmaWxsOiAkYmxhY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmxvZ28tc2l0ZSB7XG5cdFx0XHRAaW5jbHVkZSB0aW55LXBob25lcyB7XG5cdFx0XHRcdG1heC13aWR0aDogOC44cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLndoaXRlLWhvdmVyOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cblx0Lm1lbnUtYnRuIHtcblx0XHRvcmRlcjogNDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgJGJhc2UtdGltaW5nICRiYXNlLWR1cmF0aW9uO1xuXHRcdEBpbmNsdWRlIGhlYWRlckJ0bihibGFjayk7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGJ0bi10ZXh0LWNvbG9yLWhvdmVyO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0fVxuXHQuY2xvc2UtYnRuIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgJGJhc2UtdGltaW5nICRiYXNlLWR1cmF0aW9uO1xuXHRcdEBpbmNsdWRlIGhlYWRlckJ0bih3aGl0ZSk7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxuXHQubWVudS1kcmF3ZXIge1xuXHRcdG9yZGVyOiAxO1xuXHRcdGZsZXg6IDEgMCAxMDAlO1xuXHRcdEBpbmNsdWRlIGZsZXgoJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4pO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0bWluLWhlaWdodDogNjAwcHg7XG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHQud3JhcHBlciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdFx0LmxvZ28ge1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0fVxuXHRcdC5jbG9zZS1idG4ge1xuXHRcdFx0b3JkZXI6IDI7XG5cdFx0fVxuXHRcdC5oZWFkZXItbmF2IHtcblx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cdFx0fVxuXHRcdC5tZW51LXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMi41cmVtOyAvLyAxMDhweFxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNC4zMnJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0YTpmb2N1cyxcblx0XHRidXR0b246Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogJGZvY3VzLW91dGxpbmUtd2lkdGggc29saWQgJHdoaXRlO1xuXHRcdH1cblx0fVxuXHQuaGVhZGVyLW5hdiB7XG5cdFx0QGluY2x1ZGUgZmxleCgkYWxpZ246IG5vcm1hbCk7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQuYWN0aW9uLW1lbnUge1xuXHRcdG9yZGVyOiAyO1xuXHRcdGZsZXg6IDEgMCAxMDAlO1xuXHRcdEBpbmNsdWRlIGZsZXgoKTtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0QGluY2x1ZGUgZmxleCgkanVzdGlmeTogZmxleC1lbmQpO1xuXHRcdH1cblx0XHQubWVudS1pdGVtIGEge1xuXHRcdFx0bWFyZ2luOiAwIDFyZW07XG5cdFx0XHRjb2xvcjogJHllbGxvdztcblxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgJHRyYW5zcGFyZW50O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5tZW51LXdyYXBwZXIge1xuXHRcdG9yZGVyOiAxO1xuXHRcdGZsZXg6IDEgMCAxMDAlO1xuXHR9XG5cblx0Lm1heC13aWR0aC0xMTAwIHtcblx0XHRtYXgtd2lkdGg6IDExMDBweDtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxuXHQuaGVhZGVyLW1lbnUge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRjb2x1bW4tY291bnQ6IDI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdH1cblx0XHRhOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiA1cHg7XG5cdFx0fVxuXHR9XG5cdC5tZW51LWl0ZW0gYSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXdlaWdodDogJGJvbGQ7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAkdHJhbnNwYXJlbnQ7XG5cdFx0dHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0Zm9udC1zaXplOiAxLjZyZW07IC8vIDQwcHhcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHllbGxvdztcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXHQudW5kZXJsaW5lIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjZyZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG59XG4iLCIuZm9vdGVyIHtcblx0cGFkZGluZzogMnJlbSAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdC53cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkYWxpZ246IGZsZXgtc3RhcnQpO1xuXHRcdH1cblx0fVxuXHQubG9nby1kaXYge1xuXHRcdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0LmxvZ28ge1xuXHRcdFx0QGluY2x1ZGUgZGVza3RvcC11cCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdG91dGxpbmU6IDNweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0LmxvZ28tc2l0ZSB7XG5cdFx0XHRcdFx0ZmlsbDogJHdoaXRlO1xuXHRcdFx0XHRcdCYud2hpdGUge1xuXHRcdFx0XHRcdFx0ZmlsbDogJGJsYWNrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVx0XHRcblx0XHR9XG5cdFx0LmxvZ28tc2l0ZSB7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdFx0Ji53aGl0ZS1ob3Zlcjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cdC5mb290ZXItbmF2IHtcblx0XHRAaW5jbHVkZSBjbGVhckxpc3QoKTtcblx0XHQuZm9vdGVyLW1lbnUge1xuXHRcdFx0QGluY2x1ZGUgZmxleCgpO1xuXHRcdH1cblx0XHQubWVudS1pdGVtIHtcblx0XHRcdG1hcmdpbjogMCAwLjZyZW07XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAkdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkeWVsbG93O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdG91dGxpbmU6IDNweCBzb2xpZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY29udGVudCB7XG5cdFx0QGluY2x1ZGUgZmxleDsgLy8gQWxpZ24gY2VudGVyIGZvciBtb2JpbGVcblxuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cdFx0XHRAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OiBmbGV4LWVuZCk7IC8vIEFsaWduIHJpZ2h0IGZvciB0YWJsZXQgJiB1cFxuXHRcdH1cblx0XHRzcGFuIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDAuNnJlbTsgLy8gMTVweFxuXHRcdFx0Zm9udC1zaXplOiAwLjc2cmVtOyAvLyAxOXB4IGRlc2t0b3Bcblx0XHR9XG5cdFx0YTpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiAzcHggc29saWQgJHdoaXRlO1xuXHRcdH1cblx0fVxuXHQuZm9vdGVyLW5hdixcblx0LmNvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiAwLjhyZW07IC8vIDIwcHhcblx0fVxufVxuIiwiLy8gVGhpcyBibG9jayBoYXMgYmVlbiB1cGRhdGVkIHRvIENhcmJvbiBEZXNpZ24ncyBhY2NvcmRpb24uXG4vLyBUaGUgcHJlLUNhcmJvbiBzdHlsZXMgYXJlIHN0aWxsIGhlcmUuIEkgaGF2ZW4ndCBkZWxldGVkIHRoZW0geWV0LlxuLmJsb2NrLmFjY29yZGlvbnMge1xuXHQud3JhcHBlciB7XG5cdFx0bWF4LXdpZHRoOiAkcGVyY2VudGFnZTtcblx0fVxuXHRkZXRhaWxzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogMXJlbSAwO1xuXHRcdGJvcmRlci1ib3R0b206ICRiYXNlLWJvcmRlcjtcblx0XHQvLyBSZW1vdmluZyBkZWZhdWx0IGFjY29yZGlvbiBhcnJvd1xuXHRcdCYgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdC5ieC0tYWNjb3JkaW9uX19pdGVtIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkYmFzZS1ib3JkZXI7XG5cdFx0fVxuXHR9XG5cdC5ieC0tYWNjb3JkaW9uX19oZWFkaW5nIHtcblx0XHRwYWRkaW5nOiAxLjJyZW0gMDtcblx0XHQmOmhvdmVyOmJlZm9yZSxcblx0XHQmOmZvY3VzOmJlZm9yZSB7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG5cdFx0fVxuXHRcdCY6Zm9jdXM6YmVmb3JlIHtcblx0XHRcdGJvcmRlcjogJGZvY3VzLW91dGxpbmU7XG5cdFx0fVxuXHR9XG5cdC5ieC0tYWNjb3JkaW9uX190aXRsZSxcblx0LnRpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogM3B4IHNvbGlkICRibGFjaztcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiA1cHg7XG5cdFx0fVxuXHR9XG5cdC5ieC0tYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgLmJ4LS1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAwIDFyZW07XG5cdH1cblx0LmJ4LS1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXHQuY29udGVudCB7XG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0LmJ4LS1hY2NvcmRpb25fX2Fycm93IHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQmLnN0eWxlLTEge1xuXHRcdC50aXRsZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAxMnB4O1xuXHRcdFx0XHR0b3A6IDhweDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDNweDtcblx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogMjBweDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lml0ZW0ub3BlbiB7XG5cdFx0XHQudGl0bGU6YmVmb3JlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKDkwZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ4LS1hY2NvcmRpb25fX2l0ZW0tLWFjdGl2ZSB7XG5cdFx0XHQuYngtLWFjY29yZGlvbl9fYXJyb3c6YmVmb3JlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuYngtLWFjY29yZGlvbl9fYXJyb3cge1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDEycHg7XG5cdFx0XHRcdHRvcDogNTAlOyAvLyA4cHhcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDNweDtcblx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiA1MCU7IC8vIDIwcHhcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHRcdFx0fVxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnN0eWxlLTIge1xuXHRcdC50aXRsZSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiQW5zd2VyXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogMXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ4LS1hY2NvcmRpb25fX2Fycm93IHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXHR9XG59XG4iLCIuYmxvY2suYmFzaWMtY29udGVudCB7XG5cdCYubGVmdC1hbGlnbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXHQmLmNlbnRlci1hbGlnbiB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Ji5yaWdodC1hbGlnbiB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblx0Ji5zdHlsZS0xIHtcblx0XHQvLyBUaGUgc2xpbSBzdHlsZVxuXHRcdC5yb3cge1xuXHRcdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxuXHQmLnN0eWxlLTIge1xuXHRcdC53cmFwcGVyIHtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRtYXgtd2lkdGg6ICRwZXJjZW50YWdlO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucm93IHtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4KCR3cmFwOiBub3dyYXAsICRhbGlnbjogZmxleC1zdGFydCk7XG5cdFx0XHRcdG1hcmdpbjogMCAtMnJlbTtcblx0XHRcdH1cblx0XHRcdC5jb2wge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMnJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmdyaWQge1xuXHQuaXRlbSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAzODBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdC50aXRsZSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiA1cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuNHJlbTtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW1hZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDIyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0QGluY2x1ZGUgaW1hZ2VfY292ZXIoKTtcblx0XHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTAwLCA3MCk7XG5cdH1cbn1cblxuLmJsb2NrLmNhcmRzIHtcblx0QGluY2x1ZGUgY2xlYXJMaXN0KCk7XG5cblx0LndyYXBwZXIge1xuXHRcdC8vIENpcmNsZSBiYWNrIHRvIG1vYmlsZVxuXHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdH1cblxuXHQmLmdyaWQge1xuXHRcdC5jb2wge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdFx0Lml0ZW1zIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJGp1c3RpZnk6IHNwYWNlLWV2ZW5seSwgJGFsaWduOiBmbGV4LXN0YXJ0KTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS40cmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAtMS40cmVtO1xuXHRcdH1cblx0XHQuaXRlbSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMS40cmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjRyZW07XG5cdFx0fVxuXHR9XG5cblx0LnRpdGxlLXdyYXBwZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cblxuXHQuaXRlbSB7XG5cdFx0LnRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXHRcdC5zdWJ0aXRsZSB7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdH1cblx0XHQuY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vICYuc3R5bGUtMSB7XG5cdC8vIH1cblx0Ly8gJi5zdHlsZS0yIHtcblx0Ly8gXHQuaXRlbSB7XG5cdC8vIFx0XHRkaXNwbGF5OiBmbGV4O1xuXHQvLyBcdFx0d2lkdGg6IDEwMCU7XG5cdC8vIFx0XHRtYXgtd2lkdGg6IDUyMHB4O1xuXHQvLyBcdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0Ly8gXHR9XG5cdC8vIFx0LmltYWdlIHtcblx0Ly8gXHRcdGhlaWdodDogMTAwJTtcblx0Ly8gXHR9XG5cdC8vIFx0LmNvbnRlbnQge1xuXHQvLyBcdFx0cGFkZGluZzogNjBweCAyMHB4O1xuXHQvLyBcdH1cblx0Ly8gfVxufVxuIiwiLmJsb2NrLmhlcm8ge1xuXHQvLyBwYWRkaW5nOiA0ZW0gMDtcblx0Ji5jb250ZW50LWxlZnQge1xuXHRcdC5yb3cge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHR9XG5cdH1cblx0Ji5jb250ZW50LXJpZ2h0IHtcblx0XHQucm93IHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHR9XG5cdH1cblxuXHQmLnN0eWxlLTEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdCYuY29udGVudC1sZWZ0IHtcblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aXRsZS13cmFwcGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbW9iaWxlLW9ubHkge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmltYWdlLXdyYXBwZXIge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGl0bGUge1xuXHRcdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogOSU7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aXRsZXMsXG5cdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIC50aXRsZSxcblx0XHRcdC5jb250ZW50IC5pbm5lciB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5pbWFnZSB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMjklO1xuXHRcdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY29udGVudC1yaWdodCB7XG5cdFx0XHQubGFiZWwge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYygxNjBweCArIDElKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRpdGxlLXdyYXBwZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2Utd3JhcHBlciB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGl0bGUge1xuXHRcdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNTklO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRpdGxlcyxcblx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIC50aXRsZSxcblx0XHRcdC5jb250ZW50IC5pbm5lciB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2Uge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmFuaW1hdGUge1xuXHRcdFx0LmxhYmVsOmFmdGVyIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdFx0fVxuXHRcdFx0LmxhYmVsIC5zcGFuIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC53cmFwcGVyIHtcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdC5yb3cge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0QGluY2x1ZGUgZmxleCgkYWxpZ246IGZsZXgtc3RhcnQpO1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgZmxleCgkYWxpZ246IGZsZXgtc3RhcnQsICR3cmFwOiBub3dyYXApO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdHBhZGRpbmctdG9wOiAxLjUlOyAvLyBBbGlnbmluZyB0ZXh0IHRvIGNlbnRlciBvZiBzcXVhcmVcblx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAzMXB4OyAvLyBBbGlnbmluZyB0ZXh0IHRvIGNlbnRlciBvZiBzcXVhcmVcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM3LjUlKTsgLy8gMTAgLyA4ID0gMS4yNSAqIDMwJVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbW9iaWxlLW9ubHkoKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRcdH1cblx0XHRcdC5zcGFuIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZyA2MDBtcztcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDE1JTtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMS41JTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1JTtcblx0XHRcdFx0ZmxleDogMSAwIDE1JTtcblx0XHRcdFx0bWF4LXdpZHRoOiAxNSU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmcgJGJhc2UtZHVyYXRpb247XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRcdHdpZHRoOiA0cmVtO1xuXHRcdFx0XHRcdGhlaWdodDogNHJlbTtcblx0XHRcdFx0XHRmbGV4OiAxIDAgNHJlbTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDRyZW07XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTMxcHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuc3F1YXJlLXBpbms6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcGluaztcblx0XHRcdH1cblx0XHRcdCYuc3F1YXJlLXRlYWw6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkdGVhbDtcblx0XHRcdH1cblx0XHRcdCYuc3F1YXJlLXllbGxvdzphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR5ZWxsb3c7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jb250ZW50IHtcblx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAyLjRyZW0gMnJlbSAwO1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHR9XG5cdFx0XHQuY29udGVudC13cmFwcGVyIHtcblx0XHRcdFx0d2lkdGg6ICRwZXJjZW50YWdlO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdH1cblx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudGl0bGVzIHtcblx0XHRcdG9yZGVyOiAxO1xuXHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdG9yZGVyOiAxO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHR9XG5cdFx0XHQubGFiZWwge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aXRsZS13cmFwcGVyIHtcblx0XHRcdFx0d2lkdGg6ICRwZXJjZW50YWdlO1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0XHQudGl0bGUge1xuXHRcdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0b3JkZXI6IDI7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuaDIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5KCkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjMycmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdFx0LmltYWdlLXdyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0b3JkZXI6IDI7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlIHtcblx0XHRcdFx0QGluY2x1ZGUgaW1hZ2VfY292ZXIoKTtcblx0XHRcdFx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEwMCUsIDEwMCUpOyAvLyBTcXVhcmVcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5zdHlsZS0yIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0Ji5jb250ZW50LXJpZ2h0IHtcblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJyZW0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGl0bGUtd3JhcHBlcixcblx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlLXdyYXBwZXIge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRpdGxlLXdyYXBwZXIsXG5cdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNvbnRlbnQtbGVmdCB7XG5cdFx0XHQubGFiZWwge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnJlbSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5pbWFnZS13cmFwcGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aXRsZS13cmFwcGVyLFxuXHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQud3JhcHBlciB7XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRtYXgtd2lkdGg6ICRwZXJjZW50YWdlO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucm93IHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXHRcdFx0cGFkZGluZzogM3JlbSAwO1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdHBhZGRpbmc6IDVyZW0gMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jb2wge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdH1cblx0XHQubGFiZWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMi42cmVtO1xuXHRcdFx0Zm9udC1zaXplOiAxLjI1ZW07XG5cdFx0fVxuXHRcdC50aXRsZS13cmFwcGVyLFxuXHRcdC5jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBPdmVyZXJpZGUgYWxsIGZvbnQgc2l6ZXMgaW4gdGhlIHRpdGxlXG5cdFx0Ly8gQ2hlY2sgZm9yIHRoZSBtb2JpbGUgc2l6ZVxuXHRcdC5oMSxcblx0XHQuaDIsXG5cdFx0LmgzLFxuXHRcdC5oNCxcblx0XHQuaDUsXG5cdFx0Lmg2IHtcblx0XHRcdGZvbnQtc2l6ZTogOTBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0QGluY2x1ZGUgbW9iaWxlLW9ubHkge1xuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pbWFnZS13cmFwcGVyIHtcblx0XHRcdHdpZHRoOiAkcGVyY2VudGFnZTtcblx0XHRcdG1heC13aWR0aDogMzUwcHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogMi42cmVtO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0fVxuXG5cdFx0XHQuaW1hZ2Uge1xuXHRcdFx0XHRAaW5jbHVkZSBpbWFnZV9jb3ZlcigpO1xuXHRcdFx0XHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMywgNCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQnJlYWsgdGhpcyBvdXQgaW50byBidXR0b24gc3R5bGVzIGxhdGVyXG5cdFx0LmJ0biB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWctcGF0aCArIFwiYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWctcGF0aCArIFwiYXJyb3ctcmlnaHQuc3ZnXCIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnN0eWxlLTMge1xuXHRcdC53cmFwcGVyIHtcblx0XHRcdC8vIENpcmNsZSBiYWNrIHRvIGFkZCBtb2JpbGVcblx0XHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0XHQuY29udGVudCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHQvLyBtYXgtd2lkdGg6IDUwJTtcblx0XHRcdFx0bWF4LXdpZHRoOiA5MDBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRpdGxlIHtcblx0XHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuNTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmltYWdlLXdyYXBwZXIge1xuXHRcdFx0QGluY2x1ZGUgZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG5cdFx0XHRtYXJnaW46IDAgLTFyZW07XG5cdFx0fVxuXHRcdC5pbWFnZSB7XG5cdFx0XHRAaW5jbHVkZSBpbWFnZV9jb3ZlcigpO1xuXHRcdFx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEwMCwgMjUpO1xuXHRcdFx0ZmxleDogMSAwIGNhbGMoMSAvIDMgKiAxMDAlIC0gMnJlbSk7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMSAvIDMgKiAxMDAlIC0gMnJlbSk7XG5cdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHQmOm9ubHktY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTAwLCAzNSk7XG5cdFx0XHRcdGZsZXg6IDEgMCBjYWxjKDEwMCUgLSAycmVtKTtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnN0eWxlLTQge1xuXHRcdC53cmFwcGVyIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdC50aXRsZS13cmFwcGVyIHtcblx0XHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdFx0LnRpdGxlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0fVxuXHRcdC50aXRsZSxcblx0XHQuaDEge1xuXHRcdFx0Zm9udC1zaXplOiA2LjJ2dztcblx0XHR9XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMi40cmVtIDJyZW0gMDtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRcdHdpZHRoOiA1OCU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1JTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmNvbnRlbnQtd3JhcHBlciB7XG5cdFx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRcdHdpZHRoOiA4NSU7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1x0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gTmVzdGVkIGV2ZW50cyBpbnNpZGUgaGVyb3Ncblx0Lml0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcdHBhZGRpbmctdG9wOiAwLjhyZW07XG5cdFx0Lm1ldGEge1xuXHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XG5cdFx0XHQudGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMThyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS42cmVtO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0dGltZSArIHRpbWUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDAuMjRyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiAwLjI0cmVtO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwLjZyZW07XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIE1peGlucyByZXF1aXJlZCBmb3IgQml0dGVyc1xuQG1peGluIGNsZWFyZml4IHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuLy8gVmFycyByZXF1aXJlZCBmb3IgQml0dGVyc1xuJGFsbC1idXR0b25zOiBcImJ1dHRvbiwgW3R5cGU9J2J1dHRvbiddLCBbdHlwZT0ncmVzZXQnXSwgW3R5cGU9J3N1Ym1pdCddXCI7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBcImJ1dHRvbjphY3RpdmUsIFt0eXBlPSdidXR0b24nXTphY3RpdmUsIFt0eXBlPSdyZXNldCddOmFjdGl2ZSwgW3R5cGU9J3N1Ym1pdCddOmFjdGl2ZVwiO1xuJGFsbC1idXR0b25zLWZvY3VzOiBcImJ1dHRvbjpmb2N1cywgW3R5cGU9J2J1dHRvbiddOmZvY3VzLCBbdHlwZT0ncmVzZXQnXTpmb2N1cywgW3R5cGU9J3N1Ym1pdCddOmZvY3VzXCI7XG4kYWxsLWJ1dHRvbnMtaG92ZXI6IFwiYnV0dG9uOmhvdmVyLCBbdHlwZT0nYnV0dG9uJ106aG92ZXIsIFt0eXBlPSdyZXNldCddOmhvdmVyLCBbdHlwZT0nc3VibWl0J106aG92ZXJcIjtcbiRhbGwtdGV4dC1pbnB1dHM6IFwiW3R5cGU9J2NvbG9yJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RleHQnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nd2VlayddLCBpbnB1dDpub3QoW3R5cGVdKSwgdGV4dGFyZWFcIjtcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBcIlt0eXBlPSdjb2xvciddOmFjdGl2ZSwgW3R5cGU9J2RhdGUnXTphY3RpdmUsIFt0eXBlPSdkYXRldGltZSddOmFjdGl2ZSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106YWN0aXZlLCBbdHlwZT0nZW1haWwnXTphY3RpdmUsIFt0eXBlPSdtb250aCddOmFjdGl2ZSwgW3R5cGU9J251bWJlciddOmFjdGl2ZSwgW3R5cGU9J3Bhc3N3b3JkJ106YWN0aXZlLCBbdHlwZT0nc2VhcmNoJ106YWN0aXZlLCBbdHlwZT0ndGVsJ106YWN0aXZlLCBbdHlwZT0ndGV4dCddOmFjdGl2ZSwgW3R5cGU9J3RpbWUnXTphY3RpdmUsIFt0eXBlPSd1cmwnXTphY3RpdmUsIFt0eXBlPSd3ZWVrJ106YWN0aXZlLCBpbnB1dDpub3QoW3R5cGVdKTphY3RpdmUsIHRleHRhcmVhOmFjdGl2ZVwiO1xuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogXCJbdHlwZT0nY29sb3InXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLCB0ZXh0YXJlYTpmb2N1c1wiO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogXCJbdHlwZT0nY29sb3InXTpob3ZlciwgW3R5cGU9J2RhdGUnXTpob3ZlciwgW3R5cGU9J2RhdGV0aW1lJ106aG92ZXIsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmhvdmVyLCBbdHlwZT0nZW1haWwnXTpob3ZlciwgW3R5cGU9J21vbnRoJ106aG92ZXIsIFt0eXBlPSdudW1iZXInXTpob3ZlciwgW3R5cGU9J3Bhc3N3b3JkJ106aG92ZXIsIFt0eXBlPSdzZWFyY2gnXTpob3ZlciwgW3R5cGU9J3RlbCddOmhvdmVyLCBbdHlwZT0ndGV4dCddOmhvdmVyLCBbdHlwZT0ndGltZSddOmhvdmVyLCBbdHlwZT0ndXJsJ106aG92ZXIsIFt0eXBlPSd3ZWVrJ106aG92ZXIsIGlucHV0Om5vdChbdHlwZV0pOmhvdmVyLCB0ZXh0YXJlYTpob3ZlclwiO1xuJGFsbC10ZXh0LWlucHV0cy1pbnZhbGlkOiBcIlt0eXBlPSdjb2xvciddOmludmFsaWQsIFt0eXBlPSdkYXRlJ106aW52YWxpZCwgW3R5cGU9J2RhdGV0aW1lJ106aW52YWxpZCwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aW52YWxpZCwgW3R5cGU9J2VtYWlsJ106aW52YWxpZCwgW3R5cGU9J21vbnRoJ106aW52YWxpZCwgW3R5cGU9J251bWJlciddOmludmFsaWQsIFt0eXBlPSdwYXNzd29yZCddOmludmFsaWQsIFt0eXBlPSdzZWFyY2gnXTppbnZhbGlkLCBbdHlwZT0ndGVsJ106aW52YWxpZCwgW3R5cGU9J3RleHQnXTppbnZhbGlkLCBbdHlwZT0ndGltZSddOmludmFsaWQsIFt0eXBlPSd1cmwnXTppbnZhbGlkLCBbdHlwZT0nd2VlayddOmludmFsaWQsIGlucHV0Om5vdChbdHlwZV0pOmludmFsaWQsIHRleHRhcmVhOmludmFsaWRcIjtcbiIsIi5ibG9jay5saXN0aW5nIHtcblx0Ly8gU2V0dGluZyB0aGUgc3RhbmRhcmQgZm9yIGxpc3RpbmcgZ3JpZHMuIEFwcGxpZWQgdG8gcG9zdHMsIGV2ZW50cywgJiByZWNvcmRzXG5cdCYuZ3JpZCB7XG5cdFx0LndyYXBwZXIge1xuXHRcdFx0bWF4LXdpZHRoOiAkcGVyY2VudGFnZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdC5jb2wge1xuXHRcdFx0Ly8gb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdFx0Lml0ZW1zIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcblxuXHRcdFx0QGluY2x1ZGUgdGFibGV0LXBvcnRyYWl0LXVwIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjRyZW07XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogLTEuNHJlbTtcblx0XHRcdFx0QGluY2x1ZGUgZmxleCgkanVzdGlmeTogZmxleC1zdGFydCwgJGFsaWduOiBmbGV4LXN0YXJ0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lml0ZW0ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMS40cmVtO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEuNHJlbTtcdFxuXHRcdFx0XHRmbGV4OiAxIDAgY2FsYygoMSAvIDIgKiAxMDAlKSAtIDIuOHJlbSk7XG5cdFx0XHRcdG1heC13aWR0aDogY2FsYygoMSAvIDIgKiAxMDAlKSAtIDIuOHJlbSk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0ZmxleDogMSAwIGNhbGMoKDEgLyAzICogMTAwJSkgLSAyLjhyZW0pO1xuXHRcdFx0XHRtYXgtd2lkdGg6IGNhbGMoKDEgLyAzICogMTAwJSkgLSAyLjhyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubm8tcmVjb3JkcyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMzVweDtcblx0XHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQnJlYWtpbmcgdGhlIHN0YW5kYXJkIHdpdGggcmVjb3JkcyBiZWNhdXNlIHRoZXkgc2hvdWxkIGJlIGluIGEgMS81IGdyaWRcblx0Lml0ZW0ucmVjb3JkIHtcblx0XHRmbGV4OiAxIDAgY2FsYygoMSAvIDUgKiAxMDAlKSAtIDIuOHJlbSk7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKCgxIC8gNSAqIDEwMCUpIC0gMi44cmVtKTtcblx0XHRtaW4td2lkdGg6IDIwMHB4O1xuXHRcdC5tZXRhIHtcblx0XHRcdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuXHRcdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRoZWFkaW5nLWZvbnQtd2VpZ2h0O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmltYWdlIHtcblx0XHRcdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxLCAxKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNHJlbTtcblx0XHRcdCYucGxhY2Vob2xkZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZy1wYXRoICsgXCJsb2dvLXdoaXRlLWljb24uc3ZnXCIpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDYwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hdXRob3Ige1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0LmJ1dHRvbnMge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3R5bGluZyBwb3N0cyBhbmQgZXZlbnRzIHRvIG1hdGNoIHRoZSBzaW5nbGUgdGVtcGxhdGVzXG5cdC5pdGVtLnBvc3QsXG5cdC5pdGVtLmV2ZW50IHtcblx0XHQubWV0YSB7XG5cdFx0XHRmb250LXNpemU6IDAuOHJlbTtcblx0XHRcdHRpbWUgKyB0aW1lIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHdpZHRoOiAwLjI0cmVtO1xuXHRcdFx0XHRcdGhlaWdodDogMC4yNHJlbTtcblx0XHRcdFx0XHRtYXJnaW46IDAgMC42cmVtO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwLjNyZW07XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY2F0ZWdvcnkgYSB7XG5cdFx0XHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHRcdC5kYXRlLFxuXHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC43cmVtO1xuXHRcdFx0fVxuXHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBMaXN0aW5nIHN0eWxlcyB0aGF0IGFwcGx5IHRvIGFsbCBpdGVtIHR5cGVzXG5cblx0QGluY2x1ZGUgY2xlYXJMaXN0KCk7XG5cblx0Lml0ZW0td3JhcHBlciB7XG5cdFx0bWF4LXdpZHRoOiAzODBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXG5cdC5jYXRlZ29yeSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuIiwiLmJsb2NrLnRpbWVsaW5lIHtcblx0LndyYXBwZXIge1xuXHRcdG1heC13aWR0aDogODUlO1xuXHR9XG5cdC5pdGVtIHtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQsICRhbGlnbjogc3RyZXRjaCk7XG5cdFx0fVxuXHR9XG5cdC5jb2wge1xuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0ZmxleDogMSAwIDUwJTtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdH1cblx0fVxuXHQuY29sLmNvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcblx0XHQmOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogM3B4O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRpdGxlLFxuXHRcdC5kZXRhaWxzIHtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC4yOHJlbTtcblx0XHR9XG5cdFx0LmRldGFpbHMge1xuXHRcdFx0KjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNvbC5tZWRpYSB7XG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XG5cdFx0fVxuXG5cdFx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC13aWR0aDogNDAwcHg7XG5cdFx0cGFkZGluZy10b3A6IDE0cHg7IC8vIFRoaXMgd2lsbCBjaGFuZ2UgaWYgdGhlIHBvc2l0aW9uIG9mIHRoZSB0aXRsZSBiYXIgY2hhbmdlc1xuXHRcdC8vIFJlcG9zaXRpb24gdGhlIGxpZ2h0Ym94IGRvd24gMTRweCBhbmQgdG8gdGhlIHJpZ2h0XG5cdFx0QGluY2x1ZGUgbGlnaHRib3goKTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0b3A6IDE0cHg7XG5cdFx0XHRsZWZ0OiAycmVtO1xuXHRcdH1cblx0fVxuXG5cdC50aW1lbGluZS10aXRsZSxcblx0LnRpdGxlIHtcblx0XHRAZXh0ZW5kIC5oNTtcblx0fVxuXHQudGltZWxpbmUtdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdH1cblx0Lml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdC50aW1lbGluZS10aXRsZSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcblx0XHR9XG5cdH1cblx0LnRpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMS41cHgpO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmJsb2NrLnRhYmxlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0LndyYXBwZXItdGFibGUge1xuXHRcdG92ZXJmbG93LXg6IHNjcm9sbDtcblx0fVxuXHQuY29udGVudCB7XG5cdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LmJ4LS1kYXRhLXRhYmxlIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHR0ciB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdHRoIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuXHRcdH1cblx0XHQuYngtLXRhYmxlLWhlYWRlci1sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiB1bnNldDtcblx0XHR9XG5cdFx0dGgsXG5cdFx0dGQge1xuXHRcdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHRmb250LXNpemU6ICR0YWJsZXQtZm9udC1zaXplOyAvLyB0YWJsZXQgZm9udCBzaXplXG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAkZGVza3RvcC1mb250LXNpemU7IC8vIGRlc2t0b3AgZm9udCBzaXplXG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBkZXNrdG9wLXVwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IC8vIGJhc2Ugb3IgbGFyZ2UgZm9udCBzaXplXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRkOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdFx0dGQsXG5cdFx0dGJvZHkgdGgge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdFx0LmJ4LS10YWJsZS1oZWFkZXItbGFiZWwge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi5ibG9jay5nYWxsZXJ5IHtcblx0LndyYXBwZXIge1xuXHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdFx0cGFkZGluZzogMDtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdHBhZGRpbmc6IDAgMS4ycmVtO1xuXHRcdH1cblx0fVxuXHQucm93IHtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcblx0XHR9XG5cdH1cblx0LmNvbC5jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwIDJyZW0gMnJlbTtcblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdGZsZXg6IDEgMCA2MCU7XG5cdFx0XHRtYXgtd2lkdGg6IDYwJTtcblx0XHRcdHBhZGRpbmc6IDAgMi40cmVtIDAgMDtcblx0XHR9XG5cdH1cblx0LmNvbC5pbWFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0ZmxleDogMSAwIDQwJTtcblx0XHRcdG1heC13aWR0aDogNDAlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBsaWdodGJveCgpO1xuXHR9XG59XG4iLCIuYmxvY2subWFwIHtcblx0LndyYXBwZXIge1xuXHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdH1cbn1cbiIsIi5jb21wb25lbnQuc2hhcmUge1xuXHRAaW5jbHVkZSBjbGVhckxpc3Q7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdHBhZGRpbmctdG9wOiAzMHB4O1xuXHQud3JhcHBlciB7XG5cdFx0QGluY2x1ZGUgZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG5cdH1cblx0Ly8gQnV0dG9uXG5cdC50b2dnbGUtc2hhcmUge1xuXHRcdEBpbmNsdWRlIGNsZWFyQnRuO1xuXHRcdEBpbmNsdWRlIGZsZXgoKTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWctcGF0aCArIFwic2hhcmUuc3ZnXCIpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEuOHJlbTtcblx0XHRcdGhlaWdodDogMS44cmVtO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDAuNnJlbTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEuOHJlbTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblx0fVxuXG5cdC5zb2NpYWwtbWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRmb250LXNpemU6IDA7XG5cdFx0Ji5zaG93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXHRcdC5tZW51LWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAwO1xuXHRcdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRhIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOiAxLjhyZW07XG5cdFx0XHRoZWlnaHQ6IDEuOHJlbTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEuOHJlbTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuOHJlbTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDAuOXJlbTtcblx0XHRcdGhlaWdodDogMC45cmVtO1xuXHRcdH1cblx0fVxufSIsIi5jb21wb25lbnQubm90aWZpY2F0aW9uLFxuLmNvbXBvbmVudC5jb29raWUtbm90aWNlIHtcblx0bWF4LXdpZHRoOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogbm9uZTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0LnJvdyB7XG5cdFx0cGFkZGluZzogMC40cmVtIDA7XG5cdH1cblx0Ji5oaWRlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC50b2dnbGUtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0YnV0dG9uIHtcblx0XHRAaW5jbHVkZSBjbGVhckJ0bjtcblx0fVxuXHRoMiB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcblx0fVxuXHRoMixcblx0cCxcblx0YSxcblx0YnV0dG9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0Zm9udC1zaXplOiAwLjg4cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cdGJ1dHRvbiB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblx0LmJ4LS1pbmxpbmUtbm90aWZpY2F0aW9uIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuXHQuYngtLWlubGluZS1ub3RpZmljYXRpb25fX3RleHQtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0LmJ4LS1pbmxpbmUtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0aGVpZ2h0OiAxLjkycmVtO1xuXHRcdHdpZHRoOiAxLjkycmVtO1xuXHRcdG1hcmdpbi1yaWdodDogMC41cmVtO1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDA7XG5cdFx0fVxuXHR9XG5cdC5ieC0taW5saW5lLW5vdGlmaWNhdGlvbl9fYWN0aW9uLWJ1dHRvbiB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdC5ieC0taW5saW5lLW5vdGlmaWNhdGlvbl9fYWN0aW9uLWJ1dHRvbixcblx0LmJ4LS1pbmxpbmUtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdH1cbn1cblxuLmNvbXBvbmVudC5ub3RpZmljYXRpb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHQud3JhcHBlciB7XG5cdFx0cGFkZGluZzogMCAyLjRyZW07XG5cdH1cblx0LmJ4LS1pbmxpbmUtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b25cblx0XHQuYngtLWlubGluZS1ub3RpZmljYXRpb25fX2Nsb3NlLWljb24ge1xuXHRcdGZpbGw6ICRibGFjaztcblx0fVxuXHQuYngtLWlubGluZS1ub3RpZmljYXRpb25fX2FjdGlvbi1idXR0b24ge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0fVxuXHQuYngtLWlubGluZS1ub3RpZmljYXRpb25fX3N1YnRpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuLmNvbXBvbmVudC5jb29raWUtbm90aWNlIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblxuXHRjb2xvcjogJHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdHotaW5kZXg6IDEwO1xuXHRidXR0b24sXG5cdGEge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0LmJ4LS1pbmxpbmUtbm90aWZpY2F0aW9uX19jbG9zZS1idXR0b24ge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLmNvbXBvbmVudC5pbnRybyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi4jeyRnbGlkZS1jbGFzc30ge1xyXG4gICR0aGlzOiAmO1xyXG5cclxuICAkc2U6ICRnbGlkZS1lbGVtZW50LXNlcGFyYXRvcjtcclxuICAkc206ICRnbGlkZS1tb2RpZmllci1zZXBhcmF0b3I7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAqIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAmI3skc2V9dHJhY2sge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gICYjeyRzZX1zbGlkZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLVk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cclxuICAgICYjeyRnbGlkZS1tb2RpZmllci1zZXBhcmF0b3J9ZHJhZ2dpbmcge1xyXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYjeyRzZX1zbGlkZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xyXG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmI3skc2V9YXJyb3dzIHtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJiN7JHNlfWJ1bGxldHMge1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmI3skc219cnRsIHtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLiN7JGdsaWRlLWNsYXNzfSB7XHJcbiAgJHRoaXM6ICY7XHJcblxyXG4gICRzZTogJGdsaWRlLWVsZW1lbnQtc2VwYXJhdG9yO1xyXG4gICRzbTogJGdsaWRlLW1vZGlmaWVyLXNlcGFyYXRvcjtcclxuXHJcbiAgJiN7JHNlfWFycm93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAuMjVlbSAwLjVlbSAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIHRleHQtc2hhZG93OiAwIDAuMjVlbSAwLjVlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLCBib3JkZXIgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxyXG4gICAgJjpob3ZlciB7IGJvcmRlci1jb2xvcjogd2hpdGU7IH1cclxuXHJcbiAgICAmI3skc219bGVmdCB7XHJcbiAgICAgIGxlZnQ6IDJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmI3skc219cmlnaHQge1xyXG4gICAgICByaWdodDogMmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYjeyRzbX1kaXNhYmxlZCB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMzM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmI3skc2V9YnVsbGV0cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYm90dG9tOiAyZW07XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG5cclxuICAmI3skc2V9YnVsbGV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgIHdpZHRoOiA5cHg7XHJcbiAgICBoZWlnaHQ6IDlweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjI1ZW0gMC41ZW0gMCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBtYXJnaW46IDAgMC4yNWVtO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgIH1cclxuXHJcbiAgICAmI3skc219YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmI3skc219c3dpcGVhYmxlIHtcclxuICAgIGN1cnNvcjogZ3JhYjtcclxuICAgIGN1cnNvcjogLW1vei1ncmFiO1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgfVxyXG5cclxuICAmI3skc219ZHJhZ2dpbmcge1xyXG4gICAgY3Vyc29yOiBncmFiYmluZztcclxuICAgIGN1cnNvcjogLW1vei1ncmFiYmluZztcclxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcclxuICB9XHJcbn1cclxuIiwiLy8gUmVxdWlyZWQgQ29yZSBTdHlsZXNoZWV0XG5AaW1wb3J0IFwiLi9ub2RlX21vZHVsZXMvQGdsaWRlanMvZ2xpZGUvc3JjL2Fzc2V0cy9zYXNzL2dsaWRlLmNvcmVcIjtcblxuLy8gT3B0aW9uYWwgVGhlbWUgU3R5bGVzaGVldFxuQGltcG9ydCBcIi4vbm9kZV9tb2R1bGVzL0BnbGlkZWpzL2dsaWRlL3NyYy9hc3NldHMvc2Fzcy9nbGlkZS50aGVtZVwiO1xuXG4uZ2xpZGUge1xuXHQuc2xpZGUtY291bnRlciB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAuNHJlbSAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5nbGlkZV9fdHJhY2sge1xuXHRcdHRyYW5zaXRpb246IGhlaWdodCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0LmdsaWRlX19zbGlkZSB7XG5cdFx0XHRhOmZvY3VzIHtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4ICRibGFjaztcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5nbGlkZV9fYXJyb3dzIHtcblx0XHRAaW5jbHVkZSBmbGV4KFxuXHRcdFx0JGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sXG5cdFx0XHQkYWxpZ246IGZsZXgtc3RhcnQsXG5cdFx0XHQkd3JhcDogbm93cmFwXG5cdFx0KTtcblx0fVxuXHQuZ2xpZGVfX2Fycm93LS1sZWZ0LFxuXHQuZ2xpZGVfX2Fycm93LS1yaWdodCB7XG5cdFx0QGluY2x1ZGUgY2xlYXJCdG47XG5cdFx0cGFkZGluZzogMC40cmVtIDEuMnJlbTtcblxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0dHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0XHRmb250LXNpemU6ICRtb2JpbGUtZm9udC1zaXplO1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0Zm9udC1zaXplOiAkdGFibGV0LWZvbnQtc2l6ZTsgLy8gdGFibGV0IGZvbnQgc2l6ZVxuXHRcdH1cblx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdGZvbnQtc2l6ZTogJGRlc2t0b3AtZm9udC1zaXplOyAvLyBkZXNrdG9wIGZvbnQgc2l6ZVxuXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0YmFja2dyb3VuZDogJHRyYW5zcGFyZW50O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGRlc2t0b3AtdXAge1xuXHRcdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IC8vIGJhc2Ugb3IgbGFyZ2UgZm9udCBzaXplXG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0fVxuXHR9XG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZVwiO1xuQGltcG9ydCBcIm5vdGlmaWNhdGlvblwiO1xuQGltcG9ydCBcImNvb2tpZS1ub3RpY2VcIjtcbkBpbXBvcnQgXCJpbnRyb1wiO1xuQGltcG9ydCBcInNsaWRlclwiO1xuQGltcG9ydCBcImxpZ2h0Ym94XCI7XG5cbi5jb21wb25lbnQubGFyZ2UtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuIiwiLnJlbGF0ZWQtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uYmxvY2suc2luZ2xlIHtcblx0cGFkZGluZy10b3A6IDJyZW07XG5cdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LndyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ji5leGhpYml0LXdyYXBwZXIge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG5cdC5hcnRpY2xlIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiAycmVtO1xuXHRcdEBpbmNsdWRlIHRhYmxldC1wb3J0cmFpdC11cCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtb2JpbGUtb25seSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0Lm1ldGEge1xuXHRcdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRcdC50aXRsZTpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDE4cmVtO1xuXHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjZyZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0fVxuXHRcdHRpbWUgKyB0aW1lIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMC4yNHJlbTtcblx0XHRcdFx0aGVpZ2h0OiAwLjI0cmVtO1xuXHRcdFx0XHRtYXJnaW46IDAgMC42cmVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2F0ZWdvcnkgYSB7XG5cdFx0XHRjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQuZGF0ZSxcblx0XHQudGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Ji5yZWNvcmQge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XG5cdFx0fVxuXHRcdC5jb250ZW50IHtcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdH1cblx0XHQudGl0bGUge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBBbHNvIGhhcHBlbmluZyBpbiBIZXJvIFN0eWxlIDVcblx0XHQudGl0bGUge1xuXHRcdFx0dGV4dC1zaGFkb3c6IDAuMDNlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG5cdFx0XHRcdC0wLjAzZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0XHQwIDAuMDNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0XHQwIC0wLjAzZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdFx0MC4wNmVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdFx0LTAuMDZlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG5cdFx0XHRcdDAuMDllbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksXG5cdFx0XHRcdC0wLjA5ZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0XHQwLjEyZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLFxuXHRcdFx0XHQtMC4xMmVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdFx0MC4xNWVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSxcblx0XHRcdFx0LTAuMTVlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR5ZWxsb3cgNTAlLCAkd2hpdGUgNTAlKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzcHg7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IC8vIEJlZm9yZSBhbmltYXRpb25cblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7IC8vIEFuaW1hdGlvbiBwb3NpdGlvblxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiA4MDBtcyBlYXNlLWluLW91dCA0MDBtcztcblx0XHR9XG5cdFx0Ji5hbmltYXRlIC51bmRlcmxpbmUge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcblx0XHR9XG5cblx0XHQuY29udGVudC13cmFwcGVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdC5jb250ZW50LWlubmVyIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRleHQge1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbGV4OiAxIDAgMTAwJTtcblxuXHRcdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0XHR3aWR0aDogNTUlO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmltYWdlIHtcblx0XHRcdFx0b3JkZXI6IDE7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDQ1JTtcblx0XHRcdFx0fVxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdG91dGxpbmU6IDVweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRcdFx0XHRvdXRsaW5lLW9mZnNldDogLTVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lml0ZW0ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdFx0XHRkdCwgXG5cdFx0XHRcdGRkIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmJ1dHRvbnMge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5hcnRpY2xlID4gLnRleHQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMi42cmVtO1xuXHRcdH1cblx0XHQuYXJ0aWNsZSA+IC50ZXh0LFxuXHRcdC5jb250ZW50LWlubmVyIHtcblx0XHRcdHBhZGRpbmc6IDAgMnJlbTtcblx0XHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0XHR3aWR0aDogJHBlcmNlbnRhZ2U7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRcdHBhZGRpbmc6IDAgMS4ycmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYucG9zdCxcblx0Ji5ldmVudCB7XG5cdFx0LnRleHQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdG9yZGVyOiAxO1xuXHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIDJyZW07XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0d2lkdGg6ICRwZXJjZW50YWdlO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDEuMnJlbTtcblx0XHRcdH1cblx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDEuNnJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmltYWdlLXdyYXBwZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvcmRlcjogMjtcblx0XHRcdGZsZXg6IDEgMCAxMDAlO1xuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0LmltYWdlIHtcblx0XHRcdFx0QGluY2x1ZGUgaW1hZ2VfY292ZXIoKTtcblx0XHRcdFx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEsIDEpO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuYmxvY2suZXhoaWJpdCB7XG5cdEBpbmNsdWRlIGNsZWFyTGlzdDtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0LndyYXBwZXIge1xuXHRcdG1heC13aWR0aDogJHBlcmNlbnRhZ2U7XG5cdH1cblx0Lm5hdmlnYXRpb24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBmbGV4KCRhbGlnbjogZmxleC1zdGFydCwgJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXHR9XG5cdC50aXRsZSB7XG5cdFx0b3JkZXI6IDE7XG5cdFx0d2lkdGg6IDEwMCVcblx0fVxuXHQuY2hpbGQtbmF2IHtcblx0XHRvcmRlcjogMjtcblx0XHRmbGV4OiAxIDAgMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjRyZW07XG5cdFx0cGFkZGluZzogMDtcblx0XHRAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKTtcblxuXHRcdEBpbmNsdWRlIHRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ly8gdG9wOiA2cmVtO1xuXHRcdFx0bGVmdDogNjAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1vYmlsZS1vbmx5IHtcblx0XHRcdC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSB0aW55LXBob25lcyB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YTpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRhYmxlLW9mLWNvbnRlbnRzIHtcblx0XHRvcmRlcjogMTtcblx0XHRmbGV4OiAxIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDM2MHB4O1xuXHRcdC8vIG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0bWFyZ2luLXRvcDogMjVweDsgXG5cdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXG5cdFx0XHRAaW5jbHVkZSB0YWJsZXQtbGFuZHNjYXBlLXVwIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuMzIpO1xuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuXHRcdFx0XHQvLyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLm9wZW4ge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0fVxuXHRcdFx0LmJ1dHRvbjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiLVwiO1xuXHRcdFx0fVxuXHRcdFx0Lml0ZW1zIHtcblx0XHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRAaW5jbHVkZSBjbGVhckJ0bjtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIitcIjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDAuNnJlbTtcblx0XHRcdH1cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiAkZm9jdXMtb3V0bGluZTtcblx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6ICRmb2N1cy1vdXRsaW5lLW9mZnNldDtcblx0XHRcdH1cblx0XHR9XG5cdFx0YSxcblx0XHQuYnV0dG9uIHtcblx0XHRcdGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XG5cdFx0fVxuXHRcdC5pdGVtcyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMC40cmVtO1xuXHRcdFx0QGluY2x1ZGUgdGFibGV0LWxhbmRzY2FwZS11cCB7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpO1xuXHRcdFx0XHRncmlkLWdhcDogMXJlbTtcblx0XHRcdH1cblx0XHRcdC5pdGVtIHsgXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0IFwiLi9zaW5nbGVcIjtcbkBpbXBvcnQgXCIuL2V4aGliaXQuc2Nzc1wiO1xuXG4ucGFnZS10ZW1wbGF0ZS10aGUtY29sbGVjdGlvbiB7XG5cdC5ibG9jay5oZXJvLnN0eWxlLTEge1xuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdH1cblx0LmZpZWxkc2V0LmZpbHRlcnMge1xuXHRcdC5mYWNldC13cmFwIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgyIC8gNSAqIDEwMCUpIC0gMS40cmVtKTtcblx0XHR9XG5cdFx0LmZhY2V0LWxhYmVsIHtcblx0XHRcdG1hcmdpbjogMCAycmVtIDAgMDtcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/