@charset "UTF-8";
:root {
  --lead: 1.5;
  --unit: calc(var(--lead) * 1rem);
  --remPx: 16px;
  --boxSizing: border-box; }

*, *:after, *:before {
  box-sizing: border-box;
  box-sizing: var(--boxSizing);
  transition: all 300ms ease, font-size 0s;
  background-repeat: no-repeat; }

.reset-box-sizing {
  --boxSizing: content-box; }

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0;
  font-family: "Work Sans"; }

main {
  display: block; }

dd, dt, li {
  margin-bottom: 0.75rem; }

blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 3rem; }

:root {
  --remPx: 16px;
  --rem: 16; }

html {
  font-size: 100%; }

@media screen and (min-width: 50rem) {
  :root {
    --remPx: 17px;
    --rem: 17; }
  html {
    font-size: 106.25%; } }

@media screen and (min-width: 75rem) {
  :root {
    --remPx: 18px;
    --rem: 18; }
  html {
    font-size: 112.5%; } }

@media screen and (min-width: 35rem) {
  :root {
    --remPx: 16px;
    --rem: 16; }
  html {
    font-size: 100%; } }

h1, h2, h3, h4, h5, h6, .h1, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6, .h3, .h4, .h5, .h6,
.heading {
  letter-spacing: -0.03em;
  font-weight: 400;
  color: #30BFD3;
  font-family: Work Sans;
  margin: 0 0 0.75rem 0; }

h1, .h1 {
  font-size: 1.625rem;
  line-height: 1.25;
  margin: 1.69062rem 0 0.77812rem 0; }

h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  font-size: 1.4375rem;
  line-height: 1.25;
  margin: 1.91094rem 0 0.79219rem 0; }

h3, .h3 {
  font-size: 1.25rem;
  line-height: 1.25;
  margin: 2.13125rem 0 0.80625rem 0; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.25;
  margin: 2.27813rem 0 0.81562rem 0; }

h5, .h5 {
  font-size: 1rem;
  line-height: 1.5;
  margin: 2.25rem 0 0.75rem 0; }

h6, .h6 {
  font-size: 0.875rem;
  line-height: 1.71429;
  margin: 2.25rem 0 0.75rem 0; }

@media screen and (min-width: 35rem) {
  h1, .h1 {
    font-size: 1.625rem;
    line-height: 1.25;
    margin: 1.69062rem 0 0.77812rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.4375rem;
    line-height: 1.25;
    margin: 1.91094rem 0 0.79219rem 0; }
  h3, .h3 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin: 2.13125rem 0 0.80625rem 0; }
  h4, .h4 {
    font-size: 1.125rem;
    line-height: 1.25;
    margin: 2.27813rem 0 0.81562rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

@media screen and (min-width: 50rem) {
  h1, .h1 {
    font-size: 1.6875rem;
    line-height: 1.25;
    margin: 1.61719rem 0 0.77344rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin: 1.8375rem 0 0.7875rem 0; }
  h3, .h3 {
    font-size: 1.3125rem;
    line-height: 1.25;
    margin: 2.05781rem 0 0.80156rem 0; }
  h4, .h4 {
    font-size: 1.125rem;
    line-height: 1.25;
    margin: 2.27813rem 0 0.81562rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

@media screen and (min-width: 75rem) {
  h1, .h1 {
    font-size: 1.875rem;
    line-height: 1.25;
    margin: 2.89687rem 0 0.75937rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.5625rem;
    line-height: 1.25;
    margin: 1.76406rem 0 0.78281rem 0; }
  h3, .h3 {
    font-size: 1.375rem;
    line-height: 1.25;
    margin: 1.98438rem 0 0.79688rem 0; }
  h4, .h4 {
    font-size: 1.1875rem;
    line-height: 1.25;
    margin: 2.20469rem 0 0.81094rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

b, strong {
  font-weight: bolder; }

small {
  font-size: 75%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted; }

code, kbd, samp {
  font-family: "IBM Plex Mono", monospace;
  font-size: 1em; }

p, .paragraph {
  margin: 0 0 1.5rem 0; }

pre, .pre {
  font-family: "IBM Plex Mono", monospace;
  font-size: 1em;
  overflow-y: hidden;
  overflow-x: auto;
  white-space: pre; }
  pre > code, .pre > code {
    border-radius: 0;
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre; }

blockquote, .blockquote {
  border-left: 0.25rem solid #30BFD3; }
  blockquote *:last-child, .blockquote *:last-child {
    margin-bottom: 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

dl,
ol,
ul {
  list-style: none;
  margin-top: 0;
  padding-left: 0; }
  dl dl,
  dl ol,
  dl ul,
  ol dl,
  ol ol,
  ol ul,
  ul dl,
  ul ol,
  ul ul {
    font-size: 90%;
    margin: 1.5rem 0 1.5rem 3rem; }

ol {
  list-style: decimal inside; }

ul {
  list-style: circle inside; }

table {
  border-spacing: 0;
  width: 100%; }

td,
th {
  padding: 0.75rem;
  text-align: left; }
  td:first-child,
  th:first-child {
    padding-left: 0; }
  td:last-child,
  th:last-child {
    padding-right: 0; }

a {
  color: #052b47;
  text-decoration: none;
  cursor: pointer;
  font-weight: 500; }
  a:focus, a:hover {
    color: #052b47;
    text-decoration: inherit; }

a.text {
  color: #052b47; }
  a.text:focus, a.text:hover {
    color: #052b47; }

img {
  border-style: none;
  max-width: 100%; }

button, input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

.button,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
  color: white;
  background-color: #30BFD3;
  border: 1px solid;
  border-color: #30BFD3;
  border-radius: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  font-size: 0.75rem;
  font-family: "Work Sans";
  letter-spacing: 0.05em;
  line-height: 2.25rem;
  height: 2.25rem;
  margin: 0 0 0.75rem 0;
  padding: 0 1.5rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: filter 250ms; }
  .button:focus, .button:hover,
  button:focus,
  button:hover,
  input[type='button']:focus,
  input[type='button']:hover,
  input[type='reset']:focus,
  input[type='reset']:hover,
  input[type='submit']:focus,
  input[type='submit']:hover {
    box-shadow: 0 0 2px 3px rgba(0, 0, 0, 0.12), inset 0 0 16px rgba(230, 225, 132, 0.1); }
  .button[disabled], .button.is-disabled,
  button[disabled],
  button.is-disabled,
  input[type='button'][disabled],
  input[type='button'].is-disabled,
  input[type='reset'][disabled],
  input[type='reset'].is-disabled,
  input[type='submit'][disabled],
  input[type='submit'].is-disabled {
    filter: saturate(25%);
    cursor: default;
    opacity: 0.75; }
  .button.is-small,
  button.is-small,
  input[type='button'].is-small,
  input[type='reset'].is-small,
  input[type='submit'].is-small {
    line-height: 1.5rem;
    height: 1.5rem;
    padding: 0 0.375rem; }
  .button.is-primary,
  button.is-primary,
  input[type='button'].is-primary,
  input[type='reset'].is-primary,
  input[type='submit'].is-primary {
    color: #f3f4f6;
    background-color: #052b47;
    border-color: #052b47; }
  .button.is-secondary,
  button.is-secondary,
  input[type='button'].is-secondary,
  input[type='reset'].is-secondary,
  input[type='submit'].is-secondary {
    color: #122c49;
    background-color: #FF3E72;
    border-color: #FF3E72; }
  .button.is-positive,
  button.is-positive,
  input[type='button'].is-positive,
  input[type='reset'].is-positive,
  input[type='submit'].is-positive {
    color: #063146;
    background-color: #16ab39;
    border-color: #16ab39; }
  .button.is-warning,
  button.is-warning,
  input[type='button'].is-warning,
  input[type='reset'].is-warning,
  input[type='submit'].is-warning {
    color: #113244;
    background-color: #fbbd08;
    border-color: #fbbd08; }
  .button.is-negative,
  button.is-negative,
  input[type='button'].is-negative,
  input[type='reset'].is-negative,
  input[type='submit'].is-negative {
    color: #fdf2f4;
    background-color: #de011e;
    border-color: #de011e; }
  .button.is-clear,
  button.is-clear,
  input[type='button'].is-clear,
  input[type='reset'].is-clear,
  input[type='submit'].is-clear {
    background-color: transparent;
    border-color: transparent;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    height: initial;
    margin: initial;
    padding: 0;
    text-align: inherit;
    text-decoration: inherit;
    text-transform: inherit;
    white-space: nowrap; }
    .button.is-clear:focus, .button.is-clear:hover,
    button.is-clear:focus,
    button.is-clear:hover,
    input[type='button'].is-clear:focus,
    input[type='button'].is-clear:hover,
    input[type='reset'].is-clear:focus,
    input[type='reset'].is-clear:hover,
    input[type='submit'].is-clear:focus,
    input[type='submit'].is-clear:hover {
      box-shadow: none;
      text-decoration: underline; }
  .button.is-ghost,
  button.is-ghost,
  input[type='button'].is-ghost,
  input[type='reset'].is-ghost,
  input[type='submit'].is-ghost {
    background-color: transparent;
    color: #30BFD3; }

input,
optgroup,
select {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.15;
  margin: 0; }

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

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

input[type='email']:hover, input[type='email']:focus,
input[type='number']:hover,
input[type='number']:focus,
input[type='password']:hover,
input[type='password']:focus,
input[type='search']:hover,
input[type='search']:focus,
input[type='tel']:hover,
input[type='tel']:focus,
input[type='text']:hover,
input[type='text']:focus,
input[type='url']:hover,
input[type='url']:focus,
input[type='color']:hover,
input[type='color']:focus,
input[type='date']:hover,
input[type='date']:focus,
input[type='month']:hover,
input[type='month']:focus,
input[type='week']:hover,
input[type='week']:focus,
input[type='datetime']:hover,
input[type='datetime']:focus,
input[type='datetime-local']:hover,
input[type='datetime-local']:focus,
input:not([type]):hover,
input:not([type]):focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
  background-color: #fafafa; }

input[type='email']:focus,
input[type='number']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='text']:focus,
input[type='url']:focus,
input[type='color']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input:not([type]):focus,
textarea:focus,
select:focus {
  box-shadow: inset 0 0 0.5rem 2px rgba(0, 0, 0, 0.08), 0 0 0 2px #30bfd3;
  filter: none;
  outline: 0; }

input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
input[type='color'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='datetime'],
input[type='datetime-local'],
input:not([type]),
textarea,
select {
  color: #123650;
  background-color: white;
  border: 1px solid;
  border-color: #30BFD3;
  border-radius: 1.125rem;
  min-width: 15em;
  width: 100%;
  max-width: 30rem;
  display: block;
  font-size: 1rem;
  font-family: inherit;
  height: 2.625rem;
  line-height: 1.5;
  margin: 0.375rem 0 1.5rem 0;
  padding: 0 1.125rem; }

input[type='color'] {
  padding: 0.375rem 1.125rem; }

input[type='date'],
input[type='month'],
input[type='week'],
input[type='datetime-local'],
textarea {
  font-size: var(--remPx); }

input[type='checkbox'],
input[type='radio'] {
  display: inline;
  margin-right: 1em; }

input[type='checkbox'],
input[type='radio'] {
  z-index: -1;
  transform: scale(1.5);
  outline: none; }

input[type='checkbox']::after,
input[type='radio']::after {
  display: block;
  content: "";
  z-index: 1;
  cursor: pointer;
  box-sizing: border-box;
  width: 1em;
  height: 1em;
  position: relative;
  background-color: white;
  box-shadow: inset 0 0 0.5em rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.2);
  outline-color: #30BFD3; }

input[type='checkbox']::after {
  bottom: 0.9em;
  right: 0.15em;
  border-radius: 0.2em; }

input[type='checkbox']::before {
  content: "";
  display: block;
  z-index: 2;
  border: solid transparent;
  border-width: 0 0.2em 0.2em 0;
  transform: rotate(45deg);
  width: 0.4em;
  height: 0.7em;
  position: relative;
  right: -0.2em;
  bottom: 0.1em; }

input[type='radio']::after {
  border-radius: 50%;
  bottom: 0.25em;
  right: 0.1em; }

input[type='checkbox']:checked::before {
  border-color: white; }

input[type='checkbox']:checked::after {
  background-color: #30BFD3;
  transition: background-color 0ms; }

input[type='radio']:checked::after {
  border: 0.33333em solid #30BFD3;
  box-shadow: none; }

input[type='checkbox']:hover:not(:disabled)::after,
input[type='radio']:hover:not(:disabled)::after {
  background-color: #eee; }

input[type='checkbox']:checked:hover:not(:disabled)::after {
  background-color: #259ab0; }

input[type='radio']:checked:hover:not(:disabled)::after {
  background-color: white;
  border-color: #259ab0; }

input[type='radio']:disabled::after {
  filter: brightness(110%); }

input[type='checkbox']:checked:disabled::after {
  background-color: #93acaf; }

input[type='radio']:checked:disabled::after {
  border: 0.33333em solid silver; }

select {
  padding-right: 3rem; }

textarea {
  overflow: auto;
  padding: 0.75rem 1.125rem;
  min-height: 7.5rem; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  display: table;
  max-width: 30rem;
  white-space: normal;
  color: inherit;
  padding: 0;
  text-align: right;
  font-size: 0.875rem; }

label {
  display: block;
  font-weight: 700;
  margin-bottom: 1.5rem; }

label + input[type='email'],
label + input[type='number'],
label + input[type='password'],
label + input[type='search'],
label + input[type='tel'],
label + input[type='text'],
label + input[type='url'],
label + input[type='color'],
label + input[type='date'],
label + input[type='month'],
label + input[type='week'],
label + input[type='datetime'],
label + input[type='datetime-local'],
label + input:not([type]),
label + textarea,
label + select {
  margin-top: -1.125rem; }

input[type='email'] + legend, .conversation-balloon input[type='email'] + textarea::placeholder, input[type='email'] + .helptext,
input[type='number'] + legend,
.conversation-balloon input[type='number'] + textarea::placeholder,
input[type='number'] + .helptext,
input[type='password'] + legend,
.conversation-balloon input[type='password'] + textarea::placeholder,
input[type='password'] + .helptext,
input[type='search'] + legend,
.conversation-balloon input[type='search'] + textarea::placeholder,
input[type='search'] + .helptext,
input[type='tel'] + legend,
.conversation-balloon input[type='tel'] + textarea::placeholder,
input[type='tel'] + .helptext,
input[type='text'] + legend,
.conversation-balloon input[type='text'] + textarea::placeholder,
input[type='text'] + .helptext,
input[type='url'] + legend,
.conversation-balloon input[type='url'] + textarea::placeholder,
input[type='url'] + .helptext,
input[type='color'] + legend,
.conversation-balloon input[type='color'] + textarea::placeholder,
input[type='color'] + .helptext,
input[type='date'] + legend,
.conversation-balloon input[type='date'] + textarea::placeholder,
input[type='date'] + .helptext,
input[type='month'] + legend,
.conversation-balloon input[type='month'] + textarea::placeholder,
input[type='month'] + .helptext,
input[type='week'] + legend,
.conversation-balloon input[type='week'] + textarea::placeholder,
input[type='week'] + .helptext,
input[type='datetime'] + legend,
.conversation-balloon input[type='datetime'] + textarea::placeholder,
input[type='datetime'] + .helptext,
input[type='datetime-local'] + legend,
.conversation-balloon input[type='datetime-local'] + textarea::placeholder,
input[type='datetime-local'] + .helptext,
input:not([type]) + legend,
.conversation-balloon input:not([type]) + textarea::placeholder,
input:not([type]) + .helptext,
textarea + legend,
.conversation-balloon textarea + textarea::placeholder,
textarea + .helptext,
select + legend,
.conversation-balloon select + textarea::placeholder,
select + .helptext,
label + legend,
.conversation-balloon label + textarea::placeholder {
  margin-top: -1.125rem;
  margin-bottom: 1.5rem; }

fieldset {
  padding: 0; }

progress {
  vertical-align: baseline; }

.label-inline {
  display: inline-block;
  font-weight: normal;
  margin-left: 0.5rem; }

.list-inline {
  padding: 0;
  margin: 0;
  list-style: none; }
  .list-inline > li {
    display: inline; }

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

.text-1 {
  font-size: 1.625rem; }
  @media screen and (min-width: 35rem) {
    .text-1 {
      font-size: 1.625rem; } }
  @media screen and (min-width: 50rem) {
    .text-1 {
      font-size: 1.6875rem; } }
  @media screen and (min-width: 75rem) {
    .text-1 {
      font-size: 1.875rem; } }
.text-2 {
  font-size: 1.4375rem; }
  @media screen and (min-width: 35rem) {
    .text-2 {
      font-size: 1.4375rem; } }
  @media screen and (min-width: 50rem) {
    .text-2 {
      font-size: 1.5rem; } }
  @media screen and (min-width: 75rem) {
    .text-2 {
      font-size: 1.5625rem; } }
.text-3 {
  font-size: 1.25rem; }
  @media screen and (min-width: 35rem) {
    .text-3 {
      font-size: 1.25rem; } }
  @media screen and (min-width: 50rem) {
    .text-3 {
      font-size: 1.3125rem; } }
  @media screen and (min-width: 75rem) {
    .text-3 {
      font-size: 1.375rem; } }
.text-4 {
  font-size: 1.125rem; }
  @media screen and (min-width: 35rem) {
    .text-4 {
      font-size: 1.125rem; } }
  @media screen and (min-width: 50rem) {
    .text-4 {
      font-size: 1.125rem; } }
  @media screen and (min-width: 75rem) {
    .text-4 {
      font-size: 1.1875rem; } }
.text-5 {
  font-size: 1rem; }
  @media screen and (min-width: 35rem) {
    .text-5 {
      font-size: 1rem; } }
  @media screen and (min-width: 50rem) {
    .text-5 {
      font-size: 1rem; } }
  @media screen and (min-width: 75rem) {
    .text-5 {
      font-size: 1rem; } }
.text-6, label, .description dt {
  font-size: 0.875rem; }
  @media screen and (min-width: 35rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
  @media screen and (min-width: 50rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
  @media screen and (min-width: 75rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
.text-7 {
  font-size: 0.75rem; }
  @media screen and (min-width: 35rem) {
    .text-7 {
      font-size: 0.75rem; } }
  @media screen and (min-width: 50rem) {
    .text-7 {
      font-size: 0.75rem; } }
  @media screen and (min-width: 75rem) {
    .text-7 {
      font-size: 0.75rem; } }
.text-8 {
  font-size: 0.625rem; }
  @media screen and (min-width: 35rem) {
    .text-8 {
      font-size: 0.625rem; } }
  @media screen and (min-width: 50rem) {
    .text-8 {
      font-size: 0.625rem; } }
  @media screen and (min-width: 75rem) {
    .text-8 {
      font-size: 0.625rem; } }
.sans-serif {
  font-family: "Work Sans"; }

.serif {
  font-family: "IBM Plex Serif", serif; }

.cursive {
  font-family: cursive; }

.monospace {
  font-family: "IBM Plex Mono", monospace; }

.thin {
  font-weight: 100; }

.extra-light {
  font-weight: 200; }

.light {
  font-weight: 300; }

.regular {
  font-weight: 400; }

.medium {
  font-weight: 500; }

.semi-bold {
  font-weight: 600; }

.bold, .tooltip__content, .stat-slab dl dd, .stat-slab dl dt, .description dt, .categories {
  font-weight: 700; }

.extra-bold {
  font-weight: 800; }

.black {
  font-weight: 900; }

.italic {
  font-style: italic; }

.roman {
  font-style: normal; }

.uppercase, .tabs {
  text-transform: uppercase; }

.lowercase, .stat-slab dl dt, .description dt {
  text-transform: lowercase; }

.capitalize {
  text-transform: capitalize; }

.normalcase {
  text-transform: none; }

.underline {
  text-decoration: underline; }

.line-through {
  text-decoration: line-through; }

.no-underline {
  text-decoration: none; }

.left, .moderate .comments-container {
  text-align: left; }

.center, .conversation-balloon, .popup__contents, .intro-paragraph, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  text-align: center; }

.right {
  text-align: right; }

.justify {
  text-align: justify; }

.baseline {
  vertical-align: baseline; }

.top {
  vertical-align: top; }

.middle {
  vertical-align: middle; }

.bottom {
  vertical-align: bottom; }

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

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

.normal {
  white-space: normal; }

.nowrap {
  white-space: nowrap; }

.pre {
  white-space: pre; }

.pre-line {
  white-space: pre-line; }

.pre-wrap {
  white-space: pre-wrap; }

.leading {
  line-height: 1.5; }

.leading-title {
  line-height: 1.25; }

.leading-solid {
  line-height: 1; }

.leading-loose {
  line-height: 2; }

.measure {
  max-width: 29em; }

.measure-wide {
  max-width: 38em; }

.measure-narrow {
  max-width: 20em; }

.indent {
  text-indent: 1.5em; }

.indent-punctuation {
  text-indent: -0.3em; }

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.rtl {
  direction: rtl; }

.ltr {
  direction: ltr; }

.pad-0, .stat-slab dl {
  padding: 0; }

.pad-0p {
  padding: 0.1875rem; }

.pad-1, .categories * {
  padding: 0.375rem; }

.pad-1p {
  padding: 0.5625rem; }

.pad-2, .tooltip__content, .toast__icon {
  padding: 0.75rem; }

.pad-2p {
  padding: 1.125rem; }

.pad-3, .modal__btn, .modal__btn--no-fill, .modal__btn--blue, .modal__btn--red, .moderate .comment, .popup__contents {
  padding: 1.5rem; }

.pad-3p {
  padding: 2.25rem; }

.pad-4, .modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
  padding: 3rem; }

.pad-4p {
  padding: 4.5rem; }

.pad-5 {
  padding: 6rem; }

.pad-5p {
  padding: 9rem; }

.pad-6 {
  padding: 12rem; }

.pad-6p {
  padding: 18rem; }

.pad-7 {
  padding: 24rem; }

.pad-7p {
  padding: 36rem; }

.pad-8 {
  padding: 48rem; }

.pad-8p {
  padding: 72rem; }

.pad-x0 {
  padding-left: 0;
  padding-right: 0; }

.pad-x0p {
  padding-left: 0.1875rem;
  padding-right: 0.1875rem; }

.pad-x1 {
  padding-left: 0.375rem;
  padding-right: 0.375rem; }

.pad-x1p {
  padding-left: 0.5625rem;
  padding-right: 0.5625rem; }

.pad-x2 {
  padding-left: 0.75rem;
  padding-right: 0.75rem; }

.pad-x2p {
  padding-left: 1.125rem;
  padding-right: 1.125rem; }

.pad-x3 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.pad-x3p {
  padding-left: 2.25rem;
  padding-right: 2.25rem; }

.pad-x4 {
  padding-left: 3rem;
  padding-right: 3rem; }

.pad-x4p {
  padding-left: 4.5rem;
  padding-right: 4.5rem; }

.pad-x5 {
  padding-left: 6rem;
  padding-right: 6rem; }

.pad-x5p {
  padding-left: 9rem;
  padding-right: 9rem; }

.pad-x6 {
  padding-left: 12rem;
  padding-right: 12rem; }

.pad-x6p {
  padding-left: 18rem;
  padding-right: 18rem; }

.pad-x7 {
  padding-left: 24rem;
  padding-right: 24rem; }

.pad-x7p {
  padding-left: 36rem;
  padding-right: 36rem; }

.pad-x8 {
  padding-left: 48rem;
  padding-right: 48rem; }

.pad-x8p {
  padding-left: 72rem;
  padding-right: 72rem; }

.pad-y0 {
  padding-top: 0;
  padding-bottom: 0; }

.pad-y0p {
  padding-top: 0.1875rem;
  padding-bottom: 0.1875rem; }

.pad-y1 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem; }

.pad-y1p {
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem; }

.pad-y2 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem; }

.pad-y2p {
  padding-top: 1.125rem;
  padding-bottom: 1.125rem; }

.pad-y3 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.pad-y3p {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem; }

.pad-y4 {
  padding-top: 3rem;
  padding-bottom: 3rem; }

.pad-y4p {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem; }

.pad-y5 {
  padding-top: 6rem;
  padding-bottom: 6rem; }

.pad-y5p {
  padding-top: 9rem;
  padding-bottom: 9rem; }

.pad-y6 {
  padding-top: 12rem;
  padding-bottom: 12rem; }

.pad-y6p {
  padding-top: 18rem;
  padding-bottom: 18rem; }

.pad-y7 {
  padding-top: 24rem;
  padding-bottom: 24rem; }

.pad-y7p {
  padding-top: 36rem;
  padding-bottom: 36rem; }

.pad-y8 {
  padding-top: 48rem;
  padding-bottom: 48rem; }

.pad-y8p {
  padding-top: 72rem;
  padding-bottom: 72rem; }

.pad-l0 {
  padding-left: 0; }

.pad-l0p {
  padding-left: 0.1875rem; }

.pad-l1 {
  padding-left: 0.375rem; }

.pad-l1p {
  padding-left: 0.5625rem; }

.pad-l2 {
  padding-left: 0.75rem; }

.pad-l2p {
  padding-left: 1.125rem; }

.pad-l3 {
  padding-left: 1.5rem; }

.pad-l3p {
  padding-left: 2.25rem; }

.pad-l4 {
  padding-left: 3rem; }

.pad-l4p {
  padding-left: 4.5rem; }

.pad-l5 {
  padding-left: 6rem; }

.pad-l5p {
  padding-left: 9rem; }

.pad-l6 {
  padding-left: 12rem; }

.pad-l6p {
  padding-left: 18rem; }

.pad-l7 {
  padding-left: 24rem; }

.pad-l7p {
  padding-left: 36rem; }

.pad-l8 {
  padding-left: 48rem; }

.pad-l8p {
  padding-left: 72rem; }

.pad-r0 {
  padding-right: 0; }

.pad-r0p {
  padding-right: 0.1875rem; }

.pad-r1 {
  padding-right: 0.375rem; }

.pad-r1p {
  padding-right: 0.5625rem; }

.pad-r2 {
  padding-right: 0.75rem; }

.pad-r2p {
  padding-right: 1.125rem; }

.pad-r3 {
  padding-right: 1.5rem; }

.pad-r3p {
  padding-right: 2.25rem; }

.pad-r4 {
  padding-right: 3rem; }

.pad-r4p {
  padding-right: 4.5rem; }

.pad-r5 {
  padding-right: 6rem; }

.pad-r5p {
  padding-right: 9rem; }

.pad-r6 {
  padding-right: 12rem; }

.pad-r6p {
  padding-right: 18rem; }

.pad-r7 {
  padding-right: 24rem; }

.pad-r7p {
  padding-right: 36rem; }

.pad-r8 {
  padding-right: 48rem; }

.pad-r8p {
  padding-right: 72rem; }

.pad-t0 {
  padding-top: 0; }

.pad-t0p {
  padding-top: 0.1875rem; }

.pad-t1 {
  padding-top: 0.375rem; }

.pad-t1p {
  padding-top: 0.5625rem; }

.pad-t2 {
  padding-top: 0.75rem; }

.pad-t2p {
  padding-top: 1.125rem; }

.pad-t3 {
  padding-top: 1.5rem; }

.pad-t3p {
  padding-top: 2.25rem; }

.pad-t4 {
  padding-top: 3rem; }

.pad-t4p {
  padding-top: 4.5rem; }

.pad-t5 {
  padding-top: 6rem; }

.pad-t5p {
  padding-top: 9rem; }

.pad-t6 {
  padding-top: 12rem; }

.pad-t6p {
  padding-top: 18rem; }

.pad-t7 {
  padding-top: 24rem; }

.pad-t7p {
  padding-top: 36rem; }

.pad-t8 {
  padding-top: 48rem; }

.pad-t8p {
  padding-top: 72rem; }

.pad-b0 {
  padding-bottom: 0; }

.pad-b0p {
  padding-bottom: 0.1875rem; }

.pad-b1 {
  padding-bottom: 0.375rem; }

.pad-b1p {
  padding-bottom: 0.5625rem; }

.pad-b2 {
  padding-bottom: 0.75rem; }

.pad-b2p {
  padding-bottom: 1.125rem; }

.pad-b3, .moderate .comments-container {
  padding-bottom: 1.5rem; }

.pad-b3p {
  padding-bottom: 2.25rem; }

.pad-b4 {
  padding-bottom: 3rem; }

.pad-b4p {
  padding-bottom: 4.5rem; }

.pad-b5 {
  padding-bottom: 6rem; }

.pad-b5p {
  padding-bottom: 9rem; }

.pad-b6 {
  padding-bottom: 12rem; }

.pad-b6p {
  padding-bottom: 18rem; }

.pad-b7 {
  padding-bottom: 24rem; }

.pad-b7p {
  padding-bottom: 36rem; }

.pad-b8 {
  padding-bottom: 48rem; }

.pad-b8p {
  padding-bottom: 72rem; }

.margin-auto {
  margin: auto; }

.margin-0, .stat-slab dl dt, .description dt {
  margin: 0; }

.margin-0p {
  margin: 0.1875rem; }

.margin-1 {
  margin: 0.375rem; }

.margin-1p {
  margin: 0.5625rem; }

.margin-2 {
  margin: 0.75rem; }

.margin-2p {
  margin: 1.125rem; }

.margin-3, .popup__close {
  margin: 1.5rem; }

.margin-3p {
  margin: 2.25rem; }

.margin-4 {
  margin: 3rem; }

.margin-4p {
  margin: 4.5rem; }

.margin-5 {
  margin: 6rem; }

.margin-5p {
  margin: 9rem; }

.margin-6 {
  margin: 12rem; }

.margin-6p {
  margin: 18rem; }

.margin-7 {
  margin: 24rem; }

.margin-7p {
  margin: 36rem; }

.margin-8 {
  margin: 48rem; }

.margin-8p {
  margin: 72rem; }

.margin-n0 {
  margin: 0; }

.margin-n0p {
  margin: -0.1875rem; }

.margin-n1 {
  margin: -0.375rem; }

.margin-n1p {
  margin: -0.5625rem; }

.margin-n2 {
  margin: -0.75rem; }

.margin-n2p {
  margin: -1.125rem; }

.margin-n3 {
  margin: -1.5rem; }

.margin-n3p {
  margin: -2.25rem; }

.margin-n4 {
  margin: -3rem; }

.margin-n4p {
  margin: -4.5rem; }

.margin-n5 {
  margin: -6rem; }

.margin-n5p {
  margin: -9rem; }

.margin-n6 {
  margin: -12rem; }

.margin-n6p {
  margin: -18rem; }

.margin-n7 {
  margin: -24rem; }

.margin-n7p {
  margin: -36rem; }

.margin-n8 {
  margin: -48rem; }

.margin-n8p {
  margin: -72rem; }

.margin-xauto {
  margin-left: auto;
  margin-right: auto; }

.margin-x0 {
  margin-left: 0;
  margin-right: 0; }

.margin-x0p {
  margin-left: 0.1875rem;
  margin-right: 0.1875rem; }

.margin-x1, .categories * {
  margin-left: 0.375rem;
  margin-right: 0.375rem; }

.margin-x1p {
  margin-left: 0.5625rem;
  margin-right: 0.5625rem; }

.margin-x2 {
  margin-left: 0.75rem;
  margin-right: 0.75rem; }

.margin-x2p {
  margin-left: 1.125rem;
  margin-right: 1.125rem; }

.margin-x3 {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }

.margin-x3p {
  margin-left: 2.25rem;
  margin-right: 2.25rem; }

.margin-x4 {
  margin-left: 3rem;
  margin-right: 3rem; }

.margin-x4p {
  margin-left: 4.5rem;
  margin-right: 4.5rem; }

.margin-x5 {
  margin-left: 6rem;
  margin-right: 6rem; }

.margin-x5p {
  margin-left: 9rem;
  margin-right: 9rem; }

.margin-x6 {
  margin-left: 12rem;
  margin-right: 12rem; }

.margin-x6p {
  margin-left: 18rem;
  margin-right: 18rem; }

.margin-x7 {
  margin-left: 24rem;
  margin-right: 24rem; }

.margin-x7p {
  margin-left: 36rem;
  margin-right: 36rem; }

.margin-x8 {
  margin-left: 48rem;
  margin-right: 48rem; }

.margin-x8p {
  margin-left: 72rem;
  margin-right: 72rem; }

.margin-nx0 {
  margin-left: 0;
  margin-right: 0; }

.margin-nx0p {
  margin-left: -0.1875rem;
  margin-right: -0.1875rem; }

.margin-nx1 {
  margin-left: -0.375rem;
  margin-right: -0.375rem; }

.margin-nx1p {
  margin-left: -0.5625rem;
  margin-right: -0.5625rem; }

.margin-nx2 {
  margin-left: -0.75rem;
  margin-right: -0.75rem; }

.margin-nx2p {
  margin-left: -1.125rem;
  margin-right: -1.125rem; }

.margin-nx3 {
  margin-left: -1.5rem;
  margin-right: -1.5rem; }

.margin-nx3p {
  margin-left: -2.25rem;
  margin-right: -2.25rem; }

.margin-nx4 {
  margin-left: -3rem;
  margin-right: -3rem; }

.margin-nx4p {
  margin-left: -4.5rem;
  margin-right: -4.5rem; }

.margin-nx5 {
  margin-left: -6rem;
  margin-right: -6rem; }

.margin-nx5p {
  margin-left: -9rem;
  margin-right: -9rem; }

.margin-nx6 {
  margin-left: -12rem;
  margin-right: -12rem; }

.margin-nx6p {
  margin-left: -18rem;
  margin-right: -18rem; }

.margin-nx7 {
  margin-left: -24rem;
  margin-right: -24rem; }

.margin-nx7p {
  margin-left: -36rem;
  margin-right: -36rem; }

.margin-nx8 {
  margin-left: -48rem;
  margin-right: -48rem; }

.margin-nx8p {
  margin-left: -72rem;
  margin-right: -72rem; }

.margin-yauto {
  margin-top: auto;
  margin-bottom: auto; }

.margin-y0 {
  margin-top: 0;
  margin-bottom: 0; }

.margin-y0p {
  margin-top: 0.1875rem;
  margin-bottom: 0.1875rem; }

.margin-y1 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem; }

.margin-y1p {
  margin-top: 0.5625rem;
  margin-bottom: 0.5625rem; }

.margin-y2 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem; }

.margin-y2p {
  margin-top: 1.125rem;
  margin-bottom: 1.125rem; }

.margin-y3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.margin-y3p {
  margin-top: 2.25rem;
  margin-bottom: 2.25rem; }

.margin-y4 {
  margin-top: 3rem;
  margin-bottom: 3rem; }

.margin-y4p {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem; }

.margin-y5 {
  margin-top: 6rem;
  margin-bottom: 6rem; }

.margin-y5p {
  margin-top: 9rem;
  margin-bottom: 9rem; }

.margin-y6 {
  margin-top: 12rem;
  margin-bottom: 12rem; }

.margin-y6p {
  margin-top: 18rem;
  margin-bottom: 18rem; }

.margin-y7 {
  margin-top: 24rem;
  margin-bottom: 24rem; }

.margin-y7p {
  margin-top: 36rem;
  margin-bottom: 36rem; }

.margin-y8 {
  margin-top: 48rem;
  margin-bottom: 48rem; }

.margin-y8p {
  margin-top: 72rem;
  margin-bottom: 72rem; }

.margin-ny0 {
  margin-top: 0;
  margin-bottom: 0; }

.margin-ny0p {
  margin-top: -0.1875rem;
  margin-bottom: -0.1875rem; }

.margin-ny1 {
  margin-top: -0.375rem;
  margin-bottom: -0.375rem; }

.margin-ny1p {
  margin-top: -0.5625rem;
  margin-bottom: -0.5625rem; }

.margin-ny2 {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem; }

.margin-ny2p {
  margin-top: -1.125rem;
  margin-bottom: -1.125rem; }

.margin-ny3 {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }

.margin-ny3p {
  margin-top: -2.25rem;
  margin-bottom: -2.25rem; }

.margin-ny4 {
  margin-top: -3rem;
  margin-bottom: -3rem; }

.margin-ny4p {
  margin-top: -4.5rem;
  margin-bottom: -4.5rem; }

.margin-ny5 {
  margin-top: -6rem;
  margin-bottom: -6rem; }

.margin-ny5p {
  margin-top: -9rem;
  margin-bottom: -9rem; }

.margin-ny6 {
  margin-top: -12rem;
  margin-bottom: -12rem; }

.margin-ny6p {
  margin-top: -18rem;
  margin-bottom: -18rem; }

.margin-ny7 {
  margin-top: -24rem;
  margin-bottom: -24rem; }

.margin-ny7p {
  margin-top: -36rem;
  margin-bottom: -36rem; }

.margin-ny8 {
  margin-top: -48rem;
  margin-bottom: -48rem; }

.margin-ny8p {
  margin-top: -72rem;
  margin-bottom: -72rem; }

.margin-lauto {
  margin-left: auto; }

.margin-l0 {
  margin-left: 0; }

.margin-l0p {
  margin-left: 0.1875rem; }

.margin-l1 {
  margin-left: 0.375rem; }

.margin-l1p {
  margin-left: 0.5625rem; }

.margin-l2 {
  margin-left: 0.75rem; }

.margin-l2p {
  margin-left: 1.125rem; }

.margin-l3 {
  margin-left: 1.5rem; }

.margin-l3p {
  margin-left: 2.25rem; }

.margin-l4 {
  margin-left: 3rem; }

.margin-l4p {
  margin-left: 4.5rem; }

.margin-l5 {
  margin-left: 6rem; }

.margin-l5p {
  margin-left: 9rem; }

.margin-l6 {
  margin-left: 12rem; }

.margin-l6p {
  margin-left: 18rem; }

.margin-l7 {
  margin-left: 24rem; }

.margin-l7p {
  margin-left: 36rem; }

.margin-l8 {
  margin-left: 48rem; }

.margin-l8p {
  margin-left: 72rem; }

.margin-nl0 {
  margin-left: 0; }

.margin-nl0p {
  margin-left: -0.1875rem; }

.margin-nl1 {
  margin-left: -0.375rem; }

.margin-nl1p {
  margin-left: -0.5625rem; }

.margin-nl2 {
  margin-left: -0.75rem; }

.margin-nl2p {
  margin-left: -1.125rem; }

.margin-nl3 {
  margin-left: -1.5rem; }

.margin-nl3p {
  margin-left: -2.25rem; }

.margin-nl4 {
  margin-left: -3rem; }

.margin-nl4p {
  margin-left: -4.5rem; }

.margin-nl5 {
  margin-left: -6rem; }

.margin-nl5p {
  margin-left: -9rem; }

.margin-nl6 {
  margin-left: -12rem; }

.margin-nl6p {
  margin-left: -18rem; }

.margin-nl7 {
  margin-left: -24rem; }

.margin-nl7p {
  margin-left: -36rem; }

.margin-nl8 {
  margin-left: -48rem; }

.margin-nl8p {
  margin-left: -72rem; }

.margin-rauto {
  margin-right: auto; }

.margin-r0 {
  margin-right: 0; }

.margin-r0p {
  margin-right: 0.1875rem; }

.margin-r1 {
  margin-right: 0.375rem; }

.margin-r1p {
  margin-right: 0.5625rem; }

.margin-r2 {
  margin-right: 0.75rem; }

.margin-r2p {
  margin-right: 1.125rem; }

.margin-r3 {
  margin-right: 1.5rem; }

.margin-r3p {
  margin-right: 2.25rem; }

.margin-r4 {
  margin-right: 3rem; }

.margin-r4p {
  margin-right: 4.5rem; }

.margin-r5 {
  margin-right: 6rem; }

.margin-r5p {
  margin-right: 9rem; }

.margin-r6 {
  margin-right: 12rem; }

.margin-r6p {
  margin-right: 18rem; }

.margin-r7 {
  margin-right: 24rem; }

.margin-r7p {
  margin-right: 36rem; }

.margin-r8 {
  margin-right: 48rem; }

.margin-r8p {
  margin-right: 72rem; }

.margin-nr0 {
  margin-right: 0; }

.margin-nr0p {
  margin-right: -0.1875rem; }

.margin-nr1 {
  margin-right: -0.375rem; }

.margin-nr1p {
  margin-right: -0.5625rem; }

.margin-nr2 {
  margin-right: -0.75rem; }

.margin-nr2p {
  margin-right: -1.125rem; }

.margin-nr3 {
  margin-right: -1.5rem; }

.margin-nr3p {
  margin-right: -2.25rem; }

.margin-nr4 {
  margin-right: -3rem; }

.margin-nr4p {
  margin-right: -4.5rem; }

.margin-nr5 {
  margin-right: -6rem; }

.margin-nr5p {
  margin-right: -9rem; }

.margin-nr6 {
  margin-right: -12rem; }

.margin-nr6p {
  margin-right: -18rem; }

.margin-nr7 {
  margin-right: -24rem; }

.margin-nr7p {
  margin-right: -36rem; }

.margin-nr8 {
  margin-right: -48rem; }

.margin-nr8p {
  margin-right: -72rem; }

.margin-tauto {
  margin-top: auto; }

.margin-t0 {
  margin-top: 0; }

.margin-t0p {
  margin-top: 0.1875rem; }

.margin-t1 {
  margin-top: 0.375rem; }

.margin-t1p {
  margin-top: 0.5625rem; }

.margin-t2 {
  margin-top: 0.75rem; }

.margin-t2p {
  margin-top: 1.125rem; }

.margin-t3 {
  margin-top: 1.5rem; }

.margin-t3p {
  margin-top: 2.25rem; }

.margin-t4 {
  margin-top: 3rem; }

.margin-t4p {
  margin-top: 4.5rem; }

.margin-t5 {
  margin-top: 6rem; }

.margin-t5p {
  margin-top: 9rem; }

.margin-t6 {
  margin-top: 12rem; }

.margin-t6p {
  margin-top: 18rem; }

.margin-t7 {
  margin-top: 24rem; }

.margin-t7p {
  margin-top: 36rem; }

.margin-t8 {
  margin-top: 48rem; }

.margin-t8p {
  margin-top: 72rem; }

.margin-nt0 {
  margin-top: 0; }

.margin-nt0p {
  margin-top: -0.1875rem; }

.margin-nt1 {
  margin-top: -0.375rem; }

.margin-nt1p {
  margin-top: -0.5625rem; }

.margin-nt2 {
  margin-top: -0.75rem; }

.margin-nt2p {
  margin-top: -1.125rem; }

.margin-nt3 {
  margin-top: -1.5rem; }

.margin-nt3p {
  margin-top: -2.25rem; }

.margin-nt4 {
  margin-top: -3rem; }

.margin-nt4p {
  margin-top: -4.5rem; }

.margin-nt5 {
  margin-top: -6rem; }

.margin-nt5p {
  margin-top: -9rem; }

.margin-nt6 {
  margin-top: -12rem; }

.margin-nt6p {
  margin-top: -18rem; }

.margin-nt7 {
  margin-top: -24rem; }

.margin-nt7p {
  margin-top: -36rem; }

.margin-nt8 {
  margin-top: -48rem; }

.margin-nt8p {
  margin-top: -72rem; }

.margin-bauto {
  margin-bottom: auto; }

.margin-b0 {
  margin-bottom: 0; }

.margin-b0p {
  margin-bottom: 0.1875rem; }

.margin-b1 {
  margin-bottom: 0.375rem; }

.margin-b1p {
  margin-bottom: 0.5625rem; }

.margin-b2 {
  margin-bottom: 0.75rem; }

.margin-b2p {
  margin-bottom: 1.125rem; }

.margin-b3, .moderate .comment {
  margin-bottom: 1.5rem; }

.margin-b3p {
  margin-bottom: 2.25rem; }

.margin-b4 {
  margin-bottom: 3rem; }

.margin-b4p {
  margin-bottom: 4.5rem; }

.margin-b5 {
  margin-bottom: 6rem; }

.margin-b5p {
  margin-bottom: 9rem; }

.margin-b6 {
  margin-bottom: 12rem; }

.margin-b6p {
  margin-bottom: 18rem; }

.margin-b7 {
  margin-bottom: 24rem; }

.margin-b7p {
  margin-bottom: 36rem; }

.margin-b8 {
  margin-bottom: 48rem; }

.margin-b8p {
  margin-bottom: 72rem; }

.margin-nb0 {
  margin-bottom: 0; }

.margin-nb0p {
  margin-bottom: -0.1875rem; }

.margin-nb1 {
  margin-bottom: -0.375rem; }

.margin-nb1p {
  margin-bottom: -0.5625rem; }

.margin-nb2 {
  margin-bottom: -0.75rem; }

.margin-nb2p {
  margin-bottom: -1.125rem; }

.margin-nb3 {
  margin-bottom: -1.5rem; }

.margin-nb3p {
  margin-bottom: -2.25rem; }

.margin-nb4 {
  margin-bottom: -3rem; }

.margin-nb4p {
  margin-bottom: -4.5rem; }

.margin-nb5 {
  margin-bottom: -6rem; }

.margin-nb5p {
  margin-bottom: -9rem; }

.margin-nb6 {
  margin-bottom: -12rem; }

.margin-nb6p {
  margin-bottom: -18rem; }

.margin-nb7 {
  margin-bottom: -24rem; }

.margin-nb7p {
  margin-bottom: -36rem; }

.margin-nb8 {
  margin-bottom: -48rem; }

.margin-nb8p {
  margin-bottom: -72rem; }

.size-0 {
  width: 0;
  height: 0; }

.size-0p {
  width: 0.1875rem;
  height: 0.1875rem; }

.size-1 {
  width: 0.375rem;
  height: 0.375rem; }

.size-1p {
  width: 0.5625rem;
  height: 0.5625rem; }

.size-2 {
  width: 0.75rem;
  height: 0.75rem; }

.size-2p {
  width: 1.125rem;
  height: 1.125rem; }

.size-3 {
  width: 1.5rem;
  height: 1.5rem; }

.size-3p {
  width: 2.25rem;
  height: 2.25rem; }

.size-4 {
  width: 3rem;
  height: 3rem; }

.size-4p {
  width: 4.5rem;
  height: 4.5rem; }

.size-5 {
  width: 6rem;
  height: 6rem; }

.size-5p {
  width: 9rem;
  height: 9rem; }

.size-6 {
  width: 12rem;
  height: 12rem; }

.size-6p {
  width: 18rem;
  height: 18rem; }

.size-7 {
  width: 24rem;
  height: 24rem; }

.size-7p {
  width: 36rem;
  height: 36rem; }

.size-8 {
  width: 48rem;
  height: 48rem; }

.size-8p {
  width: 72rem;
  height: 72rem; }

.size-auto {
  width: auto;
  height: auto; }

.size-available {
  width: available;
  height: available; }

.size-fit {
  width: fit-content;
  height: fit-content; }

.size-max {
  width: max-content;
  height: max-content; }

.size-min {
  width: min-content;
  height: min-content; }

.size-x0 {
  width: 0; }

.size-x0p {
  width: 0.1875rem; }

.size-x1 {
  width: 0.375rem; }

.size-x1p {
  width: 0.5625rem; }

.size-x2 {
  width: 0.75rem; }

.size-x2p {
  width: 1.125rem; }

.size-x3 {
  width: 1.5rem; }

.size-x3p {
  width: 2.25rem; }

.size-x4 {
  width: 3rem; }

.size-x4p {
  width: 4.5rem; }

.size-x5 {
  width: 6rem; }

.size-x5p {
  width: 9rem; }

.size-x6 {
  width: 12rem; }

.size-x6p {
  width: 18rem; }

.size-x7 {
  width: 24rem; }

.size-x7p {
  width: 36rem; }

.size-x8 {
  width: 48rem; }

.size-x8p {
  width: 72rem; }

.size-xauto {
  width: auto; }

.size-xavailable {
  width: available; }

.size-xfit {
  width: fit-content; }

.size-xmax {
  width: max-content; }

.size-xmin {
  width: min-content; }

.size-y0 {
  height: 0; }

.size-y0p {
  height: 0.1875rem; }

.size-y1 {
  height: 0.375rem; }

.size-y1p {
  height: 0.5625rem; }

.size-y2 {
  height: 0.75rem; }

.size-y2p {
  height: 1.125rem; }

.size-y3 {
  height: 1.5rem; }

.size-y3p {
  height: 2.25rem; }

.size-y4 {
  height: 3rem; }

.size-y4p {
  height: 4.5rem; }

.size-y5 {
  height: 6rem; }

.size-y5p {
  height: 9rem; }

.size-y6 {
  height: 12rem; }

.size-y6p {
  height: 18rem; }

.size-y7 {
  height: 24rem; }

.size-y7p {
  height: 36rem; }

.size-y8 {
  height: 48rem; }

.size-y8p {
  height: 72rem; }

.size-yauto {
  height: auto; }

.size-yavailable {
  height: available; }

.size-yfit {
  height: fit-content; }

.size-ymax {
  height: max-content; }

.size-ymin {
  height: min-content; }

.line-height-0 {
  line-height: 0; }

.line-height-0p {
  line-height: 0.1875rem; }

.line-height-1 {
  line-height: 0.375rem; }

.line-height-1p {
  line-height: 0.5625rem; }

.line-height-2 {
  line-height: 0.75rem; }

.line-height-2p {
  line-height: 1.125rem; }

.line-height-3 {
  line-height: 1.5rem; }

.line-height-3p {
  line-height: 2.25rem; }

.line-height-4 {
  line-height: 3rem; }

.line-height-4p {
  line-height: 4.5rem; }

.line-height-5 {
  line-height: 6rem; }

.line-height-5p {
  line-height: 9rem; }

.line-height-6 {
  line-height: 12rem; }

.line-height-6p {
  line-height: 18rem; }

.line-height-7 {
  line-height: 24rem; }

.line-height-7p {
  line-height: 36rem; }

.line-height-8 {
  line-height: 48rem; }

.line-height-8p {
  line-height: 72rem; }

.line-height-normal {
  line-height: normal; }

.width-0 {
  width: 0; }

.width-2\/3 {
  width: 66.66667%; }

.width-1\/3vh {
  width: 33.33333vh; }

.width-1\/3vw {
  width: 33.33333vw; }

.width-1\/3 {
  width: 33.33333%; }

.width-3\/4vh {
  width: 75vh; }

.width-3\/4vw {
  width: 75vw; }

.width-3\/4 {
  width: 75%; }

.width-1\/4vh {
  width: 25vh; }

.width-1\/4vw {
  width: 25vw; }

.width-1\/4 {
  width: 25%; }

.width-1\/2vh {
  width: 50vh; }

.width-1\/2vw {
  width: 50vw; }

.width-1\/2 {
  width: 50%; }

.width-fullvh {
  width: 100vh; }

.width-fullvw {
  width: 100vw; }

.width-full {
  width: 100%; }

.width-7\/12vw {
  width: 58.33333vw; }

.width-7\/12 {
  width: 58.33333%; }

.width-5\/12vh {
  width: 41.66667vh; }

.width-5\/12vw {
  width: 41.66667vw; }

.width-5\/12 {
  width: 41.66667%; }

.width-1\/12vh {
  width: 8.33333vh; }

.width-1\/12vw {
  width: 8.33333vw; }

.width-1\/12 {
  width: 8.33333%; }

.width-5\/6vh {
  width: 83.33333vh; }

.width-5\/6vw {
  width: 83.33333vw; }

.width-5\/6 {
  width: 83.33333%; }

.width-1\/6vh {
  width: 16.66667vh; }

.width-1\/6vw {
  width: 16.66667vw; }

.width-1\/6 {
  width: 16.66667%; }

.width-2\/3vh {
  width: 66.66667vh; }

.width-2\/3vw {
  width: 66.66667vw; }

.width-4\/5vh {
  width: 80vh; }

.width-4\/5vw {
  width: 80vw; }

.width-4\/5 {
  width: 80%; }

.width-3\/5vh {
  width: 60vh; }

.width-3\/5vw {
  width: 60vw; }

.width-3\/5 {
  width: 60%; }

.width-2\/5vh {
  width: 40vh; }

.width-2\/5vw {
  width: 40vw; }

.width-2\/5 {
  width: 40%; }

.width-1\/5vh {
  width: 20vh; }

.width-1\/5vw {
  width: 20vw; }

.width-1\/5 {
  width: 20%; }

.width-11\/12vh {
  width: 91.66667vh; }

.width-11\/12vw {
  width: 91.66667vw; }

.width-11\/12 {
  width: 91.66667%; }

.width-7\/12vh {
  width: 58.33333vh; }

.max-width-0 {
  max-width: 0; }

.max-width-2\/3 {
  max-width: 66.66667%; }

.max-width-1\/3vh {
  max-width: 33.33333vh; }

.max-width-1\/3vw {
  max-width: 33.33333vw; }

.max-width-1\/3 {
  max-width: 33.33333%; }

.max-width-3\/4vh {
  max-width: 75vh; }

.max-width-3\/4vw {
  max-width: 75vw; }

.max-width-3\/4 {
  max-width: 75%; }

.max-width-1\/4vh {
  max-width: 25vh; }

.max-width-1\/4vw {
  max-width: 25vw; }

.max-width-1\/4 {
  max-width: 25%; }

.max-width-1\/2vh {
  max-width: 50vh; }

.max-width-1\/2vw {
  max-width: 50vw; }

.max-width-1\/2 {
  max-width: 50%; }

.max-width-fullvh {
  max-width: 100vh; }

.max-width-fullvw {
  max-width: 100vw; }

.max-width-full {
  max-width: 100%; }

.max-width-7\/12vw {
  max-width: 58.33333vw; }

.max-width-7\/12 {
  max-width: 58.33333%; }

.max-width-5\/12vh {
  max-width: 41.66667vh; }

.max-width-5\/12vw {
  max-width: 41.66667vw; }

.max-width-5\/12 {
  max-width: 41.66667%; }

.max-width-1\/12vh {
  max-width: 8.33333vh; }

.max-width-1\/12vw {
  max-width: 8.33333vw; }

.max-width-1\/12 {
  max-width: 8.33333%; }

.max-width-5\/6vh {
  max-width: 83.33333vh; }

.max-width-5\/6vw {
  max-width: 83.33333vw; }

.max-width-5\/6 {
  max-width: 83.33333%; }

.max-width-1\/6vh {
  max-width: 16.66667vh; }

.max-width-1\/6vw {
  max-width: 16.66667vw; }

.max-width-1\/6 {
  max-width: 16.66667%; }

.max-width-2\/3vh {
  max-width: 66.66667vh; }

.max-width-2\/3vw {
  max-width: 66.66667vw; }

.max-width-4\/5vh {
  max-width: 80vh; }

.max-width-4\/5vw {
  max-width: 80vw; }

.max-width-4\/5 {
  max-width: 80%; }

.max-width-3\/5vh {
  max-width: 60vh; }

.max-width-3\/5vw {
  max-width: 60vw; }

.max-width-3\/5 {
  max-width: 60%; }

.max-width-2\/5vh {
  max-width: 40vh; }

.max-width-2\/5vw {
  max-width: 40vw; }

.max-width-2\/5 {
  max-width: 40%; }

.max-width-1\/5vh {
  max-width: 20vh; }

.max-width-1\/5vw {
  max-width: 20vw; }

.max-width-1\/5 {
  max-width: 20%; }

.max-width-11\/12vh {
  max-width: 91.66667vh; }

.max-width-11\/12vw {
  max-width: 91.66667vw; }

.max-width-11\/12 {
  max-width: 91.66667%; }

.max-width-7\/12vh {
  max-width: 58.33333vh; }

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

.min-width-2\/3 {
  min-width: 66.66667%; }

.min-width-1\/3vh {
  min-width: 33.33333vh; }

.min-width-1\/3vw {
  min-width: 33.33333vw; }

.min-width-1\/3 {
  min-width: 33.33333%; }

.min-width-3\/4vh {
  min-width: 75vh; }

.min-width-3\/4vw {
  min-width: 75vw; }

.min-width-3\/4 {
  min-width: 75%; }

.min-width-1\/4vh {
  min-width: 25vh; }

.min-width-1\/4vw {
  min-width: 25vw; }

.min-width-1\/4 {
  min-width: 25%; }

.min-width-1\/2vh {
  min-width: 50vh; }

.min-width-1\/2vw {
  min-width: 50vw; }

.min-width-1\/2 {
  min-width: 50%; }

.min-width-fullvh {
  min-width: 100vh; }

.min-width-fullvw {
  min-width: 100vw; }

.min-width-full {
  min-width: 100%; }

.min-width-7\/12vw {
  min-width: 58.33333vw; }

.min-width-7\/12 {
  min-width: 58.33333%; }

.min-width-5\/12vh {
  min-width: 41.66667vh; }

.min-width-5\/12vw {
  min-width: 41.66667vw; }

.min-width-5\/12 {
  min-width: 41.66667%; }

.min-width-1\/12vh {
  min-width: 8.33333vh; }

.min-width-1\/12vw {
  min-width: 8.33333vw; }

.min-width-1\/12 {
  min-width: 8.33333%; }

.min-width-5\/6vh {
  min-width: 83.33333vh; }

.min-width-5\/6vw {
  min-width: 83.33333vw; }

.min-width-5\/6 {
  min-width: 83.33333%; }

.min-width-1\/6vh {
  min-width: 16.66667vh; }

.min-width-1\/6vw {
  min-width: 16.66667vw; }

.min-width-1\/6 {
  min-width: 16.66667%; }

.min-width-2\/3vh {
  min-width: 66.66667vh; }

.min-width-2\/3vw {
  min-width: 66.66667vw; }

.min-width-4\/5vh {
  min-width: 80vh; }

.min-width-4\/5vw {
  min-width: 80vw; }

.min-width-4\/5 {
  min-width: 80%; }

.min-width-3\/5vh {
  min-width: 60vh; }

.min-width-3\/5vw {
  min-width: 60vw; }

.min-width-3\/5 {
  min-width: 60%; }

.min-width-2\/5vh {
  min-width: 40vh; }

.min-width-2\/5vw {
  min-width: 40vw; }

.min-width-2\/5 {
  min-width: 40%; }

.min-width-1\/5vh {
  min-width: 20vh; }

.min-width-1\/5vw {
  min-width: 20vw; }

.min-width-1\/5 {
  min-width: 20%; }

.min-width-11\/12vh {
  min-width: 91.66667vh; }

.min-width-11\/12vw {
  min-width: 91.66667vw; }

.min-width-11\/12 {
  min-width: 91.66667%; }

.min-width-7\/12vh {
  min-width: 58.33333vh; }

.height-0 {
  height: 0; }

.height-2\/3 {
  height: 66.66667%; }

.height-1\/3vh {
  height: 33.33333vh; }

.height-1\/3vw {
  height: 33.33333vw; }

.height-1\/3 {
  height: 33.33333%; }

.height-3\/4vh {
  height: 75vh; }

.height-3\/4vw {
  height: 75vw; }

.height-3\/4 {
  height: 75%; }

.height-1\/4vh {
  height: 25vh; }

.height-1\/4vw {
  height: 25vw; }

.height-1\/4 {
  height: 25%; }

.height-1\/2vh {
  height: 50vh; }

.height-1\/2vw {
  height: 50vw; }

.height-1\/2 {
  height: 50%; }

.height-fullvh {
  height: 100vh; }

.height-fullvw {
  height: 100vw; }

.height-full {
  height: 100%; }

.height-7\/12vw {
  height: 58.33333vw; }

.height-7\/12 {
  height: 58.33333%; }

.height-5\/12vh {
  height: 41.66667vh; }

.height-5\/12vw {
  height: 41.66667vw; }

.height-5\/12 {
  height: 41.66667%; }

.height-1\/12vh {
  height: 8.33333vh; }

.height-1\/12vw {
  height: 8.33333vw; }

.height-1\/12 {
  height: 8.33333%; }

.height-5\/6vh {
  height: 83.33333vh; }

.height-5\/6vw {
  height: 83.33333vw; }

.height-5\/6 {
  height: 83.33333%; }

.height-1\/6vh {
  height: 16.66667vh; }

.height-1\/6vw {
  height: 16.66667vw; }

.height-1\/6 {
  height: 16.66667%; }

.height-2\/3vh {
  height: 66.66667vh; }

.height-2\/3vw {
  height: 66.66667vw; }

.height-4\/5vh {
  height: 80vh; }

.height-4\/5vw {
  height: 80vw; }

.height-4\/5 {
  height: 80%; }

.height-3\/5vh {
  height: 60vh; }

.height-3\/5vw {
  height: 60vw; }

.height-3\/5 {
  height: 60%; }

.height-2\/5vh {
  height: 40vh; }

.height-2\/5vw {
  height: 40vw; }

.height-2\/5 {
  height: 40%; }

.height-1\/5vh {
  height: 20vh; }

.height-1\/5vw {
  height: 20vw; }

.height-1\/5 {
  height: 20%; }

.height-11\/12vh {
  height: 91.66667vh; }

.height-11\/12vw {
  height: 91.66667vw; }

.height-11\/12 {
  height: 91.66667%; }

.height-7\/12vh {
  height: 58.33333vh; }

.max-height-0 {
  max-height: 0; }

.max-height-2\/3 {
  max-height: 66.66667%; }

.max-height-1\/3vh {
  max-height: 33.33333vh; }

.max-height-1\/3vw {
  max-height: 33.33333vw; }

.max-height-1\/3 {
  max-height: 33.33333%; }

.max-height-3\/4vh {
  max-height: 75vh; }

.max-height-3\/4vw {
  max-height: 75vw; }

.max-height-3\/4 {
  max-height: 75%; }

.max-height-1\/4vh {
  max-height: 25vh; }

.max-height-1\/4vw {
  max-height: 25vw; }

.max-height-1\/4 {
  max-height: 25%; }

.max-height-1\/2vh {
  max-height: 50vh; }

.max-height-1\/2vw {
  max-height: 50vw; }

.max-height-1\/2 {
  max-height: 50%; }

.max-height-fullvh {
  max-height: 100vh; }

.max-height-fullvw {
  max-height: 100vw; }

.max-height-full {
  max-height: 100%; }

.max-height-7\/12vw {
  max-height: 58.33333vw; }

.max-height-7\/12 {
  max-height: 58.33333%; }

.max-height-5\/12vh {
  max-height: 41.66667vh; }

.max-height-5\/12vw {
  max-height: 41.66667vw; }

.max-height-5\/12 {
  max-height: 41.66667%; }

.max-height-1\/12vh {
  max-height: 8.33333vh; }

.max-height-1\/12vw {
  max-height: 8.33333vw; }

.max-height-1\/12 {
  max-height: 8.33333%; }

.max-height-5\/6vh {
  max-height: 83.33333vh; }

.max-height-5\/6vw {
  max-height: 83.33333vw; }

.max-height-5\/6 {
  max-height: 83.33333%; }

.max-height-1\/6vh {
  max-height: 16.66667vh; }

.max-height-1\/6vw {
  max-height: 16.66667vw; }

.max-height-1\/6 {
  max-height: 16.66667%; }

.max-height-2\/3vh {
  max-height: 66.66667vh; }

.max-height-2\/3vw {
  max-height: 66.66667vw; }

.max-height-4\/5vh {
  max-height: 80vh; }

.max-height-4\/5vw {
  max-height: 80vw; }

.max-height-4\/5 {
  max-height: 80%; }

.max-height-3\/5vh {
  max-height: 60vh; }

.max-height-3\/5vw {
  max-height: 60vw; }

.max-height-3\/5 {
  max-height: 60%; }

.max-height-2\/5vh {
  max-height: 40vh; }

.max-height-2\/5vw {
  max-height: 40vw; }

.max-height-2\/5 {
  max-height: 40%; }

.max-height-1\/5vh {
  max-height: 20vh; }

.max-height-1\/5vw {
  max-height: 20vw; }

.max-height-1\/5 {
  max-height: 20%; }

.max-height-11\/12vh {
  max-height: 91.66667vh; }

.max-height-11\/12vw {
  max-height: 91.66667vw; }

.max-height-11\/12 {
  max-height: 91.66667%; }

.max-height-7\/12vh {
  max-height: 58.33333vh; }

.min-height-0 {
  min-height: 0; }

.min-height-2\/3 {
  min-height: 66.66667%; }

.min-height-1\/3vh {
  min-height: 33.33333vh; }

.min-height-1\/3vw {
  min-height: 33.33333vw; }

.min-height-1\/3 {
  min-height: 33.33333%; }

.min-height-3\/4vh {
  min-height: 75vh; }

.min-height-3\/4vw {
  min-height: 75vw; }

.min-height-3\/4 {
  min-height: 75%; }

.min-height-1\/4vh {
  min-height: 25vh; }

.min-height-1\/4vw {
  min-height: 25vw; }

.min-height-1\/4 {
  min-height: 25%; }

.min-height-1\/2vh {
  min-height: 50vh; }

.min-height-1\/2vw {
  min-height: 50vw; }

.min-height-1\/2 {
  min-height: 50%; }

.min-height-fullvh {
  min-height: 100vh; }

.min-height-fullvw {
  min-height: 100vw; }

.min-height-full {
  min-height: 100%; }

.min-height-7\/12vw {
  min-height: 58.33333vw; }

.min-height-7\/12 {
  min-height: 58.33333%; }

.min-height-5\/12vh {
  min-height: 41.66667vh; }

.min-height-5\/12vw {
  min-height: 41.66667vw; }

.min-height-5\/12 {
  min-height: 41.66667%; }

.min-height-1\/12vh {
  min-height: 8.33333vh; }

.min-height-1\/12vw {
  min-height: 8.33333vw; }

.min-height-1\/12 {
  min-height: 8.33333%; }

.min-height-5\/6vh {
  min-height: 83.33333vh; }

.min-height-5\/6vw {
  min-height: 83.33333vw; }

.min-height-5\/6 {
  min-height: 83.33333%; }

.min-height-1\/6vh {
  min-height: 16.66667vh; }

.min-height-1\/6vw {
  min-height: 16.66667vw; }

.min-height-1\/6 {
  min-height: 16.66667%; }

.min-height-2\/3vh {
  min-height: 66.66667vh; }

.min-height-2\/3vw {
  min-height: 66.66667vw; }

.min-height-4\/5vh {
  min-height: 80vh; }

.min-height-4\/5vw {
  min-height: 80vw; }

.min-height-4\/5 {
  min-height: 80%; }

.min-height-3\/5vh {
  min-height: 60vh; }

.min-height-3\/5vw {
  min-height: 60vw; }

.min-height-3\/5 {
  min-height: 60%; }

.min-height-2\/5vh {
  min-height: 40vh; }

.min-height-2\/5vw {
  min-height: 40vw; }

.min-height-2\/5 {
  min-height: 40%; }

.min-height-1\/5vh {
  min-height: 20vh; }

.min-height-1\/5vw {
  min-height: 20vw; }

.min-height-1\/5 {
  min-height: 20%; }

.min-height-11\/12vh {
  min-height: 91.66667vh; }

.min-height-11\/12vw {
  min-height: 91.66667vw; }

.min-height-11\/12 {
  min-height: 91.66667%; }

.min-height-7\/12vh {
  min-height: 58.33333vh; }

.container-1, .Page-title h1 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 47rem; }

.container-2 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 41rem; }

.container-3 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 32rem; }

.container-4 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 23rem; }

.raise-first > *:first-child {
  margin-top: 0; }

.pin, .overlay {
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; }

.pin-none {
  top: auto;
  bottom: auto;
  left: auto;
  right: auto; }

.pin-x {
  right: 0;
  left: 0; }

.pin-y {
  top: 0;
  bottom: 0; }

.pin-left {
  left: 0; }

.pin-right, .popup__close {
  right: 0; }

.pin-top, .popup__close {
  top: 0; }

.pin-bottom {
  bottom: 0; }

.block {
  display: block; }

.inline, .stat-slab dl dt {
  display: inline; }

.inline-block, .stat-slab dl dd, .stat-slab dl dt {
  display: inline-block; }

.table {
  display: table; }

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

.inline-flex {
  display: inline-flex; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.float-none {
  float: none; }

.absolute, .tooltip__content, .tooltip, .popup__close {
  position: absolute; }

.fixed, .overlay {
  position: fixed; }

.relative, .popup {
  position: relative; }

.static {
  position: static; }

.sticky {
  position: sticky; }

.overflow-auto {
  overflow: auto; }

.overflow-hidden {
  overflow: hidden; }

.overflow-visible {
  overflow: visible; }

.overflow-scroll {
  overflow: scroll; }

.overflow-x-auto {
  overflow-x: auto; }

.overflow-x-hidden {
  overflow-x: hidden; }

.overflow-x-visible {
  overflow-x: visible; }

.overflow-x-scroll {
  overflow-x: scroll; }

.overflow-y-auto {
  overflow-y: auto; }

.overflow-y-hidden {
  overflow-y: hidden; }

.overflow-y-visible {
  overflow-y: visible; }

.overflow-y-scroll {
  overflow-y: scroll; }

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

.border-2 {
  border: 2px solid; }

.border-4 {
  border: 4px solid; }

.border-8 {
  border: 8px solid; }

.border-l1 {
  border-left: 1px solid; }

.border-l2 {
  border-left: 2px solid; }

.border-l4 {
  border-left: 4px solid; }

.border-l8 {
  border-left: 8px solid; }

.border-r1 {
  border-right: 1px solid; }

.border-r2 {
  border-right: 2px solid; }

.border-r4 {
  border-right: 4px solid; }

.border-r8 {
  border-right: 8px solid; }

.border-t1 {
  border-top: 1px solid; }

.border-t2 {
  border-top: 2px solid; }

.border-t4 {
  border-top: 4px solid; }

.border-t8 {
  border-top: 8px solid; }

.border-b1 {
  border-bottom: 1px solid; }

.border-b2 {
  border-bottom: 2px solid; }

.border-b4 {
  border-bottom: 4px solid; }

.border-b8 {
  border-bottom: 8px solid; }

.border-solid {
  border-style: solid; }

.border-dashed {
  border-style: dashed; }

.border-dotted {
  border-style: dotted; }

.border-none {
  border-style: none; }

.rounded-0 {
  border-radius: 0; }

.rounded-0p {
  border-radius: 0.09375rem; }

.rounded-1 {
  border-radius: 0.1875rem; }

.rounded-1p {
  border-radius: 0.28125rem; }

.rounded-2 {
  border-radius: 0.375rem; }

.rounded-2p {
  border-radius: 0.5625rem; }

.rounded-3 {
  border-radius: 0.75rem; }

.rounded-3p {
  border-radius: 1.125rem; }

.rounded-4 {
  border-radius: 1.5rem; }

.rounded-4p {
  border-radius: 2.25rem; }

.rounded-5 {
  border-radius: 3rem; }

.rounded-5p {
  border-radius: 4.5rem; }

.rounded-6 {
  border-radius: 6rem; }

.rounded-6p {
  border-radius: 9rem; }

.rounded-7 {
  border-radius: 12rem; }

.rounded-7p {
  border-radius: 18rem; }

.rounded-8 {
  border-radius: 24rem; }

.rounded-8p {
  border-radius: 36rem; }

.rounded-t0 {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.rounded-t0p {
  border-top-left-radius: 0.09375rem;
  border-top-right-radius: 0.09375rem; }

.rounded-t1 {
  border-top-left-radius: 0.1875rem;
  border-top-right-radius: 0.1875rem; }

.rounded-t1p {
  border-top-left-radius: 0.28125rem;
  border-top-right-radius: 0.28125rem; }

.rounded-t2 {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem; }

.rounded-t2p {
  border-top-left-radius: 0.5625rem;
  border-top-right-radius: 0.5625rem; }

.rounded-t3 {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem; }

.rounded-t3p {
  border-top-left-radius: 1.125rem;
  border-top-right-radius: 1.125rem; }

.rounded-t4 {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem; }

.rounded-t4p {
  border-top-left-radius: 2.25rem;
  border-top-right-radius: 2.25rem; }

.rounded-t5 {
  border-top-left-radius: 3rem;
  border-top-right-radius: 3rem; }

.rounded-t5p {
  border-top-left-radius: 4.5rem;
  border-top-right-radius: 4.5rem; }

.rounded-t6 {
  border-top-left-radius: 6rem;
  border-top-right-radius: 6rem; }

.rounded-t6p {
  border-top-left-radius: 9rem;
  border-top-right-radius: 9rem; }

.rounded-t7 {
  border-top-left-radius: 12rem;
  border-top-right-radius: 12rem; }

.rounded-t7p {
  border-top-left-radius: 18rem;
  border-top-right-radius: 18rem; }

.rounded-t8 {
  border-top-left-radius: 24rem;
  border-top-right-radius: 24rem; }

.rounded-t8p {
  border-top-left-radius: 36rem;
  border-top-right-radius: 36rem; }

.rounded-b0 {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.rounded-b0p {
  border-bottom-left-radius: 0.09375rem;
  border-bottom-right-radius: 0.09375rem; }

.rounded-b1 {
  border-bottom-left-radius: 0.1875rem;
  border-bottom-right-radius: 0.1875rem; }

.rounded-b1p {
  border-bottom-left-radius: 0.28125rem;
  border-bottom-right-radius: 0.28125rem; }

.rounded-b2 {
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem; }

.rounded-b2p {
  border-bottom-left-radius: 0.5625rem;
  border-bottom-right-radius: 0.5625rem; }

.rounded-b3 {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem; }

.rounded-b3p {
  border-bottom-left-radius: 1.125rem;
  border-bottom-right-radius: 1.125rem; }

.rounded-b4 {
  border-bottom-left-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem; }

.rounded-b4p {
  border-bottom-left-radius: 2.25rem;
  border-bottom-right-radius: 2.25rem; }

.rounded-b5 {
  border-bottom-left-radius: 3rem;
  border-bottom-right-radius: 3rem; }

.rounded-b5p {
  border-bottom-left-radius: 4.5rem;
  border-bottom-right-radius: 4.5rem; }

.rounded-b6 {
  border-bottom-left-radius: 6rem;
  border-bottom-right-radius: 6rem; }

.rounded-b6p {
  border-bottom-left-radius: 9rem;
  border-bottom-right-radius: 9rem; }

.rounded-b7 {
  border-bottom-left-radius: 12rem;
  border-bottom-right-radius: 12rem; }

.rounded-b7p {
  border-bottom-left-radius: 18rem;
  border-bottom-right-radius: 18rem; }

.rounded-b8 {
  border-bottom-left-radius: 24rem;
  border-bottom-right-radius: 24rem; }

.rounded-b8p {
  border-bottom-left-radius: 36rem;
  border-bottom-right-radius: 36rem; }

.rounded-r0 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.rounded-r0p {
  border-top-right-radius: 0.09375rem;
  border-bottom-right-radius: 0.09375rem; }

.rounded-r1 {
  border-top-right-radius: 0.1875rem;
  border-bottom-right-radius: 0.1875rem; }

.rounded-r1p {
  border-top-right-radius: 0.28125rem;
  border-bottom-right-radius: 0.28125rem; }

.rounded-r2 {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem; }

.rounded-r2p {
  border-top-right-radius: 0.5625rem;
  border-bottom-right-radius: 0.5625rem; }

.rounded-r3 {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem; }

.rounded-r3p {
  border-top-right-radius: 1.125rem;
  border-bottom-right-radius: 1.125rem; }

.rounded-r4 {
  border-top-right-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem; }

.rounded-r4p {
  border-top-right-radius: 2.25rem;
  border-bottom-right-radius: 2.25rem; }

.rounded-r5 {
  border-top-right-radius: 3rem;
  border-bottom-right-radius: 3rem; }

.rounded-r5p {
  border-top-right-radius: 4.5rem;
  border-bottom-right-radius: 4.5rem; }

.rounded-r6 {
  border-top-right-radius: 6rem;
  border-bottom-right-radius: 6rem; }

.rounded-r6p {
  border-top-right-radius: 9rem;
  border-bottom-right-radius: 9rem; }

.rounded-r7 {
  border-top-right-radius: 12rem;
  border-bottom-right-radius: 12rem; }

.rounded-r7p {
  border-top-right-radius: 18rem;
  border-bottom-right-radius: 18rem; }

.rounded-r8 {
  border-top-right-radius: 24rem;
  border-bottom-right-radius: 24rem; }

.rounded-r8p {
  border-top-right-radius: 36rem;
  border-bottom-right-radius: 36rem; }

.rounded-l0 {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.rounded-l0p {
  border-top-left-radius: 0.09375rem;
  border-bottom-left-radius: 0.09375rem; }

.rounded-l1 {
  border-top-left-radius: 0.1875rem;
  border-bottom-left-radius: 0.1875rem; }

.rounded-l1p {
  border-top-left-radius: 0.28125rem;
  border-bottom-left-radius: 0.28125rem; }

.rounded-l2 {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem; }

.rounded-l2p {
  border-top-left-radius: 0.5625rem;
  border-bottom-left-radius: 0.5625rem; }

.rounded-l3 {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem; }

.rounded-l3p {
  border-top-left-radius: 1.125rem;
  border-bottom-left-radius: 1.125rem; }

.rounded-l4 {
  border-top-left-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem; }

.rounded-l4p {
  border-top-left-radius: 2.25rem;
  border-bottom-left-radius: 2.25rem; }

.rounded-l5 {
  border-top-left-radius: 3rem;
  border-bottom-left-radius: 3rem; }

.rounded-l5p {
  border-top-left-radius: 4.5rem;
  border-bottom-left-radius: 4.5rem; }

.rounded-l6 {
  border-top-left-radius: 6rem;
  border-bottom-left-radius: 6rem; }

.rounded-l6p {
  border-top-left-radius: 9rem;
  border-bottom-left-radius: 9rem; }

.rounded-l7 {
  border-top-left-radius: 12rem;
  border-bottom-left-radius: 12rem; }

.rounded-l7p {
  border-top-left-radius: 18rem;
  border-bottom-left-radius: 18rem; }

.rounded-l8 {
  border-top-left-radius: 24rem;
  border-bottom-left-radius: 24rem; }

.rounded-l8p {
  border-top-left-radius: 36rem;
  border-bottom-left-radius: 36rem; }

.row, .stat-slab, .tabs, .categories {
  align-items: stretch;
  display: flex;
  flex-flow: row;
  justify-content: space-between; }
  .row > *, .stat-slab > *, .tabs > *, .categories > * {
    min-width: 0; }

.row-inline {
  align-items: stretch;
  display: inline-flex;
  flex-flow: row;
  justify-content: space-between; }

.row-expand > * {
  flex: 1; }

.col, .popup__contents, .popup {
  align-items: stretch;
  display: flex;
  flex-flow: column;
  justify-content: space-between; }
  .col > *, .popup__contents > *, .popup > * {
    min-width: 0; }

.col-inline {
  align-items: stretch;
  display: inline-flex;
  flex-flow: column;
  justify-content: space-between; }

.col-expand > * {
  flex: 1; }

.gutter-1 {
  margin: 0.375rem -0.375rem; }
  .gutter-1 > * {
    margin: 0.375rem; }
  .gutter-1 + .gutter-1 {
    margin-top: -0.375rem; }

.gutter-2 {
  margin: 0.75rem -0.75rem; }
  .gutter-2 > * {
    margin: 0.75rem; }
  .gutter-2 + .gutter-2 {
    margin-top: -0.75rem; }

.gutter-3 {
  margin: 1.5rem -1.5rem; }
  .gutter-3 > * {
    margin: 1.5rem; }
  .gutter-3 + .gutter-3 {
    margin-top: -1.5rem; }

.gutter-4 {
  margin: 3rem -3rem; }
  .gutter-4 > * {
    margin: 3rem; }
  .gutter-4 + .gutter-4 {
    margin-top: -3rem; }

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

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

.flex-column {
  flex-direction: column; }

.flex-column-reverse {
  flex-direction: column-reverse; }

.flex-start {
  justify-content: flex-start; }

.flex-center {
  justify-content: center; }

.flex-end {
  justify-content: flex-end; }

.flex-between {
  justify-content: space-between; }

.flex-around {
  justify-content: space-around; }

.flex-evenly {
  justify-content: space-evenly; }

.items-stretch {
  align-items: stretch; }

.items-start {
  align-items: flex-start; }

.items-center, .stat-slab {
  align-items: center; }

.items-end {
  align-items: flex-end; }

.items-baseline {
  align-items: baseline; }

.content-start {
  align-content: flex-start; }

.content-center {
  align-content: center; }

.content-end {
  align-content: flex-end; }

.content-between {
  align-content: space-between; }

.content-around {
  align-content: space-around; }

.content-evenly {
  align-content: space-evenly; }

.wrap, .stat-slab {
  flex-wrap: wrap; }

.nowrap {
  flex-wrap: nowrap; }

.wrap-reverse {
  flex-wrap: wrap-reverse; }

.self-stretch {
  align-self: stretch; }

.self-start {
  align-self: flex-start; }

.self-center {
  align-self: center; }

.self-end {
  align-self: flex-end; }

.self-baseline {
  align-self: baseline; }

.flex-shrink {
  flex-shrink: 1; }

.flex-noshrink {
  flex-shrink: 0; }

.flex-grow {
  flex-grow: 1; }

.flex-nogrow {
  flex-grow: 0; }

.flex-auto {
  flex: auto; }

.flex-1 {
  flex: 1; }

.flex-2 {
  flex: 2; }

.flex-3 {
  flex: 3; }

.flex-4 {
  flex: 4; }

.flex-5 {
  flex: 5; }

.flex-6 {
  flex: 6; }

.flex-7 {
  flex: 7; }

.flex-8 {
  flex: 8; }

.flex-9 {
  flex: 9; }

.flex-10 {
  flex: 10; }

.flex-11 {
  flex: 11; }

.flex-12 {
  flex: 12; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.grid-dense {
  grid-auto-flow: dense; }

.grid-1 {
  --gridGap: 0;
  --gridSize: 1;
  display: grid;
  grid-template-columns: repeat(1, 1fr); }

.grid-2 {
  --gridGap: 0;
  --gridSize: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr); }

.grid-3 {
  --gridGap: 0;
  --gridSize: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr); }

.grid-4 {
  --gridGap: 0;
  --gridSize: 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr); }

.grid-5 {
  --gridGap: 0;
  --gridSize: 5;
  display: grid;
  grid-template-columns: repeat(5, 1fr); }

.grid-6 {
  --gridGap: 0;
  --gridSize: 6;
  display: grid;
  grid-template-columns: repeat(6, 1fr); }

.grid-8 {
  --gridGap: 0;
  --gridSize: 8;
  display: grid;
  grid-template-columns: repeat(8, 1fr); }

.grid-9 {
  --gridGap: 0;
  --gridSize: 9;
  display: grid;
  grid-template-columns: repeat(9, 1fr); }

.grid-10 {
  --gridGap: 0;
  --gridSize: 10;
  display: grid;
  grid-template-columns: repeat(10, 1fr); }

.grid-12 {
  --gridGap: 0;
  --gridSize: 12;
  display: grid;
  grid-template-columns: repeat(12, 1fr); }

.grid-15 {
  --gridGap: 0;
  --gridSize: 15;
  display: grid;
  grid-template-columns: repeat(15, 1fr); }

.rows-1 {
  --gridGap: 0;
  --gridSize: 1;
  display: grid;
  grid-template-rows: repeat(1, 1fr); }

.rows-2 {
  --gridGap: 0;
  --gridSize: 2;
  display: grid;
  grid-template-rows: repeat(2, 1fr); }

.rows-3 {
  --gridGap: 0;
  --gridSize: 3;
  display: grid;
  grid-template-rows: repeat(3, 1fr); }

.rows-4 {
  --gridGap: 0;
  --gridSize: 4;
  display: grid;
  grid-template-rows: repeat(4, 1fr); }

.rows-5 {
  --gridGap: 0;
  --gridSize: 5;
  display: grid;
  grid-template-rows: repeat(5, 1fr); }

.rows-6 {
  --gridGap: 0;
  --gridSize: 6;
  display: grid;
  grid-template-rows: repeat(6, 1fr); }

.rows-8 {
  --gridGap: 0;
  --gridSize: 8;
  display: grid;
  grid-template-rows: repeat(8, 1fr); }

.rows-9 {
  --gridGap: 0;
  --gridSize: 9;
  display: grid;
  grid-template-rows: repeat(9, 1fr); }

.rows-10 {
  --gridGap: 0;
  --gridSize: 10;
  display: grid;
  grid-template-rows: repeat(10, 1fr); }

.rows-12 {
  --gridGap: 0;
  --gridSize: 12;
  display: grid;
  grid-template-rows: repeat(12, 1fr); }

.rows-15 {
  --gridGap: 0;
  --gridSize: 15;
  display: grid;
  grid-template-rows: repeat(15, 1fr); }

.gap-1 {
  --gridGap: 0.375rem;
  grid-gap: 0.375rem;
  gap: 0.375rem; }

.gap-2 {
  --gridGap: 0.75rem;
  grid-gap: 0.75rem;
  gap: 0.75rem; }

.gap-3 {
  --gridGap: 1.5rem;
  grid-gap: 1.5rem;
  gap: 1.5rem; }

.gap-4 {
  --gridGap: 3rem;
  grid-gap: 3rem;
  gap: 3rem; }

.grid {
  display: grid; }

.grid-dense {
  grid-auto-flow: dense; }

.place-center {
  place-items: center; }

.place-stretch {
  place-items: stretch; }

.place-right {
  justify-items: right; }

.place-left {
  justify-items: left; }

.place-start {
  justify-items: start; }

.place-end {
  justify-items: end; }

.place-center-x {
  justify-items: center; }

.place-stretch-x {
  justify-items: stretch; }

.place-top {
  align-items: start; }

.place-bottom {
  align-items: end; }

.place-center-y {
  align-items: center; }

.place-center {
  align-items: center; }

.place-stretch-y {
  align-items: stretch; }

.place-stretch {
  align-items: stretch; }

.grid-center {
  place-content: center; }

.grid-stretch {
  place-content: stretch; }

.grid-around {
  place-content: space-around; }

.grid-between {
  place-content: space-between; }

.grid-evenly {
  place-content: space-evenly; }

.grid-right {
  justify-content: right; }

.grid-left {
  justify-content: left; }

.grid-start {
  justify-content: start; }

.grid-end {
  justify-content: end; }

.grid-center-x {
  justify-content: center; }

.grid-stretch-x {
  justify-content: stretch; }

.grid-around-x {
  justify-content: space-around; }

.grid-between-x {
  justify-content: space-between; }

.grid-evenly-x {
  justify-content: space-evenly; }

.grid-top {
  align-content: start; }

.grid-bottom {
  align-content: end; }

.grid-center-y {
  align-content: center; }

.grid-stretch-y {
  align-content: stretch; }

.grid-around-y {
  align-content: space-around; }

.grid-between-y {
  align-content: space-between; }

.grid-evenly-y {
  align-content: space-evenly; }

.cell-center {
  place-self: center; }

.cell-stretch {
  place-self: stretch; }

.cell-right {
  justify-self: right; }

.cell-left {
  justify-self: left; }

.cell-start {
  justify-self: start; }

.cell-end {
  justify-self: end; }

.cell-center-x {
  justify-self: center; }

.cell-stretch-x {
  justify-self: stretch; }

.cell-top {
  align-self: start; }

.cell-bottom {
  align-self: end; }

.cell-center-y {
  align-self: center; }

.cell-stretch-y {
  align-self: stretch; }

.at-col-1 {
  grid-column-start: 1; }

.at-col-2 {
  grid-column-start: 2; }

.at-col-3 {
  grid-column-start: 3; }

.at-col-4 {
  grid-column-start: 4; }

.at-col-5 {
  grid-column-start: 5; }

.at-col-6 {
  grid-column-start: 6; }

.at-col-8 {
  grid-column-start: 8; }

.at-col-9 {
  grid-column-start: 9; }

.at-col-10 {
  grid-column-start: 10; }

.at-col-12 {
  grid-column-start: 12; }

.at-col-15 {
  grid-column-start: 15; }

.at-row-1 {
  grid-row-start: 1; }

.at-row-2 {
  grid-row-start: 2; }

.at-row-3 {
  grid-row-start: 3; }

.at-row-4 {
  grid-row-start: 4; }

.at-row-5 {
  grid-row-start: 5; }

.at-row-6 {
  grid-row-start: 6; }

.at-row-8 {
  grid-row-start: 8; }

.at-row-9 {
  grid-row-start: 9; }

.at-row-10 {
  grid-row-start: 10; }

.at-row-12 {
  grid-row-start: 12; }

.at-row-15 {
  grid-row-start: 15; }

.col-span1 {
  grid-column: auto/span 1; }

.col-span2 {
  grid-column: auto/span 2; }

.col-span3 {
  grid-column: auto/span 3; }

.col-span4 {
  grid-column: auto/span 4; }

.col-span5 {
  grid-column: auto/span 5; }

.col-span6 {
  grid-column: auto/span 6; }

.col-span7 {
  grid-column: auto/span 7; }

.col-span8 {
  grid-column: auto/span 8; }

.col-span9 {
  grid-column: auto/span 9; }

.col-span10 {
  grid-column: auto/span 10; }

.col-span11 {
  grid-column: auto/span 11; }

.col-span12 {
  grid-column: auto/span 12; }

.col-span13 {
  grid-column: auto/span 13; }

.col-span14 {
  grid-column: auto/span 14; }

.col-span15 {
  grid-column: auto/span 15; }

.row-span1 {
  grid-row: auto/span 1; }

.row-span2 {
  grid-row: auto/span 2; }

.row-span3 {
  grid-row: auto/span 3; }

.row-span4 {
  grid-row: auto/span 4; }

.row-span5 {
  grid-row: auto/span 5; }

.row-span6 {
  grid-row: auto/span 6; }

.row-span7 {
  grid-row: auto/span 7; }

.row-span8 {
  grid-row: auto/span 8; }

.row-span9 {
  grid-row: auto/span 9; }

.row-span10 {
  grid-row: auto/span 10; }

.row-span11 {
  grid-row: auto/span 11; }

.row-span12 {
  grid-row: auto/span 12; }

.row-span13 {
  grid-row: auto/span 13; }

.row-span14 {
  grid-row: auto/span 14; }

.row-span15 {
  grid-row: auto/span 15; }

.hard-grid {
  display: grid; }

.hard-grid-1 {
  --grid-gap: 0;
  --grid-size: 1;
  display: grid;
  grid-template-columns: repeat(1, calc(100% - 0 * var(--grid-gap))); }

.hard-grid-2 {
  --grid-gap: 0;
  --grid-size: 2;
  display: grid;
  grid-template-columns: repeat(2, calc(50% - 0.5 * var(--grid-gap))); }

.hard-grid-3 {
  --grid-gap: 0;
  --grid-size: 3;
  display: grid;
  grid-template-columns: repeat(3, calc(33.33333% - 0.66667 * var(--grid-gap))); }

.hard-grid-4 {
  --grid-gap: 0;
  --grid-size: 4;
  display: grid;
  grid-template-columns: repeat(4, calc(25% - 0.75 * var(--grid-gap))); }

.hard-grid-5 {
  --grid-gap: 0;
  --grid-size: 5;
  display: grid;
  grid-template-columns: repeat(5, calc(20% - 0.8 * var(--grid-gap))); }

.hard-grid-6 {
  --grid-gap: 0;
  --grid-size: 6;
  display: grid;
  grid-template-columns: repeat(6, calc(16.66667% - 0.83333 * var(--grid-gap))); }

.hard-grid-8 {
  --grid-gap: 0;
  --grid-size: 8;
  display: grid;
  grid-template-columns: repeat(8, calc(12.5% - 0.875 * var(--grid-gap))); }

.hard-grid-9 {
  --grid-gap: 0;
  --grid-size: 9;
  display: grid;
  grid-template-columns: repeat(9, calc(11.11111% - 0.88889 * var(--grid-gap))); }

.hard-grid-10 {
  --grid-gap: 0;
  --grid-size: 10;
  display: grid;
  grid-template-columns: repeat(10, calc(10% - 0.9 * var(--grid-gap))); }

.hard-grid-12 {
  --grid-gap: 0;
  --grid-size: 12;
  display: grid;
  grid-template-columns: repeat(12, calc(8.33333% - 0.91667 * var(--grid-gap))); }

.hard-grid-15 {
  --grid-gap: 0;
  --grid-size: 15;
  display: grid;
  grid-template-columns: repeat(15, calc(6.66667% - 0.93333 * var(--grid-gap))); }

.hard-rows-1 {
  --grid-gap: 0;
  --grid-size: 1;
  display: grid;
  grid-template-rows: repeat(1, calc(100% - 0 * var(--grid-gap))); }

.hard-rows-2 {
  --grid-gap: 0;
  --grid-size: 2;
  display: grid;
  grid-template-rows: repeat(2, calc(50% - 0.5 * var(--grid-gap))); }

.hard-rows-3 {
  --grid-gap: 0;
  --grid-size: 3;
  display: grid;
  grid-template-rows: repeat(3, calc(33.33333% - 0.66667 * var(--grid-gap))); }

.hard-rows-4 {
  --grid-gap: 0;
  --grid-size: 4;
  display: grid;
  grid-template-rows: repeat(4, calc(25% - 0.75 * var(--grid-gap))); }

.hard-rows-5 {
  --grid-gap: 0;
  --grid-size: 5;
  display: grid;
  grid-template-rows: repeat(5, calc(20% - 0.8 * var(--grid-gap))); }

.hard-rows-6 {
  --grid-gap: 0;
  --grid-size: 6;
  display: grid;
  grid-template-rows: repeat(6, calc(16.66667% - 0.83333 * var(--grid-gap))); }

.hard-rows-8 {
  --grid-gap: 0;
  --grid-size: 8;
  display: grid;
  grid-template-rows: repeat(8, calc(12.5% - 0.875 * var(--grid-gap))); }

.hard-rows-9 {
  --grid-gap: 0;
  --grid-size: 9;
  display: grid;
  grid-template-rows: repeat(9, calc(11.11111% - 0.88889 * var(--grid-gap))); }

.hard-rows-10 {
  --grid-gap: 0;
  --grid-size: 10;
  display: grid;
  grid-template-rows: repeat(10, calc(10% - 0.9 * var(--grid-gap))); }

.hard-rows-12 {
  --grid-gap: 0;
  --grid-size: 12;
  display: grid;
  grid-template-rows: repeat(12, calc(8.33333% - 0.91667 * var(--grid-gap))); }

.hard-rows-15 {
  --grid-gap: 0;
  --grid-size: 15;
  display: grid;
  grid-template-rows: repeat(15, calc(6.66667% - 0.93333 * var(--grid-gap))); }

.grow-0 {
  transform: scale(1, 1); }

.grow-1 {
  transform: scale(1.05, 1.05); }

.grow-2 {
  transform: scale(1.1, 1.1); }

.grow-3 {
  transform: scale(1.25, 1.25); }

.grow-4 {
  transform: scale(1.5, 1.5); }

.grow-5 {
  transform: scale(2, 2); }

.grow-6 {
  transform: scale(3, 3); }

.shrink-0 {
  transform: scale(1, 1); }

.shrink-1 {
  transform: scale(0.95238, 0.95238); }

.shrink-2 {
  transform: scale(0.90909, 0.90909); }

.shrink-3 {
  transform: scale(0.8, 0.8); }

.shrink-4 {
  transform: scale(0.66667, 0.66667); }

.shrink-5 {
  transform: scale(0.5, 0.5); }

.shrink-6 {
  transform: scale(0.33333, 0.33333); }

.rotate-30 {
  transform: rotate(30deg); }

.rotate-45 {
  transform: rotate(45deg); }

.rotate-60 {
  transform: rotate(60deg); }

.rotate-90 {
  transform: rotate(90deg); }

.rotate-n30 {
  transform: rotate(-30deg); }

.rotate-n45 {
  transform: rotate(-45deg); }

.rotate-n60 {
  transform: rotate(-60deg); }

.rotate-n90 {
  transform: rotate(-90deg); }

.rotate-180 {
  transform: rotate(180deg); }

.grayscale-0 {
  filter: grayscale(0%); }

.grayscale-1 {
  filter: grayscale(5%); }

.grayscale-2 {
  filter: grayscale(10%); }

.grayscale-3 {
  filter: grayscale(25%); }

.grayscale-4 {
  filter: grayscale(50%); }

.grayscale-5 {
  filter: grayscale(75%); }

.grayscale-6 {
  filter: grayscale(90%); }

.grayscale-7 {
  filter: grayscale(95%); }

.grayscale-8 {
  filter: grayscale(100%); }

.sepia-0 {
  filter: sepia(0%); }

.sepia-1 {
  filter: sepia(5%); }

.sepia-2 {
  filter: sepia(10%); }

.sepia-3 {
  filter: sepia(25%); }

.sepia-4 {
  filter: sepia(50%); }

.sepia-5 {
  filter: sepia(75%); }

.sepia-6 {
  filter: sepia(90%); }

.sepia-7 {
  filter: sepia(95%); }

.sepia-8 {
  filter: sepia(100%); }

.invert-0 {
  filter: invert(0%); }

.invert-1 {
  filter: invert(5%); }

.invert-2 {
  filter: invert(10%); }

.invert-3 {
  filter: invert(25%); }

.invert-4 {
  filter: invert(50%); }

.invert-5 {
  filter: invert(75%); }

.invert-6 {
  filter: invert(90%); }

.invert-7 {
  filter: invert(95%); }

.invert-8 {
  filter: invert(100%); }

.contrast-n0 {
  filter: contrast(100%); }

.contrast-n1 {
  filter: contrast(95%); }

.contrast-n2 {
  filter: contrast(90%); }

.contrast-n3 {
  filter: contrast(75%); }

.contrast-n4 {
  filter: contrast(50%); }

.contrast-n5 {
  filter: contrast(25%); }

.contrast-n6 {
  filter: contrast(10%); }

.contrast-n7 {
  filter: contrast(5%); }

.contrast-n8 {
  filter: contrast(0%); }

.contrast-0 {
  filter: contrast(100%); }

.contrast-1 {
  filter: contrast(105%); }

.contrast-2 {
  filter: contrast(110%); }

.contrast-3 {
  filter: contrast(125%); }

.contrast-4 {
  filter: contrast(150%); }

.contrast-5 {
  filter: contrast(175%); }

.contrast-6 {
  filter: contrast(190%); }

.contrast-7 {
  filter: contrast(195%); }

.contrast-8 {
  filter: contrast(200%); }

.brightness-n0 {
  filter: brightness(100%); }

.brightness-n1 {
  filter: brightness(95%); }

.brightness-n2 {
  filter: brightness(90%); }

.brightness-n3 {
  filter: brightness(75%); }

.brightness-n4 {
  filter: brightness(50%); }

.brightness-n5 {
  filter: brightness(25%); }

.brightness-n6 {
  filter: brightness(10%); }

.brightness-n7 {
  filter: brightness(5%); }

.brightness-n8 {
  filter: brightness(0%); }

.brightness-0 {
  filter: brightness(100%); }

.brightness-1 {
  filter: brightness(105%); }

.brightness-2 {
  filter: brightness(110%); }

.brightness-3 {
  filter: brightness(125%); }

.brightness-4 {
  filter: brightness(150%); }

.brightness-5 {
  filter: brightness(175%); }

.brightness-6 {
  filter: brightness(190%); }

.brightness-7 {
  filter: brightness(195%); }

.brightness-8 {
  filter: brightness(200%); }

.saturation-n0 {
  filter: saturate(100%); }

.saturation-n1 {
  filter: saturate(95%); }

.saturation-n2 {
  filter: saturate(90%); }

.saturation-n3 {
  filter: saturate(75%); }

.saturation-n4 {
  filter: saturate(50%); }

.saturation-n5 {
  filter: saturate(25%); }

.saturation-n6 {
  filter: saturate(10%); }

.saturation-n7 {
  filter: saturate(5%); }

.saturation-n8 {
  filter: saturate(0%); }

.saturation-0 {
  filter: saturate(100%); }

.saturation-1 {
  filter: saturate(105%); }

.saturation-2 {
  filter: saturate(110%); }

.saturation-3 {
  filter: saturate(125%); }

.saturation-4 {
  filter: saturate(150%); }

.saturation-5 {
  filter: saturate(175%); }

.saturation-6 {
  filter: saturate(190%); }

.saturation-7 {
  filter: saturate(195%); }

.saturation-8 {
  filter: saturate(200%); }

.transform-center {
  transform-origin: center center 0; }

.transform-top {
  transform-origin: center top 0; }

.transform-bottom {
  transform-origin: center bottom 0; }

.transform-left {
  transform-origin: left center 0; }

.transform-right {
  transform-origin: right center 0; }

.transform-ne {
  transform-origin: right top 0; }

.transform-nw {
  transform-origin: left top 0; }

.transform-se {
  transform-origin: right bottom 0; }

.transform-sw {
  transform-origin: left bottom 0; }

.visible {
  visibility: visible; }

.invisible {
  visibility: hidden; }

.opacity-0 {
  opacity: 0; }

.opacity-1 {
  opacity: 0.05; }

.opacity-2 {
  opacity: 0.1; }

.opacity-3 {
  opacity: 0.25; }

.opacity-4 {
  opacity: 0.5; }

.opacity-5 {
  opacity: 0.75; }

.opacity-6 {
  opacity: 0.9; }

.opacity-7 {
  opacity: 0.95; }

.opacity-full {
  opacity: 1; }

.z-0 {
  z-index: 0; }

.z-1 {
  z-index: 100; }

.z-2 {
  z-index: 200; }

.z-3 {
  z-index: 300; }

.z-4 {
  z-index: 400; }

.z-5 {
  z-index: 500; }

.z-6 {
  z-index: 600; }

.z-7 {
  z-index: 700; }

.z-8 {
  z-index: 800; }

.z-9 {
  z-index: 900; }

.z-10 {
  z-index: 1000; }

.hidden {
  display: none; }

[hidden] {
  display: none; }

.clearfix:after {
  clear: both;
  content: " ";
  display: table; }

.bg-fixed {
  background-attachment: fixed; }

.bg-local {
  background-attachment: local; }

.bg-scroll {
  background-attachment: scroll; }

.bg-left {
  background-position-x: left; }

.bg-right {
  background-position-x: right; }

.bg-center-x {
  background-position-x: center; }

.bg-bottom {
  background-position-y: bottom; }

.bg-top {
  background-position-y: top; }

.bg-center-y {
  background-position-y: center; }

.bg-repeat {
  background-repeat: repeat; }

.bg-no-repeat {
  background-repeat: no-repeat; }

.bg-repeat-x {
  background-repeat: repeat-x; }

.bg-repeat-y {
  background-repeat: repeat-y; }

.bg-auto {
  background-size: auto; }

.bg-cover {
  background-size: cover; }

.bg-contain {
  background-size: contain; }

.color-primary {
  color: #f3f4f6;
  background-color: #052b47; }

.color-secondary {
  color: #122c49;
  background-color: #FF3E72; }

.color-action {
  color: white;
  background-color: #30BFD3; }

.color-positive {
  color: #063146;
  background-color: #16ab39; }

.color-negative {
  color: #fdf2f4;
  background-color: #de011e; }

.color-warning {
  color: #113244;
  background-color: #fbbd08; }

.color-white {
  color: #123650;
  background-color: white; }

.color-black {
  color: #f3f4f6;
  background-color: #052b47; }

.color-brand {
  color: white;
  background-color: #30BFD3; }

.color-brand-lighter {
  color: #0f3550;
  background-color: #C4F2F4; }

.color-brand-light {
  color: #0d344f;
  background-color: #9FE5EA; }

.color-brand-dark {
  color: #07324e;
  background-color: #228ea5; }

.color-brand-darker {
  color: #f5fcfd;
  background-color: #10506a; }

.color-accent {
  color: #122c49;
  background-color: #FF3E72; }

.color-accent-lighter {
  color: #11344f;
  background-color: #fee3eb; }

.color-accent-light {
  color: #112d4a;
  background-color: #f65a84; }

.color-accent-dark {
  color: #fff5f8;
  background-color: #ad3864; }

.color-accent-darker {
  color: #fff5f8;
  background-color: #443052; }

.bg-primary {
  background-color: #052b47; }

.bg-secondary {
  background-color: #FF3E72; }

.bg-action {
  background-color: #30BFD3; }

.bg-positive {
  background-color: #16ab39; }

.bg-negative {
  background-color: #de011e; }

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

.bg-white {
  background-color: white; }

.bg-black {
  background-color: #052b47; }

.bg-brand {
  background-color: #30BFD3; }

.bg-brand-lighter {
  background-color: #C4F2F4; }

.bg-brand-light {
  background-color: #9FE5EA; }

.bg-brand-dark {
  background-color: #228ea5; }

.bg-brand-darker {
  background-color: #10506a; }

.bg-accent {
  background-color: #FF3E72; }

.bg-accent-lighter {
  background-color: #fee3eb; }

.bg-accent-light {
  background-color: #f65a84; }

.bg-accent-dark {
  background-color: #ad3864; }

.bg-accent-darker {
  background-color: #443052; }

.text-primary {
  color: #052b47; }

.text-secondary {
  color: #FF3E72; }

.text-action {
  color: #30BFD3; }

.text-positive {
  color: #16ab39; }

.text-negative {
  color: #de011e; }

.text-warning {
  color: #fbbd08; }

.text-white {
  color: white; }

.text-black {
  color: #052b47; }

.text-brand, .stat-slab dl dt, .description dt {
  color: #30BFD3; }

.text-brand-lighter {
  color: #C4F2F4; }

.text-brand-light {
  color: #9FE5EA; }

.text-brand-dark {
  color: #228ea5; }

.text-brand-darker {
  color: #10506a; }

.text-accent, .moderate .comment__author, .conversation-balloon h1, .tabs-container [is-selected], .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  color: #FF3E72; }

.text-accent-lighter {
  color: #fee3eb; }

.text-accent-light {
  color: #f65a84; }

.text-accent-dark {
  color: #ad3864; }

.text-accent-darker {
  color: #443052; }

.cursor-auto {
  cursor: auto; }

.cursor-default {
  cursor: default; }

.cursor-pointer {
  cursor: pointer; }

.cursor-wait {
  cursor: wait; }

.cursor-move {
  cursor: move; }

.cursor-not-allowed {
  cursor: not-allowed; }

.pointer-events {
  pointer-events: auto; }

.no-pointer-events {
  pointer-events: none; }

.select {
  user-select: text; }

.no-select {
  user-select: none; }

.list-decimal {
  list-style: decimal; }

.list-circluze {
  list-style: circluze; }

.list-disc {
  list-style: disc; }

.list-square {
  list-style: square; }

.list-roman {
  list-style: roman; }

.shadow-1 {
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25), 0 2px 8px -2px rgba(0, 0, 0, 0.15); }

.shadow-2 {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); }

.shadow-3 {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.11), 0 4px 8px 0 rgba(0, 0, 0, 0.08); }

.shadow-4 {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); }

.inner-shadow {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); }

.no-shadow {
  box-shadow: none; }

h1,
h2 {
  margin: unset; }

h1 {
  font-size: 1.25em;
  font-weight: 600; }

h2 {
  font-size: 1em; }

label + input + br,
label + textarea + br,
label + select + br {
  display: none; }

.flex, .flex--wrap {
  display: flex; }

.flex--justify-center {
  justify-content: center; }

.flex--wrap {
  flex-wrap: wrap; }

.flex--gap-1 {
  gap: 1rem; }

.wrap, .stat-slab {
  flex-wrap: wrap;
  justify-content: space-between !important; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.inline-grid {
  display: inline-grid; }

.align-center {
  align-items: center; }

.justify-center {
  justify-content: center; }

.cursor-pointer {
  cursor: pointer; }

@media only screen and (max-width: 900px) {
  .full-width {
    grid-column: 1 / 4 !important; } }

.ej-margin-top {
  margin-top: 1rem; }

.ej-margin-bottom {
  margin-bottom: 1rem; }

input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  margin-top: -1.125rem !important;
  margin-bottom: 1.5rem;
  margin-left: 0.75rem; }

.helptext {
  font-size: 1rem;
  text-align: left;
  color: #777777; }
  .helptext-center {
    text-align: center;
    max-width: 50%;
    margin: auto; }

label + ul.errorlist {
  margin-top: -0.75rem;
  margin-bottom: 0; }
  label + ul.errorlist > li:last-child {
    margin-bottom: 0; }

ul.errorlist {
  color: #de011e;
  font-size: 0.75rem;
  font-weight: 600;
  list-style: none;
  margin: 0.375rem;
  text-align: left;
  font-style: italic; }

.terms__content {
  height: 20rem;
  overflow: scroll;
  font-size: 0.9rem;
  border-radius: 0.3125rem;
  height: 6.725rem;
  color: #777777; }

.terms__checkbox {
  font-size: 0.8rem; }
  .terms__checkbox label {
    margin-bottom: 4.145rem; }

.terms label {
  text-transform: unset;
  font-weight: 700;
  font-size: 0.875rem;
  color: #052b47; }

.register-form {
  max-width: 800px;
  margin: auto; }
  .register-form form {
    margin-bottom: unset !important; }
  .register-form__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-column: 2/5;
    margin-bottom: 2.1875rem;
    margin-top: 4.5rem; }
  .register-form__image {
    width: 5.4rem;
    height: 4.6rem; }
  .register-form__submit-button {
    width: fit-content;
    padding-left: 5.5rem !important;
    padding-right: 5.5rem !important;
    height: 3.3rem !important;
    border: unset !important; }
    @media (max-width: 414px) {
      .register-form__submit-button {
        margin-bottom: 1.5rem !important; } }
  .register-form__label {
    font-size: 1rem;
    text-transform: initial;
    font-weight: 500;
    color: #052b47; }
  .register-form__label--margin {
    margin-bottom: 0.75rem; }
  .register-form__buttons {
    display: flex;
    align-items: start;
    float: right;
    margin-top: 3.9rem; }
    @media (max-width: 414px) {
      .register-form__buttons {
        flex-direction: column-reverse;
        align-items: center; }
        .register-form__buttons .login-form__social-button {
          width: 17.5rem; } }
  @media (max-width: 414px) {
    .register-form {
      max-width: unset !important; }
      .register-form input {
        max-width: unset !important;
        min-width: unset !important; } }
.register-form__input input,
.login-form__input input {
  border-radius: 0.625rem !important;
  background-color: #C4F2F499;
  margin-bottom: 2.0625rem; }

.login-form__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 2.0625rem; }

.login-form__label {
  text-transform: initial; }

.login-form__button-container {
  justify-content: space-between;
  align-items: center;
  display: flex;
  margin: 2.0625rem 0 2.0625rem; }

.login-form__submit-button {
  width: 14.0625rem;
  height: 3.3125rem !important;
  margin-bottom: unset !important;
  border: unset !important; }

.login-form__reset-password {
  color: #FF3E72;
  font-family: "Work Sans", sans-serif; }

.login-form__reset-password:hover {
  color: #FF3E72 !important; }

.login-form__social-button {
  width: 17.5rem;
  height: 3.36rem;
  border: 1px solid #BABABA;
  border-radius: 0.3125rem;
  box-shadow: 1px 1px 1px gray;
  display: flex;
  justify-content: center;
  align-items: center; }
  .login-form__social-button span {
    font-weight: 700;
    color: #777777; }
    .login-form__social-button span span {
      text-transform: capitalize; }
  .login-form__social-button a i {
    background: conic-gradient(from -45deg, #ea4335 110deg, #4285f4 90deg 180deg, #34a853 180deg 270deg, #fbbc05 270deg) 73% 55%/150% 150% no-repeat !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 1rem !important; }
  .login-form__social-button--padding {
    padding: 0 1.5rem; }

.register-redirection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 30rem;
  margin: auto;
  padding: 0 1.5rem; }
  .register-redirection__hr {
    margin: 3.0625rem auto !important;
    width: 45%; }
  .register-redirection img {
    width: 9.3525rem;
    height: 7.9375rem; }
  .register-redirection__button {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .register-redirection__button span {
      color: #052b47;
      font-family: "Work Sans", sans-serif;
      margin-bottom: 1.36rem; }
    .register-redirection__button a {
      border: 0.125rem solid #052b47;
      background-color: white;
      color: #052b47;
      height: 3.3125rem;
      line-height: 3.3125rem;
      width: 266px;
      border-radius: 0.3125rem;
      margin-bottom: unset; }
    .register-redirection__button a:hover {
      background-color: white !important;
      color: #052b47 !important; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext,
textarea,
label,
input {
  max-width: unset !important;
  text-indent: unset !important; }

input:not(.button) {
  border: 1px solid #30BFD3;
  border-radius: 0.3125rem; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  margin: unset !important;
  text-align: unset !important; }

.content-grid, .tools {
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(4%, auto);
  display: grid; }
  .content-grid > *, .tools > * {
    grid-column: 2; }
  .content-grid--padding, .tools {
    padding: 2rem 0 0 0; }
  @media only screen and (max-width: 900px) {
    .content-grid, .tools {
      grid-template-columns: 3% auto 3%;
      grid-template-rows: auto auto; }
    .content-grid--padding, .tools {
      padding: 1rem 0 0 0; } }
.header-space {
  margin-top: 1.5rem; }

.loader {
  width: 18px;
  height: 18px;
  border: 2px solid #FF3E72;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: none;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-top: 2rem; }

.hide {
  display: none !important;
  opacity: 0; }

.show {
  display: block !important;
  opacity: 1; }

.htmx-request .loader {
  display: inline; }

.htmx-request.loader {
  display: inline; }

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

@media (max-width: 320px) {
  .terms__content {
    height: 15.4rem; }
  .terms__checkbox label {
    margin-bottom: 2.625rem; }
  .register-form__title {
    grid-column: 2/3;
    flex-direction: column;
    margin-bottom: 0;
    margin-top: 0; }
    .register-form__title h1 {
      margin: 3.375rem 0 1.5rem 0; }
  .register-form__image {
    width: 11.5625rem;
    height: 9.75rem;
    margin-bottom: 1.75rem; }
  .register-redirection {
    flex-direction: column; }
    .register-redirection__hr {
      width: 100%;
      padding: 0 1.5rem; }
    .register-redirection__button span {
      margin-top: 1.58rem; }
  .login-form__input #id_password {
    margin-bottom: 1rem; }
  .login-form__button-container {
    flex-direction: column;
    row-gap: 1.21rem;
    margin-bottom: unset; }
  .login-form__label {
    text-align: center !important; }
  .login-form__social-button {
    width: 100%; }
  .login-form__reset-password {
    margin-bottom: 1.1875rem; }
  .login-form__submit-button {
    margin-bottom: 1.5rem !important; } }

@media (max-width: 900px) and (min-width: 321px) {
  .terms__content {
    height: 15.4rem; }
  .terms__checkbox label {
    margin-bottom: 2.625rem; }
  .register-form__title {
    grid-column: 2/3;
    flex-direction: column;
    margin-bottom: 0;
    margin-top: 0; }
    .register-form__title h1 {
      margin: 3.375rem 0 1.5rem 0; }
  .register-form__image {
    width: 11.5625rem;
    height: 9.75rem;
    margin-bottom: 1.75rem; }
  .register-form__input--margin input {
    margin-bottom: 2.625rem; }
  .register-form__buttons {
    flex-direction: column-reverse;
    align-items: center; }
    .register-form__buttons .login-form__social-button {
      width: 17.5rem; }
  .register-form__submit-button {
    margin-bottom: 0.9rem !important; }
  .register-redirection {
    flex-direction: column; }
    .register-redirection__hr {
      width: 100%;
      padding: 0 1.5rem; }
    .register-redirection__button span {
      margin-top: 1.58rem; }
  .login-form__input #id_password {
    margin-bottom: 1rem; }
  .login-form__button-container {
    flex-direction: column;
    row-gap: 1.21rem;
    margin-bottom: unset; }
  .login-form__label {
    text-align: center !important; }
  .login-form__social-button {
    width: 100%; }
  .login-form__reset-password {
    margin-bottom: 1.1875rem; }
  .login-form__submit-button {
    margin-bottom: 1.5rem !important; } }

body {
  display: flex;
  flex-direction: column; }

.main-container {
  width: 100%;
  text-align: left !important;
  margin: 0 0 0 18.75rem; }
  .main-container--without-margin {
    margin: unset !important; }

.main-header {
  align-items: center;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  text-align: center;
  position: sticky;
  top: 0;
  color: #123650;
  background-color: white;
  z-index: 1000;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.12);
  height: 3rem;
  line-height: 3.5rem;
  order: -1;
  width: 100%; }
  .main-header > * {
    min-width: 0; }
  .main-header > * {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    display: flex;
    align-items: center; }
  .main-header > a {
    display: flex;
    align-items: center;
    color: #052b47;
    height: 3rem; }
    .main-header > a i {
      color: #FF3E72; }
  .main-header__logo img {
    height: 1.8rem;
    position: relative; }
  .main-header__avatar, .voting-card__comment-avatar img {
    display: flex;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    object-fit: cover; }

@media screen and (min-width: 35rem) {
  .container-temporary {
    max-width: 64vw !important;
    padding: 0;
    text-align: center;
    margin: 0 auto;
    position: relative;
    width: 100%; }
  .measure-wide {
    max-width: 60vw; }
  .main-header {
    line-height: 2.5rem;
    top: 0; } }
  @media screen and (min-width: 35rem) and (min-width: 50rem) {
    .main-header > * {
      padding: 0 0.75rem; } }
@media screen and (min-width: 35rem) {
  .main-header {
    align-items: center;
    justify-content: space-between; }
    .main-header > a {
      text-align: left;
      line-height: 3.75rem; }
      .main-header > a:nth-child(1) {
        display: none; }
    .main-header__user > a {
      display: flex;
      align-items: center; }
    .main-header__user:hover #show-floating-menu {
      opacity: 1 !important;
      visibility: visible !important;
      right: 10px; } }

.nav-divider {
  border-top: 1px solid #C4C4C4;
  margin: 0 0.625rem; }
  .nav-divider--darker {
    border-top: 1px solid #bababa; }

.page-menu {
  max-height: 600px;
  height: 100%;
  z-index: 750;
  position: fixed;
  transition: 0.3s;
  background-color: #F1F1F1;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden auto; }
  @media only screen and (max-width: 900px) {
    .page-menu {
      width: 80%;
      min-width: 80%;
      max-width: 80%; } }
  @media only screen and (min-height: 500px) and (max-width: 800px) {
    .page-menu {
      max-height: unset; } }
  .page-menu--disable-overflow {
    height: 100%;
    overflow: hidden; }
  .page-menu h3 {
    font-family: "Work Sans", "sans-serif"; }
  .page-menu__links {
    display: flex;
    gap: 2.219rem;
    padding: 2.25rem 0 1.75rem;
    border-bottom: 1px solid #777777; }
    .page-menu__links a {
      font-weight: 600;
      font-size: 0.75em;
      letter-spacing: 0;
      line-height: 0;
      color: #777777;
      text-transform: uppercase;
      display: flex;
      align-items: center; }
      .page-menu__links a i {
        font-size: 1.188em;
        margin-left: 0; }
  .page-menu .nav-categories {
    padding-top: 1.75rem !important; }
    .page-menu .nav-categories h3 {
      font-size: 1rem;
      letter-spacing: 0; }
    .page-menu .nav-categories li {
      padding-top: 0.313rem; }
    .page-menu .nav-categories a {
      font-size: 1rem; }
  .page-menu .menu-padding {
    padding: 0 1.75rem 1.75rem; }
    .page-menu .menu-padding:first-child {
      padding-top: 1.75rem; }
  .page-menu .section-margin {
    margin-top: 3.125rem; }
  .page-menu[is-open=""] {
    width: 17rem; }
  .page-menu[is-menu] {
    width: 17rem;
    visibility: hidden;
    left: -100%; }
  .page-menu[is-open] {
    visibility: visible;
    left: 0;
    top: 3rem;
    z-index: 750; }
  .page-menu nav h1,
  .page-menu nav h2,
  .page-menu nav h3 {
    margin: 0;
    margin-bottom: 0.75rem; }
  .page-menu nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .page-menu nav:last-child {
    border-bottom: none; }
  .page-menu .add-button {
    color: #30BFD3; }
  .page-menu .board-section {
    padding-bottom: 1.5rem;
    margin-top: 2.25rem; }
    .page-menu .board-section__chevron-transition {
      transform: rotate(-90deg); }
    .page-menu .board-section__toggle-section {
      display: flex !important;
      justify-content: space-between;
      cursor: pointer; }
    .page-menu .board-section #board-chevron-icon {
      color: #777777;
      margin: 0; }
  .page-menu .board-list li {
    display: flex;
    gap: 0.31rem;
    height: 1.7rem;
    color: #052b47; }
    .page-menu .board-list li p {
      margin-right: 0.5rem;
      font-weight: 700; }
  .page-menu .board-list li.selected-board {
    background-color: #C4C4C4;
    margin: 0rem -2rem 0rem -2rem;
    padding: 0rem 2rem 0rem 2rem; }
  .page-menu .report-section .display-reports {
    color: #052b47; }
    .page-menu .report-section .display-reports label {
      cursor: pointer;
      color: unset;
      text-indent: unset;
      margin-bottom: unset; }
  .page-menu .report-section div {
    display: flex; }
  .page-menu .report-section label i {
    margin-left: unset; }
  .page-menu .report-section ul {
    display: none;
    position: relative; }
    .page-menu .report-section ul li a {
      font-weight: unset; }
  .page-menu .report-section .selected {
    background: #C4C4C4; }
  .page-menu .report-section .show {
    display: block; }
  .page-menu .report-section .hide {
    display: none; }

#isexpanded3,
.isexpanded-cluster-comments {
  display: none !important; }

.isexpanded-cluster-comments--overflow {
  overflow: hidden scroll;
  max-height: 50vh; }

#isexpanded3:checked + label > i,
.isexpanded-cluster-comments:checked + label > i {
  transform: rotate(180deg); }

#show-floating-menu {
  top: 3rem;
  transition: 0.3s; }
  #show-floating-menu.hide {
    right: -20rem;
    display: block !important;
    visibility: hidden; }

.profile-avatar {
  border-radius: 66.5px;
  width: 44px;
  height: 44px;
  margin-right: 0.75rem;
  object-fit: cover; }

.floating-menu {
  position: fixed;
  top: 3rem;
  right: 0;
  background: white;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25); }
  .floating-menu a {
    cursor: pointer; }
  .floating-menu a,
  .floating-menu p {
    font-size: 1em;
    font-weight: 500;
    color: #052b47; }
  @media (max-width: 560px) {
    .floating-menu {
      width: 13.5rem; } }
  .floating-menu__section {
    padding: 0.75rem; }
    .floating-menu__section ul {
      margin-bottom: unset; }
    .floating-menu__section li {
      line-height: 1.1875rem;
      margin-bottom: 0;
      text-align: left;
      list-style-type: none;
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
    .floating-menu__section h3 {
      display: none; }
    .floating-menu__section:first-child {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      margin-top: 0;
      height: 5.75rem;
      padding: 0 0.75rem;
      background: #F1F1F1; }
  .floating-menu__username {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 5rem; }
    .floating-menu__username div {
      overflow: hidden; }
    .floating-menu__username p {
      margin: unset;
      text-align: left;
      overflow: hidden;
      text-overflow: ellipsis; }
  .floating-menu__profile i, .floating-menu__environment i {
    color: #777777; }
  .floating-menu__logout {
    text-align: left;
    background-color: #777777;
    color: white; }
    .floating-menu__logout form {
      margin-bottom: unset; }
    .floating-menu__logout a {
      color: white; }

.menu-section__title {
  margin-bottom: 1.4375rem !important;
  color: #FF3E72;
  font-weight: 400;
  font-size: 1em; }

.menu-section__conversation-text {
  margin-top: 2.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; }
  .menu-section__conversation-text span {
    max-height: 6rem;
    font-size: 1.25em;
    color: #052b47;
    line-height: 1.46rem; }

.conversation-menu {
  display: grid;
  grid-template-columns: 0.63rem auto 0.63rem; }
  @media only screen and (max-width: 900px) {
    .conversation-menu {
      grid-template-columns: 5% auto 5%; } }
  .conversation-menu__buttons {
    margin-top: 1.5rem;
    gap: 0.93rem;
    justify-content: space-between; }
  .conversation-menu__edit-button a, .conversation-menu__delete-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.313rem;
    margin: 0; }
  .conversation-menu__delete-button a {
    width: 3.125rem;
    height: 2.625rem;
    background-color: #C70000;
    border: #C70000; }
  .conversation-menu__edit-button {
    flex-grow: 1; }
    .conversation-menu__edit-button a {
      color: white;
      background-color: #052b47;
      border: #052b47;
      height: 2.625rem;
      text-transform: none;
      letter-spacing: 0;
      font-size: 1em;
      line-height: 1.25rem;
      font-weight: 400;
      text-align: center; }
  .conversation-menu__delete-button a {
    background-color: #C70000;
    border: #C70000;
    font-size: 1em; }
    .conversation-menu__delete-button a i {
      font-size: 1.125em;
      color: white; }
  .conversation-menu__links {
    padding: 2.25rem 0 1.75rem;
    border-bottom: 1px solid #C4C4C4; }
  .conversation-menu__avatar {
    width: 3rem;
    height: 3rem;
    max-width: unset !important;
    display: flex;
    border-radius: 50%;
    object-fit: cover;
    border-style: none;
    margin-bottom: 1rem; }
  .conversation-menu__username {
    font-size: 1rem;
    color: #777777;
    line-height: 1.17rem;
    overflow-wrap: anywhere;
    font-weight: 500; }
  .conversation-menu__conversation-text {
    font-size: 1.25em;
    color: #052b47;
    line-height: 1.46rem;
    max-height: 6rem;
    overflow: hidden;
    margin-top: 2.625rem;
    margin-bottom: 2.375rem; }
  .conversation-menu__conversation-share {
    cursor: pointer; }
    .conversation-menu__conversation-share i {
      color: #052b47; }
    .conversation-menu__conversation-share span {
      color: #052b47;
      font-weight: 500;
      margin-left: 0.375rem; }
  .conversation-menu__conversation-info {
    margin-bottom: 1.4375rem;
    line-height: 1.17rem; }
    .conversation-menu__conversation-info i {
      color: #777777; }
    .conversation-menu__conversation-info span {
      text-transform: lowercase;
      color: #777777;
      font-weight: 500; }
  .conversation-menu__user-section {
    margin: 1.76rem 0 4.25rem 0; }

.participant-menu {
  display: grid;
  grid-template-columns: 1.2rem auto 1.2rem; }
  .participant-menu__buttons {
    margin: 2.25rem 0;
    padding: unset !important; }
    .participant-menu__buttons a:last-child button {
      margin: unset !important; }
    .participant-menu__buttons button {
      width: 100%;
      border-radius: 0.3125rem;
      height: 2.625rem;
      text-transform: none;
      background-color: #052b47;
      border-color: #052b47;
      font-size: 1em;
      font-weight: 400;
      margin: 0 0 0.625rem 0; }
  .participant-menu__item h3 {
    margin: unset !important; }

.participant-menu__item,
.conversation-menu__item {
  overflow: hidden;
  text-overflow: ellipsis;
  grid-column: 2;
  font-size: 1em;
  padding: 0.32rem 0; }
  .participant-menu__item i,
  .conversation-menu__item i {
    color: #777777; }
  .participant-menu__item li,
  .conversation-menu__item li {
    padding: 0.5rem;
    box-sizing: content-box;
    height: unset; }
  .participant-menu__item--selected,
  .conversation-menu__item--selected {
    background-color: #C4C4C480;
    border-radius: 0.3rem;
    height: 2.25rem; }
  .participant-menu__item--column-2,
  .conversation-menu__item--column-2 {
    grid-column: 2/3;
    padding: unset !important;
    font-weight: 400; }
  .participant-menu__item--margin,
  .conversation-menu__item--margin {
    margin-top: 1.93rem !important; }
    @media only screen and (min-height: 500px) {
      .participant-menu__item--margin:last-child,
      .conversation-menu__item--margin:last-child {
        margin-bottom: 2rem; } }
.participant-menu__welcome-title,
.conversation-menu__welcome-title {
  font-size: 1.5em !important;
  line-height: 1.8rem !important;
  color: #052b47;
  margin-bottom: unset !important;
  padding: unset !important;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis; }

.participant-menu__home-divider,
.conversation-menu__home-divider {
  border-bottom: 1px solid #777777;
  grid-column: 2; }
  .participant-menu__home-divider--lighter,
  .conversation-menu__home-divider--lighter {
    border-bottom: 1px solid #C4C4C4; }

.participant-menu__help-section,
.conversation-menu__help-section {
  margin-bottom: 2.8rem !important; }

.participant-menu .nav-divider,
.conversation-menu .nav-divider {
  margin: 1rem 0.625rem 0 0.625rem !important;
  grid-column: 1/4; }

@media screen and (min-width: 35rem) {
  .page-menu {
    z-index: 750;
    background-color: #F1F1F1;
    border-radius: 0;
    flex: 1;
    min-height: calc(100vh - 3rem);
    min-width: 18.75rem;
    max-width: 18.75rem; }
    .page-menu li {
      margin-top: unset;
      margin-bottom: unset; }
    .page-menu, .page-menu[is-menu], .page-menu[is-menu][is-open] {
      display: block;
      width: 20%;
      height: unset;
      visibility: visible;
      left: 0; }
    .page-menu nav {
      border: none;
      padding-top: 0; }
      .page-menu nav h1,
      .page-menu nav h2,
      .page-menu nav h3 {
        display: block;
        line-height: 1.125rem;
        margin-top: 0; }
    .page-menu nav:last-child::after {
      content: none; }
  #page-wrapper {
    display: flex;
    align-items: stretch; }
  #page-wrapper > *:first-child {
    flex: 1; }
  .page-menu + * {
    flex: 5; } }

#first-link {
  tab-index: 0; }
  #first-link :focus {
    background: 0;
    bottom: 0.75rem;
    padding: 0.375rem;
    position: fixed;
    text-align: center;
    z-index: 1002; }

#docs {
  width: 100%;
  height: 100vh;
  display: contents; }
  #docs iframe {
    height: 100vh;
    width: 100%; }

@media (min-width: 560px) {
  #docs iframe {
    height: 100vh;
    width: 100%; } }

#bg-modal {
  opacity: 0; }
  @media screen and (max-width: 559px) {
    #bg-modal {
      background: #000000;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1005; } }
@media screen and (max-width: 559px) {
  .main-container {
    max-width: unset;
    margin: unset; } }

i.fa, i.fas, i.fab, i.far {
  margin: auto 0.5em; }

.body {
  margin-bottom: 5rem !important; }
  @media screen and (min-width: 50rem) {
    .body {
      margin-bottom: 0 !important; } }
.intro-paragraph p {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.tabs div, .tabs a, .categories div, .categories a {
  font-weight: bold;
  color: #777;
  white-space: nowrap; }

.tabs {
  justify-content: flex-start;
  border-bottom: 1px solid #E5E5E5;
  scrollbar-width: none; }
  .tabs::-webkit-scrollbar {
    display: none;
    /* Safari and Chrome */ }
  .tabs-container {
    display: flex;
    padding: unset !important;
    border-bottom: unset !important; }
    .tabs-container [is-selected] {
      border-bottom-color: #FF3E72; }
  .tabs a {
    margin-right: 2.625rem;
    padding-bottom: 1.125rem;
    cursor: pointer;
    text-align: center;
    width: 100%;
    border-bottom: 0.25rem solid transparent; }
  .tabs--smaller {
    font-size: 0.75em; }
    .tabs--smaller a {
      padding-bottom: 0.813rem;
      margin-right: 1rem; }
  .tabs--scroll-x {
    overflow-x: scroll; }
  .tabs__tab-content {
    display: none !important; }
    .tabs__tab-content--show {
      display: inherit !important; }

.categories {
  color: #052b47;
  background-color: #e2f9fa;
  border-color: #e2f9fa;
  flex-wrap: wrap; }
  .categories * {
    color: #30BFD3; }
  .categories a:hover:not([is-selected]) {
    border-bottom-color: rgba(48, 191, 211, 0.5); }

.popup {
  background-color: white;
  border: 1px solid #FF3E72;
  border-radius: 1rem;
  max-width: 30rem;
  overflow-y: auto; }
  .popup__contents {
    flex-grow: 1;
    height: 100%; }
  .popup__close {
    color: #052b47; }

.overlay {
  background-color: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 500; }
  .overlay > * {
    margin: 12.5vh auto;
    max-height: 75vh;
    min-height: 40vh;
    max-width: 80%; }

/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
  visibility: hidden;
  /* Hidden by default. Visible on click */
  min-width: 250px;
  /* Set a default minimum width */
  margin-left: -125px;
  /* Divide value of min-width by 2 */
  background-color: #333;
  /* Black background color */
  color: #fff;
  /* White text color */
  text-align: center;
  /* Centered text */
  border-radius: 2px;
  /* Rounded borders */
  padding: 16px;
  /* Padding */
  position: fixed;
  /* Sit on top of the screen */
  z-index: 1;
  /* Add a z-index if needed */
  left: 50%;
  /* Center the snackbar */
  bottom: 30px;
  /* 30px from the bottom */ }

.triangle {
  width: 0;
  height: 0;
  border: 0.46875rem solid transparent;
  border-top: 0;
  border-bottom: 0.8375rem solid #FF3D72;
  transform: rotate(-90deg); }
  .triangle--top {
    transform: unset; }
  .triangle--white {
    border-bottom-color: #9FE5EA; }

/* Animations to fade the snackbar in and out */
@keyframes toast-show {
  from {
    top: 0;
    opacity: 0; }
  to {
    top: 2.25rem;
    opacity: 0.75; } }

@keyframes toast-hide {
  from {
    top: 2.25rem;
    opacity: 0.75; }
  to {
    top: 0;
    opacity: 0; } }

.toast {
  color: #0f3550;
  background-color: #C4F2F4;
  padding: 1.5rem;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  font-weight: 600;
  align-items: center;
  animation: toast-show 0.25s 0.25s backwards, toast-hide 0.5s 4s forwards;
  border-radius: 0.75rem;
  display: flex;
  filter: brightness(90%);
  justify-content: center;
  left: 0;
  max-width: 25rem;
  margin: auto;
  opacity: 0.75;
  position: fixed;
  right: 0;
  top: 2.25rem;
  width: 90%;
  z-index: 1001;
  margin-left: 45%; }
  .toast__icon {
    color: #30BFD3;
    background-color: white;
    border: 6px solid;
    border-radius: 50rem;
    box-sizing: content-box;
    line-height: 2rem;
    font-size: 2rem;
    height: 2rem;
    width: 2rem; }
  .toast__content > * {
    margin: 0 !important; }
  .toast__content h1 {
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #30BFD3; }
    @media screen and (min-width: 35rem) {
      .toast__content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50rem) {
      .toast__content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 75rem) {
      .toast__content h1 {
        font-size: 1.1875rem; } }
.toast--hide {
  display: none !important; }

.toast--show {
  display: flex !important; }

dialog.toast--show {
  border: unset; }

@media only screen and (max-width: 1016px) {
  .toast {
    margin-left: auto; } }

.description dd {
  margin: 0 0 2rem 0; }

.stat-slab dl {
  margin: 0 0 1.5rem 0; }
  .stat-slab dl dt {
    width: 5.25rem; }
  .stat-slab dl dd {
    font-size: 2rem;
    line-height: 1.5rem;
    margin: 0 0 2rem 0;
    position: relative;
    top: 2.25rem;
    right: 4.5rem;
    width: 0; }

.square {
  border-radius: 5px;
  margin-top: 25px; }

.tooltip {
  display: contents;
  font-size: 0.875rem;
  text-align: center;
  z-index: 100;
  transition: .3s; }
  .tooltip__content {
    display: inline-block;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease-in-out, visibility .1s;
    max-width: 50%;
    background-color: #fee3eb;
    color: #000000;
    text-transform: none;
    font-family: "Work Sans", sans-serif;
    letter-spacing: 0;
    text-align: left;
    font-size: .625rem; }
  .tooltip__icon {
    color: #777;
    margin-left: 0rem !important; }
  .tooltip:hover .tooltip__content {
    visibility: visible;
    opacity: 1; }

.progress-bar, .voting-card__progress-bar {
  align-items: center;
  display: flex;
  flex-flow: row;
  justify-content: center;
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
  margin: 0 auto;
  max-width: 18em; }
  .progress-bar > *, .voting-card__progress-bar > * {
    min-width: 0; }
  .progress-bar__progress, .voting-card__progress-bar__fg, .voting-card__progress-bar__progress {
    margin-left: 0.375rem;
    margin-right: 0.375rem;
    display: flex;
    border: 1px solid #30BFD3;
    border-radius: 50rem;
    height: 0.5rem;
    width: 100%; }
  .progress-bar--simple {
    margin: 0;
    text-transform: uppercase;
    color: #FF3D72;
    font-size: .75rem;
    font-family: Work Sans;
    font-weight: 500;
    line-height: 1.25rem;
    max-width: fit-content; }
    .progress-bar--simple strong {
      font-weight: normal; }
    .progress-bar--simple .progress-bar__progress, .progress-bar--simple .voting-card__progress-bar__fg, .progress-bar--simple .voting-card__progress-bar__progress {
      border: 1px solid #FF3D72;
      border-radius: 0.75rem;
      width: 6.188rem;
      margin-left: 0;
      margin-right: .75rem; }
      .progress-bar--simple .progress-bar__progress :first-child, .progress-bar--simple .voting-card__progress-bar__fg :first-child, .progress-bar--simple .voting-card__progress-bar__progress :first-child {
        background-color: #FF3D72 !important; }

.form-profile--buttons input[type=text] {
  border-radius: 1.5625rem !important; }

.form-profile--buttons__cancel {
  background-color: #777777 !important; }

.form-profile--buttons__save {
  background-color: #052b47 !important; }

.filter {
  display: flex;
  align-items: center; }

.filter__select {
  margin: 0 0.5rem 0 0.5rem;
  border-radius: 5px;
  border: 2px solid #FF3D72;
  color: #FF3D72;
  font-weight: bold;
  height: 28px; }
  .filter__select--width-sm {
    width: 169px;
    min-width: 169px;
    padding-right: unset; }
  .filter__select--width-md {
    width: 230px;
    min-width: 230px;
    padding-right: unset; }

.filter__container {
  display: flex;
  align-items: center;
  color: #777777;
  font-weight: bold; }

.filter__entries-select {
  width: 4rem;
  min-width: 4rem;
  padding-right: unset; }

.filter__sort {
  display: flex; }
  .filter__sort i {
    color: #bababa;
    margin: unset; }
  .filter__sort .fa-sort-up {
    position: relative;
    top: 0.55rem; }

.filter__input {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center; }
  .filter__input input {
    padding-left: 2.5rem;
    margin: unset; }
  .filter__input--blue input {
    min-width: 150px;
    height: 28px;
    border: 2px solid #30BFD3;
    border-radius: 5px; }
  .filter__input--blue i {
    color: #30BFD3; }

.pipe--divider {
  font-weight: bold;
  color: #bababa;
  margin: 0 0.5rem 0 0.5rem; }

.icon--pink {
  color: #FF3D72 !important; }

@media (max-width: 820px) {
  .pipe--divider {
    display: none; }
  .filter {
    display: block; }
  .filter__container {
    margin-bottom: 0.5rem; } }

:root {
  --theme-color: #30BFD3;
  --theme-light-color: #C4F2F4; }

.conversation-card {
  text-align: center;
  font-size: 0.875rem;
  align-items: center;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  background-color: var(--theme-color, #30BFD3);
  border-radius: 50%;
  color: var(--theme-light-color, #C4F2F4);
  width: 100%;
  height: 20rem;
  margin: auto;
  overflow: hidden; }
  @media screen and (min-width: 35rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 50rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 75rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  .conversation-card > * {
    min-width: 0; }
  @media screen and (max-width: 800px) {
    .conversation-card {
      width: 20rem;
      border-radius: 0.313rem; } }
  .conversation-card__tags {
    font-size: 0.875rem;
    font-weight: 700;
    background-color: var(--theme-light-color, #C4F2F4);
    color: var(--theme-color, #30BFD3);
    width: 100%;
    padding: 0.1rem; }
    @media screen and (min-width: 35rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (min-width: 50rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (min-width: 75rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (max-width: 800px) {
      .conversation-card__tags {
        display: flex;
        padding: .4rem 21%;
        height: 6rem; }
        .conversation-card__tags .span-icon {
          display: grid;
          margin: 0 auto; } }
  .conversation-card__statistics {
    padding: 0;
    margin: 0;
    list-style: none;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem; }
    .conversation-card__statistics > li {
      display: inline; }
    .conversation-card__statistics > li {
      padding-left: 0.375rem;
      padding-right: 0.375rem; }
  .conversation-card__text {
    align-items: stretch;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 1.5rem;
    flex-grow: 1;
    padding: 1rem; }
    .conversation-card__text > * {
      min-width: 0; }
    .conversation-card__text a {
      font-size: 1.125rem;
      font-family: "Work Sans";
      color: white;
      font-weight: 600;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      padding: 0px 3.5px 0px 3.5px; }
      @media screen and (min-width: 35rem) {
        .conversation-card__text a {
          font-size: 1.125rem; } }
      @media screen and (min-width: 50rem) {
        .conversation-card__text a {
          font-size: 1.125rem; } }
      @media screen and (min-width: 75rem) {
        .conversation-card__text a {
          font-size: 1.1875rem; } }
    @media only screen and (max-width: 560px) {
      .conversation-card__text {
        padding: .8rem; } }
  .conversation-card__moderate {
    text-transform: uppercase;
    font-size: 0.875rem;
    margin: 0.75rem;
    font-weight: 700;
    color: #052b47;
    display: block; }
    @media screen and (min-width: 35rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
    @media screen and (min-width: 50rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
    @media screen and (min-width: 75rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
  .conversation-card__button {
    padding-top: 0.375rem;
    margin-top: 0.375rem;
    padding-top: 0.8rem;
    background: var(--theme-color, #30BFD3) url("/static/img/bg/conversation-card.png") repeat;
    background-blend-mode: luminosity;
    width: 100%; }
    @media only screen and (max-width: 560px) {
      .conversation-card__button a {
        margin-bottom: 1.5rem; } }
  .conversation-card .progress-bar, .conversation-card .voting-card__progress-bar {
    width: 10rem; }
    .conversation-card .progress-bar__progress, .conversation-card .voting-card__progress-bar__fg, .conversation-card .voting-card__progress-bar__progress {
      border-color: white; }

@media screen and (min-width: 50rem) {
  .alternate-cards {
    align-items: center;
    display: grid;
    grid-gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
    .alternate-cards > * {
      justify-self: center;
      width: 100%;
      display: flex; } }
    @media screen and (min-width: 50rem) and (max-width: 65.5rem) {
      .alternate-cards > * {
        max-width: 24rem; } }
@media screen and (min-width: 50rem) {
      .alternate-cards > * > * {
        border-radius: 0.75rem; } }

@media screen and (min-width: 158rem) {
  .alternate-cards {
    max-width: 150rem;
    margin-left: 0;
    grid-template-columns: repeat(6, minmax(calc((100% / 6) - .75rem), 1fr)); } }

.statistics-card-container {
  width: 14.375rem;
  height: 9rem;
  background: #C4F2F4;
  border: 1px solid #FFFFFF;
  box-shadow: 0rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  border-radius: 0.3125rem;
  padding-left: 1.125rem; }

.statistics-card-title {
  padding-top: 1.5rem;
  padding-bottom: 1.125rem;
  text-align: start;
  margin-bottom: unset; }

.statistics-card-value {
  text-align: start;
  font-size: 1.5rem;
  line-height: 2.625rem;
  font-weight: bold; }

.cards-divider .cards-divider-body {
  background: white;
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  margin-top: 2.25rem;
  margin-bottom: 1.4375rem;
  row-gap: 1.4375rem;
  column-gap: 2rem; }

.cards-divider .cards-divider-header {
  display: none;
  width: 100%;
  padding: 1rem 1rem 0 1rem;
  flex-direction: column; }
  .cards-divider .cards-divider-header .close-btn {
    display: flex;
    justify-content: flex-end;
    padding: .5rem; }
  .cards-divider .cards-divider-header h2 {
    color: #FF3E72;
    text-align: center;
    margin-top: .5rem; }

@media screen and (max-width: 559px) {
  .cards-divider {
    flex-direction: column;
    margin: 0;
    transition: .25s;
    position: fixed;
    bottom: -100%;
    left: 0;
    z-index: 1006;
    border-radius: 0.625rem 0.625rem 0 0;
    background-color: white;
    width: 100%;
    max-height: 80%; }
    .cards-divider .cards-divider-body {
      display: grid;
      justify-content: center;
      overflow-y: auto;
      margin: 0;
      padding: 1.25rem 0; }
    .cards-divider p {
      text-align: center; }
    .cards-divider .statistics-card-container {
      padding: 0; }
    .cards-divider .cards-divider-header {
      display: block; } }

.signature-text {
  font-size: 1em;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3125rem; }

.signature-link {
  line-height: 1.3125rem;
  text-decoration: underline; }

.banner {
  background-position: center;
  height: 225px;
  position: relative; }
  @media (max-width: 900px) and (min-width: 321px) {
    .banner {
      height: 258px; } }
.conversation-header {
  width: 100%;
  margin: auto;
  height: inherit;
  box-sizing: border-box;
  box-shadow: 0px 10px 10px #00000033;
  background-repeat: repeat; }
  @media only screen and (max-width: 320px) {
    .conversation-header {
      padding: 1.875rem 1.625rem 1.938rem 2rem; } }
  @media (max-width: 900px) and (min-width: 321px) {
    .conversation-header {
      padding: 1.875rem 1.625rem 1.938rem 2rem; } }
  .conversation-header--default-img {
    background-image: url("/static/img/comment_card/conversation-title-bg.svg");
    height: 225px; }
    @media (max-width: 900px) and (min-width: 321px) {
      .conversation-header--default-img {
        height: unset; } }
  .conversation-header__gradient {
    background-image: linear-gradient(to top, black, rgba(119, 119, 119, 0.5));
    position: absolute;
    height: inherit;
    box-sizing: border-box; }
  .conversation-header-grid {
    display: grid;
    grid-template-rows: 4.875rem auto 2rem;
    position: relative; }
    @media (max-width: 600px) {
      .conversation-header-grid {
        grid-template-rows: 3rem auto 2rem; } }
  .conversation-header-content {
    position: relative;
    z-index: 2;
    grid-row: 2;
    display: flex;
    row-gap: .5rem;
    flex-flow: column; }
  .conversation-header__gradient, .conversation-header--default-img {
    width: 100%;
    background-size: cover; }
  .conversation-header__label, .conversation-header__label--dark {
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .75em;
    font-family: 'Work Sans'; }
  .conversation-header__label--dark {
    color: #000000; }
  .conversation-header__text {
    color: #052b47;
    font-weight: 400;
    font-family: 'Work Sans';
    font-size: 1.5em;
    text-transform: unset; }
    @media only screen and (max-width: 320px) {
      .conversation-header__text {
        max-height: 64px;
        overflow-y: scroll; } }
    .conversation-header__text--white {
      color: white; }
  .conversation-header__pipe {
    color: #30BFD3; }
  .conversation-header__numbers {
    position: absolute;
    top: 2.5rem;
    right: 4rem;
    display: flex;
    gap: 1rem;
    height: 2.625rem;
    background-color: white;
    color: #052b47;
    border-radius: 1.8rem;
    display: flex;
    padding: .5rem 1rem;
    font-size: .8em;
    font-weight: 500;
    cursor: pointer; }
    .conversation-header__numbers i {
      font-size: 1.25em; }
    .conversation-header__numbers div {
      display: flex;
      align-items: center; }
    @media (max-width: 600px) {
      .conversation-header__numbers {
        top: 0;
        right: 0;
        height: 2rem;
        font-size: 12px; } }
  .conversation-header__tooltip {
    position: absolute;
    display: flex;
    flex-flow: column;
    top: 3.5rem;
    z-index: 2;
    cursor: pointer; }
    .conversation-header__tooltip div:first-child {
      margin-bottom: .2rem; }
    .conversation-header__tooltip div:nth-child(2) {
      padding: .2rem 1rem;
      border-radius: .5rem;
      background-color: #C4F2F4;
      color: #052b47; }
    @media (max-width: 600px) {
      .conversation-header__tooltip {
        top: 2rem; } }
  .conversation-header .conversation-header-btn {
    background-color: white;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    cursor: pointer; }
  .conversation-header .conversation-dashboard div {
    text-align: center; }
  .conversation-header .conversation-dashboard div {
    color: #052b47; }

.conversation-sharing {
  position: absolute;
  bottom: 0;
  width: calc(100% - 300px);
  height: 3.75rem;
  background-color: #30BFD3;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer; }
  .conversation-sharing--full-width {
    width: 100%; }
  .conversation-sharing-content {
    color: white;
    display: flex;
    gap: 1.25rem; }
    .conversation-sharing-content__text {
      display: flex;
      gap: 1rem; }
      .conversation-sharing-content__text div {
        display: flex;
        background-color: white;
        border-radius: 50%;
        width: 1.5rem;
        height: 1.5rem;
        justify-content: center; }
        .conversation-sharing-content__text div i {
          color: #30BFD3; }
      .conversation-sharing-content__text span {
        text-transform: uppercase;
        font-weight: bold; }
    @media (max-width: 600px) {
      .conversation-sharing-content {
        flex-flow: column; }
        .conversation-sharing-content__text {
          justify-content: center; } }
  @media (max-width: 600px), (max-height: 800px) {
    .conversation-sharing {
      grid-row: 2;
      grid-column: 1 / 4;
      position: unset !important;
      width: unset;
      font-size: 14px;
      height: 5.375rem;
      text-align: center;
      padding: 1rem; }
      .conversation-sharing-content {
        gap: .5rem; } }
.content-grid.margin-y3, .margin-y3.tools {
  position: relative; }

.conversation-balloon .content-grid, .conversation-balloon .tools {
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(14%, auto); }
  @media (max-width: 875px) {
    .conversation-balloon .content-grid, .conversation-balloon .tools {
      grid-template-columns: 3% auto 3%; } }
.conversation-balloon article {
  background: rgba(48, 191, 215, 0.15);
  text-align: left; }
  .conversation-balloon article #add-more-comments {
    margin-bottom: 1rem;
    color: #FF3E72 !important;
    text-transform: initial; }

.conversation-balloon h1 {
  font-family: "Work Sans", sans-serif; }

.conversation-balloon__social {
  align-items: stretch;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  padding-left: 3rem;
  padding-right: 3rem;
  bottom: 1.5rem;
  position: relative; }
  .conversation-balloon__social > * {
    min-width: 0; }
  .conversation-balloon__social i {
    color: #FF3E72; }

.conversation-balloon input,
.conversation-balloon textarea {
  background: white;
  border-radius: 0.375rem;
  max-width: 100%; }

.conversation-balloon textarea {
  height: 4.5rem;
  font-size: 1.5rem; }

.conversation-balloon__tags {
  margin-top: 1.5rem; }
  .conversation-balloon__tags label {
    margin-bottom: 0; }

.conversation-balloon__title label {
  margin-bottom: .5rem; }

.conversation-balloon__title input {
  margin-bottom: 0; }

.conversation-balloon__question {
  margin-bottom: 0; }

.conversation-balloon .helptext {
  width: 85%;
  margin-top: 1rem; }

.conversation-balloon .errorlist {
  margin-top: 0.875rem; }

.conversation-balloon label,
.conversation-form label,
.board-form label {
  color: #052b47;
  font-family: 'Work Sans', sans-serif;
  font-size: 1.1em;
  font-weight: 400; }

.conversation-balloon label span {
  display: inline-block; }

.conversation-balloon label span::first-letter {
  text-transform: capitalize; }

.conversation-balloon label:first-letter,
.conversation-form div label:first-letter {
  text-transform: capitalize !important; }

.conversation-form {
  width: 100%;
  margin-top: 3.188rem;
  display: grid;
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(14%, auto); }
  @media only screen and (max-width: 900px) {
    .conversation-form {
      grid-template-columns: 3% auto 3%;
      padding: 1.5rem; } }
  .conversation-form__h3 {
    font-size: 1.5rem; }
  .conversation-form__h4 {
    font-family: 'Work Sans', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0; }
  .conversation-form__duration {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap; }
    .conversation-form__duration input {
      margin-bottom: 0; }
  .conversation-form__custom-richtext {
    margin-top: 1.75rem; }
    .conversation-form__custom-richtext__text {
      margin-top: 0.375rem; }
    .conversation-form__custom-richtext .django-ckeditor-widget {
      width: 100%; }
  .conversation-form .checkbox {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    padding-left: 0.5rem; }
  .conversation-form label {
    margin-top: 1rem; }
  .conversation-form .helptext {
    width: 85%;
    margin-top: 1rem; }
  .conversation-form .block input[type="number"] {
    margin: 0.375rem 0 0.688rem 0; }
  .conversation-form__create-button {
    float: right; }
    @media (max-width: 875px) {
      .conversation-form__create-button {
        text-align: center;
        float: none; } }
    .conversation-form__create-button .is-primary.button {
      padding: 0 3.375rem; }
  .conversation-form label {
    margin-bottom: unset !important; }
  .conversation-form input {
    margin: 0.375rem 0 !important; }
  .conversation-form .form-component__drop-box {
    margin: 0.375rem 0;
    padding: 1.875rem 3.125rem;
    border-radius: 5px;
    border: 2px dashed #E5E7EB;
    background: #F9FAFB;
    text-align: center;
    height: 305px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.875rem; }
    @media only screen and (max-width: 320px) {
      .conversation-form .form-component__drop-box {
        padding: 1.875rem 2rem; } }
  .conversation-form .form-component__drop-box:nth-child(4) {
    margin-top: .813rem; }
  .conversation-form .form-component__image {
    color: #30BFD3;
    font-weight: bold;
    display: block; }
  .conversation-form .form-component__image-name {
    color: #6B7280;
    font-size: x-small; }
  .conversation-form .form-component__message {
    margin-top: 1.813rem; }
    .conversation-form .form-component__message__label {
      margin-bottom: .75rem;
      color: #052b47;
      font-size: 1em;
      font-style: normal;
      font-weight: 700;
      line-height: 1.5rem;
      text-transform: initial; }
  .conversation-form .form-component__upload-buttons {
    display: flex;
    justify-content: center;
    gap: 1.875rem; }
    .conversation-form .form-component__upload-buttons--remove, .conversation-form .form-component__upload-buttons--view {
      text-transform: uppercase; }
    .conversation-form .form-component__upload-buttons--remove {
      color: #FF3E72; }
    .conversation-form .form-component__upload-buttons--view {
      color: #777777; }
  .conversation-form .form-component--uploaded {
    display: flex;
    flex-direction: column;
    gap: 0.875rem; }
    @media only screen and (max-width: 320px) {
      .conversation-form .form-component--uploaded {
        width: 90%; } }
.dropzone .upload {
  display: flex;
  padding: .5rem .75rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  border-radius: 5px;
  background: #30BFD3;
  margin: auto;
  height: 2.5rem;
  text-transform: initial; }

.dropzone label {
  text-align: center;
  margin-bottom: 1rem !important;
  text-transform: initial; }

.dropzone__hint-size {
  color: #6B7280 !important;
  text-align: center;
  font-size: 0.85em;
  font-style: normal;
  font-weight: 700;
  line-height: normal; }

.dropzone--label-margin-0 {
  margin-bottom: 0; }

.dropzone__upload-card-content {
  text-align: center;
  font-size: 1.15em;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5rem;
  color: #6B7280; }
  .dropzone__upload-card-content__field-title {
    color: #6B7280;
    text-align: center;
    font-size: 1em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5rem; }
  .dropzone__upload-card-content__hint {
    font-weight: 400; }

.comment-form {
  padding: 2.25rem;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
  width: 100%;
  border-radius: 0.75rem; }

.comment-form {
  text-align: center;
  color: #052b47;
  background: rgba(48, 191, 215, 0.15); }
  .comment-form label {
    font-weight: 400;
    margin-bottom: 0.75rem;
    color: #052b47;
    text-transform: none; }
  .comment-form textarea {
    margin: 1.5rem 0 0 0;
    min-height: 10em;
    width: 100%; }
  .comment-form form {
    margin: 0; }
  .comment-form__count {
    font-size: 0.75rem;
    bottom: 2rem;
    color: rgba(5, 43, 71, 0.5);
    float: right;
    position: relative;
    right: 0.5rem; }
    @media screen and (min-width: 35rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
    @media screen and (min-width: 50rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
    @media screen and (min-width: 75rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
  .comment-form input[type=submit] {
    background: #30BFD3;
    border-color: var(--theme-color, #30BFD3);
    margin-bottom: 0; }

.extra-content {
  text-align: center;
  margin: 2rem auto;
  width: 75%; }
  .extra-content h1 {
    font-size: 1.125rem;
    text-transform: uppercase;
    color: #30BFD3;
    font-family: "Work Sans";
    font-weight: 700; }
    @media screen and (min-width: 35rem) {
      .extra-content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50rem) {
      .extra-content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 75rem) {
      .extra-content h1 {
        font-size: 1.1875rem; } }
.voting-card {
  border-radius: 5px;
  background: rgba(48, 191, 211, 0.15);
  padding: 2.875rem 2.625rem 1.531rem 3rem;
  grid-row: 1; }
  @media (max-width: 375px) {
    .voting-card {
      bottom: unset !important; } }
  .voting-card__header {
    display: flex;
    flex-wrap: wrap;
    margin: 1rem 0 3.25rem 0;
    gap: 1rem;
    align-items: center; }
  .voting-card__progress {
    display: flex;
    max-width: 8.5rem; }
    .voting-card__progress-bar {
      margin: unset;
      width: 6.1875rem;
      position: relative; }
      .voting-card__progress-bar__progress, .voting-card__progress-bar__fg {
        border-color: #000000; }
      .voting-card__progress-bar__progress {
        background-color: white; }
      .voting-card__progress-bar__fg {
        position: absolute;
        background-color: #000000;
        left: 0; }
    .voting-card__progress__values {
      color: #000000;
      font-family: Work Sans;
      font-size: 0.75rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1.25rem;
      text-transform: uppercase;
      width: fit-content; }
  .voting-card__label {
    color: #777777;
    font-family: Work Sans;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; }
  .voting-card__label--bold {
    font-weight: 600 !important; }
  .voting-card__label--underline {
    text-decoration: underline; }
  .voting-card__add-comment {
    display: flex;
    width: max-content;
    background-color: white;
    border-radius: 0.3125rem;
    padding: 0.375rem; }
    .voting-card__add-comment--summary {
      display: inline;
      margin-right: 1.938rem; }
    .voting-card__add-comment i {
      margin-left: 0rem; }
    .voting-card__add-comment:hover {
      color: #777777; }
  .voting-card hr {
    border: 1px solid white; }
  .voting-card__comment {
    color: #052b47;
    font-family: "Work Sans";
    font-size: 1.25rem;
    font-style: normal;
    line-height: 125%;
    margin: 0.5rem 0 2.125rem 0;
    transition: opacity 1s;
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem; }
    .voting-card__comment-avatar img {
      width: 48px;
      height: 48px;
      max-width: unset !important; }
    .voting-card__comment--show {
      opacity: 1 !important; }
  .voting-card textarea {
    border-radius: 0;
    border-color: transparent !important;
    max-width: none;
    padding: 1rem 1.125rem;
    margin: 0.75rem 0 1.063rem; }
  .voting-card .comment__buttons {
    display: flex;
    gap: 0.75rem;
    float: right;
    flex-wrap: wrap; }
    @media (max-width: 875px) {
      .voting-card .comment__buttons {
        margin: 1rem 0 0 0; } }
    .voting-card .comment__buttons--white, .voting-card .comment__buttons--blue, .voting-card .comment__buttons--gray {
      display: flex;
      padding: 0.875rem 1.5rem;
      align-items: center;
      justify-content: center;
      border-radius: 25px;
      border-color: transparent; }
    .voting-card .comment__buttons--white {
      background: white;
      color: #052B47; }
    .voting-card .comment__buttons--blue {
      background: #052B47;
      color: white; }
    .voting-card .comment__buttons--gray {
      background: #BABABA;
      color: #777777; }
  .voting-card__voting-form {
    margin-bottom: 0; }
    .voting-card__voting-form__back {
      display: none; }
    .voting-card__voting-form__choices {
      display: flex;
      gap: 2.25rem;
      flex-wrap: wrap;
      justify-content: center; }
      .voting-card__voting-form__choices--agree, .voting-card__voting-form__choices--disagree, .voting-card__voting-form__choices--skip {
        display: flex;
        height: 2.375rem;
        width: 8rem;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        font-size: 1rem;
        font-style: normal;
        line-height: normal;
        text-transform: lowercase;
        padding: 0;
        letter-spacing: 0px; }
        .voting-card__voting-form__choices--agree i, .voting-card__voting-form__choices--disagree i, .voting-card__voting-form__choices--skip i {
          color: white; }
      .voting-card__voting-form__choices--agree {
        background-color: #18AE00;
        border: 1px solid #18AE00; }
      .voting-card__voting-form__choices--disagree {
        background-color: #C70000;
        border: 1px solid #C70000; }
      .voting-card__voting-form__choices--skip {
        background-color: transparent;
        border: 1px solid #000000;
        color: #000000; }
        .voting-card__voting-form__choices--skip i {
          color: #000000;
          transform: rotate(45deg); }
      @media (max-width: 430px) {
        .voting-card__voting-form__choices {
          gap: 1rem; } }
  .voting-card__message {
    padding: 1rem 0 2rem 0;
    color: #000000;
    font-family: "Work Sans";
    font-size: 1.5em;
    font-style: normal;
    font-weight: 300;
    line-height: 125%; }
    .voting-card__message p {
      margin: 0; }
  @media (max-width: 600px) {
    .voting-card {
      padding: 1.875rem 1.625rem 0.531rem 2rem;
      grid-column: 1 / 4; }
    .voting-card textarea {
      height: 30vh; }
    .voting-card__comment-avatar {
      display: none; } }
.comment-card {
  max-height: 529px; }
  @media (max-width: 875px) {
    .comment-card {
      max-height: unset; } }
  .comment-card__limit-tooltip {
    color: white;
    font-size: 1rem;
    place-items: center;
    padding: 0 0.75rem;
    border-radius: 5px;
    background: #FF3D72;
    width: fit-content;
    min-height: 43px;
    margin-bottom: 21px; }
    .comment-card__limit-tooltip__arrow {
      color: #FF3D72;
      width: 0;
      height: 0;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
      border-top: 10px solid #FF3D72;
      position: relative;
      left: 80%;
      top: 100%; }
  .comment-card__submit-container {
    margin-bottom: 1.3125rem;
    display: grid;
    justify-items: end; }

.no-margin {
  margin: 0; }

.voting-card__voting-form__choices--disagree .loader,
.voting-card__voting-form__choices--agree .loader {
  border: 2px solid white !important; }

.voting-card__voting-form__choices--skip .loader {
  border: 2px solid #000000 !important; }

.voting-card__voting-form__choices--disagree .loader,
.voting-card__voting-form__choices--agree .loader,
.voting-card__voting-form__choices--skip .loader {
  margin-top: unset !important;
  border-bottom-color: transparent !important; }

@media (max-width: 875px) {
  .body {
    margin: unset !important; } }

.moderate label {
  display: grid;
  text-indent: 0;
  grid-gap: .5rem; }

.moderate .hide {
  display: none; }

.moderate textarea {
  max-width: unset;
  border-radius: .3125rem;
  margin-bottom: .375rem !important; }

.moderate .comment-container__error-message {
  transition: .35s;
  height: 0;
  visibility: hidden;
  color: #E20000; }

.moderate .comment-container.active textarea {
  animation: background-alert;
  animation-duration: 3s;
  animation-iteration-count: infinite; }

.moderate .comment-container.active .comment-container__error-message {
  visibility: visible;
  height: inherit; }

.moderate .comments-panel {
  display: grid;
  width: 100%;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem; }
  .moderate .comments-panel__add-btn {
    text-transform: uppercase;
    font-weight: bold;
    justify-self: start;
    grid-row: 1/span 1;
    grid-column: 1/span 2; }
  .moderate .comments-panel__save-btn, .moderate .comments-container__save-btn {
    background-color: #052b47;
    border-color: #052b47;
    justify-self: end;
    grid-row: 2/span 1;
    grid-column: 2/span 1; }
  .moderate .comments-panel__error-container {
    transition: opacity .5s linear 0s, height .05s linear .5s;
    color: #E20000;
    opacity: 0;
    height: 0;
    font-size: .75rem;
    margin-top: .5rem;
    text-transform: none; }
    .moderate .comments-panel__error-container.show {
      opacity: 1;
      height: auto; }

.moderate .comments-container__message {
  color: #777; }

.moderate .comments-container__save-btn {
  float: right; }

.moderate .comment {
  background-color: #E5E5E5;
  border-radius: .3125rem; }
  .moderate .comment__text {
    font-size: 1.125rem; }
  .moderate .comment__details {
    padding-top: .5rem;
    font-size: .875rem;
    margin-bottom: .5rem; }
    .moderate .comment__details > * {
      font-weight: bold; }
  .moderate .comment__date {
    color: #777; }
  .moderate .comment__actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.5rem; }
  .moderate .comment__action {
    background: none;
    border: none;
    letter-spacing: unset;
    line-height: unset;
    height: unset;
    margin: 0;
    border-radius: .3125rem;
    padding: 0.25rem 0.625rem;
    text-transform: lowercase;
    font-weight: bold;
    font-size: 1rem;
    color: #000000; }
    .moderate .comment__action > * {
      transition: 0s; }
    .moderate .comment__action i {
      margin-left: 0; }
    .moderate .comment__action:hover {
      box-shadow: unset; }
  .moderate .comment.rejected .comment__action.reject-btn, .moderate .comment.approved .comment__action.approve-btn {
    color: white;
    background: #000000; }

@keyframes background-alert {
  0%, 100% {
    background-color: rgba(226, 0, 0, 0.05); }
  50% {
    background-color: rgba(226, 0, 0, 0.15); } }

.conversation-welcome {
  font-family: 'Work Sans';
  display: grid;
  grid-template-columns: auto minmax(auto, 800px) auto;
  grid-template-rows: 10vh auto 1fr; }
  @media only screen and (max-width: 900px) {
    .conversation-welcome {
      font-size: 14px;
      grid-template-columns: 5% auto 5%;
      grid-template-rows: 7vh auto 1fr; } }
  @media only screen and (max-width: 500px) {
    .conversation-welcome {
      font-size: 13px;
      grid-template-columns: 5% auto 5%; }
      .conversation-welcome__button {
        max-width: unset !important; } }
  @media only screen and (max-width: 375px) {
    .conversation-welcome {
      font-size: 12px; } }
  .conversation-welcome__item {
    grid-column: 2;
    grid-row: 2; }
  .conversation-welcome__title {
    font-size: 2.25em;
    margin: 0 0 3.125rem;
    font-weight: 600; }
    @media only screen and (max-width: 900px) {
      .conversation-welcome__title {
        font-size: 1.67em;
        margin: 0 0 1.688rem !important; } }
  .conversation-welcome__message {
    font-size: 1.25em;
    color: #052b47; }
    @media only screen and (max-width: 900px) {
      .conversation-welcome__message {
        font-size: 1.335em; } }
    .conversation-welcome__message--margin-bottom {
      margin: 0 0 1.5rem 0; }
    .conversation-welcome__message__subtitle {
      text-transform: uppercase;
      font-size: 1.25em;
      color: #052b47; }
      @media only screen and (max-width: 900px) {
        .conversation-welcome__message__subtitle {
          font-size: 1.34em; } }
  .conversation-welcome__button, .conversation-welcome__button:hover {
    background-color: #FF3E72 !important;
    border-radius: .5rem;
    border: unset !important;
    box-sizing: content-box;
    float: right;
    text-transform: none;
    font-size: 1em;
    margin: 0;
    letter-spacing: 0;
    color: white;
    font-weight: 700;
    width: 253px;
    height: 53px;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 900px) {
      .conversation-welcome__button, .conversation-welcome__button:hover {
        font-size: 1.335em; } }
  .conversation-welcome__logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2.75rem;
    margin-bottom: 3.616rem; }
    @media only screen and (max-width: 900px) {
      .conversation-welcome__logo {
        align-items: center;
        flex-direction: column-reverse;
        gap: 1.535rem;
        margin-bottom: 2.5rem;
        margin-top: 1.5rem; } }
    .conversation-welcome__logo--no-photo {
      display: flex;
      justify-content: end; }
    .conversation-welcome__logo img {
      max-width: 246px;
      max-height: 120px; }

.board-detail .button-container {
  display: flex;
  gap: 2.1875rem;
  margin-top: 1.5rem; }
  .board-detail .button-container__edit-button, .board-detail .button-container__delete-button {
    font-size: 0.75em; }
  .board-detail .button-container__delete-button {
    color: #C70000; }

.board-detail__description {
  color: #777777; }

.board-detail__statistics-container {
  text-align: start; }

@media screen and (max-width: 559px) {
  .board-detail__board-statistics--hide {
    display: none; } }

@media screen and (max-width: 559px) {
  .board-detail__board-statistics--show .cards-divider-header {
    display: flex; } }

.board-detail__title {
  display: flex;
  place-items: baseline;
  justify-content: space-between;
  padding-bottom: 1rem; }
  .board-detail__title--left-side {
    display: flex;
    place-items: baseline; }
    .board-detail__title--left-side h1 {
      margin-bottom: 0.1rem;
      color: #052b47 !important;
      font-weight: 400; }
    .board-detail__title--left-side i {
      font-size: 1em;
      padding-bottom: 0.3125rem; }
  .board-detail__title--right-side {
    display: none; }
    @media screen and (max-width: 559px) {
      .board-detail__title--right-side {
        display: flex;
        place-items: center;
        justify-content: center;
        width: 1.5625rem;
        height: 1.5625rem;
        background: #052b47;
        border-radius: 50%; }
        .board-detail__title--right-side i {
          color: white; } }
@media screen and (max-width: 559px) {
  .cards-divider.board-detail__board-statistics--show {
    display: flex;
    bottom: 0; } }

#bg-modal.board-detail__board-statistics--show {
  display: block;
  opacity: .7; }

/*
 SPACING
 =========================================================================== */
/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
.tools {
  max-width: 70vw;
  padding: 2rem 0; }
  .tools label {
    text-indent: unset;
    color: #052b47; }
  .tools input {
    border-radius: 0.6rem; }
  .tools input[type="radio"]::after {
    bottom: 0.1em;
    right: unset; }
  .tools select {
    border-radius: 0.5rem; }
  .tools .h2, .tools .title, .tools .intro-paragraph h1, .intro-paragraph .tools h1, .tools .intro-paragraph h2, .intro-paragraph .tools h2, .tools .intro-paragraph h3, .intro-paragraph .tools h3, .tools .intro-paragraph h4, .intro-paragraph .tools h4, .tools .intro-paragraph h5, .intro-paragraph .tools h5, .tools .intro-paragraph h6, .intro-paragraph .tools h6, .tools .intro-paragraph .h1, .intro-paragraph .tools .h1, .tools .intro-paragraph .h4, .intro-paragraph .tools .h4, .tools .intro-paragraph .h5, .intro-paragraph .tools .h5, .tools .intro-paragraph .h6, .intro-paragraph .tools .h6, .tools .h3 {
    margin: unset; }
    .tools .h2 a, .tools .title a, .tools .intro-paragraph h1 a, .intro-paragraph .tools h1 a, .tools .intro-paragraph h2 a, .intro-paragraph .tools h2 a, .tools .intro-paragraph h3 a, .intro-paragraph .tools h3 a, .tools .intro-paragraph h4 a, .intro-paragraph .tools h4 a, .tools .intro-paragraph h5 a, .intro-paragraph .tools h5 a, .tools .intro-paragraph h6 a, .intro-paragraph .tools h6 a, .tools .intro-paragraph .h1 a, .intro-paragraph .tools .h1 a, .tools .intro-paragraph .h4 a, .intro-paragraph .tools .h4 a, .tools .intro-paragraph .h5 a, .intro-paragraph .tools .h5 a, .tools .intro-paragraph .h6 a, .intro-paragraph .tools .h6 a, .tools .h3 a {
      color: #FF3D72;
      text-decoration: underline; }
  .tools .h3 {
    color: #052b47; }
  .tools-container-full-width {
    margin-left: 10px;
    margin-right: 10px; }
  .tools-title {
    margin-bottom: 1.5rem; }
    .tools-title span {
      line-height: 1.6; }
  .tools-table td a {
    text-decoration: underline; }
  .tools-table td:last-child {
    line-height: 1.6; }

.tools-section,
.tools-section-2 {
  border-width: 1px;
  border-color: #30BFD3;
  border-radius: 1rem;
  padding: 5px; }

.tools-section-2 {
  border-style: solid; }

.tools-section .scrow,
.tools-section-2 .scrow {
  display: flex; }

.tools-section .scrow div:first-child,
.tools-section-2 .scrow div:first-child {
  flex-grow: 2;
  color: #30BFD3;
  font-weight: 700; }

.tools-section .tools-content {
  overflow: hidden;
  transition: max-height 0.5s; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@media (max-width: 768px) {
  .tools {
    max-width: unset;
    margin: auto; } }

@media (max-width: 875px) {
  .tools-select {
    flex-grow: 1; }
  .tools-share {
    flex-grow: 1; } }

@media (min-width: 876px) and (max-width: 1300px) {
  .tools-select {
    width: 470px !important; } }

@media (min-width: 1301px) {
  .tools-select {
    flex-grow: 1; } }

@media (max-width: 1210px) {
  .tools-card-expand {
    width: 100% !important; } }

/* Responsive columns */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
    display: block;
    margin-bottom: 20px; } }

.divider {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding-bottom: 0.5rem;
  max-width: 50rem; }

.help-card {
  box-sizing: border-box;
  background: rgba(255, 86, 130, 0.2);
  border-radius: 5px;
  padding: 1rem 1rem 1rem 0;
  display: flex;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  max-width: 375px; }
  .help-card i {
    font-size: x-large; }

#id_authentication_type .tooltip,
#id_template_type .tooltip {
  display: inline; }

#id_authentication_type .tooltip .tooltiptext,
#id_template_type .tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  opacity: 50%;
  color: white;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  margin-top: 50px;
  font-size: small;
  /* Position the tooltip */
  position: absolute;
  z-index: 1; }

#id_authentication_type .tooltip:hover .tooltiptext,
#id_template_type .tooltip:hover .tooltiptext {
  visibility: visible; }

#id_authentication_type label,
#id_template_type label {
  display: inline-block;
  background-color: aliceblue;
  padding: 15px 40px;
  border-radius: 10px;
  margin: 0;
  border: 1px solid #30BFD3;
  text-indent: 0; }

#id_authentication_type label:hover,
#id_template_type label:hover {
  background-color: #9FE5EA; }

#id_authentication_type input[type="radio"]:checked + label,
#id_template_type input[type="radio"]:checked + label {
  background-color: #A3D8DD;
  color: #052b47; }

#id_authentication_type input[type="radio"]:focus + label,
#id_template_type input[type="radio"]:focus + label {
  border: 2px dashed #A3D8DD; }

#id_authentication_type input[type="radio"],
#id_template_type input[type="radio"] {
  opacity: 0;
  position: fixed;
  width: 0; }

#id_authentication_type li,
#id_template_type li {
  display: inline-block;
  margin-right: 0.8rem; }

.color-choice {
  border-radius: 50%;
  display: inline-block;
  position: relative;
  top: 0.1rem;
  height: 1.2rem;
  width: 1.2rem; }

/* Float four columns side by side */
.column {
  float: left;
  width: 50%;
  padding: 0 10px; }

/* Clear floats after the columns */
.row:after, .tabs:after, .categories:after, .stat-slab:after {
  content: "";
  display: table;
  clear: both; }

.tools-divider {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.5rem 0;
  align-items: start;
  margin: 1.313rem 0 0 0; }

.tools-icon-share {
  cursor: pointer; }
  .tools-icon-share img {
    margin: -6px 4px; }

#tools-tip-text {
  width: 150px;
  visibility: hidden;
  font-size: 12px;
  background-color: black;
  color: white;
  text-align: center;
  padding: 5px 5px;
  border-radius: 6px;
  transition: all 0.3s ease;
  transition-delay: 1.2s;
  z-index: 1; }

.tools-tip-text-show {
  visibility: visible !important; }

.tools-tip-text-hidde {
  visibility: hidden; }

.tools-link {
  font-weight: bold; }

.hide {
  display: none !important;
  opacity: 0; }

.show {
  display: block !important;
  opacity: 1; }

.tools-card-container {
  border: 1px solid #C4C4C4;
  border-width: 1px;
  box-sizing: border-box;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  margin: 0 auto 0 0;
  max-width: 800px;
  width: 100%;
  transition: 0.3s;
  border-radius: .5rem;
  overflow: auto; }
  .tools-card-container button {
    font-family: 'Work Sans';
    line-height: 0; }

.tools-card-content {
  margin: 0 0 0 1rem;
  padding: 0 1rem 0 0; }
  .tools-card-content .instruction {
    color: rgba(0, 0, 0, 0.8);
    font-size: 1.125rem;
    margin: 0 0 .8rem 0 !important; }
  .tools-card-content p {
    margin: 0 0 1.813rem 0 !important;
    max-width: 450px; }

.tools-card-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #052b47; }

.tools-card-body {
  display: flex;
  margin: 12px 0 0 19px; }
  .tools-card-body-img img {
    width: 50px; }
  .tools-card-body-buttons {
    display: flex;
    margin: .7rem 0 1.5rem 0; }
    .tools-card-body-buttons span {
      margin: .5rem .5rem 0 0;
      font-size: .75rem; }

.tools-card-footer {
  float: right;
  margin: 0 0.75rem 0.75rem 0;
  display: flex;
  gap: .3rem; }
  .tools-card-footer button.blue, .tools-card-footer button.grey {
    border-radius: 5px;
    height: 45px;
    width: 145px;
    padding: 0 !important;
    text-transform: capitalize;
    margin: 0 !important; }
  .tools-card-footer button.grey {
    background-color: #bababa;
    border-color: #bababa;
    color: #052B47;
    font-size: 0.7rem; }
  .tools-card-footer button.blue {
    background-color: #052B47;
    color: white;
    border-color: white;
    font-size: 0.75rem; }
    .tools-card-footer button.blue a {
      font-weight: bold;
      color: white; }

.tools-card-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #052b47; }

button.blue, button.grey {
  border-radius: 5px;
  height: 45px;
  width: 145px;
  padding: 0 !important;
  text-transform: capitalize;
  margin: 0 !important; }

button.grey {
  background-color: #bababa;
  border-color: #bababa;
  color: #052B47;
  font-size: 0.7rem; }
  button.grey a {
    font-weight: 700;
    font-size: 13px;
    line-height: 15px; }

button.blue {
  background-color: #052B47;
  color: white;
  border-color: white;
  font-size: 0.75rem; }
  button.blue a {
    font-weight: bold;
    color: white;
    font-size: 13px;
    line-height: 15px; }

.tools-settings-form {
  position: relative;
  margin-bottom: 0.844rem; }
  .tools-settings-form h3 {
    margin-block-start: 0; }
  .tools-settings-form hr {
    color: #A3D8DD; }
  .tools-settings-form ul {
    list-style-type: none;
    max-width: 24rem;
    justify-content: center; }
    .tools-settings-form ul li {
      margin-bottom: 0; }
  .tools-settings-form section {
    margin-bottom: 2rem;
    margin-left: 1rem; }
  .tools-settings-form .section-custom {
    max-width: 66%; }
    .tools-settings-form .section-custom h3 {
      display: flex;
      justify-content: space-between; }
  .tools-settings-form-table-about {
    font-weight: bold; }
  .tools-settings-form-settings-form h3 {
    margin-block-start: 0; }
  .tools-settings-form-settings-form hr {
    color: rgba(0, 0, 0, 0.12); }
  .tools-settings-form-settings-form section {
    margin: 20px 0px 20px 0px; }
    @media only screen and (max-width: 740px) {
      .tools-settings-form-settings-form section {
        left: 2.5rem; } }
  .tools-settings-form-settings-form ul {
    list-style-type: none;
    margin-bottom: 0; }
  .tools-settings-form-settings-form ul:after {
    content: "";
    display: table;
    clear: both; }
  .tools-settings-form-settings-form li {
    float: left;
    margin-right: 3%;
    width: 35%;
    width: auto;
    margin-bottom: 0; }
  .tools-settings-form-submit-button {
    float: left; }

.tools-settings-form:after {
  content: "";
  display: table;
  clear: both; }

.title-theme {
  margin-bottom: 2.313rem; }
  .title-theme .avatar {
    width: 3.438rem;
    margin-top: 0.844rem;
    margin-right: 1.5rem;
    margin-left: 1.219rem; }
  .title-theme h3 {
    width: 70%;
    margin-top: 0.75rem;
    color: #052b47;
    font-family: "Work Sans";
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 23px; }
  .title-theme h4 {
    color: #052b47;
    font-family: "Work Sans";
    font-weight: bold;
    line-height: 21px;
    margin: unset !important; }
  @media only screen and (max-width: 760px) {
    .title-theme h3 {
      margin-left: 2rem;
      margin-bottom: 1.5rem; }
    .title-theme h4 {
      left: 2rem; }
    .title-theme span {
      left: 2rem; } }
.modal-tools-content {
  position: relative;
  width: 70%;
  max-width: 1200px;
  background: white;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  place-items: center;
  justify-content: center;
  gap: .75rem; }
  .modal-tools-content button {
    width: 200px;
    height: 50px;
    background: #052b47;
    border-radius: 70px;
    padding-top: 10px; }
    .modal-tools-content button span {
      text-transform: capitalize;
      color: white;
      font-family: "Work Sans";
      font-style: normal;
      font-weight: bold;
      font-size: 24px;
      line-height: 28px; }
  @media only screen and (max-width: 760px) {
    .modal-tools-content {
      width: 100%;
      height: 100%;
      max-width: none;
      border-radius: 0px;
      justify-content: flex-start; } }
.modal-tools-close {
  display: none;
  z-index: 9999; }

.modal-tools-open {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999; }

.close-modal {
  position: absolute;
  right: 5px;
  top: 0px;
  text-align: right;
  font-size: 28px;
  margin-right: 17px;
  cursor: pointer; }

.modal-tools-bg {
  display: grid;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  place-items: center;
  justify-content: center; }

@media (max-width: 768px) {
  #page-wrapper .modal {
    width: 100vw;
    left: 0;
    margin: 15% auto; }
  .tools {
    width: 100%; }
    .tools-container {
      width: 95%;
      margin: auto; } }

h2.text-accent a {
  color: #FF3D72; }

.chatbot-options {
  margin-top: 30px;
  margin-left: -8px;
  /* Style the counter cards */ }
  .chatbot-options .card {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 14px;
    border: 1px solid #e5e5e5;
    margin-bottom: 40px;
    cursor: pointer;
    max-width: 500px; }
    .chatbot-options .card h3 {
      margin-top: 20px;
      margin-bottom: 10px;
      color: #042a46;
      font-size: 18px; }
  .chatbot-options .card:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); }
  .chatbot-options .imgcard {
    width: 65px;
    height: 65px; }
  .chatbot-options .balance-bigger-margin {
    width: 50px;
    height: 65px; }

.bots-buttons.share-buttons {
  float: right;
  margin: -20px 400px 0px 0px; }

.bots-buttons button {
  height: 34px;
  width: 98px;
  border-radius: 5px;
  font-size: 0.7rem;
  text-transform: capitalize;
  padding: 0 !important; }

.bots-buttons button.grey {
  background-color: #bababa !important;
  border-color: #bababa !important;
  color: #052B47 !important; }

.bots-buttons button:last-child {
  background-color: #bababa;
  border-color: #bababa;
  color: #052B47; }

.bots-buttons button.pink {
  background-color: #F8127E !important;
  color: white !important;
  border-color: white !important; }

.bots-buttons button:first-child {
  background-color: #F8127E;
  color: white;
  border-color: white; }

.poll-bot-instructions {
  max-width: 410px;
  height: 60px; }
  .poll-bot-instructions li {
    color: rgba(0, 0, 0, 0.8);
    margin: 0 0 0.5rem 0; }

.tool-description {
  display: inline-block;
  max-width: 50rem; }

#custom-domain-label {
  margin-bottom: 0.5rem;
  float: left;
  width: 60%;
  text-transform: unset; }

.preview-template {
  position: relative;
  overflow: hidden;
  height: 40vw;
  width: 100%; }
  .preview-template table tbody tr {
    background: none !important; }

#domain-input {
  margin: 0 0 1rem 0; }

.iframe-section {
  height: 100%;
  width: 100%; }

.display-down {
  margin-right: 10px;
  cursor: pointer; }
  .display-down label {
    cursor: pointer;
    color: unset;
    margin-bottom: unset;
    font-size: 1.5rem;
    transition: transform 2s; }
  .display-down #isexpanded1,
  .display-down #isexpanded2 {
    display: none; }

#download-icon {
  font-size: 1.2rem;
  margin: auto 0.3em; }

#isexpanded1:checked + label > i {
  transform: rotate(180deg); }

#isexpanded2:checked + label > i {
  transform: rotate(180deg); }

#custom-field-section,
#mailing-section {
  animation: fadeIn 0.5s;
  -webkit-animation: fadeIn 0.5s;
  -moz-animation: fadeIn 0.5s; }

#custom-field-section label:first-letter {
  text-transform: uppercase; }

#no-comments-helptext {
  display: flex;
  margin-left: -10rem; }

.modal-tools-content.mailing {
  position: absolute;
  height: fit-content;
  border: none; }
  .modal-tools-content.mailing .close-modal {
    color: white; }

.tools-card-content.mailing {
  margin-left: 3rem; }

.tools-card-footer.mailing {
  margin: 0; }

.card-opinion-component {
  display: grid;
  width: 80%;
  height: auto;
  margin-left: 18px;
  padding-right: 1.219rem;
  border: 1px solid #EEEEEE;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px; }
  .card-opinion-component button {
    display: flex;
    place-content: center;
    align-items: center;
    justify-content: space-evenly;
    float: right; }

.opinion-component-card-list {
  display: block;
  margin-top: 1rem;
  width: 22rem;
  padding: 0 1rem; }

.h3--space {
  margin: 0 0 .625rem 0 !important; }

.tabs-space {
  margin-top: 1.25rem; }

.tools-divider.opinion-divider {
  margin-top: 2.688rem; }

.opinion-col-1 {
  display: flex;
  gap: 3.188rem; }
  .opinion-col-1__info {
    width: 36%; }
  .opinion-col-1 .tools-card-body-img img {
    height: 3.313rem; }
  .opinion-col-1 .helptext.opinion-helptext {
    color: rgba(0, 0, 0, 0.8);
    font-size: .875rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 1.25rem; }

.opinion-col-2__subtitle {
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal; }

.opinion-col-2__hint {
  color: #FF3D72;
  font-weight: bold; }

.opinion-col-2__hint-generate {
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal; }

.opinion-col-2 .form-component__message {
  margin-top: 0.5rem;
  text-transform: capitalize; }
  .opinion-col-2 .form-component__message__label {
    text-transform: capitalize;
    margin-bottom: 0.5rem; }

.opinion-col-2 .form-component .tools-card-footer.opinion-component {
  margin: .75rem 0 0 0 !important;
  display: block !important;
  float: right; }
  .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button {
    border-radius: 5px;
    background-color: #FF3D72;
    border-color: #FF3D72; }
    .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button img {
      width: 16px;
      height: 16px; }
    .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button a {
      font-size: .75rem;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
      text-transform: initial;
      color: white; }

.opinion-col-2 #copy-snippet {
  display: flex;
  width: 100%;
  height: 7.688rem;
  padding: .813rem 1.25rem;
  align-items: flex-start;
  border-radius: 0px 0px 8px 8px;
  border-color: #D1D5DB;
  max-width: none;
  margin: 2.063rem 0 1.188rem;
  color: #6B7280;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400; }

.opinion-col-2__copy-button {
  display: inline-flex;
  height: 2.625rem;
  padding: .5rem 1rem;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background: #30BFD3;
  gap: .375rem; }

.opinion-col-2__tooltip {
  color: white;
  font-size: 1rem;
  display: inline-flex;
  place-items: center;
  padding: .75rem;
  padding-left: 0;
  border-radius: 5px;
  background: #FF3D72;
  max-width: 16.563rem;
  height: 2.75rem;
  position: relative;
  top: 5px; }
  .opinion-col-2__tooltip__arrow {
    color: #FF3D72;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #FF3D72;
    border-left: 0;
    position: relative;
    right: .563rem; }

.opinion-col-2 #copy-snippet-message {
  display: none; }

.cke_top {
  padding: 0 !important; }

.domain-form {
  display: flex;
  justify-content: space-between;
  margin-bottom: 76px; }
  .domain-form input:first-child {
    margin-right: 10px;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    margin-bottom: unset;
    margin-top: unset;
    max-width: 565px; }
  .domain-form #domain-submit {
    height: unset;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; }

.webchat-card {
  box-sizing: border-box;
  max-height: fit-content;
  border: 1px solid #CCCCCC;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
  margin-top: 9px;
  padding: 1rem 0 0 0; }
  .webchat-card__description {
    display: block;
    max-width: 700px; }
  .webchat-card__section {
    display: flex; }
    .webchat-card__section-content {
      width: 80%; }
  .webchat-card__divider {
    border-bottom: 1px solid #c4c4c4;
    margin-bottom: 25.5px;
    width: 100%; }

.webchat-integrations__title {
  font-size: 18px;
  line-height: 21px;
  margin: 29px 0 12px;
  color: rgba(0, 0, 0, 0.8); }

.webchat-integrations__table {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem; }
  .webchat-integrations__table tbody tr {
    background: none !important; }
  .webchat-integrations__table-row {
    max-width: 530px;
    overflow: hidden; }
    .webchat-integrations__table-row a {
      text-decoration: underline; }
  .webchat-integrations__table-header {
    font-style: normal;
    font-weight: bold;
    font-size: 14.4px;
    line-height: 17px;
    color: #30bfd3;
    padding: 20%;
    background-color: none; }
    .webchat-integrations__table-header th {
      border-bottom: 1px solid #bababa; }

.avatar {
  left: 19px;
  position: relative;
  margin-right: 35px;
  width: 60px;
  height: 60px; }

#form-size {
  margin-bottom: 0 !important; }

.buttons-div {
  display: flex;
  gap: 23px;
  position: relative;
  margin-top: 23px; }

#webchat-help-card {
  display: flex;
  gap: 21px;
  margin-top: 18px; }

.webchat-text-element {
  position: absolute;
  left: -9999px; }

.tip-text-position {
  margin-top: auto;
  height: 45px; }

#domain-label {
  margin-bottom: 0.5rem;
  text-transform: capitalize; }

.width-full-extended {
  margin-bottom: 0.25rem;
  margin-top: 1rem; }

#description-info {
  margin-bottom: 0rem;
  margin-top: 12px;
  display: block; }

#th-remove {
  text-align: end; }

#td-remove {
  text-align: end; }

/*
 SPACING
 =========================================================================== */
/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
.desative {
  display: none; }

.warning-comments {
  color: #FF3E72; }

.group-comments {
  position: fixed;
  /* Stay in place */
  z-index: 1010;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100vh;
  /* Full height */
  overflow: unset;
  /* Enable scroll if needed */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */ }

@media (max-width: 875px) {
  .group-comments-content {
    width: 100% !important;
    height: 100vh; } }

/* group-comments Content/Box */
.group-comments-content {
  background: white;
  opacity: 1 !important;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.35);
  background-color: #fefefe;
  margin: 15% auto;
  /* 15% from the top and centered */
  margin-top: 5vh;
  padding: 1.3rem;
  border: 1px solid #C4C4C4;
  width: 80%;
  /* Could be more or less, depending on screen size */
  max-width: 930px;
  height: 90vh;
  overflow-y: scroll; }
  .group-comments-content table {
    margin-bottom: unset !important;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #C4C4C4; }
  .group-comments-content td, .group-comments-content th {
    border-bottom: 1px solid #C4C4C4;
    padding: 0.5rem;
    text-align: left;
    white-space: wrap;
    word-break: break-all;
    font-size: 17px;
    font-weight: normal;
    padding-top: 1.1rem !important;
    padding-bottom: 1.3rem !important; }
  .group-comments-content tr {
    color: rgba(0, 0, 0, 0.8);
    background-color: white; }
  .group-comments-content tr:nth-child(odd) {
    background-color: white; }
  .group-comments-content tr:hover, .group-comments-content tr:focus {
    background-color: white; }
  .group-comments-content header {
    padding-bottom: 1.3rem !important;
    padding-top: 1.1rem !important;
    font-family: "Work Sans", sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #666666; }
  .group-comments-content .comments-table {
    margin-top: 3rem; }
  .group-comments-content .comments-input {
    -webkit-appearance: none !important;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid #042A46;
    border-radius: unset;
    display: block !important;
    border-color: unset;
    position: relative;
    z-index: 1013; }
    .group-comments-content .comments-input::after, .group-comments-content .comments-input::before {
      box-sizing: border-box !important; }
    .group-comments-content .comments-input:before {
      border-color: rgba(255, 255, 255, 0) !important; }
    .group-comments-content .comments-input:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: none; }
    .group-comments-content .comments-input:checked {
      border: none !important;
      background-color: #042A46; }
    .group-comments-content .comments-input .overflow {
      display: none; }
  .group-comments-content .table-text {
    word-break: break-word; }
  .group-comments-content .footer {
    font-size: 0.9rem;
    line-height: 1rem;
    word-break: keep-all;
    height: 2rem;
    vertical-align: bottom;
    padding-top: 1.8rem !important;
    padding-bottom: 0.8rem !important; }
  .group-comments-content .command {
    font-weight: 700; }

.edit-pool-container {
  position: relative; }

.edit-pool-comments {
  position: absolute;
  bottom: 0px;
  right: 0px;
  font-weight: bold; }

.pools-comments-divider {
  border-top: 1px solid #E5E5E5;
  margin-right: -1.3rem;
  margin-left: -1.3rem;
  width: -moz-available;
  margin-bottom: 1.3rem; }

.pool-text {
  font-size: 0.9rem;
  line-height: 1rem !important;
  width: clamp(30ch, 71ch, 71ch);
  display: inline-block;
  margin-top: 0.5rem; }

.close-report {
  color: #052b47;
  float: right;
  font-size: 28px;
  font-weight: bold;
  margin: 0 .5rem; }

.close-report:hover,
.close-report:focus {
  color: black;
  text-decoration: none;
  cursor: pointer; }

.modal-tools-title h3 {
  width: 100%;
  color: black;
  margin-top: 1rem;
  font-family: "Work Sans";
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  text-transform: uppercase; }

.modal-tools-title span {
  display: block;
  padding: 2% 14%;
  font-family: "Work Sans";
  font-style: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 28px;
  text-align: center; }

@media only screen and (max-width: 760px) {
  .modal-tools-title {
    margin-top: 5rem; }
    .modal-tools-title span {
      padding: 2% 7%; } }

.modal-tools-card {
  overflow: hidden;
  display: flex;
  width: 73%; }
  .modal-tools-card .column {
    width: 100%; }
  .modal-tools-card .card {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 1rem;
    border: 1px solid #e5e5e5;
    cursor: pointer;
    display: flex;
    place-items: center;
    justify-content: initial; }
    .modal-tools-card .card .card-text {
      display: flex;
      flex-direction: column;
      place-items: flex-start; }
      .modal-tools-card .card .card-text h3 {
        color: black;
        font-family: "Work Sans";
        font-style: normal;
        font-weight: normal;
        font-size: 24px;
        line-height: 28px;
        text-decoration: underline; }
      .modal-tools-card .card .card-text p {
        font-family: "Work Sans";
        font-style: normal;
        font-weight: normal;
        font-size: 16px;
        line-height: 19px; }
    .modal-tools-card .card .card-icon {
      margin-right: 0.3rem; }
      .modal-tools-card .card .card-icon .imgcard {
        width: 75px;
        height: 65px;
        max-width: unset; }
  .modal-tools-card .card:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); }
  .modal-tools-card .balance-bigger-margin {
    width: 50px;
    height: 65px; }
  @media only screen and (max-width: 860px) {
    .modal-tools-card {
      width: 90%; }
      .modal-tools-card .card {
        justify-content: center; }
        .modal-tools-card .card .card-text h3 {
          font-size: 18px;
          line-height: 21px; }
        .modal-tools-card .card .card-icon {
          margin-left: -1rem;
          margin-right: 0rem; } }
.modal-tools-footer p {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  text-decoration-line: underline; }

/* generic classes */
.center-grid {
  grid-column: 2/3; }

.conversation-dashboard-section__title {
  height: 1.875rem;
  margin-bottom: 1.813rem;
  text-transform: capitalize; }

.dashboard-balloon__container {
  margin: 2.5rem 0 3rem 0; }

.dashboard-balloon__title {
  color: #052b47;
  line-height: 1.375rem;
  margin-top: 0px;
  margin-bottom: 0px; }

.dashboard-balloon__label {
  color: #30BFD3;
  margin-bottom: .3rem; }

.dashboard-balloon__label, .dashboard-balloon__title {
  text-transform: uppercase;
  font-weight: 500; }

.report-container .conversation-dashboard .report-card {
  border: 1px solid #30BFD3;
  border-radius: 0.5rem;
  width: 100%;
  padding: 0 1.375rem 0 1.1875rem;
  min-height: 4.6875rem;
  background-color: #30BFD3;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .report-container .conversation-dashboard .report-card__label {
    font-size: 1rem;
    color: #052B47; }
  .report-container .conversation-dashboard .report-card__button {
    padding: 1rem 0 0 0; }
  .report-container .conversation-dashboard .report-card--margin-lg {
    margin-bottom: 3.65rem; }
  .report-container .conversation-dashboard .report-card--margin-sm {
    margin-bottom: 2.56rem; }

.charts-section {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 1.875rem; }
  .charts-section__title {
    font-size: 1.1em;
    line-height: 1.3125rem;
    margin: unset;
    display: flex;
    text-transform: capitalize;
    color: #052b47;
    font-family: "Work Sans", sans-serif;
    font-weight: bold;
    flex-grow: 1; }
  .charts-section #voting-time-chart {
    height: 25rem; }
    .charts-section #voting-time-chart div:first-child {
      width: 100% !important; }
  .charts-section .time-chart {
    width: 100%; }
    .charts-section .time-chart svg {
      margin: 1rem auto auto auto; }
    .charts-section .time-chart .date-picker {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem; }
      .charts-section .time-chart .date-picker__input {
        display: flex;
        gap: .5rem;
        border: 1px solid #777777;
        border-radius: 0.3125rem;
        padding: 0.25rem;
        cursor: pointer;
        color: #777777; }
        .charts-section .time-chart .date-picker__input input {
          min-width: unset !important;
          max-width: 7.5rem !important;
          padding: unset;
          cursor: pointer;
          width: 100%;
          margin: auto;
          height: 1rem;
          border: unset !important;
          border-radius: unset !important;
          font-size: 0.875rem;
          font-weight: 400;
          text-align: center;
          color: #777777; }
        .charts-section .time-chart .date-picker__input input:focus {
          box-shadow: unset !important; }
    .charts-section .time-chart__container {
      position: relative; }
    .charts-section .time-chart--invalid-dates {
      color: red;
      display: none; }
    .charts-section .time-chart--loading {
      text-align: center;
      display: none; }
  .charts-section .channels-chart {
    width: 100%; }
    .charts-section .channels-chart__header {
      display: flex;
      flex-wrap: wrap;
      gap: .85rem;
      justify-content: space-between; }
    .charts-section .channels-chart .participant-filter {
      display: flex;
      gap: .3rem; }
      .charts-section .channels-chart .participant-filter__buttons {
        display: flex;
        gap: .5rem; }
      .charts-section .channels-chart .participant-filter__button {
        border: 1px solid #777777;
        border-radius: 0.3125rem;
        color: #777777;
        background-color: white;
        line-height: 1rem;
        text-transform: capitalize;
        padding: 0 0.5rem;
        margin-right: 0.5625rem;
        text-transform: lowercase;
        height: 1.82rem;
        font-weight: 400;
        font-size: 1rem; }
        .charts-section .channels-chart .participant-filter__button--selected {
          background-color: #777777;
          color: white; }
      .charts-section .channels-chart .participant-filter__button:focus {
        box-shadow: unset; }
      .charts-section .channels-chart .participant-filter__button:active {
        box-shadow: unset; }
  @media (max-width: 1200px) {
    .charts-section {
      flex-wrap: wrap; }
      .charts-section .time-chart,
      .charts-section .channels-chart {
        width: 100% !important; } }
.report-container .conversation-dashboard .voting-section__title {
  align-items: center;
  height: 3.875rem;
  margin-bottom: 0.75rem; }
  .report-container .conversation-dashboard .voting-section__title h2 {
    margin: unset; }

.report-container .conversation-dashboard .voting-section__container {
  margin-bottom: 2.19rem; }

.report-container .conversation-dashboard .dashboard-card {
  flex: 22.5%;
  border: 2px solid #30BFD3;
  border-radius: 0.3125rem;
  padding: 1.1875rem 1.5625rem 1.1875rem 1.5625rem; }
  .report-container .conversation-dashboard .dashboard-card--fit-content {
    flex: inherit !important; }
  .report-container .conversation-dashboard .dashboard-card__container {
    gap: 1.25rem;
    flex-wrap: wrap; }
  .report-container .conversation-dashboard .dashboard-card__title {
    font-weight: bold;
    font-size: 1em;
    color: #052B47; }
  .report-container .conversation-dashboard .dashboard-card__value {
    font-weight: 400;
    font-size: 1.5em;
    color: #30BFD3; }
    .report-container .conversation-dashboard .dashboard-card__value--white {
      color: white; }
  .report-container .conversation-dashboard .dashboard-card--blue {
    background-color: #30BFD3; }
    .report-container .conversation-dashboard .dashboard-card--blue .dashboard-card__value {
      color: white; }

.report-container .conversation-dashboard .comments-section {
  margin-bottom: 2.19rem; }
  .report-container .conversation-dashboard .comments-section__title {
    margin-bottom: 2.56rem; }

.clusters-section .content-grid > *, .clusters-section .tools > * {
  grid-column: 2/3; }

.clusters-section__container {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 3rem 0;
  justify-content: center; }
  .clusters-section__container--wide-center {
    align-items: center;
    padding: 3rem 0;
    justify-content: center !important; }

.report-container .conversation-dashboard .clusters-section, .clusters-section {
  background-color: #C4F2F4;
  margin-bottom: 5rem;
  grid-column: 1/4; }
  .report-container .conversation-dashboard .clusters-section__title div span, .clusters-section__title div span {
    text-align: left;
    font-family: "Work Sans", "sans-serif";
    font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__chart, .clusters-section__chart {
    text-align: center; }
  .report-container .conversation-dashboard .clusters-section__detail h2, .report-container .conversation-dashboard .clusters-section__detail p, .clusters-section__detail h2, .clusters-section__detail p {
    color: #052b47; }
  .report-container .conversation-dashboard .clusters-section__detail p, .report-container .conversation-dashboard .clusters-section__detail button, .clusters-section__detail p, .clusters-section__detail button {
    font-family: "Work Sans"; }
  .report-container .conversation-dashboard .clusters-section__detail button, .clusters-section__detail button {
    border-radius: 0.5rem;
    background-color: #052b47;
    color: white;
    height: 2.625rem;
    text-transform: capitalize;
    font-size: 1rem; }
  .report-container .conversation-dashboard .clusters-section__detail--filled, .clusters-section__detail--filled {
    max-width: 20rem; }
    .report-container .conversation-dashboard .clusters-section__detail--filled h2, .clusters-section__detail--filled h2 {
      font-size: 1.5em;
      margin-top: unset;
      text-transform: capitalize; }
  .report-container .conversation-dashboard .clusters-section__detail--null, .clusters-section__detail--null {
    font-size: 2.25rem; }
  .report-container .conversation-dashboard .clusters-section__detail--no-margin, .clusters-section__detail--no-margin {
    margin-bottom: unset !important; }
  .report-container .conversation-dashboard .clusters-section__detail--padding, .clusters-section__detail--padding {
    justify-content: unset; }
  .report-container .conversation-dashboard .clusters-section__comment-percentage, .clusters-section__comment-percentage {
    font-size: 2.25em; }
  .report-container .conversation-dashboard .clusters-section__main-comment, .clusters-section__main-comment {
    font-size: 1em;
    margin-bottom: 1rem; }

.scatter-section {
  display: grid;
  grid-template-columns: 30% auto auto auto;
  grid-template-rows: 25rem; }
  @media (max-width: 414px) {
    .scatter-section {
      grid-template-columns: auto;
      grid-template-rows: auto auto; } }
  .scatter-section__filters {
    grid-column: 1 / 2;
    grid-row: 1;
    display: block !important; }
    @media (max-width: 414px) {
      .scatter-section__filters {
        grid-column: 1;
        grid-row: 1; } }
  .scatter-section__chart {
    grid-column: 2 / 5;
    grid-row: 1;
    height: 400px; }
    @media (max-width: 414px) {
      .scatter-section__chart {
        grid-column: 1;
        grid-row: 2; } }
.report-container .conversation-dashboard .scatter-section {
  gap: 2.5rem;
  margin-bottom: 3rem; }
  .report-container .conversation-dashboard .scatter-section__title {
    display: flex;
    flex-wrap: wrap;
    text-align: left; }
    .report-container .conversation-dashboard .scatter-section__title h2 {
      width: 100%; }
    .report-container .conversation-dashboard .scatter-section__title p {
      color: #052b47;
      font-family: "Work Sans";
      font-size: 1rem; }
  .report-container .conversation-dashboard .scatter-section__container {
    max-width: 37.5rem;
    min-width: 17.5rem;
    width: 100%;
    height: 25rem; }

.report-container .conversation-dashboard .scatter-filter__button--inactive {
  color: #777777 !important;
  background-color: white !important; }

.report-container .conversation-dashboard .scatter-filter__filter-by-text {
  font-size: 1rem;
  color: #777777; }

.report-container .conversation-dashboard .scatter-filter button {
  color: white;
  background-color: #777777;
  border: 1px solid #777777;
  border-radius: 0.5rem;
  line-height: 1rem;
  padding: 0 0.5rem;
  margin-right: 0.5625rem;
  text-transform: lowercase;
  height: 1.82rem;
  font-size: 1rem; }

.report-container .conversation-dashboard .scatter-filter__categories {
  display: flex;
  max-width: 14.375rem;
  flex-wrap: wrap;
  margin: 1rem 0 0 0; }

.report-container .conversation-dashboard .scatter-filter__no-group-text {
  background-color: #797979;
  width: 13.4375rem;
  border-radius: 0.5rem;
  padding: 0.375rem 0.5625rem 0.375rem 1rem; }
  .report-container .conversation-dashboard .scatter-filter__no-group-text span {
    font-weight: 600;
    color: white;
    font-size: 1.25rem;
    font-family: "Work Sans"; }

.report-container .conversation-dashboard .words-cloud-section__title {
  margin-bottom: 1.75rem; }

.report-container .conversation-dashboard .words-cloud-section__container {
  box-sizing: border-box;
  border: 1px solid #bababa;
  width: 100%;
  height: 24.25rem;
  margin-bottom: 2.625rem;
  position: relative; }
  .report-container .conversation-dashboard .words-cloud-section__container p {
    position: absolute;
    left: 1rem;
    top: 1rem;
    font-size: 1.125rem;
    line-height: 1.3125rem; }

.report-container .conversation-dashboard__button {
  margin-left: auto; }
  .report-container .conversation-dashboard__button a {
    border-radius: 0.313rem;
    text-transform: capitalize;
    font-size: 1rem;
    padding: .2rem .8rem;
    box-sizing: content-box; }

.report-container .conversation-dashboard .title, .report-container .conversation-dashboard .intro-paragraph h1, .intro-paragraph .report-container .conversation-dashboard h1, .report-container .conversation-dashboard .intro-paragraph h2, .intro-paragraph .report-container .conversation-dashboard h2, .report-container .conversation-dashboard .intro-paragraph h3, .intro-paragraph .report-container .conversation-dashboard h3, .report-container .conversation-dashboard .intro-paragraph h4, .intro-paragraph .report-container .conversation-dashboard h4, .report-container .conversation-dashboard .intro-paragraph h5, .intro-paragraph .report-container .conversation-dashboard h5, .report-container .conversation-dashboard .intro-paragraph h6, .intro-paragraph .report-container .conversation-dashboard h6, .report-container .conversation-dashboard .intro-paragraph .h1, .intro-paragraph .report-container .conversation-dashboard .h1, .report-container .conversation-dashboard .intro-paragraph .h2, .intro-paragraph .report-container .conversation-dashboard .h2, .report-container .conversation-dashboard .intro-paragraph .h3, .intro-paragraph .report-container .conversation-dashboard .h3, .report-container .conversation-dashboard .intro-paragraph .h4, .intro-paragraph .report-container .conversation-dashboard .h4, .report-container .conversation-dashboard .intro-paragraph .h5, .intro-paragraph .report-container .conversation-dashboard .h5, .report-container .conversation-dashboard .intro-paragraph .h6, .intro-paragraph .report-container .conversation-dashboard .h6 {
  align-items: baseline; }
  .report-container .conversation-dashboard .title h2, .report-container .conversation-dashboard .intro-paragraph h1 h2, .intro-paragraph .report-container .conversation-dashboard h1 h2, .report-container .conversation-dashboard .intro-paragraph h2 h2, .intro-paragraph .report-container .conversation-dashboard h2 h2, .report-container .conversation-dashboard .intro-paragraph h3 h2, .intro-paragraph .report-container .conversation-dashboard h3 h2, .report-container .conversation-dashboard .intro-paragraph h4 h2, .intro-paragraph .report-container .conversation-dashboard h4 h2, .report-container .conversation-dashboard .intro-paragraph h5 h2, .intro-paragraph .report-container .conversation-dashboard h5 h2, .report-container .conversation-dashboard .intro-paragraph h6 h2, .intro-paragraph .report-container .conversation-dashboard h6 h2, .report-container .conversation-dashboard .intro-paragraph .h1 h2, .intro-paragraph .report-container .conversation-dashboard .h1 h2, .report-container .conversation-dashboard .intro-paragraph .h2 h2, .intro-paragraph .report-container .conversation-dashboard .h2 h2, .report-container .conversation-dashboard .intro-paragraph .h3 h2, .intro-paragraph .report-container .conversation-dashboard .h3 h2, .report-container .conversation-dashboard .intro-paragraph .h4 h2, .intro-paragraph .report-container .conversation-dashboard .h4 h2, .report-container .conversation-dashboard .intro-paragraph .h5 h2, .intro-paragraph .report-container .conversation-dashboard .h5 h2, .report-container .conversation-dashboard .intro-paragraph .h6 h2, .intro-paragraph .report-container .conversation-dashboard .h6 h2 {
    margin: unset; }
  .report-container .conversation-dashboard .title span, .report-container .conversation-dashboard .intro-paragraph h1 span, .intro-paragraph .report-container .conversation-dashboard h1 span, .report-container .conversation-dashboard .intro-paragraph h2 span, .intro-paragraph .report-container .conversation-dashboard h2 span, .report-container .conversation-dashboard .intro-paragraph h3 span, .intro-paragraph .report-container .conversation-dashboard h3 span, .report-container .conversation-dashboard .intro-paragraph h4 span, .intro-paragraph .report-container .conversation-dashboard h4 span, .report-container .conversation-dashboard .intro-paragraph h5 span, .intro-paragraph .report-container .conversation-dashboard h5 span, .report-container .conversation-dashboard .intro-paragraph h6 span, .intro-paragraph .report-container .conversation-dashboard h6 span, .report-container .conversation-dashboard .intro-paragraph .h1 span, .intro-paragraph .report-container .conversation-dashboard .h1 span, .report-container .conversation-dashboard .intro-paragraph .h2 span, .intro-paragraph .report-container .conversation-dashboard .h2 span, .report-container .conversation-dashboard .intro-paragraph .h3 span, .intro-paragraph .report-container .conversation-dashboard .h3 span, .report-container .conversation-dashboard .intro-paragraph .h4 span, .intro-paragraph .report-container .conversation-dashboard .h4 span, .report-container .conversation-dashboard .intro-paragraph .h5 span, .intro-paragraph .report-container .conversation-dashboard .h5 span, .report-container .conversation-dashboard .intro-paragraph .h6 span, .intro-paragraph .report-container .conversation-dashboard .h6 span {
    font-family: "Work Sans"; }

.report-container .conversation-dashboard .flex-align {
  gap: 1.25rem;
  align-items: center; }

.report-container .conversation-dashboard .voting-modal-report {
  display: flex;
  align-items: center; }
  .report-container .conversation-dashboard .voting-modal-report i {
    font-size: 1.125rem;
    color: #FF3D72; }
  .report-container .conversation-dashboard .voting-modal-report__card--hide {
    display: none !important; }
  .report-container .conversation-dashboard .voting-modal-report__card {
    display: flex;
    align-items: center;
    width: fit-content; }
  .report-container .conversation-dashboard .voting-modal-report__content {
    display: flex;
    flex-direction: column;
    background-color: #FF3D72;
    color: white;
    border-radius: 0.32rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    align-items: center;
    justify-content: center;
    height: 3.875rem; }
    .report-container .conversation-dashboard .voting-modal-report__content span {
      font-size: 1rem; }
    .report-container .conversation-dashboard .voting-modal-report__content a {
      font-weight: bold;
      color: white;
      text-decoration: underline; }
  .report-container .conversation-dashboard .voting-modal-report__triangle {
    width: 0;
    height: 0;
    border: 0.46875rem solid transparent;
    border-top: 0;
    border-bottom: 0.9375rem solid #FF3D72;
    transform: rotate(-90deg); }

@media (max-width: 375px) {
  .time-chart,
  .channels-chart {
    width: 100vw !important;
    min-width: unset !important; }
  #channel-chart {
    width: 16.5625rem !important; } }

@media (max-width: 559px) {
  .report-container .conversation-dashboard .report-card {
    padding: 1.875rem 0 1.5rem 0;
    grid-column: 2/3;
    border-radius: 0px; }
    .report-container .conversation-dashboard .report-card--external {
      background-color: #30BFD3;
      grid-column: 1/4;
      display: grid;
      grid-template-columns: 3% auto 3%; }
  .report-container .conversation-dashboard .voting-section .dashboard-card {
    flex: 45%; }
  .report-container .conversation-dashboard .voting-section__container {
    grid-column: 1/4;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .report-container .conversation-dashboard .comments-section {
    grid-column: 1/4;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .report-container .conversation-dashboard .comments-section__title {
      margin-top: 1.56rem; }
  .report-container .conversation-dashboard .clusters-section__container {
    padding: unset !important;
    max-width: unset !important; }
  .report-container .conversation-dashboard .clusters-section__title {
    margin-top: 1.76rem; }
    .report-container .conversation-dashboard .clusters-section__title div {
      max-width: unset !important; }
    .report-container .conversation-dashboard .clusters-section__title span {
      width: 100% !important;
      text-align: left;
      font-family: "Work Sans", "sans-serif";
      font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__detail--filled {
    margin-bottom: 2rem;
    max-width: 100%;
    width: 100%; }
  .report-container .conversation-dashboard .clusters-section__chart {
    margin: .1rem 0 .1rem 0;
    width: 18rem !important; }
  .report-container .conversation-dashboard .clusters-section__comment-percentage {
    font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__main-comment,
  .report-container .conversation-dashboard .clusters-section .helptext {
    font-size: 0.875rem;
    margin-bottom: 2rem; }
  .report-container .conversation-dashboard .scatter-section__title {
    max-width: 100%; }
    .report-container .conversation-dashboard .scatter-section__title h2 {
      margin: 0 0 1.75rem 0; }
  .report-container .conversation-dashboard .scatter-section .scatter-filter__categories {
    max-width: unset !important;
    width: 100% !important; }
  .report-container .conversation-dashboard .scatter-section .scatter-filter__button {
    font-size: 0.8rem !important; }
  .report-container .conversation-dashboard .words-cloud-section__title {
    margin-top: unset; }
  .conversation-dashboard .flex-align {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0px !important; }
  .conversation-dashboard__button a {
    float: right; }
  .report-container .conversation-dashboard.title, .report-container .intro-paragraph h1.conversation-dashboard, .intro-paragraph .report-container h1.conversation-dashboard, .report-container .intro-paragraph h2.conversation-dashboard, .intro-paragraph .report-container h2.conversation-dashboard, .report-container .intro-paragraph h3.conversation-dashboard, .intro-paragraph .report-container h3.conversation-dashboard, .report-container .intro-paragraph h4.conversation-dashboard, .intro-paragraph .report-container h4.conversation-dashboard, .report-container .intro-paragraph h5.conversation-dashboard, .intro-paragraph .report-container h5.conversation-dashboard, .report-container .intro-paragraph h6.conversation-dashboard, .intro-paragraph .report-container h6.conversation-dashboard, .report-container .intro-paragraph .conversation-dashboard.h1, .intro-paragraph .report-container .conversation-dashboard.h1, .report-container .intro-paragraph .conversation-dashboard.h2, .intro-paragraph .report-container .conversation-dashboard.h2, .report-container .intro-paragraph .conversation-dashboard.h3, .intro-paragraph .report-container .conversation-dashboard.h3, .report-container .intro-paragraph .conversation-dashboard.h4, .intro-paragraph .report-container .conversation-dashboard.h4, .report-container .intro-paragraph .conversation-dashboard.h5, .intro-paragraph .report-container .conversation-dashboard.h5, .report-container .intro-paragraph .conversation-dashboard.h6, .intro-paragraph .report-container .conversation-dashboard.h6 {
    width: 90% !important;
    max-width: unset !important; } }

.export-button {
  color: #30BFD3; }
  .export-button:hover {
    color: #30BFD3 !important; }
  .export-button__title {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1em; }
    @media (max-width: 710px) {
      .export-button__title {
        display: none; } }
  .export-button__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
  .export-button__card {
    position: absolute;
    right: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: end; }
    .export-button__card a {
      color: white;
      text-decoration: underline;
      font-weight: bold;
      text-transform: uppercase; }
    .export-button__card--triangle {
      width: 0;
      height: 0;
      border: 0.375rem solid transparent;
      border-top: 0;
      border-bottom: 0.75rem solid #FF3E72;
      margin-right: 0.625rem; }
  .export-button__card-content {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: fit-content;
    padding: 0.75rem;
    background-color: #FF3E72;
    border-radius: 0.3125rem;
    line-height: 1.17rem;
    color: white; }
  .export-button i {
    font-size: 1.16em; }

.pagination {
  display: flex;
  gap: 4.313rem;
  float: right;
  align-items: center;
  margin-top: 2.289rem; }
  @media only screen and (max-width: 900px) {
    .pagination {
      flex-direction: column-reverse;
      float: none;
      gap: 0.719rem;
      background-color: #C4F2F4;
      padding: 1.094rem 0;
      margin-top: 0; } }
  .pagination__container {
    display: flex;
    align-items: center; }
    .pagination__container-page {
      color: #052b47;
      float: left;
      padding: 0.375rem 0.75rem;
      text-decoration: none;
      border: 1px solid #052b47;
      font-size: 0.875em;
      font-weight: 500; }
      @media only screen and (max-width: 900px) {
        .pagination__container-page {
          border: none;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 23.8px;
          height: 23.8px; } }
      .pagination__container-page--current {
        background-color: #052b47;
        color: white;
        border: 1px solid #052b47; }
        @media only screen and (max-width: 900px) {
          .pagination__container-page--current {
            border-radius: 50%; } }
      @media only screen and (max-width: 900px) {
        .pagination__container-page--clear-elipse {
          padding-left: 0;
          padding-right: 0;
          width: unset; } }
    @media only screen and (max-width: 900px) {
      .pagination__container-index {
        display: flex;
        gap: 1.5rem; } }
    .pagination__container-arrow--first {
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px; }
      @media only screen and (max-width: 900px) {
        .pagination__container-arrow--first {
          padding-left: 0;
          padding-right: 0.844rem; } }
    .pagination__container-arrow--last {
      border-top-right-radius: 5px;
      border-bottom-right-radius: 5px; }
      @media only screen and (max-width: 900px) {
        .pagination__container-arrow--last {
          padding-right: 0;
          padding-left: 0.844rem; } }
  .pagination__info span {
    color: #052b47;
    font-size: 0.75em; }

::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none; }

.scroll-top {
  display: none; }
  @media only screen and (max-width: 900px) {
    .scroll-top {
      display: flex;
      background-color: #052B47;
      padding: 2.313rem 0 2.688rem;
      justify-content: center;
      align-items: center;
      gap: 0.813rem; } }
  .scroll-top i {
    color: white;
    margin: 0; }
  .scroll-top a {
    color: white;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600; }
  .scroll-top--full-width {
    grid-column: 1 / 4; }

#report-filters-form {
  margin: unset;
  position: relative; }

#datatables-container {
  overflow-y: scroll;
  max-height: calc(100vh - 290px); }

#report-table-container::-webkit-scrollbar {
  display: none; }

.report__comments--hide, .report__users--hide {
  display: none; }

.report__comments table thead, .report__users table thead {
  position: sticky;
  top: 0; }

.report__comments table thead tr, .report__users table thead tr {
  background-color: #052b47;
  color: white; }

.report__comments table thead th, .report__users table thead th {
  padding: 1rem !important;
  text-transform: uppercase; }
  .report__comments table thead th i, .report__users table thead th i {
    font-size: 1.2rem; }

.report__comments table tbody tr:nth-child(odd) td:first-child, .report__users table tbody tr:nth-child(odd) td:first-child {
  background-color: #C4F2F4; }

.report__comment div:nth-child(2),
.report__comment div:nth-child(3),
.report__comment div:nth-child(4), .report__user div:nth-child(2),
.report__user div:nth-child(3),
.report__user div:nth-child(4) {
  font-size: .9em; }

.report__comment div:nth-child(4), .report__user div:nth-child(4) {
  color: #FF3E72;
  font-weight: 600; }

.report__comment, .report__user {
  padding: 1rem;
  box-sizing: content-box; }
  .report__comment div:first-child, .report__user div:first-child {
    color: #052b47;
    margin-bottom: 1rem; }
  .report__comment div:nth-child(2), .report__user div:nth-child(2) {
    color: #30BFD3;
    font-weight: 600; }

.report__comment div:nth-child(3) {
  color: #FF3E72;
  font-weight: 600; }

.report__comment-detail {
  display: flex;
  align-items: flex-start;
  gap: 1.375rem;
  justify-content: space-between; }
  .report__comment-detail img {
    background-color: #30BFD3;
    border-radius: 50%;
    padding: 0.425rem 0.3rem; }

.report__user div:nth-child(3) {
  color: #30BFD3;
  font-weight: 600; }

.report__percentages {
  font-weight: bold;
  color: #052b47; }

.report__filters {
  background-color: #E5E5E5;
  padding: 1rem 1.5rem;
  box-sizing: content-box; }
  .report__filters input, .report__filters select, .report__filters .ordering span, .report__filters .clusters-container span, .report__filters .clusters {
    font-size: 0.75em; }
  .report__filters-inputs {
    gap: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 1200px) {
      .report__filters-inputs {
        flex-wrap: wrap; } }
  .report__filters .search {
    max-width: 40rem !important;
    width: 100%; }
    .report__filters .search input {
      margin: unset;
      background-image: url("/static/img/icons/gray-search.svg");
      background-size: 1.4rem;
      background-position: .625rem;
      padding: 0 0 0 2.2rem;
      border-color: #E5E5E5 !important;
      border-radius: 10px !important;
      max-width: 40rem !important;
      width: 100%; }
    @media (max-width: 1200px) {
      .report__filters .search {
        max-width: unset !important; }
        .report__filters .search input {
          max-width: unset !important; } }
  .report__filters .ordering span,
  .report__filters .clusters-container span {
    cursor: pointer;
    white-space: nowrap; }
  .report__filters .ordering span, .report__filters .ordering i,
  .report__filters .clusters-container span,
  .report__filters .clusters-container i {
    text-transform: uppercase;
    color: #052b47;
    font-weight: 600; }
  .report__filters .ordering {
    display: flex;
    align-items: baseline;
    gap: 1rem; }
    .report__filters .ordering select {
      cursor: pointer;
      border: transparent;
      border-radius: .5rem;
      margin: unset;
      min-width: 15em;
      background-color: white;
      padding-right: 1rem;
      border-right: 8px solid transparent; }
      @media (max-width: 500px) {
        .report__filters .ordering select {
          min-width: unset; } }
  .report__filters .clusters-container {
    display: flex; }
  .report__filters .clusters {
    gap: 1rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem; }
    .report__filters .clusters .cluster {
      padding: .5rem;
      color: #777777;
      background-color: white;
      font-weight: 600;
      text-transform: uppercase;
      border-radius: .5rem;
      cursor: pointer;
      letter-spacing: 0; }
      .report__filters .clusters .cluster--active {
        background-color: #FF3E72;
        color: white; }
    .report__filters .clusters select {
      display: none; }
  .report__filters .sorting {
    display: flex;
    align-items: center;
    font-size: 0.75em; }
    .report__filters .sorting #sort-up-icon {
      top: 0.35rem;
      right: -0.05rem; }
    .report__filters .sorting #sort-down-icon {
      margin-left: 0; }
    .report__filters .sorting .icon--blue {
      color: #052b47 !important; }

.comment-detail {
  display: grid;
  grid-template-rows: 4.313rem 5.625rem 5.75rem 5.75rem auto auto;
  color: #052b47; }
  @media only screen and (max-width: 900px) {
    .comment-detail {
      grid-template-rows: 4.313rem 6rem 10.5rem 5rem auto auto; } }
  .comment-detail__modal-header {
    display: flex;
    gap: 1.013rem;
    margin-bottom: 0;
    align-self: baseline; }
    .comment-detail__modal-header p {
      font-size: 1.5em;
      color: #777777;
      letter-spacing: 0;
      font-weight: 400;
      margin: 0; }
  .comment-detail_container-info {
    display: flex;
    gap: 3rem; }
    @media only screen and (max-width: 900px) {
      .comment-detail_container-info {
        flex-direction: column;
        gap: 1.5rem; } }
  .comment-detail__info {
    font-weight: 600;
    font-size: 0.75em;
    letter-spacing: 0;
    text-transform: uppercase; }
    .comment-detail__info-content {
      font-size: 0.875rem !important;
      letter-spacing: 0;
      text-transform: none;
      font-weight: 400 !important; }
    .comment-detail__info p {
      font-size: 1.67em;
      font-weight: 600;
      letter-spacing: 0;
      margin: 0.75rem 0 0; }
    .comment-detail__info-author {
      text-transform: lowercase;
      color: #FF3E72;
      text-decoration: underline; }
  .comment-detail__statistics {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: 5rem; }
    @media only screen and (max-width: 900px) {
      .comment-detail__statistics {
        grid-template-columns: auto;
        grid-template-rows: auto;
        row-gap: 1.5rem; } }
  .comment-detail__buttons {
    display: flex;
    justify-content: space-between;
    margin: 3rem 0 0; }
    @media only screen and (max-width: 900px) {
      .comment-detail__buttons {
        margin: 2.375rem 0; } }
    @media only screen and (min-width: 900px) and (max-width: 1350px) {
      .comment-detail__buttons {
        margin: 1.25rem 0 0; } }
    .comment-detail__buttons-link {
      font-weight: 600;
      font-size: 0.75em;
      letter-spacing: 0;
      text-transform: uppercase; }
      .comment-detail__buttons-link--left {
        margin-left: auto; }

.environment {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 1.7em; }
  .environment__title--align {
    text-align: start; }

.environment-card {
  border: 2px solid #30BFD3;
  border-radius: 5px;
  width: 261px;
  height: 214px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center; }
  .environment-card__title {
    text-decoration-line: underline;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4675rem;
    margin-bottom: 17px; }
  .environment-card__owner {
    width: 90%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-weight: bold; }
  .environment-card__owner, .environment-card__conversation-count {
    color: #052b47;
    margin-bottom: unset; }

.environment-card--large {
  border: 2px solid #30BFD3;
  border-radius: 5px;
  width: 416px;
  height: 119px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 26px; }

.environment-statistics {
  margin-bottom: 4.75em; }
  .environment-statistics__cards {
    display: flex;
    gap: 1.7em;
    flex-wrap: wrap;
    margin-top: 36px; }

.recent-boards__filter {
  display: flex;
  margin-bottom: 36px;
  margin-top: 24px; }

.recent-boards__input {
  z-index: unset !important; }

.recent-boards__text {
  display: flex;
  flex-direction: column;
  text-align: start; }
  .recent-boards__text span {
    color: #052b47; }
  .recent-boards__text span:first-child {
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 0.9025rem; }
  .recent-boards__text span:last-child {
    font-size: 0.75rem;
    line-height: 0.88rem; }

.advanced-search__input--search {
  flex-grow: 1; }
  .advanced-search__input--search input {
    background: white;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 5px !important;
    border-color: white !important;
    height: 36px !important;
    max-width: 100%; }

.advanced-search__select {
  margin-right: 23px; }

.advanced-search__title {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 22px; }
  .advanced-search__title h1, .advanced-search__title .filter {
    margin-bottom: 0; }

.search-table {
  margin-bottom: 0rem; }
  .search-table__container {
    min-height: 500px; }
  .search-table__header {
    height: 44px; }
    .search-table__header th {
      background: #30BFD3 !important;
      padding: 0 1.5rem; }
    .search-table__header th:first-child {
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px; }
    .search-table__header th:last-child {
      border-bottom-right-radius: 5px;
      border-top-right-radius: 5px; }
  .search-table__row {
    background: white !important; }
    .search-table__row td {
      border-bottom: 1px solid #E5E5E5;
      font-size: 1.25rem;
      height: 60px;
      padding: 0 1.5rem; }
    .search-table__row a {
      text-decoration: underline;
      color: #000000; }
    .search-table__row a:hover {
      text-decoration: inherit; }
  .search-table__title {
    font-size: 1.125rem;
    color: white;
    font-weight: 700;
    line-height: 1.3125rem; }
    .search-table__title--width-sm {
      width: 100px; }
    .search-table__title--width-md {
      width: 200px; }
  .search-table__text--align {
    text-align: left; }
  .search-table__text--ellipse {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical; }
  .search-table-favorite-count {
    font-weight: unset; }

.conversation-option--hide {
  display: none; }

.button--favorite,
.button--remove-favorite {
  float: right; }
  .button--favorite i,
  .button--remove-favorite i {
    margin-left: 0; }

.button--remove-favorite i {
  color: #30bfd3; }

.button--remove-favorite .button {
  background-color: white;
  color: #30bfd3; }

.button--remove-favorite a:hover > i {
  color: white; }

.favorite-boards__container {
  display: grid;
  grid-gap: 1.25rem;
  grid-template-rows: repeat(2, 1fr);
  overflow-x: scroll;
  grid-auto-flow: column;
  padding-bottom: 2rem; }

.favorite-boards__count {
  font-family: 'Work Sans'; }

@media (min-width: 1280px) {
  .environment {
    min-width: 840px; } }

@media (max-width: 530px) {
  .environment-card--large {
    width: 260px; }
  .favorite-boards__container {
    grid-template-rows: repeat(3, 1fr); } }

#public-tag-buttons, #my-tag-buttons {
  display: none; }

#public-conversations, #my-conversations {
  grid-column: 1/4; }

.move-icon {
  transform: rotate(-90deg); }

.public-tag-header, .my-tag-header, .comments-tag-header {
  display: flex !important;
  place-items: baseline;
  background-color: #D9D9D9;
  padding: 1rem;
  flex-flow: wrap;
  row-gap: 0.75rem;
  column-gap: 1.25rem; }
  .public-tag-header button, .my-tag-header button, .comments-tag-header button {
    margin-bottom: unset !important; }
  .public-tag-header #public-tag-choice, .my-tag-header #public-tag-choice, .comments-tag-header #public-tag-choice {
    width: auto;
    border-radius: 5px;
    height: 2.25rem;
    min-width: 13rem;
    margin: 0 .438rem 0 0; }
  .public-tag-header #my-tag-choice, .public-tag-header #my-all-tags, .public-tag-header .my-tag-header--add, .my-tag-header #my-tag-choice, .my-tag-header #my-all-tags, .my-tag-header .my-tag-header--add, .comments-tag-header #my-tag-choice, .comments-tag-header #my-all-tags, .comments-tag-header .my-tag-header--add {
    display: none; }
  .public-tag-header .public-tag-header--add--not-allowed, .my-tag-header .public-tag-header--add--not-allowed, .comments-tag-header .public-tag-header--add--not-allowed {
    cursor: not-allowed; }
  .public-tag-header--add, .my-tag-header--add, .comments-tag-header--add {
    color: white;
    background: #30BFD3;
    border: 3px solid #30BFD3;
    box-sizing: border-box;
    border-radius: 5px;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    margin: 0 1.5rem 0 0; }
    .public-tag-header--add i, .my-tag-header--add i, .comments-tag-header--add i {
      margin: auto 0.6em; }
  .public-tag-header__tags, .my-tag-header__tags, .comments-tag-header__tags {
    display: flex;
    gap: .75rem;
    flex-flow: wrap; }
    .public-tag-header__tags--selected, .my-tag-header__tags--selected, .comments-tag-header__tags--selected {
      border: 1px solid #FF3D72;
      background-color: #FF3D72;
      color: white; }
    .public-tag-header__tags--unselected, .my-tag-header__tags--unselected, .comments-tag-header__tags--unselected {
      background-color: white;
      border: 1px solid white;
      color: #052b47; }
    .public-tag-header__tags--selected, .public-tag-header__tags--unselected, .my-tag-header__tags--selected, .my-tag-header__tags--unselected, .comments-tag-header__tags--selected, .comments-tag-header__tags--unselected {
      border-radius: 5px;
      font-size: 0.75rem;
      font-weight: 700;
      padding: 0 .75rem;
      height: 1.5rem;
      line-height: 0; }
  .public-tag-header__all--unselected, .my-tag-header__all--unselected, .comments-tag-header__all--unselected {
    border: 1px solid white;
    background-color: white;
    color: #FF3D72; }
  .public-tag-header__all--selected, .my-tag-header__all--selected, .comments-tag-header__all--selected {
    border: 1px solid #FF3D72;
    background-color: #FF3D72;
    color: white; }
  .public-tag-header__all--unselected, .public-tag-header__all--selected, .my-tag-header__all--unselected, .my-tag-header__all--selected, .comments-tag-header__all--unselected, .comments-tag-header__all--selected {
    border-radius: 5px;
    font-weight: 700;
    padding: 0 .75rem;
    height: 1.5rem;
    line-height: 0; }
  .public-tag-header__tooltip, .my-tag-header__tooltip, .comments-tag-header__tooltip {
    color: white;
    font-size: 1rem;
    display: inline-flex;
    place-items: center;
    padding: .75rem;
    padding-left: 0;
    border-radius: 5px;
    background: #FF3D72;
    max-width: 16.563rem;
    height: 62px;
    position: relative;
    top: 5px;
    margin-right: 0.313rem; }
    .public-tag-header__tooltip__arrow, .my-tag-header__tooltip__arrow, .comments-tag-header__tooltip__arrow {
      color: #FF3D72;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-right: 10px solid #FF3D72;
      border-left: 0;
      position: relative;
      right: .563rem; }

.comments-tag-header {
  background-color: unset !important;
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
  padding: 0; }
  .comments-tag-header--no-margin {
    margin-left: 0; }
  .comments-tag-header #comments-status-buttons {
    display: contents; }

.home-header--add {
  color: #30BFD3 !important;
  font-size: 1rem; }

.my_conversations, .contributions-comments, .contribution-votes {
  margin-bottom: 2.5rem; }
  .my_conversations__message, .contributions-comments__message, .contribution-votes__message {
    margin: 1.75rem;
    color: #777777;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-left: 0; }
    .my_conversations__message--no-margin-top, .contributions-comments__message--no-margin-top, .contribution-votes__message--no-margin-top {
      margin-top: 0; }

#current-votes hr {
  margin-top: 2.281rem; }

#comments-current-cards {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  grid-column-gap: 1.625rem;
  grid-row-gap: 1.5rem;
  color: #052b47;
  font-weight: 500; }

.contribution-votes__card {
  margin: 1.75rem 0 0 0;
  display: grid;
  grid-template-columns: auto auto;
  grid-column-gap: 1.938rem;
  grid-row-gap: 2.25rem; }

.conversation-summary {
  display: flex;
  margin-bottom: .938rem; }
  .conversation-summary__title {
    color: #052b47;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal; }
  .conversation-summary .span-icon {
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    margin-left: -5px;
    color: #30BFD3; }

.comment-summary {
  padding: 1.125rem 1.188rem;
  border-radius: 5px;
  background: #E5E5E5;
  max-width: 43.75rem; }
  .comment-summary__status {
    color: #FF3D72;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal; }
  .comment-summary__info {
    color: #777777;
    font-family: Work Sans;
    font-size: .75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    text-transform: uppercase;
    display: inline-block; }
  .comment-summary__title {
    margin: 1.25rem 0;
    display: block;
    font-weight: 500;
    line-height: normal; }

.home-tabs {
  display: flex;
  border-bottom: 1px solid #bababa;
  overflow: unset;
  margin-top: 1.5rem; }
  .home-tabs__add {
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-right: 2.625rem;
    padding-bottom: 1.6rem; }
    .home-tabs__add i {
      color: #30BFD3;
      margin: 0 0.688rem 0 0; }
    .home-tabs__add a {
      color: #30BFD3;
      font-size: 1rem;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
      text-transform: uppercase; }
  .home-tabs .tabs {
    border-bottom: none; }

.input-container {
  background-color: #E5E5E5;
  justify-content: space-between;
  display: flex;
  align-items: baseline;
  gap: 1.313rem;
  padding: 1rem; }
  .input-container__filter-theme, .input-container__filter-theme:hover {
    color: #F8127E;
    font-family: "Work Sans";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
    display: flex; }
  .input-container__search {
    border-radius: 5px !important;
    border: 1px solid white !important;
    height: 2.25rem !important;
    box-sizing: border-box;
    background-position: 0.5rem 0.563rem !important;
    background-size: 1.25rem !important;
    background-repeat: no-repeat !important;
    padding: 0.6875rem 0px 0.6875rem 2.1875rem !important;
    background: url("/static/img/icons/blue-search.svg");
    width: 51.5% !important;
    color: #052b47;
    margin: 0px !important;
    font-size: 0.75rem !important; }
    .input-container__search::placeholder {
      color: #777777; }
  .input-container__warn-message {
    color: #C70000;
    font-size: 0.75rem;
    font-weight: 400;
    grid-template-columns: none;
    margin-top: 0.2rem; }
  @media (max-width: 875px) {
    .input-container {
      flex-wrap: wrap;
      gap: 0; }
    .input-container__search {
      min-width: 100% !important;
      margin: 0 0 12px 0 !important; } }
.search-filter-container {
  margin-bottom: 0.5rem; }
  @media (max-width: 875px) {
    .search-filter-container {
      margin-bottom: 0rem;
      grid-column: 1/4; } }
@media only screen and (max-width: 320px) {
  .public-tag-header #public-tag-choice, .my-tag-header #public-tag-choice, .comments-tag-header #public-tag-choice {
    width: 80%;
    margin: 0 .438rem 0 0; }
  .public-tag-header--add, .my-tag-header--add, .comments-tag-header--add {
    margin: 0px 0.7rem 0 0; }
  .comments-tag-header #all-comments-button {
    margin-left: 0; }
  .comment-summary {
    font-size: .75rem; }
  #comments-current-cards {
    grid-template-columns: none; }
  .contribution-votes__card {
    grid-template-columns: none; }
  .home-tabs {
    overflow: scroll hidden; }
    .home-tabs__add {
      padding-bottom: 1.5rem; } }

@media (max-width: 875px) and (min-width: 321px) {
  .public-tag-header__tooltip__arrow, .my-tag-header__tooltip__arrow, .comments-tag-header__tooltip__arrow {
    bottom: 2.1rem;
    transform: rotate(90deg);
    left: 1rem; }
  .home-tabs {
    overflow: scroll hidden;
    scrollbar-width: none; }
    .home-tabs__add {
      padding-bottom: 1.5rem; }
    .home-tabs::-webkit-scrollbar {
      display: none;
      /* Safari and Chrome */ }
  #comments-current-cards {
    grid-template-columns: none; }
  .comment-summary {
    font-size: .75rem; }
  .contribution-votes__card {
    grid-template-columns: none; } }

.visible {
  visibility: visible !important; }

.inputs-min-size input, .inputs-min-size textarea, .inputs-min-size select {
  min-width: unset; }

.profile-photo {
  display: relative; }
  .profile-photo__edit {
    position: absolute;
    top: 45%;
    z-index: 3;
    text-align: center;
    width: 100%;
    cursor: pointer; }
    .profile-photo__edit span {
      color: #052b47;
      font-weight: bold; }
  .profile-photo__form {
    display: none; }
  .profile-photo--unfocused {
    position: absolute;
    z-index: 1;
    background-color: rgba(196, 196, 196, 0.8);
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    margin-top: 24px; }

#id_profile_photo {
  visibility: hidden; }

.profile-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  column-gap: 2rem;
  padding-bottom: 2.5rem; }
  .profile-header__photo {
    position: relative; }
    .profile-header__photo--rounded {
      border-radius: 50%; }
    .profile-header__photo img {
      object-fit: cover; }
  .profile-header h1 {
    font-size: 2.25rem;
    color: #FF3D72;
    font-family: "Work Sans";
    font-weight: 400; }
  .profile-header h4 {
    font-size: 1rem;
    color: #777777;
    font-family: "Work Sans";
    font-weight: 700;
    margin: 0.62rem 0px; }
  .profile-header--edit {
    position: relative; }
    .profile-header--edit img {
      opacity: 0.3; }
    .profile-header--edit__options {
      position: absolute;
      left: 34%;
      top: 31%;
      z-index: 1;
      opacity: 1; }
      .profile-header--edit__options input {
        display: none; }
      .profile-header--edit__options label {
        color: #052b47; }
      .profile-header--edit__options form {
        display: none; }

.form-element {
  width: 100%;
  padding: 0px 0px; }

.form-profile--row-separation {
  grid-row-gap: 2.56rem;
  padding-top: 1.5rem; }

.form-profile--subtitle {
  font-weight: 500;
  font-size: 24px; }

.form-profile {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-column-gap: 1.4rem;
  grid-row-gap: 1rem; }
  .form-profile span {
    font-family: 'Work Sans';
    font-size: 1rem;
    font-weight: 700;
    color: #777777; }
  .form-profile__name {
    grid-area: 1 / 1 / 2 / 3; }
  .form-profile__email {
    grid-area: 1 / 3 / 2 / 5; }
  .form-profile__city {
    grid-area: 2 / 1 / 3 / 2; }
  .form-profile__state {
    grid-area: 2 / 2 / 3 / 3; }
  .form-profile__country {
    grid-area: 2 / 3 / 3 / 4; }
  .form-profile__birth-date {
    grid-area: 3 / 1 / 4 / 2; }
  .form-profile__occupation {
    grid-area: 3 / 2 / 4 / 4; }
  .form-profile__education {
    grid-area: 3 / 4 / 4 / 5; }
  .form-profile__education--detail {
    grid-area: 3 / 3 / 4 / 5; }
  .form-profile__ethnicity {
    grid-area: 4 / 1 / 5 / 2; }
  .form-profile__gender_other {
    grid-area: 4 / 2 / 5 / 4; }
  .form-profile__political_activity {
    grid-area: 5 / 1 / 7 / 3; }
  .form-profile__political_activity--detail {
    grid-area: 5 / 1 / 7 / 2; }
  .form-profile__biography {
    grid-area: 5 / 3 / 7 / 5; }
  .form-profile__biography--detail {
    grid-area: 5 / 2 / 7 / 5; }
  .form-profile__current-password {
    grid-area: 1 / 1 / 1 / 1; }
    .form-profile__current-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__new-password {
    grid-area: 2 / 1 / 2 / 2; }
    .form-profile__new-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__confirm-password {
    grid-area: 2; }
  .form-profile__save {
    grid-area: 2;
    align-items: center;
    display: grid; }
    .form-profile__save input {
      margin: 0;
      width: fit-content; }
  .form-profile__edit {
    grid-area: 6 / 4 / 6 / 4; }
  .form-profile select, .form-profile textarea {
    border-radius: 0.3125rem !important; }
  .form-profile--buttons {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: end;
    column-gap: 2rem; }
    .form-profile--buttons input, .form-profile--buttons a {
      border: none !important;
      border-radius: 1.5625rem !important; }
    .form-profile--buttons a {
      background-color: #FF3D72 !important; }

@media (max-width: 900px) {
  .profile-header {
    padding: 0px 1.88rem; }
  .form-element {
    padding: 0 0.6rem; }
  .profile-header {
    padding-bottom: 3.6rem; }
  .form-profile--row-separation {
    padding-top: 2.5rem; }
  .form-profile {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap; }
    .form-profile--buttons {
      flex-direction: column;
      align-items: center; }
    .form-profile__save {
      justify-content: center; }
  .profile-header {
    flex-direction: column; }
    .profile-header__text {
      display: flex;
      flex-direction: column;
      align-items: center; }
    .profile-header h1 {
      text-align: center; } }

/*
 COLLAPSIBLE LIST
 ======================================================================== */
:root {
  --dt-row-hover: 48, 191, 211;
  --dt-column-ordering: 48, 191, 211; }

div.dt-container {
  margin-top: -.3rem; }

table.dataTable {
  width: 100% !important; }

#hr-divider {
  border: 1px solid #bababa;
  margin: 1.4rem 0 1.6rem; }

#cluster-filter {
  display: grid;
  grid-template-columns: 2.313rem auto;
  grid-gap: 1rem;
  margin-bottom: 0; }
  #cluster-filter > * {
    overflow: hidden; }

.form-elements {
  display: flex;
  gap: 2.312rem;
  text-align: left; }
  .form-elements > * {
    width: 50%; }

.form-cluster-description form {
  display: grid;
  grid-gap: 1rem;
  grid-template-rows: 1.187rem auto 1.187rem 1fr;
  margin: 0; }

.form-cluster-description label {
  text-indent: unset;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.188rem;
  margin-bottom: 0; }

.form-cluster-description ul.errorlist {
  position: relative;
  bottom: 0.813rem;
  color: #FF0000;
  font-size: 0.625rem;
  font-weight: 400;
  font-style: italic;
  list-style: none;
  margin: 0;
  text-align: right; }

.form-cluster-description input, .form-cluster-description textarea {
  border: 1px solid #72CAD7;
  box-sizing: border-box;
  border-radius: 0.313rem;
  margin: 0 !important;
  max-width: unset; }

.form-cluster-description textarea {
  height: 100%; }

.form-cluster-description #cluster-name::placeholder, .form-cluster-description #cluster-description::placeholder {
  color: #777777;
  font-size: 0.875rem; }

.form-cluster-personas {
  position: relative;
  display: grid;
  grid-row-gap: 1rem;
  grid-template-rows: 1.187rem 11.5rem auto auto auto; }
  .form-cluster-personas #stereotypes_label {
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.188rem;
    text-indent: unset; }
    .form-cluster-personas #stereotypes_label img {
      height: 13px;
      align-self: center; }
  .form-cluster-personas .disable-tooltip {
    display: none !important; }
  .form-cluster-personas .tooltip-persona {
    width: fit-content;
    height: 1.375rem;
    background: #FFCEDB;
    padding: 0.25rem 0.375rem;
    display: inline-block; }
    .form-cluster-personas .tooltip-persona p {
      font-weight: 600;
      font-size: 0.625rem;
      line-height: 0.75rem;
      color: #000000;
      text-transform: initial; }
  .form-cluster-personas .new-persona-shortcut {
    display: flex;
    gap: 1rem; }
    .form-cluster-personas .new-persona-shortcut #new_persona_check {
      z-index: 0;
      position: absolute;
      left: 0.375rem; }
    .form-cluster-personas .new-persona-shortcut input[type='checkbox']::before {
      height: 0.9em;
      bottom: 0; }
  .form-cluster-personas #new-persona-text {
    display: inline-grid;
    position: relative;
    left: 2.25rem;
    bottom: 0.313rem; }
    .form-cluster-personas #new-persona-text .label-new-persona {
      margin-bottom: 0;
      font-weight: bold;
      font-size: 0.875rem;
      line-height: 1rem;
      color: #000000;
      text-indent: unset;
      text-transform: none; }
    .form-cluster-personas #new-persona-text #text-new-persona {
      font-size: 0.875rem;
      text-align: left; }
  .form-cluster-personas .btn-container {
    display: grid;
    justify-content: flex-end; }

.hint {
  font-style: italic;
  font-size: 0.875rem;
  line-height: 1rem;
  color: #777777;
  text-align: left; }

.title-cluster {
  font-size: 1.5rem;
  line-height: 1.813rem;
  margin: 1.8rem 0 .8rem;
  text-align: left; }

.personas-list select#id_stereotypes {
  padding: .3rem .5rem !important;
  border: 1px solid #72CAD7;
  box-sizing: border-box;
  height: 100%;
  max-width: unset;
  border-radius: 0.313rem;
  scrollbar-width: auto;
  scrollbar-color: #72CAD7 transparent; }
  .personas-list select#id_stereotypes option {
    margin: 0.438rem 0;
    padding: .9rem 0.25rem;
    font-weight: bold;
    color: #777777; }

.personas-list select {
  margin: 0; }

.personas-list select::-webkit-scrollbar {
  width: 0.875rem; }

.personas-list select::-webkit-scrollbar-track {
  background-color: white; }

.personas-list select::-webkit-scrollbar-thumb {
  background-color: #72CAD7;
  border-radius: 0.625rem;
  border: 5px solid white; }

#cluster-select {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  max-height: 6.62rem;
  overflow-y: auto;
  padding-bottom: 0.188rem;
  padding-right: .5rem;
  text-align: left;
  scrollbar-width: auto;
  scrollbar-color: #72CAD7 transparent; }

#cluster-select::-moz-focus-inner {
  border: 0; }

#cluster-select::-webkit-scrollbar {
  width: 0.875rem; }

#cluster-select::-webkit-scrollbar-track {
  background-color: white; }

#cluster-select::-webkit-scrollbar-thumb {
  background-color: #72CAD7;
  border-radius: 0.625rem;
  border: 5px solid white; }

#new-button {
  display: flex;
  place-items: center;
  justify-content: center;
  color: white;
  background: #FF3D72;
  border: 3px solid #FF3D72;
  box-sizing: border-box; }

.options-groups {
  width: fit-content;
  border: 3px solid #bababa;
  color: #bababa;
  background-color: white;
  text-transform: lowercase;
  padding: 0 0.9rem;
  display: flex;
  place-items: center; }

.select-button {
  height: 2.313rem;
  background-color: #72CAD7;
  color: white;
  border: 3px solid #72CAD7; }

#new-button {
  width: 100%;
  padding: 0; }

#new-button, .options-groups {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
  cursor: pointer;
  border-radius: 0.313rem; }

.no-cluster {
  background-color: #bababa;
  color: white;
  cursor: default; }

.close-modal-btn {
  display: none; }

.edit-buttons {
  display: flex;
  gap: 1.875rem;
  justify-content: center; }
  .edit-buttons input {
    line-height: 0; }
  .edit-buttons #save-edit {
    display: flex;
    place-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: 1.5rem;
    font-size: 0.875rem;
    padding: 1.37rem 1.54rem;
    width: min-content;
    background-color: #052B47;
    border: 1px solid #052B47;
    margin-top: 1rem; }
    .edit-buttons #save-edit i {
      font-size: 0.875rem;
      margin: 0; }
  .edit-buttons .delete-group {
    display: flex;
    place-items: center;
    justify-content: center;
    background: #C70000;
    border: 1px solid #C70000;
    border-radius: 1.563rem;
    font-size: 0.875rem;
    padding: 1.37rem .9rem;
    line-height: 1rem;
    margin: 0;
    margin-top: 1rem; }
    .edit-buttons .delete-group i {
      margin: 0.313rem; }
  .edit-buttons .divider-mobile {
    display: none; }

.manage-personas {
  display: flex;
  place-items: center;
  justify-content: center;
  font-size: 0.875rem;
  padding: 1.37rem 1.063rem;
  width: 13.875rem;
  background: #052B47;
  border: 1px solid #052B47;
  border-radius: 1.563rem;
  margin: 0;
  margin-top: 1rem; }
  .manage-personas i {
    transform: rotate(45deg);
    margin: 0.5em; }

.manage-personas:hover {
  background-color: #052B47 !important; }

.manage-personas-container {
  position: relative;
  bottom: 4.625rem;
  width: fit-content; }

.create-group-btn {
  display: flex;
  place-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  padding: 1.37rem 1.54rem;
  width: min-content;
  background-color: #052B47;
  border: 1px solid #052B47; }
  .create-group-btn i {
    font-size: 0.875rem;
    margin: 0; }

.disable-div {
  color: #777777 !important; }

.save-edits-btn {
  background-color: #777777 !important;
  border: 1px solid #777777 !important; }

.form-modal-delete-show {
  display: block; }

.cluster-modal__participants, .cluster-modal__header, .cluster-modal__comments {
  color: #052b47;
  margin-bottom: 1rem; }

.cluster-modal i {
  margin-left: unset; }

.cluster-modal__header {
  position: relative; }
  .cluster-modal__header i {
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    font-size: 1.5em;
    color: #052b47; }
    @media (max-width: 414px) {
      .cluster-modal__header i {
        font-size: 20px; } }
  .cluster-modal__header span {
    font-size: 1.1em !important; }
  @media (max-width: 414px) {
    .cluster-modal__header h1 {
      max-width: 80%; } }
.cluster-modal__comments .comment-stats {
  font-size: 14px;
  color: #6B7280 !important; }

.cluster-modal__comments .comment-content {
  padding: 0 1em 0 0; }

@media (max-width: 875px) {
  .edit-content {
    padding: 0 1.5rem; }
  #new-button, .options-groups {
    font-size: 1rem; }
  .form-elements {
    display: block; }
    .form-elements > * {
      width: auto; }
  .form-cluster-description #cluster-new {
    margin-bottom: 0; }
  .form-cluster-personas {
    margin-top: 1rem; }
    .form-cluster-personas .new-persona-shortcut {
      margin-top: 0; }
      .form-cluster-personas .new-persona-shortcut #new_persona_check {
        left: 0; }
    .form-cluster-personas #new-persona-text {
      left: 1.875rem;
      width: 90%; }
    .form-cluster-personas .tooltip-persona {
      position: absolute;
      height: 30px; }
    .form-cluster-personas .btn-container {
      justify-content: center; }
  .personas-list select[multiple] {
    padding: .3rem .25rem .3rem 0.6rem !important; }
  .new-group-modal {
    left: 15%;
    top: 15%;
    width: 70%; }
  .edit-buttons {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 0; }
    .edit-buttons #save-edit {
      margin-bottom: 2.625rem; }
    .edit-buttons .delete-group {
      margin-top: 1.938rem;
      margin-bottom: 0.938rem; }
  .divider-mobile {
    border: 1px solid #BABABA;
    display: block;
    width: 100%; }
  .manage-personas-container {
    bottom: .625rem;
    display: flex;
    justify-content: center;
    margin-bottom: 1rem; }
  .confirmation-modal {
    width: 80%;
    padding: 1.5rem;
    left: 66%;
    top: 80%; }
    .confirmation-modal .modal-confirmation-container button.delete, .confirmation-modal .modal-confirmation-container button.return {
      font-size: .75rem; } }

@media (max-width: 996px) and (min-width: 524px) {
  .edit-buttons {
    display: flex;
    place-self: center;
    gap: 0; }
    .edit-buttons .divider-mobile {
      border: 1px solid #BABABA;
      display: block;
      width: 100%; }
  .form-cluster-description form {
    grid-template-rows: 1.187rem auto 1.187rem 18.563rem; }
  .manage-personas-container {
    bottom: 0; } }

@media (max-width: 996px) and (min-width: 876px) {
  .edit-buttons {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 0; }
    .edit-buttons .divider-mobile {
      border: 1px solid #BABABA;
      display: block;
      width: 100%; }
  .manage-personas-container {
    margin-right: 0.625rem;
    float: right; } }

@media (min-width: 1400px) {
  .new-group-modal {
    left: 22%;
    top: 25%; }
  .confirmation-modal {
    top: 50%; } }

#sort-down-icon, #sort-up-icon {
  width: 1rem;
  height: 0.688rem;
  position: relative;
  color: #C4C4C4; }

#sort-down-icon {
  bottom: 0.25rem;
  margin-right: 0; }

#sort-up-icon {
  margin: 0; }

@media only screen and (max-width: 900px) {
  .select-groups-filter {
    grid-column: 1 / 4; } }

#pagination-create, #pagination-edit {
  display: none; }
  @media only screen and (max-width: 900px) {
    #pagination-create, #pagination-edit {
      display: block;
      height: 1.313rem; }
      #pagination-create ul, #pagination-edit ul {
        list-style: none;
        display: flex;
        gap: 1rem;
        margin-bottom: 0;
        justify-content: center;
        font-size: 0.88em; }
        #pagination-create ul li, #pagination-edit ul li {
          margin-bottom: 0; }
        #pagination-create ul .current, #pagination-edit ul .current {
          color: white;
          border-radius: 1.25rem;
          padding: 0.25rem 0.5625rem;
          background-color: #052B47; }
        #pagination-create ul .prev, #pagination-create ul .next, #pagination-edit ul .prev, #pagination-edit ul .next {
          background-color: transparent;
          color: #052B47 !important;
          padding: 0;
          font-weight: 700 !important; }
        #pagination-create ul .active, #pagination-create ul .page-link, #pagination-create ul .current, #pagination-edit ul .active, #pagination-edit ul .page-link, #pagination-edit ul .current {
          color: white;
          font-weight: 500; }
        #pagination-create ul .page-link, #pagination-create ul .page-link:hover, #pagination-edit ul .page-link, #pagination-edit ul .page-link:hover {
          color: #052B47; } }
.footer-stereotypes {
  display: none; }
  @media only screen and (max-width: 900px) {
    .footer-stereotypes {
      display: flex;
      flex-direction: column;
      gap: 0.813rem;
      margin: 1.094rem 0 0; } }
  @media only screen and (max-width: 900px) {
    .footer-stereotypes #pagination-text-create, .footer-stereotypes #pagination-text-edit {
      color: #052B47;
      font-size: 0.875em;
      font-weight: 500;
      border-radius: 0;
      margin: 0;
      text-align: center; } }
.divider-section {
  border-bottom: 1px solid #bababa;
  padding-bottom: 0;
  display: none; }
  @media (max-width: 320px) {
    .divider-section {
      display: block; } }
  @media (max-width: 875px) and (min-width: 321px) {
    .divider-section {
      display: block; } }
.groups-filter {
  margin-bottom: 0;
  background-color: #D9D9D9;
  padding: 1rem 1rem 0.375rem; }
  @media only screen and (max-width: 900px) {
    .groups-filter {
      background-color: #F0F0F0;
      display: grid;
      grid-template-columns: 3% auto 3%;
      padding: 1rem 0 0.375rem; } }
  .groups-filter__container {
    grid-column: 2; }
  .groups-filter__group, .groups-filter__group:hover {
    background: white;
    border: none;
    box-sizing: border-box;
    border-radius: 0.313rem;
    font-weight: 600;
    font-size: 0.75em;
    line-height: 0;
    color: #052b47;
    padding: 0 0.75rem;
    margin: 0 0.75rem 0.625rem 0;
    box-shadow: none;
    height: 1.5rem;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 14.375rem;
    min-width: 0; }
  .groups-filter--selected {
    background: #FF3E72 !important;
    border: none !important;
    color: white !important; }

.manage-stereotypes h2 {
  margin-top: 1.5rem; }

@media only screen and (max-width: 900px) {
  .manage-stereotypes h1 {
    font-size: 1.25em; } }

.manage-stereotypes .helptext {
  margin: 1rem 0 2.125rem; }

.manage-stereotypes__helptext-alt {
  margin: 0 0 1.5rem 0 !important; }

.manage-stereotypes__container {
  background-color: #F1F1F1;
  padding: 0 1.5rem; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__container {
      grid-column: 1 / 4;
      background-color: #F0F0F0;
      padding: 0; } }
  .manage-stereotypes__container-header label {
    margin-bottom: 1rem;
    font-size: 1em;
    text-transform: none;
    color: #052b47;
    font-weight: 400; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__container-vote-section {
      display: grid;
      grid-template-columns: 3% auto 3%; }
      .manage-stereotypes__container-vote-section > * {
        grid-column: 2; } }
.manage-stereotypes__form {
  display: flex;
  gap: 1.5rem;
  margin: 2.25rem 0 3.125rem;
  flex-direction: column; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__form {
      margin: 0.375rem 0 1.5rem; } }
  .manage-stereotypes__form-input-container input {
    margin: 0;
    margin-top: 0 !important;
    width: 50%; }
    @media only screen and (max-width: 900px) {
      .manage-stereotypes__form-input-container input {
        width: 100%; } }
  .manage-stereotypes__form-input-container textarea {
    margin: 0;
    width: 100%;
    border-radius: 0.3125rem;
    resize: none; }

.manage-stereotypes__actions {
  display: flex;
  gap: 2.25rem;
  margin: 3rem 0;
  justify-content: center; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__actions {
      flex-direction: column;
      flex-wrap: wrap;
      align-content: center;
      margin: 1.875rem 0 2.625rem; } }
  .manage-stereotypes__actions-button {
    width: 15.375rem;
    height: 3.25rem;
    border-radius: 4.375rem;
    font-weight: 500;
    letter-spacing: 0;
    font-size: 1em;
    border: none;
    text-transform: lowercase;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0; }
    .manage-stereotypes__actions-button--green {
      background-color: #18AE00; }
    .manage-stereotypes__actions-button--gray {
      background-color: #777777; }
    .manage-stereotypes__actions-button--red {
      background-color: #C70000; }
    .manage-stereotypes__actions-button--blue {
      background-color: #052b47; }

@media only screen and (max-width: 900px) {
  .manage-stereotypes__grouping {
    display: grid;
    grid-template-columns: 3% auto 3%;
    grid-column: 1 / 4; } }

.votes-container {
  max-height: 30rem;
  overflow-y: scroll;
  padding-right: 1.375rem; }
  @media only screen and (max-width: 900px) {
    .votes-container {
      padding-right: 0;
      overflow-y: unset;
      max-height: unset; } }
@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar {
    width: 0.438rem; } }

@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar-track {
    background-color: #D9D9D9; } }

@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar-thumb {
    background-color: #72CAD7;
    border-radius: 0.438rem; } }

@media only screen and (max-width: 900px) {
  .stereotypes-section {
    grid-column: 2; } }

.stereotypes-section__container {
  margin: 0 0 1.5rem; }
  @media only screen and (max-width: 900px) {
    .stereotypes-section__container {
      grid-column: 2; } }
@media only screen and (max-width: 900px) {
  .stereotypes-section {
    margin-bottom: 0; } }

.stereotypes-section__no-groups {
  font-weight: 600;
  color: #052b47;
  font-size: 0.75em;
  text-transform: uppercase;
  line-height: 162.6%;
  padding: 9.688rem 8.5rem;
  text-align: center; }
  @media only screen and (max-width: 900px) {
    .stereotypes-section__no-groups {
      height: 18.75rem;
      padding: 5.625rem 0; } }
  .stereotypes-section__no-groups p {
    margin-bottom: 0; }

.stereotype-cards form {
  margin-bottom: 0; }

.stereotype-cards__card-comments {
  height: fit-content;
  background-color: white;
  border-radius: 0.313rem;
  margin-bottom: 0.7543rem;
  text-align: center; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__card-comments {
      padding: 1.125rem 0.625rem;
      border-radius: 0;
      margin: 0; } }
.stereotype-cards p {
  padding: 1.375rem 1.375rem 1.25rem;
  margin: 0;
  font-size: 1em;
  line-height: 1.438rem;
  overflow-wrap: anywhere; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards p {
      padding: 0 0 1.313rem;
      text-align: left; } }
.stereotype-cards__vote-buttons {
  padding-bottom: 1.438rem;
  display: grid;
  grid-gap: 3rem;
  justify-content: center;
  grid-template-columns: repeat(4, auto); }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__vote-buttons {
      grid-template-columns: repeat(3, auto);
      padding-bottom: 1.655rem;
      grid-row-gap: 0.5rem; } }
  .stereotype-cards__vote-buttons i {
    margin: auto 0.4em; }
  .stereotype-cards__vote-buttons button:hover {
    box-shadow: 0 0; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__vote-buttons button {
      width: 3.773rem;
      font-size: 0.875em; }
      .stereotype-cards__vote-buttons button i {
        display: block; } }
  .stereotype-cards__vote-buttons__delete {
    background-color: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    font-weight: 500;
    font-size: 1em;
    line-height: 1.188rem;
    text-decoration-line: underline;
    color: #777777;
    text-transform: none; }
    @media only screen and (max-width: 900px) {
      .stereotype-cards__vote-buttons__delete {
        display: none; } }
    .stereotype-cards__vote-buttons__delete--icon-1, .stereotype-cards__vote-buttons__delete--icon--1, .stereotype-cards__vote-buttons__delete--icon-0 {
      display: contents; }
      @media only screen and (min-width: 900px) {
        .stereotype-cards__vote-buttons__delete--icon-1, .stereotype-cards__vote-buttons__delete--icon--1, .stereotype-cards__vote-buttons__delete--icon-0 {
          display: none; } }
      .stereotype-cards__vote-buttons__delete--icon-1 img, .stereotype-cards__vote-buttons__delete--icon--1 img, .stereotype-cards__vote-buttons__delete--icon-0 img {
        width: 1.25rem;
        justify-self: center; }
    .stereotype-cards__vote-buttons__delete--icon-1 img {
      grid-column: 1; }
    .stereotype-cards__vote-buttons__delete--icon-0 img {
      grid-column: 2; }
    .stereotype-cards__vote-buttons__delete--icon--1 img {
      grid-column: 3; }

.stereotype-cards .is-clear {
  text-transform: lowercase; }

.agree-1, .disagree--1, .skip-0 {
  width: 8rem;
  height: 2.375rem !important;
  border-radius: 0.313rem;
  color: white !important;
  text-transform: lowercase !important; }
  @media only screen and (max-width: 900px) {
    .agree-1, .disagree--1, .skip-0 {
      width: 5.188rem !important;
      height: 3.313rem !important; } }
.agree-1 {
  background: rgba(24, 174, 0, 0.8) !important; }

.disagree--1 {
  background-color: #C70000 !important; }

.skip-0 {
  background-color: #72CAD7 !important; }

.pointer-1 .tabs-container {
  cursor: not-allowed; }
  .pointer-1 .tabs-container #see-edit-personas-tab {
    pointer-events: none; }

.modal__overlay {
  display: flex;
  position: fixed;
  place-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 750;
  justify-content: center;
  background: rgba(0, 0, 0, 0.25); }
  .modal__overlay.hide {
    visibility: hidden; }
  .modal__overlay > * {
    min-height: 0;
    margin: auto; }

.modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
  position: relative;
  z-index: 1250;
  background-color: #E5E5E5;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  border-radius: .5rem;
  max-width: 29.25rem;
  min-height: 14.625rem;
  padding: 3.25rem 5.313rem; }
  @media (max-width: 380px) {
    .modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
      width: inherit !important; } }
  .modal__container--lighter-bg {
    background-color: #f1f1f1; }
  .modal__container--text-align-unset {
    text-align: unset !important; }
  .modal__container h3, .modal__container--lg h3, .modal__container--md h3, .modal__container--sm h3, .modal__container--sm-height h3 {
    color: #000000;
    font-weight: 500; }
  .modal__container--sm-height {
    max-height: 90vh;
    max-width: 50rem;
    width: 90%; }
    @media (max-width: 414px) {
      .modal__container--sm-height {
        padding: 1rem;
        width: 95%;
        max-height: 80vh;
        transition: height .5s;
        overflow-y: scroll; }
      .modal__container--sm-height-transition {
        height: 70vh; } }
  .modal__container--sm {
    min-width: 20rem; }
  .modal__container--md {
    min-width: 35rem; }
  .modal__container--lg {
    min-width: 45rem; }
  .modal__container form, .modal__container--sm-height form, .modal__container--sm form, .modal__container--md form, .modal__container--lg form {
    margin-bottom: 0; }
  .modal__container--quick-action {
    display: flex;
    gap: 1.875rem;
    margin: 0;
    width: 17.438rem;
    flex-direction: column; }

.modal__icon {
  width: 67px; }
  .modal__icon--alert {
    color: #E20000; }
  .modal__icon--success {
    color: #36C273; }

.modal__title {
  position: relative;
  color: #000000;
  font-size: 1.5rem;
  font-family: "Work Sans", sans-serif;
  margin-bottom: 1rem; }

.modal__subtitle {
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0;
  color: #052b47;
  margin-bottom: 1.563rem; }

.modal__close-btn {
  position: absolute;
  right: 0;
  top: 0;
  color: #000000;
  cursor: pointer;
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  font-size: 1rem; }
  .modal__close-btn:hover {
    box-shadow: none; }

.modal__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.313rem; }
  .modal__buttons a {
    color: #777777;
    text-transform: lowercase; }

.modal__btn, .modal__btn--no-fill, .modal__btn--blue, .modal__btn--red {
  width: fit-content;
  cursor: pointer;
  display: flex;
  place-items: center center;
  justify-content: center;
  gap: .5rem;
  border: none !important;
  border-radius: 3rem;
  height: 2.875rem;
  text-transform: lowercase;
  font-size: 1em;
  margin: 0; }
  .modal__btn i, .modal__btn--no-fill i, .modal__btn--blue i, .modal__btn--red i {
    margin: 0; }
  .modal__btn--red {
    background-color: #C70000; }
  .modal__btn--blue {
    background-color: #052b47; }
  .modal__btn--no-fill {
    color: #777;
    background: none;
    padding: 0;
    margin: auto !important; }
    .modal__btn--no-fill:hover {
      box-shadow: none; }
  .modal__btn--black {
    background-color: #000000;
    color: white;
    border: none; }

.modal__btn-board-delete {
  margin-bottom: 1.30rem !important;
  width: 17.5625rem !important;
  height: 3.25rem !important; }

.modal__btn-alternative {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 1.875rem;
  justify-content: center; }
  .modal__btn-alternative--red, .modal__btn-alternative--gray {
    width: 6.313rem;
    height: 2.75em;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    font-size: 0.875em;
    letter-spacing: 0; }
  .modal__btn-alternative--red {
    background-color: #C70000; }
  .modal__btn-alternative--gray {
    background-color: #777777; }

.modal__btn-board a {
  color: #6C6C6C !important; }

.modal__btn-board button {
  text-transform: lowercase;
  font-size: 1em;
  font-weight: 500;
  border-radius: 11.2rem; }

.modal__question {
  margin: unset;
  font-size: 1em;
  font-weight: 500;
  color: #052b47 !important; }

@media (max-width: 414px) {
  .modal--full-screen-mobile {
    position: fixed;
    bottom: 0;
    margin: unset !important; } }

.modal--hide-overflow-y {
  overflow-y: hidden; }

.container-1, .Page-title h1, .container-2, .container-3, .container-4 {
  padding: 0;
  text-align: center; }

.form-container {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%; }
  .form-container label {
    text-align: initial; }
  .form-container form {
    padding: 0 1.5rem;
    max-width: 30rem;
    width: 100%;
    margin: auto; }

.form-container.is-wide {
  max-width: 60rem; }

.form-narrow {
  width: 21rem;
  margin: 0 auto; }

label {
  color: #30BFD3;
  text-indent: 1.125rem;
  text-transform: lowercase; }

legend, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext, .conversation-balloon textarea::placeholder {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  text-align: center;
  opacity: 0.75; }

html {
  background-color: white; }

a.button:hover, a.button:focus, a.button:active {
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25), 0 2px 8px -2px rgba(0, 0, 0, 0.15);
  color: white;
  background-color: #30BFD3; }

a.button.is-primary:hover, a.button.is-primary:focus, a.button.is-primary:active {
  color: #122c49;
  background-color: #FF3E72; }

.screen-reader, #first-link {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  height: 1px;
  overflow: hidden !important;
  position: absolute;
  width: 1px;
  z-index: -1000; }

.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px; }

.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #fff;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #30BFD3 transparent transparent transparent; }

.lds-ring div:nth-child(1) {
  animation-delay: -0.45s; }

.lds-ring div:nth-child(2) {
  animation-delay: -0.3s; }

.lds-ring div:nth-child(3) {
  animation-delay: -0.15s; }

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

.tour-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000000;
  opacity: .8;
  width: 100%;
  height: 100%;
  z-index: 1000; }

.tour-card {
  background: #C4F2F4;
  z-index: 1001;
  height: 43.75rem;
  position: absolute;
  top: calc(50% - 43.75rem/2);
  left: calc(50% - 56.25rem/2);
  width: 100%;
  max-width: 56.25rem;
  font-size: 16px; }
  @media only screen and (max-width: 500px) {
    .tour-card {
      font-size: 14px; } }
  @media only screen and (max-width: 400px) {
    .tour-card {
      font-size: 13px; } }
.tour-footer {
  display: flex;
  gap: 8rem;
  flex-wrap: wrap; }
  .tour-footer__snapshot {
    z-index: 999; }

.tour-content {
  padding: 3rem; }
  .tour-content .logo {
    margin-bottom: 4vh; }
    .tour-content .logo img {
      width: 153px; }
  .tour-content .bubbles,
  .tour-content .secondary-bubbles {
    position: absolute; }
  .tour-content .bubbles {
    right: 0;
    top: 0; }
  .tour-content .secondary-bubbles {
    left: 0;
    bottom: 0; }
  .tour-content .welcome {
    width: 50%; }
    .tour-content .welcome--width-100 {
      width: 100%; }
    .tour-content .welcome h1,
    .tour-content .welcome p {
      color: #000000; }
    .tour-content .welcome h1 {
      font-size: 2.25em;
      font-family: 'Work Sans';
      margin-top: unset;
      margin-bottom: 3vh; }
    .tour-content .welcome p {
      font-size: 1.5em;
      margin-bottom: 4vh; }
  .tour-content .buttons {
    display: flex;
    gap: 1rem;
    flex-flow: row-reverse;
    flex-wrap: wrap;
    align-content: end;
    margin-bottom: 2rem;
    z-index: 999; }
    .tour-content .buttons a {
      width: 225px;
      margin: unset;
      padding: .5rem 0;
      box-sizing: content-box; }
    .tour-content .buttons .button--skip {
      color: #FF3E72;
      background-color: #C4F2F4;
      border: 3px solid #FF3E72; }
  .tour-content .snapshot {
    position: absolute; }

.tour-progress {
  height: .25rem;
  position: sticky;
  left: 0;
  top: 0;
  background-color: #E5E7EB;
  max-width: 56.25rem;
  z-index: 998; }

.tour-progress--1 {
  background-color: #FF3E72;
  width: 5%;
  z-index: 999;
  height: .25rem; }

.tour-progress--2 {
  background-color: #FF3E72;
  width: 50%;
  z-index: 999;
  height: .25rem; }

.tour-progress--3 {
  background-color: #FF3E72;
  width: 100%;
  z-index: 999;
  height: .25rem; }

@media only screen and (max-width: 900px) {
  .tour-progress {
    width: 100vw; }
  .tour-content {
    padding: 1% 14%; }
  .tour-content .logo {
    margin-top: 19vh; }
  .tour-content .logo.logo--minor-margin-top {
    margin-top: 5%;
    margin-bottom: 4%; }
  .tour-content .welcome {
    width: 80vw;
    margin: auto; }
  .tour-content .buttons {
    flex-flow: column;
    margin: auto;
    width: 80%;
    max-width: 25rem; }
  .tour-content .buttons a {
    width: 100%; }
  .tour-content .bubbles {
    max-width: 60%; }
  .tour-footer__snapshot {
    width: 80%; }
  .tour-card {
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0; }
  .tour-footer {
    gap: 1rem;
    justify-content: center; } }

@media only screen and (max-height: 700px) {
  .tour-content {
    margin-bottom: 1rem; }
  .tour-card {
    height: fit-content; }
  @supports (-moz-appearance: none) {
    .tour-card {
      height: -moz-max-content; } } }

/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
/*
 SPACING
 =========================================================================== */
/*
 COLORS ROLES
 =========================================================================== */
/*
 PAGE LAYOUT AND BREAKPOINTS
 =========================================================================== */
/*
 SPACING
 =========================================================================== */
/*
 GENERIC PAGE ELEMENTS
 ======================================================================== */
.Page {
  box-sizing: border-box;
  display: flex;
  flex-flow: column;
  height: 100vh;
  overflow: hidden;
  padding: 45px 0 45px 0; }
  @media screen and (min-width: 35rem) {
    .Page {
      padding: 70px 0 45px 0; } }
  @media screen and (min-width: 35rem) {
    .Page.talks {
      padding: 45px 0 0 0; } }
  .Page-content-container {
    display: flex; }
    .Page-content-container .NavMenu {
      position: fixed; }
  @media only screen and (min-width: 960px) {
    .Page-content.logged-in, .Page #docs {
      padding-left: 400px !important; } }
  @media only screen and (max-width: 960px) {
    .Page .NavMenu-fixed {
      display: none; } }
  .Page-mainContainer {
    background: url(/static/img/page-bg.svg) center no-repeat;
    background-size: contain;
    box-sizing: border-box;
    height: 100vh;
    display: flex;
    flex-flow: column;
    overflow-x: hidden;
    overflow-y: auto; }
  .Page-title {
    background: #052b47;
    color: #f3f4f6;
    margin: 0 0 32px 0;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); }
    .Page-title h1 {
      font-size: 23.1px;
      padding: 8px 24px; }
    .Page-title em {
      font-weight: bold;
      font-style: normal; }
  .Page-content {
    flex-grow: 1;
    margin: 0 auto 65px auto;
    padding: 0; }

/*
 PAGE SIDEBAR
 =========================================================================== */
.NavMenu {
  width: 100%;
  min-height: 100vh;
  max-width: 400px;
  box-shadow: 2px 0 4px 0 rgba(18, 48, 102, 0.08);
  box-sizing: border-box;
  font-size: 15px;
  opacity: 1;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
  color: #f3f4f6;
  padding: 32px; }
  .NavMenu a, .NavMenu button {
    color: #f3f4f6; }
  .NavMenu::-webkit-scrollbar {
    display: none; }
  .NavMenu em {
    font-weight: bold;
    font-style: normal; }
  .NavMenu button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0px;
    font-weight: bold;
    font-size: 13px; }
  .NavMenu img,
  .NavMenu i {
    height: 1em;
    padding-right: 8px; }
  .NavMenu .icon-stack :first-child {
    font-size: 7.2px;
    padding-right: 0px;
    vertical-align: middle;
    margin-right: -3px;
    margin-bottom: 3px; }
  .NavMenu .icon-stack i + i {
    font-size: 12px; }
  .NavMenu li {
    list-style: none;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    font-weight: bold;
    font-size: 13px; }
  .NavMenu li:last-child {
    border: none; }
  .NavMenu ul {
    padding: 0; }
  .NavMenu-DropDown {
    cursor: pointer; }
  .NavMenu-AngleDownIcon {
    float: right; }
  .NavMenu-UserMenu {
    display: none; }
    .NavMenu-UserMenu > li {
      margin-left: 32px; }
  .NavMenu-Accessibility {
    display: none; }
    .NavMenu-Accessibility > li {
      margin-left: 32px; }

/*
CONVERSATIONS
========================================================================

$conversation-vote-circle-size: 18px !default;
$conversation-toast-image-border: $spacing-unit-tiny / 3;
$conversation-button-size: $spacing-unit-small + $spacing-unit-tiny !default;
$icon-arrow-down: url("/static/img/icons/arrow-down.svg") !default;
$conversation-card-font-size-small: 12px !default;
$conversation-card-border-arrow-size: $spacing-unit;
$profile-label-clear-color: #30BFD3 !default;
$modalities-content-width-max: ($page-content-width-max / 2) - 29 !default;
$color-for-unfolding: rgba(2, 16.9, 27.8, 0.6);
$color-background-button-modalities: rgba(255, 255, 255, 0.3);

.ConversationList {
    @extend .container-1;
    max-width: 100%;

    p {
        padding: 0 $spacing-unit / 3;
    }

    &-title {
        text-align: center;
        margin-top: $spacing-unit;

        h1 {
            font-size: $font-size-h2;
            color: $color-accent;;
        }

        .topic {
            display: none;
        }
    }

    &-urls {
        font-size: $font-size-tiny;
        a, i {
            color: $color-content;
        }

        i {
            font-size: $font-size-tiny * 0.8;
        }
        .public {
            float: left;
            margin-left: $spacing-unit-tiny;
        }

        .my-conversations {
            float: right;
            margin-right: $spacing-unit-tiny;
        }
        margin-bottom: $spacing-unit-large;
    }

    &-cardList {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: center;
        padding-bottom: $spacing-unit;

        > * {
            margin: $spacing-unit;
        }

        .slick-list {
            margin: 0;
            width: 100vw;
        }

        .slick-track {
            > * {
                margin: $spacing-unit-small;
                position: relative;
                width: 100vw;
            }
        }
    }

    &-link {
        text-align: center;
    }

    img {
        max-width: 245px;
        width: 100%;
        max-height: 60px;
    }
}

.ConversationFooter {
    background-color: #D4F7F5;
    height: 180px;
    width: 100vw;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    p {
        text-align: center;
    }
}

.ConversationTags {
    font-weight: bold;
    text-align: center;
    padding: $spacing-unit-small + $spacing-unit-tiny $spacing-unit-small $spacing-unit-small $spacing-unit-small;
}

.ConversationCard {
    align-self: stretch;
    box-sizing: border-box;
    border: 0;
    border-radius: $border-radius-round;
    flex-grow: 1;
    margin: 0;
    margin-bottom: $spacing-unit;
    text-align: center;
    width: 100%;
    max-width: 320px;
    height: 320px;
    overflow: hidden;
    position: relative;
    padding: 0;
    h1 {
        font-size: $font-size-h4;
        font-family: $font-stack-paragraph;
        font-weight: 600;
        text-transform: none;
    }

    &-container {
        align-self: stretch;
        text-align: center;
        width: 100%;
        max-width: 320px;
        box-sizing: border-box;
    }

    &-moderation {
        text-transform: uppercase;
        display: block;
        font-weight: bold;
        color: $color-content;
        font-size: $font-size-tiny;
        margin: $spacing-unit / 2 0;
    }

    &-cover {
        display: flex;
        flex-flow: column;
        flex-grow: 1;
        margin: 0;
        padding: 0 $spacing-unit;
        position: relative;
        z-index: 2;
        overflow: hidden;
        max-height: 86px;

        h1 {
            display: flex;
            flex-flow: column;
            margin: 0;
            vertical-align: middle;
            a {
                color: white;
            }
        }

        dl {
            font-size: $font-size-tiny;
            margin: $spacing-unit-tiny 0;

            dt {
                display: inline;
            }
            dd {
                display: inline;
                margin: 0;
            }
        }
    }

    &-cover + .ConversationCard-actions {
        padding: 0 $spacing-unit-small $spacing-unit-small $spacing-unit-small;
        background-size: 30px;
        margin-top: $spacing-unit;
        bottom: 0;
        position: absolute;
        box-sizing: border-box;
        width: 100%;
    }

    &-actions {
        .button.is-primary {
            padding: $spacing-unit-small + $spacing-unit-tiny;
            background: $color-content;
            font-size: $font-size-small;
            padding-top: $font-size-small;
            padding-bottom: $font-size-small;
            i {
                margin-left: $spacing-unit-tiny;
            }
        }
    }

    &-statistics {
        color: $color-hint;
        display: flex;
        justify-content: center;
        padding: $spacing-unit-small;
        margin: $spacing-unit-tiny $spacing-unit;

        li {
            list-style: none;
            display: inline-block;
            margin: 0 $spacing-unit / 2;
        }
    }

    @include breakpoint('sm') {
        margin: $spacing-unit-tiny;
    }
}

.Modalities {
    display: none;
    align-content: center;
    flex-direction: column;
    align-items: center;
    align-self: center;
    background-color: $color-for-unfolding;
    padding-right: 0;
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    outline: 0;

    //Modalities slider

    .swiper-container {
        margin: auto auto;
        max-width: $spacing-unit-huge * 4;
    }
    .swiper-wrapper {
        align-items: center;
        @include breakpoint('sm') {
            margin: auto 0 auto $spacing-unit - $spacing-unit-tiny;
        }
        @include breakpoint('sm') {
            margin: auto 0 auto $spacing-unit + $spacing-unit-small;
        }
    }
    .style-slide-center {
        margin: auto auto;
        align-items: center;
        margin: auto $spacing-unit-small + $spacing-unit;
    }
    .swiper-slide {
        @include breakpoint('sm') {
            margin: 0px $spacing-unit + $spacing-unit-small 0px 0px;
        }
        @include breakpoint('sm') {
            margin: 0px $spacing-unit-large + $spacing-unit 0px 0px;
        }
        display: flex;
        width: $spacing-unit-huge * 3 - $spacing-unit-small;
        line-height: 1.2;
        bottom: auto;
        background-color: $color-background;
        text-align: center;
        border-radius: $spacing-unit-small;
        position: relative;
        border: 1px solid $color-accent;
        padding: $spacing-unit-tiny * 2;
        flex-direction: column;
        align-items: center;
        -webkit-justify-content: center;
        .append-buttons {
            padding: $spacing-unit-small + $spacing-unit-tiny 0px $spacing-unit-tiny 0px;
            a {
                color: color('primary');
                font-weight: bold;
                font-size: $font-size-default;
            }
        }
        p {
            padding: $spacing-unit 0 $spacing-unit-tiny 0;
            margin: 0;
            font-size: $spacing-unit-small;
            color: $color-content;
        }
        h3 {
            padding: $spacing-unit-small 0 $spacing-unit 0;
            margin: 0;
            font-family: $font-stack-raleway;
            font-weight: bold;
            font-size: $font-size-larger;
            color: $color-accent;
        }
        .swiper-pagination {
            position: relative;
        }
        .swiper-pagination-bullet {
            margin: 0px $font-size-tiny-tiny;
            background: $color-hint;
        }
        .swiper-pagination-bullet-active {
            background: $color-content;
        }
    }
    .swiper-button-next {
        @include breakpoint('sm') {
            margin: -($spacing-unit-small + $spacing-unit-tiny) (-$spacing-unit-small - $spacing-unit-tiny) 0px 0px;
        }
        @include breakpoint('sm') {
            margin: -($spacing-unit-small + $spacing-unit-tiny) 0px 0px 0px;
        }
        width: $spacing-unit;
        color: color('primary');
        border: 1px solid;
        height: $spacing-unit-large - $spacing-unit-tiny;
        padding: 0px $spacing-unit-tiny 0px $spacing-unit-small;
        background-color: $color-background-button-modalities;
        border-radius: $spacing-unit-large;
        font-size: $spacing-unit + $spacing-unit-tiny;
        background-size: $spacing-unit ($spacing-unit + $spacing-unit-tiny);
    }
    .swiper-button-prev {
        @include breakpoint('sm') {
            margin: -($spacing-unit-small + $spacing-unit-tiny) $spacing-unit-tiny 0px $spacing-unit-tiny - $spacing-unit;
        }
        @include breakpoint('sm') {
            margin: -($spacing-unit-small + $spacing-unit-tiny) $spacing-unit-tiny 0px (-$spacing-unit-tiny);
        }
        width: $spacing-unit;
        color: color('primary');
        left: $spacing-unit-small;
        border: 1px solid;
        height: $spacing-unit-large - $spacing-unit-tiny;
        padding: 0px $spacing-unit-tiny 0px $spacing-unit-small;
        background-color: $color-background-button-modalities;
        border-radius: $spacing-unit-large;
        font-size: $spacing-unit + $spacing-unit-tiny;
        background-size: $spacing-unit $spacing-unit + $spacing-unit-tiny;
    }

    .modalities-slider.show {
        visibility: visible;
    }
    @include breakpoint('md') {
        .swiper-container {
            max-width: $spacing-unit-huge * 3 - $spacing-unit-small - $spacing-unit-tiny;
        }
        .swiper-slide {
            max-width: ($spacing-unit-huge * 2) + $spacing-unit-tiny;
        }
        img {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 25%;
        }
        .imgpart {
            padding: 0px $spacing-unit-small;
            max-width: 90%;
        }
        .imgponte {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 70%;
        }
        .imgopn {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 70%;
        }
        .button {
            font-weight: bold;
            font-size: $spacing-unit-small;
            margin: $spacing-unit + $spacing-unit-tiny 0px $spacing-unit-tiny 0px;
            background-color: #30BFD3;
        }
        .fa-times {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: $color-accent;
        }
        .fa-arrow-right {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: color('primary');
        }
        .fa-check {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: $color-content;
        }
    }
    @include breakpoint('sm') {
        .swiper-container {
            max-width: $spacing-unit-huge * 4;
        }
        .swiper-slide {
            max-width: $modalities-content-width-max;
            .button {
                font-weight: bold;
                font-size: 17px;
            }
        }
        img {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 20%;
        }
        .imgpart {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 77%;
        }
        .imgponte {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 77%;
        }
        .imgopn {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            max-width: 77%;
        }
        .fa-times {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: $color-accent;
        }
        .fa-arrow-right {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: color('primary');
        }
        .fa-check {
            padding: 0px $spacing-unit - $spacing-unit-tiny;
            font-size: $spacing-unit - $spacing-unit-tiny;
            color: $color-content;
        }
    }

    //Modalities static

    .style-slide {
        margin: 0px;
        width: $spacing-unit-huge * 3;
        line-height: 1.2;
        bottom: auto;
        background-color: $color-background;
        text-align: center;
        border-radius: $spacing-unit-tiny;
        position: relative;
        border: 1px solid $color-accent;
        padding: $spacing-unit-tiny * 2;
        flex-direction: row;
        align-items: center;
        -webkit-justify-content: center;
        .append-buttons {
            padding: $spacing-unit-tiny 0px;
            a {
                color: color('primary');
                font-weight: bold;
            }
        }
        p {
            padding: $spacing-unit-small 0 $spacing-unit-tiny 0;
            margin: 0;
            font-size: $font-size-default;
            color: $color-content;
        }
        h3 {
            padding: $spacing-unit-tiny 0 $spacing-unit-small 0;
            margin: 0;
            font-family: $font-stack-raleway;
            font-weight: bold;
            font-size: $font-size-large;
            color: $color-accent;
        }
        .button-closer {
            background-color: $color-content;
            border: none;
            border-radius: $spacing-unit-large;
            box-sizing: border-box;
            cursor: pointer;
            display: inline-block;
            font-weight: bold;
            padding: 0px;
            text-align: center;
            text-transform: uppercase;
            transition: all 200ms ease-in-out;
            vertical-align: middle;
            .fa-times {
                font-size: $spacing-unit-tiny;
                color: $color-background;
            }
        }
    }

    // Imagens do modal com especificações diferentes

    @include breakpoint('sm') {
        .style-slide {
            max-width: $spacing-unit-huge * 2 - $spacing-unit-small;
        }
        .imgponte {
            margin: -($spacing-unit * 2 + $spacing-unit-tiny) ($spacing-unit-huge - $spacing-unit-tiny) 0px (-$spacing-unit-huge + $spacing-unit - $spacing-unit-tiny);
            max-width: 16%;
        }
        .button-closer {
            margin: 0px 0px (-$spacing-unit-tiny) ($spacing-unit-huge * 2 - $spacing-unit);
            .fa-times {
                padding: $spacing-unit-tiny $spacing-unit-tiny;
            }
        }
    }

    @include breakpoint('sm') {
        .style-slide {
            max-width: $modalities-content-width-max;
        }
        .imgponte {
            margin: -($spacing-unit * 2 + $spacing-unit-tiny) ($spacing-unit-huge * 2 + $spacing-unit-tiny) 0px 0px;
        }
        .button-closer {
            margin: 0px 0px (-$spacing-unit) $spacing-unit-huge * 2.5;
            .fa-times {
                padding: $spacing-unit-tiny;
            }
        }
    }

}

.ConversationDetail-content {
    position: relative;

    .Comment {
        position: relative;
        min-height: 340px !important;
        width: 100% !important;
        display: inline-block;
        float: left;
        max-width: $header-wrapper-max-width;
        margin: 0 auto;
        display: flex;
        flex-direction: column;

        .CommentCard {
            word-wrap: break-word;
            flex: 1;
            flex-basis: auto;
            left: 0;
            right: 0;
            margin: auto;
            box-sizing: border-box;
            border-radius: $border-radius-large;
            font-size: $font-size-h3;
            max-width: $page-content-width-max;
            min-height: 340px !important;
            width: 100% !important;
            z-index: 3;
            padding: ($spacing-unit-large - $spacing-unit-tiny) ($spacing-unit-large - $spacing-unit-small);
            //background-color: color('primary');
            color: $color-content-text;

            &-counter {
                text-align: center;
                p {
                    margin: 0;
                }
            }

            img {
                background: color('primary', contrast);
                border: 1px solid #fff;
                border-radius: $spacing-unit-large;
                padding: 4px $spacing-unit-tiny;
            }

            i.fa {
                background: color('primary', contrast);
                border: 2px solid #fff;
                border-radius: $spacing-unit-large;
                padding: $spacing-unit-tiny;
            }
        }
        #commentform {
            flex: 1;
            flex-basis: auto;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            visibility: hidden;
            max-width: $page-content-width-max;
            min-height: 340px !important;
            height: 100% !important;
            width: 100% !important;
            box-sizing: border-box;
            text-align: center;
            //background: $color-hint;
            border-radius: $border-radius-large;
            padding: (3 * $spacing-unit-tiny) ($spacing-unit-large - $spacing-unit-small);
            z-index: 5;

            p {
                margin: $spacing-unit-small ($spacing-unit + $spacing-unit-tiny);
                color: $color-content;
            }

            textarea {
                width: 100%;
                margin: 0 0 0 0;
                min-height: 3 * $font-size;
                outline: none;
                //border: 2px solid color('primary');
                border: 2px solid;
                background: $color-content-text;
                //color: #333;
                box-shadow: none;
            }
            #characters-count {
                display: block;
                text-align: right;
                @include breakpoint('sm') {
                    padding: 0px;
                }
                @include breakpoint('sm') {
                    padding: 0px ($spacing-unit + $spacing-unit-tiny) 0px 0px;
                }
            }

            &-fakeButton,
            input[type=submit] {
                border-radius: $border-radius;
                color: #fff;
                //background: color('primary');
                padding: $spacing-unit-small $spacing-unit;
                font-size: $spacing-unit / 2;
                box-shadow: none;
                text-transform: uppercase;
                font-weight: bold;
            }

        }
        #commentform.show {
            visibility: visible;
            -webkit-animation: fadeInUp 500ms ease-in-out;
            animation: fadeInUp 500ms ease-in-out;
        }

        @-webkit-keyframes fadeInUp {
            0% {
                opacity: 0;
                -webkit-transform: translateY(40px);
            }
            100% {
                opacity: 1;
                -webkit-transform: translateY(0);
            }
        }
        #commentform.hideanimation {
            visibility: visible;
            -webkit-animation: fadeOutDown 500ms ease-in-out;
            animation: fadeOutDown 500ms ease-in-out;

        }
        &-fakeButton,
        input[type=submit] {
            border-radius: $border-radius;
            color: #fff;
            background: $color-accent;
            border: 0;
            padding: $spacing-unit-small $spacing-unit;
            font-size: $spacing-unit / 2;
            box-shadow: none;
            text-transform: uppercase;
            font-weight: bold;
            margin-top: $spacing-unit-small;
        }
        @-webkit-keyframes fadeOutDown {
            0% {
                opacity: 1;
                -webkit-transform: translateY(0);
            }
            100% {
                opacity: 0;
                -webkit-transform: translateY(40px);
            }
        }

        #toast {
            line-height: 1.2;
            visibility: hidden;
            background-color: $color-hint;
            text-align: left;
            border-radius: $spacing-unit-tiny;
            position: fixed;
            z-index: 3;
            width: 100vw;
            left: 0;
            bottom: 0; //$header-top-nav-height;
            > div {
                padding: $spacing-unit-tiny;
                max-width: 660px;
                margin: 0 auto;
                p {
                    padding: 0 0 $spacing-unit-tiny 0;
                    margin: 0;
                    font-size: $font-size-small;
                    color: $color-content;
                }
                h3 {
                    padding: $spacing-unit-tiny 0 0 0;
                    margin: 0;
                    font-family: $font-stack-raleway;
                    font-weight: bold;
                    font-size: $font-size-default;
                    color: color('primary');
                }
                img {
                    @include breakpoint('sm') {
                        max-width: $spacing-unit;
                        margin: $spacing-unit-tiny $spacing-unit-small auto 0;
                        background-color: #fff;
                        border: ($border-radius-tiny * 4) / 3 solid color('primary');
                        border-radius: $spacing-unit-large;
                        padding: $spacing-unit-tiny;
                    }
                    @include breakpoint('sm') {
                        max-width: $spacing-unit;
                        //margin-right: $spacing-unit-small;
                        margin: auto $spacing-unit-small auto 0;
                        background-color: #fff;
                        border: $border-radius-tiny solid color('primary');
                        border-radius: $spacing-unit-large;
                        padding: $spacing-unit-tiny;
                    }
                }
            }
        }

        #toast.show {
            visibility: visible;
            // -webkit-animation: fade 8s;
            animation: fade 8s both;
        }

        @keyframes fade {
            0% {
                opacity: 0;
                bottom: 0;
            }
            20% {
                opacity: 1;
                bottom: 45px;
            }
            70% {
                opacity: 1;
            }
            90% {
                opacity: 0;
            }
            100% {
                opacity: 0;
            }

        }
    }

    .Comment-create {
        position: relative;
        justify-content: center;
        button {
            padding: $spacing-unit 0px 0px 0px;
            color: $color-accent;
            background: transparent no-repeat;
            border: none;
            cursor: pointer;
            overflow: hidden;
            outline: none;
            font-weight: bold;
        }
        p {
            text-align: center;
        }
    }
}

.CircleButton {
    @include color('content');

    cursor: pointer;
    display: inline-block;
    border-radius: 100%;
    font-size: $font-size-h2;
    height: $conversation-button-size;
    padding: $spacing-unit-tiny;
    text-align: center;
    vertical-align: middle;
    width: $conversation-button-size;

    &-leftConversationSlider,
    &-rightConversationSlider {
        margin: 0;
        position: absolute;
        top: (8 * $line-height + $conversation-button-size) - ($spacing-unit-large - $spacing-unit-small);
        z-index: 10;

        @include breakpoint('sm') {
            visibility: hidden;
            z-index: -1;
        }
    }

    &-leftConversationSlider {
        left: $spacing-unit-tiny;
        z-index: 3;
    }

    &-rightConversationSlider {
        right: $spacing-unit-tiny;
        z-index: 3;
    }
}

.Link {
    display: flex;
    flex-direction: row;
}

.Link-new {
    text-align: center;
    display: block;
    width: 100%;
    text-transform: uppercase;
    font-size: $spacing-unit / 2;
    font-weight: bold;
    border-bottom: 1px solid $color-hint;
    margin: 0;
    padding: $spacing-unit-small 0;
    color: $color-accent;
    i {
        color: $color-accent;
    }
}

.Link-edit {
    text-align: center;
    display: block;
    width: 100%;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid $color-hint;
    margin: 0;
    padding: $spacing-unit-small 0;
    color: $color-content;
    i {
        color: $color-content;
    }
}

.view-board {
    text-align: center;
    display: block;
    width: 100%;
    font-size: $font-size-tiny;
    // #TODO: box-shadow: $header-box-shadow-upper;
    margin: 0;
    padding: $spacing-unit-small 0;

    select {
        width: 50%;
        border: none;
        font-weight: bold;
        -webkit-appearance: none;
        background: url($icon-arrow-down) no-repeat right;
        background-size: 16px 16px;
        padding: 0;
        margin: 0 10px;
    }
}

.Moderate {
    .ConversationDetail-banner h1 {
        font-family: "Work Sans", sans-serif;
        color: $color-content;
    }

    &-comments-tabs {
        padding: 0;
        background: $color-hint;
        display: flex;
        flex-wrap: wrap;

        li {
            list-style: none;
            flex-grow: 1;
            flex-basis: 0;
            font-size: $spacing-unit / 2;
            font-weight: bold;
            text-align: center;

            a {
                color: color('primary');
                opacity: 0.5;
                border-bottom: 2px solid transparent;
                padding: 5px 0;
                display: inline-block;

                &.active {
                    opacity: 1;
                    border-bottom: 2px solid color('primary');
                }
            }
        }
    }

    &-comments {
        h1 {
            text-align: center;
            color: $color-accent;;
        }

        .Comment {
            background: #fff;
            color: $color-content;
            font-family: "Work Sans", sans-serif;
            font-size: $spacing-unit / 2;
            border: 0;
            border-radius: 0;
            border-bottom: 1px solid $color-hint;
            min-height: 0 !important;
            padding: $spacing-unit;

            p {
                text-align: center;
                font-size: $spacing-unit / 2;
                font-weight: 600;
            }

            &-metadata {
                color: $color-hint;
                font-size: $spacing-unit / 2;
                display: flex;
                justify-content: space-between;
            }
        }
    }

    .ConversationComment-actions {
        padding: 0;
        display: flex;
        justify-content: space-between;

        li {
            list-style: none;

            &:before {
                content: "\f00c";
                font-family: 'Font Awesome\ 5 Free';
                font-weight: 900;
                display: inline-block;
                //color: $color-green-dark;
                padding: 2px 4px;
                font-size: 11px;
                //border: 2px solid $color-green-dark;
                border-radius: 50%;
            }
        }

        li + li:before {
            content: "\f00d";
            color: #9c2715;
            border-color: #9c2715;
            padding: 2px 6px;
        }

        li span {
            display: none;
        }

        .button {
            border: 0;
            border-radius: 0;
            background: #fff;
            font-weight: bold;
            font-size: $spacing-unit / 2;
            color: $color-content;
            box-shadow: none;
            padding-left: 0;
            outline: 0;
            margin: 0;
        }
    }

    .Comment-status-approved .ConversationComment-actions li {
        opacity: 1;
    }

    .Comment-status-approved .ConversationComment-actions li + li {
        opacity: 0.3;
    }

    .Comment-status-rejected .ConversationComment-actions li {
        opacity: 0.3;
    }

    .Comment-status-rejected .ConversationComment-actions li + li {
        opacity: 1;
    }

    .Comment-status-approved .ConversationComment-actions li:hover,
    .Comment-status-rejected .ConversationComment-actions li:hover {
        opacity: 1;
    }

    .Comment-status-rejected .CommentListItem-footer {
        text-align: center;
    }

    .Comment-rejection {
        background: $color-hint;
        border-top: 1px solid $color-hint;
        border-bottom: 1px solid $color-hint;
        text-align: center;

        p {
            font-weight: lighter;
            font-size: $spacing-unit / 2;
        }

        textarea {
            outline: 0;
            border-style: solid;
            box-shadow: inset 0 0 0 0 black;
            border-color: $color-hint;
        }

        .button {
            box-shadow: none;
            box-sizing: border-box;
            width: 90%;
            background: $color-accent;
        }
    }

    .Conversation-edit-field {
        @extend .container-1;

        outline: 0;
        background-color: rgba(255, 255, 255, 0.5);
        border: 0;
        font-family: "Work Sans", sans-serif;
        color: $color-content;
        padding: $spacing-unit;
        text-align: center;
        font-weight: 200 !important;
        font-size: $spacing-unit - $spacing-unit-tiny !important;
        box-shadow: none;
        border: 1px solid color('primary');
        border-radius: $border-radius-small;
        resize: none;
        overflow: hidden;
        min-height: 50px;
        max-height: 300px;
        max-width: none;
        width: 100%;

        &::placeholder {
            color: $color-content;
            opacity: 1;
        }

        @include breakpoint('lg') {
            padding: $spacing-unit;
        }
    }

    .ConversationEdit-actions {
        display: flex;
        padding: $spacing-unit / 2 0;

        span {
            flex: 1;
            text-align: center;

            i {
                border-radius: 50%;
                border: 3px solid $color-content;
                display: inline-block;
                width: 16px;
                height: 16px;
                padding: 4px 2px 0 2px;
                font-size: 11px;
                color: $color-content;
                background: $color-background;
            }
        }

        input {
            border: 0;
            background: #fff;
            padding: $spacing-unit 0;
            box-shadow: none;
            font-family: "Work Sans", sans-serif;
            font-size: $spacing-unit / 2;
            color: $color-content;
            text-transform: uppercase;
            font-weight: bold;
            cursor: pointer;
            width: auto;

            &:before {
                font-weight: lighter;
            }
        }

        span + span i {
            color: $color-content;
            border-color: $color-content;
            background: $color-background;

            &.create-conversation-icon {
                color: $color-accent;
                border-color: $color-accent;
            }
        }
    }
}

.ConversationField {
    display: flex;
    justify-content: center;

    i {
        padding: 0 $spacing-unit * 2;
        align-self: center;
        color: color('primary');
    }

    input, select {
        border: 1px solid color('primary');
        border-radius: $border-radius-small;
        background-color: rgba(255, 255, 255, 0.5);
        box-shadow: none;
        outline: 0;
        padding-top: 8px;
        font-size: $spacing-unit / 2;
        color: $color-content;
        flex-grow: 1;
        margin-right: $spacing-unit;
        max-width: none;

        &::placeholder {
            color: $color-content;
            opacity: 1;
        }
    }

    input + i, select + i {
        color: $color-content;
        font-weight: lighter;
        display: none;
    }
}

.ConversationEdit-attributes {
    padding: $spacing-unit;

    i {
        color: $color-accent;
        margin-right: $spacing-unit;
    }

    span {
        color: $color-content;
        opacity: 0.5;
        font-size: $spacing-unit / 2;
    }

    p {
        text-align: left;
    }
}

.ConversationEdit-promote {
    padding: $spacing-unit;

    input {
        width: auto;
        box-shadow: none;
        border: 1px solid $color-content;
        background: white;
    }

    label {
        color: $color-content;
        font-size: $spacing-unit / 2;
        font-weight: bold;
        display: inline;
    }
}

.Conversation-AddComment {
    text-align: center;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: bold;
    font-size: $spacing-unit / 2;
}
*/
.FileInput {
  padding: 0;
  font-family: "Raleway", sans-serif;
  font-size: 12px;
  overflow: hidden;
  font-weight: 600; }
  .FileInput .PickFileButton {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
    background: #052b47;
    height: 45px;
    width: max-content;
    line-height: 45px;
    padding-left: 7px;
    padding-right: 7px;
    float: left;
    position: relative;
    color: #f3f4f6; }
    .FileInput .PickFileButton input[type=file] {
      height: 45px;
      width: 100%;
      position: absolute; }
  .FileInput .FileStatus {
    font-weight: 600;
    width: 100%;
    height: inherit;
    line-height: 45px;
    text-align: center; }

.theme-brand {
  --theme-color: #30BFD3;
  --theme-light-color: #C4F2F4; }

.bg-theme-brand {
  background: #30BFD3; }

.bg-theme-brand-light {
  background: #C4F2F4; }

.theme-accent {
  --theme-color: #FF3E72;
  --theme-light-color: #fee3eb; }

.bg-theme-accent {
  background: #FF3E72; }

.bg-theme-accent-light {
  background: #fee3eb; }

.theme-green {
  --theme-color: #36C273;
  --theme-light-color: #B4FDD4; }

.bg-theme-green {
  background: #36C273; }

.bg-theme-green-light {
  background: #B4FDD4; }

.theme-orange {
  --theme-color: #F68128;
  --theme-light-color: #FFE1CA; }

.bg-theme-orange {
  background: #F68128; }

.bg-theme-orange-light {
  background: #FFE1CA; }

.theme-purple {
  --theme-color: #7758B3;
  --theme-light-color: #E7DBFF; }

.bg-theme-purple {
  background: #7758B3; }

.bg-theme-purple-light {
  background: #E7DBFF; }

.theme-grey {
  --theme-color: #797979;
  --theme-light-color: #EEEEEE; }

.bg-theme-grey {
  background: #797979; }

.bg-theme-grey-light {
  background: #EEEEEE; }

.theme-icd {
  --theme-color: #005BAA;
  --theme-light-color: #F5821F; }

.bg-theme-icd {
  background: #005BAA; }

.bg-theme-icd-light {
  background: #F5821F; }

.theme-votorantim {
  --theme-color: #04082D;
  --theme-light-color: #F14236; }

.bg-theme-votorantim {
  background: #04082D; }

.bg-theme-votorantim-light {
  background: #F14236; }

.theme-osf {
  --theme-color: #1D1088;
  --theme-light-color: #F8127E; }

.bg-theme-osf {
  background: #1D1088; }

.bg-theme-osf-light {
  background: #F8127E; }

.theme-bocadelobo {
  --theme-color: #83E760;
  --theme-light-color: #161616; }

.bg-theme-bocadelobo {
  background: #83E760; }

.bg-theme-bocadelobo-light {
  background: #161616; }

.theme-brand input[type="text"], .theme-brand textarea, .theme-accent input[type="text"], .theme-accent textarea, .theme-green input[type="text"], .theme-green textarea, .theme-orange input[type="text"], .theme-orange textarea, .theme-purple input[type="text"], .theme-purple textarea, .theme-grey input[type="text"], .theme-grey textarea, .theme-icd input[type="text"], .theme-icd textarea, .theme-votorantim input[type="text"], .theme-votorantim textarea, .theme-osf input[type="text"], .theme-osf textarea {
  border-color: var(--theme-color); }

.theme-brand label, .theme-accent label, .theme-green label, .theme-orange label, .theme-purple label, .theme-grey label, .theme-icd label, .theme-votorantim label, .theme-osf label {
  color: var(--theme-color); }

p a:hover, p a:focus, p a:visited, p a {
  text-decoration: underline; }

hr {
  border-color: rgba(0, 0, 0, 0.12);
  margin: 1rem 1rem 0 0; }
  @media only screen and (max-width: 768px) {
    hr {
      margin: unset; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vc2Nzcy9tYWluLmNzcyIsCgkic291cmNlUm9vdCI6ICIvYnVpbGQvc3JjL2VqL3N0YXRpYy9lai9jc3MiLAoJInNvdXJjZXMiOiBbCgkJIi4uL3Njc3MvbWFpbi5zY3NzIiwKCQkiLi4vc2Nzcy9fY29uZmlnLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvX2ZuLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9mbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2Z1bmN0aW9ucy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2xpc3Quc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL19saXN0LXBlcmYuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL19hcnJheS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX21hcC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX3N0cmluZy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX251bWJlcnMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL19jb2xvci5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX3Rlc3Rpbmcuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcm9maWxlcy9fZGVmYXVsdC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL19zdGFjay1mb250LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJvZmlsZXMvX3N0YWNrLWNvbG9yLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJvZmlsZXMvX2Jhc2Uuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9tZW5kZWxlZXYuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uZmlnL19taXhpbnMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25maWcvX21vZHVsZXMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25maWcvX2Z1bmN0aW9ucy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbnN0YW50cy9fc3RhdGljLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL192YWx1ZXMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25zdGFudHMvX2dyaWRzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL19jb25maWd1cmFibGUuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL19zaXplcy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUvX2NvbG9yLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJlbHVkZS9fdHlwb2dyYXBoeS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUvX3V0aWxpdGllcy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX3NpemluZy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L19sYXlvdXQuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fYm9yZGVycy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L19mbGV4LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2dyaWQuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fdHJhbnNmb3JtYXRpb25zLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX3Zpc2liaWxpdHkuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fbWlzYy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUvX3V0aWxpdGllcy1jYWNoZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZWxlbWVudHMvX2Jhc2Uuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9lbGVtZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL19idXR0b24uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9lbGVtZW50cy9fZm9ybS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3V0aWxpdGllcy5zY3NzIiwKCQkiLi4vc2Nzcy9fZWxlbWVudHMuc2NzcyIsCgkJIi4uL3Njc3MvX2NvbXBvbmVudHMuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9tYWluL19uYXZpZ2F0aW9uLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvbWFpbi9fZWxlbWVudHMuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9tYWluL19maWx0ZXJzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9fY2FyZC5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2RldGFpbC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbXBvbmVudHMvbWl4aW5zL19hcnJvdy5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2RldGFpbC1oZWFkZXIuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9jb252ZXJzYXRpb25zL19kZXRhaWwtc2hhcmluZy5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX21vZGVyYXRlLWNvbW1lbnRzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy93ZWxjb21lLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9fYm9hcmQtZGV0YWlsLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvdG9vbHMvX2NhcmQuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy90b29scy9fdG9vbHMuc2NzcyIsCgkJIi4uL3Njc3MvMV9zZXR0aW5ncy9fc3BhY2luZy5zY3NzIiwKCQkiLi4vc2Nzcy8xX3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvdG9vbHMvX2dlbmVyaWMuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy90b29scy9fY2hhdGJvdC5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL3Rvb2xzL19tYWlsaW5nLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvdG9vbHMvX29waW5pb24tY29tcG9uZW50LnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvdG9vbHMvX3dlYmNoYXQuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy90b29scy9fc3VydmV5LnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9fbGlua3MtbW9kYWwuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL19kYXNoYm9hcmQuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL19leHBvcnQtZGF0YS5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL3JlcG9ydHMvX2dlbmVyaWNzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvcmVwb3J0cy9fcGFnaW5hdGlvbi5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL3JlcG9ydHMvY29tbWVudHMtcmVwb3J0LnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvYWRtaW4vX2Vudmlyb25tZW50LnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvcHJvZmlsZXMvX2hvbWUuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9wcm9maWxlcy9fcHJvZmlsZS5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL19jb2xsYXBzaWJsZS5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL19kYXRhdGFibGVzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvX2NsdXN0ZXJzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvX3N0ZXJlb3R5cGVzLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvbWFpbi9fbWVuZGVsZWV2LXNoYW1lLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvX2xvYWRpbmcuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9fdG91ci5zY3NzIiwKCQkiLi4vc2Nzcy9fbGVnYWN5LnNjc3MiLAoJCSIuLi9zY3NzLzFfc2V0dGluZ3MvX2NvbG9ycy5zY3NzIiwKCQkiLi4vc2Nzcy8xX3NldHRpbmdzL19sYXlvdXQuc2NzcyIsCgkJIi4uL3Njc3MvNl9jb21wb25lbnRzL2dlbmVyaWMvX3BhZ2Uuc2NzcyIsCgkJIi4uL3Njc3MvNl9jb21wb25lbnRzL2dlbmVyaWMvX3BhZ2UtbWVudS5zY3NzIiwKCQkiLi4vc2Nzcy82X2NvbXBvbmVudHMvX2NvbnZlcnNhdGlvbnMuc2NzcyIsCgkJIi4uL3Njc3MvNl9jb21wb25lbnRzL19maWxlLWlucHV0LnNjc3MiLAoJCSIuLi9zY3NzL191dGlsaXRpZXMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbmZpZyc7XG5AaW1wb3J0ICdlbGVtZW50cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzJztcbkBpbXBvcnQgJ2xlZ2FjeSc7XG5AaW1wb3J0ICd1dGlsaXRpZXMnO1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTE9SUyBST0xFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbic7XG5cbi8vIEJyYW5kIGNvbG9yczogdGhleSBhcmUgdXNlZCBvbiB0aGUgbG9nbyBhbmQgb24gdGhlIG1haW4gZWxlbWVudHMgb24gdGhlIHBhZ2UsXG4vLyBsaWtlIGJ1dHRvbnMsIGNvbnZlcnNhdGlvbiBjYXJkcywgbGlua3MsIGV0Yy5cbiRjb2xvci1icmFuZDogIzMwQkZEMyAhZGVmYXVsdDtcbiRjb2xvci1hY2NlbnQ6ICNGRjNFNzIgIWRlZmF1bHQ7XG5cbi8vIERlcml2ZWQgYnJhbmQgY29sb3JzXG4kY29sb3ItYWNjZW50LWxpZ2h0OiBzY2FsZS1jb2xvcigkY29sb3ItYWNjZW50LCAkc2F0dXJhdGlvbjogLTEwJSwgJGxpZ2h0bmVzczogMTAlKSAhZGVmYXVsdDsgLy8gI0ZGNTc4M1xuJGNvbG9yLWFjY2VudC1saWdodGVyOiBzY2FsZS1jb2xvcigkY29sb3ItYWNjZW50LCAkbGlnaHRuZXNzOiA4NSUsICRzYXR1cmF0aW9uOiAtMTAlKSAhZGVmYXVsdDsgLy8gI0ZGRTNFQVxuJGNvbG9yLWJyYW5kLWxpZ2h0OiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDU1JSwgJHNhdHVyYXRpb246IDIwJSkgIWRlZmF1bHQ7IC8vICM5RkU1RUFcbiRjb2xvci1icmFuZC1saWdodGVyOiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDg1JSwgJHNhdHVyYXRpb246IDEwJSkgIWRlZmF1bHQ7IC8vICNFMEY3RjhcbiRjb2xvci1icmFuZC1hbHRlcm5hdGU6IHNjYWxlLWNvbG9yKCRjb2xvci1icmFuZCwgJGxpZ2h0bmVzczogNTUlLCAkc2F0dXJhdGlvbjogLTQ1JSkgIWRlZmF1bHQ7IC8vI0EzRDhERFxuQGlmICRjb2xvci1icmFuZCA9PSAjMzBCRkQzIHtcbiAgICAkY29sb3ItYnJhbmQtbGlnaHQ6ICM5RkU1RUE7XG4gICAgJGNvbG9yLWJyYW5kLWxpZ2h0ZXI6ICNDNEYyRjQ7XG4gICAgJGNvbG9yLWJyYW5kLWFsdGVybmF0ZTogI0EzRDhERDtcbn1cblxuLy8gVGV4dCBhbmQgYmFja2dyb3VuZFxuJGNvbG9yLWJsYWNrOiAjMDUyYjQ3ICFkZWZhdWx0O1xuJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlOiAjMDAwMDAwICFkZWZhdWx0O1xuJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuOCkgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGU6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDb2xvciB0aGVtZXNcbiRjb2xvci10aGVtZS1icmFuZDogJGNvbG9yLWJyYW5kICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWJyYW5kLWxpZ2h0OiAkY29sb3ItYnJhbmQtbGlnaHRlciAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1hY2NlbnQ6ICRjb2xvci1hY2NlbnQgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtYWNjZW50LWxpZ2h0OiAkY29sb3ItYWNjZW50LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtZ3JlZW46ICMzNkMyNzMgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtZ3JlZW4tbGlnaHQ6ICNCNEZERDQgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtb3JhbmdlOiAjRjY4MTI4ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLW9yYW5nZS1saWdodDogI0ZGRTFDQSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1wdXJwbGU6ICM3NzU4QjMgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcHVycGxlLWxpZ2h0OiAjRTdEQkZGICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZXk6ICM3OTc5NzkgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtZ3JleS1saWdodDogI0VFRUVFRSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1kYXJrLWJsdWU6ICMwNTJiNDcgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVkOiAjRTIwMDAwICFkZWZhdWx0O1xuXG4vL09waW5pb24gY29tcG9uZW50IGNvbG9yc1xuJGNvbG9yLXRoZW1lLWJvY2FkZWxvYm86ICM4M0U3NjAgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtYm9jYWRlbG9iby1saWdodDogIzE2MTYxNiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1pY2Q6ICMwMDVCQUEgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtaWNkLWxpZ2h0OiAjRjU4MjFGICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXZvdG9yYW50aW06ICMwNDA4MkQgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtdm90b3JhbnRpbS1saWdodDogI0YxNDIzNiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1vc2Y6ICMxRDEwODggIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtb3NmLWxpZ2h0OiAjRjgxMjdFICFkZWZhdWx0O1xuJGNvbG9yLWxpZ2h0LWdyYXk6IHJnYmEoMCwgMCwgMCwgMC44MCkgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS0yMDA6ICNFNUU3RUIgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS01MDogI0Y5RkFGQiAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LTUwMDogIzZCNzI4MCAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LTMwMDogI0QxRDVEQiAhZGVmYXVsdDtcblxuLy9SZXBvcnQgY29sb3JzXG4kY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWdyYXk6ICNFNUU1RTUgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk6ICNiYWJhYmEgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTogIzc3Nzc3NyAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHRlcjogI2ZlZmVmZSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZ3JheS1ibHVlOiAjQzRGMkY0ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5LWJsdWUtdHJhbnNwYXJlbnQ6ICNDNEYyRjQ5OSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTogIzA1MkI0NyAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTogIzMwQkZEMyAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtYmxhY2s6IGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC10cmFuc3BhcmVudC1ibGFjazogcmdiYSgwLCAwLCAwLCAwLjEyKSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtcmVkOiByZWQgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstcmVkOiAjRTIwMDAwICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWluZm8tY2FyZC1yZXBvcnQ6ICNGRkNFREIgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LXBpbms6ICNGRjNENzIgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWdyZWVuOiAjMThBRTAwICFkZWZhdWx0O1xuJGNvbG9yLXJlcG9ydC1pbmZvLXBpbms6ICNmZjU2ODIgIWRlZmF1bHQ7XG5cbi8vQ2x1c3RlcnMgY29sb3JzXG4kY29sb3ItYnJpZ2h0LWJsdWU6ICMzMEMxRDQgIWRlZmF1bHQ7XG4kY29sb3ItY29tcGxlbWVudGFyeS1ncmF5OiAjNzc3Nzc3ICFkZWZhdWx0O1xuJGNvbG9yLXBpbmstbGlnaHQ6ICNGRjNENzIgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1icmlndGhlcjogI0U1RTVFNSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LWRlZXBlcjogI0Q5RDlEOSAhZGVmYXVsdDtcbiRjb2xvci1yZWQtbmVnYXRpdmU6ICNDNzAwMDAgIWRlZmF1bHQ7XG4kY29sb3ItdG9vbHRpcC1yZWQ6ICNGRkNFREIgIWRlZmF1bHQ7XG4kY29sb3QtZXJyb2xpc3QtcmVkOiAjRkYwMDAwICFkZWZhdWx0O1xuXG4vL1BvbGwgYm90XG4kbW9kYWwtdHJhbnNwYXJlbnQtYmFja2dvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4kbW9kYWwtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuXG4vL01hbmFnZSBTdGVyZW90eXBlc1xuJGNvbG9yLWJ1dHRvbi1ncmF5OiAjQkFCQUJBO1xuJGNvbG9yLWNhcmQtZ3JheS1saWdodGVyOiAjRTZFQUVEO1xuJGNvbG9yLWJyaWdodC1ibHVlOiAjNzJDQUQ3O1xuJGNvbG9yLWdyYXktZGFyazogIzZDNkM2QztcbiRjb2xvci1ncmF5LWRhcmtlcjogIzc3Nzc3NztcbiRjb2xvci1hZ3JlZTogcmdiYSgyNCwgMTc0LCAwLCAwLjgpO1xuJGNvbG9yLWRpc2FncmVlOiAjQzcwMDAwO1xuJGNvbG9yLWJhc2UtcGluazogI0ZGM0Q3MjtcbiRjb2xvci1ncmF5LXdoaXRlOiAjRjBGMEYwO1xuXG4vLyBBY3Rpb24gY29sb3JzXG4kY29sb3ItYWN0aW9uOiAkY29sb3ItYnJhbmQgIWRlZmF1bHQ7XG4kY29sb3ItcHJpbWFyeTogJGNvbG9yLWJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLXNlY29uZGFyeTogJGNvbG9yLWFjY2VudCAhZGVmYXVsdDtcblxuLy8gTmF2aWdhdGlvbiBpdGVtXG4kY29sb3ItbmF2aWdhdGlvbjogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLW5hdmlnYXRpb24tdGV4dDogJGNvbG9yLWJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyOiAjQzRDNEM0O1xuJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXdpdGgtb3BhY2l0eTogI0M0QzRDNDgwO1xuJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ6ICM3Nzc7XG4kY29sb3ItbmF2aWdhdGlvbi1tZW51LWJhY2tncm91bmQ6ICNGMUYxRjE7XG5cbi8vIG1vZGFscyBpdGVtc1xuJGNvbG9yLW1vZGFsLWJhY2tncm91bmQ6ICNFNUU1RTU7XG4kY29sb3ItbW9kYWwtYmFja2dyb3VuZC1saWdodGVyOiAjZjFmMWYxO1xuXG4vL0NhcmQgc2hhZG93c1xuJGNvbG9yLWNhcmQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpICFkZWZhdWx0O1xuLy8gT3ZlcnJpZGUgZGVmYXVsdCBNZW5kZWxlZXYgY29sb3IgcGFsZXR0ZVxuJG1lbmRlbGVldi1jb2xvci1wYWxldHRlOiAoXG4gICAgLy9cbiAgICAvLyBCcmFuZCBjb2xvcnNcbiAgICAnYnJhbmQnOiAkY29sb3ItYnJhbmQsXG4gICAgJ2FjY2VudCc6ICRjb2xvci1hY2NlbnQsXG4gICAgJ2JyYW5kLWxpZ2h0JzogJGNvbG9yLWJyYW5kLWxpZ2h0LFxuICAgICdicmFuZC1saWdodGVyJzogJGNvbG9yLWJyYW5kLWxpZ2h0ZXIsXG4gICAgJ2JyYW5kLWFsdGVybmF0ZSc6ICRjb2xvci1icmFuZC1hbHRlcm5hdGUsXG4gICAgJ2FjY2VudC1saWdodCc6ICRjb2xvci1hY2NlbnQtbGlnaHQsXG4gICAgJ2FjY2VudC1saWdodGVyJzogJGNvbG9yLWFjY2VudC1saWdodGVyLFxuICAgIC8vXG4gICAgLy8gQWN0aW9uIGNvbG9yc1xuICAgICdwcmltYXJ5JzogJGNvbG9yLXByaW1hcnksXG4gICAgJ3NlY29uZGFyeSc6ICRjb2xvci1zZWNvbmRhcnksXG4gICAgJ25hdmlnYXRpb24nOiAkY29sb3ItbmF2aWdhdGlvbixcbiAgICAnbmF2aWdhdGlvbi10ZXh0JzogJGNvbG9yLW5hdmlnYXRpb24tdGV4dCxcbiAgICAvL1xuICAgIC8vIFRleHRcbiAgICAnYmxhY2snOiAkY29sb3ItYmxhY2ssXG4gICAgJ3doaXRlJzogJGNvbG9yLXdoaXRlLFxuICAgICdkYXJrJzogJGNvbG9yLWJsYWNrLFxuICAgICdsaWdodCc6ICRjb2xvci13aGl0ZSxcbiAgICAvL1xuICAgIC8vIFRoZW1lIGNvbG9yc1xuICAgICd0aGVtZS1icmFuZCc6ICRjb2xvci10aGVtZS1icmFuZCxcbiAgICAndGhlbWUtYnJhbmQtbGlnaHQnOiAkY29sb3ItdGhlbWUtYnJhbmQtbGlnaHQsXG4gICAgJ3RoZW1lLWFjY2VudCc6ICRjb2xvci10aGVtZS1hY2NlbnQsXG4gICAgJ3RoZW1lLWFjY2VudC1saWdodCc6ICRjb2xvci10aGVtZS1hY2NlbnQtbGlnaHQsXG4gICAgJ3RoZW1lLWdyZWVuJzogJGNvbG9yLXRoZW1lLWdyZWVuLFxuICAgICd0aGVtZS1ncmVlbi1saWdodCc6ICRjb2xvci10aGVtZS1ncmVlbi1saWdodCxcbiAgICAndGhlbWUtb3JhbmdlJzogJGNvbG9yLXRoZW1lLW9yYW5nZSxcbiAgICAndGhlbWUtb3JhbmdlLWxpZ2h0JzogJGNvbG9yLXRoZW1lLW9yYW5nZS1saWdodCxcbiAgICAndGhlbWUtcHVycGxlJzogJGNvbG9yLXRoZW1lLXB1cnBsZSxcbiAgICAndGhlbWUtcHVycGxlLWxpZ2h0JzogJGNvbG9yLXRoZW1lLXB1cnBsZS1saWdodCxcbiAgICAndGhlbWUtZ3JleSc6ICRjb2xvci10aGVtZS1ncmV5LFxuICAgICd0aGVtZS1ncmV5LWxpZ2h0JzogJGNvbG9yLXRoZW1lLWdyZXktbGlnaHQsXG4gICAgJ3RoZW1lLXJlZCc6ICRjb2xvci10aGVtZS1yZWQsXG5cbiAgICAvL09waW5pb24gY29tcG9uZW50IHRoZW1lc1xuICAgICd0aGVtZS1ib2NhZGVsb2JvJzogJGNvbG9yLXRoZW1lLWJvY2FkZWxvYm8sXG4gICAgJ3RoZW1lLWJvY2FkZWxvYm8tbGlnaHQnOiAkY29sb3ItdGhlbWUtYm9jYWRlbG9iby1saWdodCxcbiAgICAndGhlbWUtaWNkJzogJGNvbG9yLXRoZW1lLWljZCxcbiAgICAndGhlbWUtaWNkLWxpZ2h0JzogJGNvbG9yLXRoZW1lLWljZC1saWdodCxcbiAgICAndGhlbWUtdm90b3JhbnRpbSc6ICRjb2xvci10aGVtZS12b3RvcmFudGltLFxuICAgICd0aGVtZS12b3RvcmFudGltLWxpZ2h0JzogJGNvbG9yLXRoZW1lLXZvdG9yYW50aW0tbGlnaHQsXG4gICAgJ3RoZW1lLW9zZic6ICRjb2xvci10aGVtZS1vc2YsXG4gICAgJ3RoZW1lLW9zZi1saWdodCc6ICRjb2xvci10aGVtZS1vc2YtbGlnaHQsXG4pO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFlQT0dSQVBIWVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL2RlZmF1bHQnO1xuXG4vLyBGb250IHJvbGVzIGFuZCBiYXNlIHN0eWxlc1xuJGZvbnQtc3RhY2stcGFyYWdyYXBoOiBcIldvcmsgU2Fuc1wiICFkZWZhdWx0O1xuJGZvbnQtc3RhY2staGVhZGluZ3M6IFwiV29yayBTYW5zXCIgIWRlZmF1bHQ7XG5cbi8vIFJlc2V0IE1lbmRlbGVldiB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuJG1lbmRlbGVldi10eXBlZmFjZTogJGZvbnQtc3RhY2stcGFyYWdyYXBoO1xuJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogKCkgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgKFxuICAgICMzMEJGRDM6ICRjb2xvci13aGl0ZSxcbiAgICAjRkYzRDcyOiAkY29sb3Itd2hpdGUsXG4gICAgIzA0MkE0NjogJGNvbG9yLXdoaXRlLFxuKSk7XG5cbi8vIEVKIGNvbmZpZ3VyYXRpb25zXG4kZWotaGVhZGluZ3M6IChcbiAgICBmb250LXdlaWdodDogNDAwLFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1oZWFkaW5ncyxcbikgIWRlZmF1bHQ7XG4kZWotYnV0dG9uLXJhZGl1czogMi4yNXJlbSAvIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNRU5ERUxFRVYgQ09ORklHXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWNvbmZpZzogbWFwLW1lcmdlLWRlZXAoXG4gICAgICAgICRtZW5kZWxlZXYtY29uZmlnLCAoXG4gICAgICAgIC8vIEJyZWFraW5nIHBvaW50c1xuICAgICAgICAnYnJlYWtwb2ludHMnOiAoXG4gICAgICAgICAgICAnc20nOiAzNXJlbSxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gVHlwb2dyYXBoeVxuICAgICAgICAndHlwb2dyYXBoeSc6IChcbiAgICAgICAgICAgICdoZWFkaW5ncyc6ICRlai1oZWFkaW5ncyxcbiAgICAgICAgICAgICdzYW5zLXNlcmlmJzogJGZvbnQtc3RhY2stcGFyYWdyYXBoLFxuICAgICAgICAgICAgJ3NpemUnOiAoXG4gICAgICAgICAgICAgICAgJ3N0YXJ0JzogMTYsXG4gICAgICAgICAgICAgICAgJ3NtJzogMTYsXG4gICAgICAgICAgICAgICAgJ21kJzogMTcsXG4gICAgICAgICAgICAgICAgJ2xnJzogMTgsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ3NjYWxlJzogKFxuICAgICAgICAgICAgICAgICdzdGFydCc6IDkvOCxcbiAgICAgICAgICAgICAgICAnc20nOiA5LzgsXG4gICAgICAgICAgICAgICAgJ21kJzogOC83LFxuICAgICAgICAgICAgICAgICdsZyc6IDcvNixcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIC8vIENvbG9yc1xuICAgICAgICAnY29sb3InOihcbiAgICAgICAgICAgICdyb2xlcyc6IChcbiAgICAgICAgICAgICAgICAncHJpbWFyeScsICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICdhY3Rpb24nLCAncG9zaXRpdmUnLCAnbmVnYXRpdmUnLFxuICAgICAgICAgICAgICAgICd3YXJuaW5nJywgJ3doaXRlJywgJ2JsYWNrJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIC8vIEZvcm1zXG4gICAgICAgICdpbnB1dCc6IChcbiAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJGVqLWJ1dHRvbi1yYWRpdXMsXG4gICAgICAgICAgICAnbWluLXdpZHRoJzogMTVlbSxcbiAgICAgICAgICAgICd3aWR0aCc6IDEwMCUsXG4gICAgICAgICAgICAnbWF4LXdpZHRoJzogMzByZW0sXG4gICAgICAgICksXG4gICAgICAgICdidXR0b24nOiAoXG4gICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICRlai1idXR0b24tcmFkaXVzLFxuICAgICAgICAgICAgJ2ZvbnQtd2VpZ2h0JzogNzAwLFxuICAgICAgICApLFxuICAgICAgICAvLyBFSiBHbG9iYWwgc3R5bGVzIGFuZCBjb21wb25lbnRzXG4gICAgICAgICdlaic6IChcbiAgICAgICAgICAgICdzdHlsZScgOiAoXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAuNzVyZW0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ2NvbnZlcnNhdGlvbi1jYXJkJzogKFxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogNTAlLFxuICAgICAgICAgICAgICAgICdoaWdobGlnaHQtdGFncyc6IHRydWUsXG4gICAgICAgICAgICAgICAgJ2JnLWltYWdlJzogJy9zdGF0aWMvaW1nL2JnL2NvbnZlcnNhdGlvbi1jYXJkLnBuZycsXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgKSk7XG5cbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9tZW5kZWxlZXYnO1xuIiwKCQkiLy8gQWxpYXMgdG8gZm4uc2Fzc1xuQGltcG9ydCAnZm4uc2Fzcy9mbic7XG5cbi8vLyBMb2cgZ2l2ZW4gJHZhbHVlcyBhbmQgcmV0dXJuIHRoZSBsYXN0IGFyZ3VtZW50LlxuQGZ1bmN0aW9uIGxvZygkYXJncy4uLikge1xuICAgIEB3YXJuICdMT0c6ICN7JGFyZ3N9JztcbiAgICBAcmV0dXJuIG50aCgkYXJncywgbGVuZ3RoKCRhcmdzKSk7XG59XG5cbkBtaXhpbiB2YXItZmFsbGJhY2soJGRlZnMpIHtcbiAgICBAZWFjaCAkcHJvcCwgJHBhaXIgaW4gJGRlZnMge1xuICAgICAgICAkdmFsdWU6IG50aCgkcGFpciwgMSk7XG4gICAgICAgICR2YXItbmFtZTogbnRoKCRwYWlyLCAyKTtcbiAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgI3skcHJvcH06IHVucXVvdGUoJ3ZhcigtLSN7JHZhci1uYW1lfSknKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBtYXAtc29tZS1rZXlzKCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkcHJlZCk7XG5cbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBjYWxsKCRmbiwgJGssICRhcmdzLi4uKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuQGZ1bmN0aW9uIG1hcC1zb21lLXZhbHVlcygkcHJlZCwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJHByZWQpO1xuXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgY2FsbCgkZm4sICR2LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbkBmdW5jdGlvbiBtYXAtZXZlcnkta2V5KCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkcHJlZCk7XG5cbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBub3QgY2FsbCgkZm4sICRrLCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbkBmdW5jdGlvbiBtYXAtZXZlcnktdmFsdWUoJHByZWQsICRtYXAsICRhcmdzLi4uKSB7XG4gICAgJGZuOiBhcy1mdW5jKCRwcmVkKTtcblxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgICAgQGlmIG5vdCBjYWxsKCRmbiwgJHYsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2FycmF5JztcbkBpbXBvcnQgJ21hcCc7XG5AaW1wb3J0ICdzdHJpbmcnO1xuQGltcG9ydCAnbnVtYmVycyc7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICd0ZXN0aW5nJztcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgdXRpbGl0eSBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIENvbnZlcnQgZnVuY3Rpb24gb3Igc3RyaW5nIHRvIGEgZnVuY3Rpb24gaGFuZGxlLlxuQGZ1bmN0aW9uIGFzLWZ1bmMoJGZuKSB7XG4gICAgQGlmIHR5cGUtb2YoJGZuKSA9PSBmdW5jdGlvbiB7XG4gICAgICAgIEByZXR1cm4gJGZuXG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRmbikgPT0gc3RyaW5nIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzSW52YWxpZEZ1bmN0aW9uXG4gICAgICAgIEByZXR1cm4gZ2V0LWZ1bmN0aW9uKCRmbik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIkludmFsaWQgZnVuY3Rpb246ICN7JGZufVwiO1xuICAgIH1cbn1cblxuLy8vIFZlcnNpb24gb2YgY2FsbCguLi4pIHRoYXQgYWNjZXB0cyBuYW1lcyBhbmQgZnVuY3Rpb24gcmVmZXJlbmNlc1xuQGZ1bmN0aW9uIGNhbGwtZm4oJGZuLCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gY2FsbChhcy1mdW5jKCRmbiksICRhcmdzLi4uKTtcbn1cblxuLy8vIFBhc3MgYXJndW1lbnQgdGhyb3VnaCBhIHNlcmllcyBvZiBmdW5jdGlvbnMuXG5AZnVuY3Rpb24gcGlwZSgkeCwgJGZucy4uLikge1xuICAgIEBlYWNoICRmbiBpbiAkZm5zIHtcbiAgICAgICAgJHg6IGNhbGwtZm4oJGZuLCAkeCk7XG4gICAgfVxuICAgIEByZXR1cm4gJHg7XG59XG5cbi8vLyBQYXNzIGFyZ3VtZW50cyBwYWlyd2lzZSB0aHJvdWdoIGEgc2VyaWVzIG9mIGZ1bmN0aW9ucy5cbi8vLyBBbGwgaW50ZXJtZWRpYXRlIGZ1bmN0aW9ucyBtdXN0IHJldHVybiBsaXN0cyBvZiBhcmd1bWVudHMgdG8gdGhlIGZvbGxvd2luZ1xuLy8vIGZ1bmN0aW9ucy4gVGhlIGxhc3QgZnVuY3Rpb24gaW4gdGhlIHBpcGUgY2FuIHJldHVybiBhbnl0aGluZy5cbkBmdW5jdGlvbiBwaXBlLTIoJHgsICR5LCAkZm5zLi4uKSB7XG4gICAgJGFyZ3M6ICgkeCwgJHkpO1xuICAgIEBlYWNoICRmbiBpbiAkZm5zIHtcbiAgICAgICAgJGFyZ3M6IGNhbGwtZm4oJGZuLCAkYXJncy4uLik7XG4gICAgfVxuICAgIEByZXR1cm4gJGFyZ3M7XG59XG5cbi8vLyBGbGlwIHRoZSBvcmRlciBvZiBhIDItZWxlbWVudCBsaXN0XG5AZnVuY3Rpb24gZmxpcCgkeCwgJHkpIHtcbiAgICBAcmV0dXJuICgkeSwgJHgpO1xufVxuXG4vLy8gUmV0dXJuIGl0cyBhcmd1bWVudFxuQGZ1bmN0aW9uIGlkZW50aXR5KCR4KSB7XG4gICAgQHJldHVybiAkeDtcbn1cblxuLy8vIFJldHVybiBmaXJzdCBlbGVtZW50IG9mIGEgbGlzdFxuQGZ1bmN0aW9uIGZpcnN0KCRsc3QpIHtcbiAgICBAcmV0dXJuIG50aCgkbHN0LCAxKTtcbn1cblxuLy8vIFJldHVybiBzZWNvbmQgZWxlbWVudCBvZiBhIGxpc3RcbkBmdW5jdGlvbiBzZWNvbmQoJGxzdCkge1xuICAgIEByZXR1cm4gbnRoKCRsc3QsIDIpO1xufVxuXG4vLy8gUmV0dXJuIGZpcnN0IGFyZ3VtZW50XG5AZnVuY3Rpb24gZmlyc3QtYXJnKCR4LCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gJHg7XG59XG5cbi8vLyBSZXR1cm4gc2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gc2Vjb25kLWFyZygkeCwgJHksICRhcmdzLi4uKSB7XG4gICAgQHJldHVybiAkeTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhID4gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gZ3QoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA+ICRiO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGEgPj0gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gZ2UoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA+PSAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhIDwgJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbHQoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA8ICRiO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGEgPD0gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbGUoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA8PSAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhICE9ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIG5lKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgIT0gJGI7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiAkYSA9PSAkYlxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBlcSgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhID09ICRiO1xufVxuXG4vLy8gQWRkIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGFkZCgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhICsgJGI7XG59XG5cbi8vLyBSZXZlcnNlIGFkZGl0aW9uICh1c2VmdWwgZm9yIHN0cmluZ3MpXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIHJhZGQoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiArICRhO1xufVxuXG4vLy8gU3VidHJhY3QgdHdvIG51bWJlcnNcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gc3ViKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgLSAkYjtcbn1cblxuLy8vIEZsaXBwZWQgYXBwbGljYXRpb24gb2Ygc3ViXG5AZnVuY3Rpb24gb3AtcnN1YigkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRiIC0gJGE7XG59XG5cbi8vLyBNdWx0aXBseSB0d28gbnVtYmVyc1xuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBtdWwoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSAqICRiO1xufVxuXG4vLy8gUmV2ZXJzZSBtdWx0aXBsaWNhdGlvblxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBtdWwoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAqICRhO1xufVxuXG4vLy8gRGl2aWRlIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGRpdigkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhIC8gJGI7XG59XG5cbi8vLyBGbGlwcGVkIGFwcGxpY2F0aW9uIG9mIGRpdlxuQGZ1bmN0aW9uIHJkaXYoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAvICRhO1xufVxuXG4vLy8gTW9kdWxvIGRpdmlzaW9uIG9mIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIG1vZCgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhICUgJGI7XG59XG5cbi8vLyBGbGlwcGVkIGFwcGxpY2F0aW9uIG9mIG1vZFxuQGZ1bmN0aW9uIHJtb2QoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAlICRhO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgZm9yIG5vbi1udWxsIHZhbHVlc1xuQGZ1bmN0aW9uIG5vdC1udWxsKCR4KSB7XG4gICAgQHJldHVybiAkeCAhPSBudWxsO1xufVxuXG4vLy8gTXVsdGlwbHkgbnVtYmVyIGJ5IC0xIG9yIGludmVydCBib29sZWFuIHZhbHVlc1xuQGZ1bmN0aW9uIG5lZ2F0ZSgkeCkge1xuICAgIEBpZiAkeCA9PSB0cnVlIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9IEBlbHNlIGlmICR4ID09IGZhbHNlIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBAcmV0dXJuIC0xICogJHg7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBmb3IgZXZlbiBudW1iZXJzXG5AZnVuY3Rpb24gaXMtZXZlbigkeCkge1xuICAgIEByZXR1cm4gJHggJSAyID09IDA7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBmb3Igb2RkIG51bWJlcnNcbkBmdW5jdGlvbiBpcy1vZGQoJHgpIHtcbiAgICBAcmV0dXJuICR4ICUgMiA9PSAxO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJHggaXMgZGl2aXNpYmxlIGJ5ICRuLlxuLy8vXG4vLy8gQGFyZyAkeCAtIEFyZ3VtZW50XG4vLy8gQGFyZyAkbiAtIERpdmlzb3JcbkBmdW5jdGlvbiBpcy1kaXZpc2libGUtYnkoJHgsICRuKSB7XG4gICAgQHJldHVybiAkeCAlICRuID09IDA7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBhbGwgdGhlIGdpdmVuIGtleXMgYXJlIHJlcGxpY2F0ZWQgd2l0aCB0aGUgc2FtZSB2YWx1ZXMgaW5cbi8vLyB0aGUgYXJndW1lbnQgbWFwLlxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG4vLy8gQGFyZyAka2V5cyAtIEEgbWFwIG9mIGtleXMgdG8gdmFsdWVzIHRvIGNvbXBhcmUgd2l0aCB0aGUgbGhzXG5AZnVuY3Rpb24ga2V5cy1lcXVhbCgkbWFwLCAka2V5cykge1xuICAgIEBlYWNoICRrLCAkdiBpbiAka2V5cyB7XG4gICAgICAgIEBpZiBtYXAtZ2V0KCRtYXAsICRrKSAhPSAkdiB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTElOS0VEIExJU1RTXG4vLy8gQGdyb3VwIGxpc3Rcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdsaXN0LXBlcmYnO1xuXG4kX2ZuLWxpc3Qtbm90LWdpdmVuOiB1bmlxdWUtaWQoKSAhZGVmYXVsdDtcbiRmbi1lbXB0eS1hcnJheTogam9pbigoKSwgKCksIGNvbW1hKSAhZGVmYXVsdDtcbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpICFkZWZhdWx0O1xuXG4vLyBCQVNJQyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBjb25zIGNlbGxzIGZyb20gYXJndW1lbnRzXG4vLy8gVXNlIGFzIEwoMSwgMiwgMywgNClcbkBmdW5jdGlvbiBMKCR4MTogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4MjogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4MzogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NDogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NTogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NjogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICRhcmdzLi4uKSB7XG4gICAgQGlmICR4MSA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH0gQGVsc2UgaWYgJHgyID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgbnVsbCk7XG4gICAgfSBAZWxzZSBpZiAkeDMgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyIG51bGwpKTtcbiAgICB9IEBlbHNlIGlmICR4NCA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiAoJHgxICgkeDIgKCR4MyBudWxsKSkpO1xuICAgIH0gQGVsc2UgaWYgJHg1ID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgKCR4MiAoJHgzICgkeDQgbnVsbCkpKSk7XG4gICAgfSBAZWxzZSBpZiAkeDYgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyICgkeDMgKCR4NCAoJHg1IG51bGwpKSkpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJHgxICgkeDIgKCR4MyAoJHg0ICgkeDUgKCR4NiBMKCRhcmdzLi4uKSkpKSkpKTtcbiAgICB9XG59XG5cbi8vLyBSZXR1cm5zIGZpcnN0IGVsZW1lbnQgb2YgbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gY2FyKCR4cykge1xuICAgIEByZXR1cm4gbnRoKCR4cywgMSk7XG59XG5cbi8vLyBSZXR1cm5zIGxpc3QncyB0YWlsXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBjZHIoJHhzKSB7XG4gICAgQHJldHVybiBudGgoJHhzLCAyKTtcbn1cblxuLy8vIENvbnN0cnVjdCBsaXN0LCBhZGRpbmcgZmlyc3QgYXJndW1lbnQgJHggaW4gZnJvbnQgb2YgYSBsaXN0IG9mICR4cy5cbi8vL1xuLy8vIEBhcmcgJHggLSBFbGVtZW50XG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gY29ucygkeCwgJHhzKSB7XG4gICAgQHJldHVybiAoJHggJHhzKTtcbn1cblxuLy8vIFJldHVybiBsaXN0IGxlbmd0aFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWxlbmd0aCgkeHMpIHtcbiAgICAkc2l6ZTogMDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHNpemU6ICRzaXplICsgMTtcbiAgICB9XG4gICAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFJldHVybiB0aGUgbi10aCBlbGVtZW50IGluIGxpc3Qgb2YgJHhzXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICRuIC0gUmVxdWVzdGVkIHBvc2l0aW9uXG5AZnVuY3Rpb24gbHN0LW50aCgkeHMsICRuLCAkZGVmYXVsdDogbnVsbCkge1xuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEBlcnJvciBcIkxpc3QgZG8gbm90IGhhdmUgZW5vdWdoIGVsZW1lbnRzLlwiXG4gICAgfVxuICAgIEBpZiAkbiA8PSAwIHtcbiAgICAgICAgQGVycm9yIFwiTmVnYXRpdmUgb3IgemVybyBpbmRleGVzIG5vdCBhbGxvd2VkLlwiXG4gICAgfVxuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICBAaWYgJG4gPT0gMSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkeHMsIDEpO1xuICAgICAgICB9XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBSZXR1cm4gdGhlIHBvc2l0aW9uIG9mICR2YWx1ZSBpbiBsaXN0IG9mICR4cy5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTG9va3VwIHZhbHVlXG5AZnVuY3Rpb24gbHN0LWluZGV4KCR4cywgJHZhbHVlLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRpZHg6IDA7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRpZHg6ICRpZHggKyAxO1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiAkeCA9PSAkdmFsdWUge1xuICAgICAgICAgICAgQHJldHVybiAkaWR4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBsaXN0IG9mICR4cyBjb250YWlucyAkdmFsdWVcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTG9va3VwIHZhbHVlXG5AZnVuY3Rpb24gbHN0LWNvbnRhaW5zKCR4cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBsc3QtaW5kZXgoJHhzLCAkdmFsdWUpICE9IG51bGw7XG59XG5cbi8vLyBDYXN0IGxpc3Qgb2JqZWN0IGFzIGEgbGlua2VkIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIGxpc3Qgb3IgbGlzdC1saWtlIG9iamVjdC5cbkBmdW5jdGlvbiB0by1sc3QoJHhzKSB7XG4gICAgLy9ub2luc3BlY3Rpb24gQ3NzSW52YWxpZEZ1bmN0aW9uXG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkeHM7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR4cykgPT0gJ2xpc3QnIHtcbiAgICAgICAgQGlmIGlzLWJyYWNrZXRlZCgkeHMpIG9yIGxpc3Qtc2VwYXJhdG9yKCR4cykgPT0gJ2NvbW1hJyB7XG4gICAgICAgICAgICBAcmV0dXJuIGxzdC1mcm9tLWFycmF5KCR4cyk7XG4gICAgICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR4cykgPT0gMiB7XG4gICAgICAgICAgICBAcmV0dXJuICR4cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZXJyb3IgXCJJbnB1dCBtdXN0IGJlIGEgbGlua2VkIGxpc3QuXFxuSGludDogY3JlYXRlIG9uZSBmcm9tIGEgcmVndWxhciBTYXNzIGFycmF5IHVzaW5nIEwoJHhzLi4uKVwiXG59XG5cbi8vIEpPSU5JTkcgQU5EIE1FUkdJTkcgTElTVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmdW5jdGlvbiBfbHN0LXJldmVyc2UoJHhzKSB7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gUmV2ZXJzZSBvcmRlciBvZiBlbGVtZW50cyBpbiBsaXN0XG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcmV2ZXJzZSgkeHMpIHtcbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSh0by1sc3QoJHhzKSk7XG59XG5cbi8vLyBaaXAgdHdvIGxpc3RzIHRvZ2V0aGVyIGFuZCByZXR1cm4gYSBsaXN0IG9mIGNvbnNlcy5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHlzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC16aXAoJHhzLCAkeXMsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICRyZXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyBhbmQgJHlzIHtcbiAgICAgICAgJHJlczogKChudGgoJHhzLCAxKSBudGgoJHlzLCAxKSkgJHJlcyk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogbnRoKCR5cywgMik7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICRyZXMsIF9sc3QtcmV2ZXJzZSgkcmVzKSk7XG59XG5cbkBmdW5jdGlvbiBfbHN0LXN0aXRjaCgkeHMsICR5cykge1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCB3aXRoIHJldmVyc2VkICR4cyBmb2xsb3dlZCBieSAkeXMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR5cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtc3RpdGNoKCR4cywgJHlzKSB7XG4gICAgQHJldHVybiBfbHN0LXN0aXRjaCh0by1sc3QoJHhzKSwgdG8tbHN0KCR5cykpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCB3aXRoICR4cyBmb2xsb3dlZCBieSAkeXMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR5cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtam9pbigkeHMsICR5cykge1xuICAgIEByZXR1cm4gX2xzdC1zdGl0Y2goX2xzdC1yZXZlcnNlKHRvLWxzdCgkeHMpKSwgdG8tbHN0KCR5cykpO1xufVxuXG4vLy8gQXBwZW5kIGFuIGFycmF5IG9mIGxpc3RzIHRvZ2V0aGVyXG4vLy9cbi8vLyBAYXJnICRsaXN0cyAtIEFycmF5IG9mIGxpc3RzXG5AZnVuY3Rpb24gbHN0LWNvbmNhdCgkbGlzdHMpIHtcbiAgICAkeHM6IG50aCgkbGlzdHMsIGxlbmd0aCgkbGlzdHMpKTtcbiAgICBAZm9yICRpIGZyb20gbGVuZ3RoKCRsaXN0cykgLSAxIHRocm91Z2ggMSB7XG4gICAgICAgICR4czogbHN0LWpvaW4obnRoKCRsaXN0cywgJGkpLCAkeHMpO1xuICAgIH1cbiAgICBAcmV0dXJuICR4cztcbn1cblxuLy8vIEludGVyc3BlcnNlICR2YWx1ZSBiZXR3ZWVuIGVsZW1lbnRzIG9mICR4c1xuLy8vICAgICBsc3QtaW50ZXJzcGVyc2UoTCgxLCAyLCAzKSwgMCkgPT0+IEwoMSwgMCwgMiwgMCwgMylcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1pbnRlcnNwZXJzZSgkeHMsICR2YWx1ZSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICRyZXM6IG51bGw7XG4gICAgJHk6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHJlczogKCR2YWx1ZSAoJHkgJHJlcykpO1xuICAgICAgICAkeTogJHg7XG4gICAgfVxuICAgICRyZXM6ICgkeSAkcmVzKTtcbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLy8gSW50ZXJjYWxhdGUgZWxlbWVudHMgb2YgYm90aCBsaXN0c1xuLy8vXG4vLy8gQGFyZyAkeHMgLSBGaXJzdCBsaXN0XG4vLy8gQGFyZyAkeXMgLSBTZWNvbmQgbGlzdFxuQGZ1bmN0aW9uIGxzdC1pbnRlcmNhbGF0ZSgkeHMsICR5cywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkeXM6IHRvLWxzdCgkeXMpO1xuICAgICRyZXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyBhbmQgJHlzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeTogbnRoKCR5cywgMSk7XG4gICAgICAgICR5czogbnRoKCR5cywgMik7XG4gICAgICAgICRyZXM6ICgkeSAoJHggJHJlcykpO1xuICAgICAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgICAgICBAcmV0dXJuIF9sc3Qtc3RpdGNoKCRyZXMsICR5cylcbiAgICAgICAgfVxuICAgICAgICBAaWYgbm90ICR5cyB7XG4gICAgICAgICAgICBAcmV0dXJuIF9sc3Qtc3RpdGNoKCRyZXMsICR4cylcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLyBDUkVBVElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGxpc3Qgd2l0aCAkbiByZXBldGl0aW9uIG9mICR4XG4vLy9cbi8vLyBAYXJnICR4IC0gVmFsdWVcbi8vLyBAYXJnICRuIC0gTnVtYmVyIG9mIHJlcGV0aXRpb25zXG5AZnVuY3Rpb24gbHN0LXJlcGVhdCgkeCwgJG46IDEpIHtcbiAgICAkeXM6IG51bGw7XG4gICAgQHdoaWxlICRuID4gMCB7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gUmV0dXJuIGEgcmFuZ2Ugb2YgbnVtYmVycyBmcm9tICRhIHRvICRiIChpbmNsdXNpdmUpXG4vLy9cbi8vLyBAYXJnICRhIC0gU3RhcnRpbmcgb2YgcmFuZ2Vcbi8vLyBAYXJnICRiIC0gRW5kIG9mIHJhbmdlXG4vLy8gQGFyZyAkc3RlcCAob3B0aW9uYWwpIC0gU3RlcCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgdmFsdWVzLlxuQGZ1bmN0aW9uIGxzdC1yYW5nZSgkYSwgJGIsICRzdGVwOiAxKSB7XG4gICAgQGlmICRiIDwgJGEge1xuICAgICAgICBAcmV0dXJuIGxzdC1yYW5nZSgkYiwgJGEsIC0kc3RlcCk7XG4gICAgfVxuXG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkYSA8PSAkYiB7XG4gICAgICAgICR5czogKCRhICR5cyk7XG4gICAgICAgICRhOiAkYSArICRzdGVwO1xuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSgkeXMpO1xufVxuXG4vLyBUUkFOU0ZPUk1BVElPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gX2xzdC1tYXAoJGZuLCAkeHMsICRhcmdzKSB7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKGNhbGwoJGZuLCAkeCwgJGFyZ3MuLi4pICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBmbigkeCkgZm9yIGVhY2ggJHggaW4gJHhzLlxuLy8vXG4vLy8gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGR1cmluZyBmdW5jdGlvblxuLy8vIGFwcGxpY2F0aW9uLiBJZiBvcmRlciBvZiBlbGVtZW50cyBpcyBub3QgaW1wb3J0YW50LCB1c2UgbHN0LXJldm1hcCwgc2luY2UgaXRcbi8vLyBpcyBmYXN0ZXIuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LW1hcCgkZm4sICR4cywgJGFyZ3MuLi4pIHtcbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZShfbHN0LW1hcChhcy1mdW5jKCRmbiksIHRvLWxzdCgkeHMpLCAkYXJncykpO1xufVxuXG4vLy8gTGlrZSBtYXAsIGJ1dCByZXR1cm4gYSByZXZlcnNlZCBjb3B5IG9mIHRoZSBtYXBwZWQgbGlzdC5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gRnVuY3Rpb24gbmFtZSBvciBoYW5kbGVcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcmV2bWFwKCRmbiwgJHhzLCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gX2xzdC1tYXAoYXMtZnVuYygkZm4pLCB0by1sc3QoJHhzKSwgJGFyZ3MpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBmbigkeCkgZm9yIGVhY2ggJHggaW4gJHhzLlxuLy8vIERpZmZlcmVudGx5IGZyb20gbHN0LW1hcCwgdGhpcyBmdW5jdGlvbiBhcHBsaWVzICR4ICoqYWZ0ZXIqKiB0aGUgZXh0cmFcbi8vLyBhcmd1bWVudHMuXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXJtYXAoJGZuLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgQGlmIGxlbmd0aCgkYXJncykgPT0gMCB7XG4gICAgICAgIEByZXR1cm4gbHN0LW1hcCgkZm4sICR4cyk7XG4gICAgfVxuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRhcmdzLWFsbDogYXBwZW5kKCRhcmdzLCAkeCk7XG4gICAgICAgICR5czogKGNhbGwoJGZuLCAkYXJncy1hbGwuLi4pICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gX2xzdC1yZXZlcnNlKCR5cyk7XG59XG5cbi8vLyBDcmVhdGUgYSBsaXN0IG9mIGZuKCRwb3NpdGlvbiwgJHgpIGZvciBlYWNoICR4IGluICR4cy4gUG9zaXRpb24gc3RhcnRzXG4vLy8gY291bnRpbmcgYXQgMS5cbi8vL1xuLy8vIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBkdXJpbmcgZnVuY3Rpb25cbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gRnVuY3Rpb24gbmFtZSBvciBoYW5kbGVcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtaW5kZXgtbWFwKCRmbiwgJHhzLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgICRpZHg6IDE7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHlzOiAoY2FsbCgkZm4sICRpZHgsICR4LCAkYXJncy4uLikgJHlzKTtcbiAgICAgICAgJGlkeDogJGlkeCArIDE7XG4gICAgfVxuICAgIEByZXR1cm4gX2xzdC1yZXZlcnNlKCR5cyk7XG59XG5cbi8vLyBGaWx0ZXIgbGlzdCBieSBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtZmlsdGVyKCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBfbHN0LXJldmVyc2UoJHlzKTtcbn1cblxuLy8vIFJldHVybiAyIGxpc3RzLCB3aXRoIGVsZW1lbnRzIHNlcGFyYXRlZCBieSBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtc2VwYXJhdGUoJHByZWQsICR4cywgJGFyZ3MuLi4pIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgICRsZWZ0OiBudWxsO1xuICAgICRyaWdodDogbnVsbDtcbiAgICAkcHJlZDogYXMtZnVuYygkcHJlZCk7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmIGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgJGxlZnQ6ICgkeCAkbGVmdCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHJpZ2h0OiAoJHggJHJpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIChfbHN0LXJldmVyc2UoJGxlZnQpIF9sc3QtcmV2ZXJzZSgkcmlnaHQpKTtcbn1cblxuLy8vIERyb3AgdGhlIGZpcnN0ICRuIGVsZW1lbnRzIG9mIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzXG5AZnVuY3Rpb24gbHN0LWRyb3AoJHhzLCAkbikge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQHdoaWxlICR4cyBhbmQgJG4gPiAwIHtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJG46ICRuIC0gMTtcbiAgICB9XG4gICAgQHJldHVybiAkeHM7XG59XG5cbi8vLyBLZWVwIGF0IG1vc3QgdGhlIGZpcnN0IG4gZWxlbWVudHMgb2YgbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkbiAtIE51bWJlciBvZiBlbGVtZW50c1xuQGZ1bmN0aW9uIGxzdC10YWtlKCR4cywgJG4pIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgIEBpZiAkbiA8PSAwIG9yICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICBAcmV0dXJuIChudGgoJHhzLCAxKSBsc3QtdGFrZShudGgoJHhzLCAyKSwgJG4gLSAxKSk7XG59XG5cbi8vLyBRdWljayBzb3J0IGFsZ29yaXRobVxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXNvcnQoJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICRwYWlyOiBsc3Qtc2VwYXJhdGUobHQsICR4cywgJHgpO1xuICAgIEByZXR1cm4gbHN0LWpvaW4obHN0LXNvcnQobnRoKCRwYWlyLCAxKSksICgkeCBsc3Qtc29ydChudGgoJHBhaXIsIDIpKSkpO1xufVxuXG4vLy8gSXRlcmF0ZSBpbiBjaHVua3Mgb2Ygc2l6ZSAkbi5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJG4gLSBNYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiBlYWNoIGNodW5rXG5AZnVuY3Rpb24gbHN0LWNodW5rcygkeHMsICRuKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkY2h1bms6IG51bGw7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbiB7XG4gICAgICAgIEBpZiAkeHMgIT0gbnVsbCB7XG4gICAgICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAgICAgJGNodW5rOiAoJHggJGNodW5rKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRjaHVuayA9PSBudWxsLCBudWxsLCAoX2xzdC1yZXZlcnNlKCRjaHVuaykgbHN0LWNodW5rcygkeHMsICRuKSkpO1xufVxuXG4vLy8gSXRlcmF0ZSBpbiBjaHVua3Mgb2YgMi5cbi8vLyBTaW1pbGFyIHRvIGxzdC1jaHVua3MsIGJ1dCBlbGVtZW50cyBhcmUgY29ucyBjZWxscyBhbmQgaXQgaXMgc2xpZ2h0bHkgbW9yZVxuLy8vIGVmZmljaWVudC5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdC5cbi8vLyBAYXJnICRyZXZlcnNlIC0gSWYgdHJ1ZSwgcmV2ZXJzZSByZXN1bHQuXG5AZnVuY3Rpb24gbHN0LXBhaXJ3aXNlKCR4cywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkeXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRhOiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAkYjogbnRoKCR4cywgMSk7XG4gICAgICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAgICAgJHlzOiAoKCRhICRiKSAkeXMpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICR5czogKGFwcGVuZCgoKSwgJGEpICR5cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHlzLCBfbHN0LXJldmVyc2UoJHlzKSk7XG59XG5cbi8vLyBDcmVhdGUgYSBsaXN0IG9mIHBhaXJzIG9mIChwb3NpdGlvbiB2YWx1ZSkuXG4vLy9cbi8vLyBAYXJnICR4cyAtIElucHV0IGxpc3Rcbi8vLyBAYXJnICRzdGFydCAtIE9wdGlvbmFsIHN0YXJ0aW5nIHZhbHVlIChiZWdpbnMgd2l0aCAxKVxuLy8vIEBhcmcgJHN0ZXAgLSBPcHRpb25hbCBzdGVwICgxIGlmIG5vdCBnaXZlbilcbkBmdW5jdGlvbiBsc3QtZW51bWVyYXRlKCR4cywgJHN0YXJ0OiAxLCAkc3RlcDogMSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkcmVzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRyZXM6IGNvbnMoKCRzdGFydCAkeCksICRyZXMpO1xuICAgICAgICAkc3RhcnQ6ICRzdGFydCArICRzdGVwO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLyBGT0xEUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gX2xzdC1yZWR1Y2UoJGZuLCAkeHMsICRpbml0LCAkYXJncykge1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkaW5pdDogY2FsbCgkZm4sIG50aCgkeHMsIDEpLCAkaW5pdCwgJGFyZ3MuLi4pO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuICRpbml0O1xufVxuXG4vLy8gUmVkdWNlIG5vbi1lbXB0eSBsaXN0IGJ5IGZ1bmN0aW9uICRmbi5cbi8vL1xuLy8vIEFyZ3VtZW50cyBhcmUgcGFzc2VkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcHBlYXIgaW4gdGhlIHRoZSBmdW5jdGlvblxuLy8vIHNpZ25hdHVyZSwgaS5lLiwgZm4oJHgsICRpbml0LCAuLi4pXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkaW5pdCAtIEluaXRpYWwgdmFsdWUgb2YgcmVkdWN0aW9uXG5AZnVuY3Rpb24gbHN0LXJlZHVjZSgkZm4sICR4cywgJGluaXQ6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sICRhcmdzLi4uKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJGluaXQgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEBpZiAkeHMge1xuICAgICAgICAgICAgJGluaXQ6IG50aCgkeHMsIDEpO1xuICAgICAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgXCJDYW5ub3QgcmVkdWNlIGFuIGVtcHR5IGxpc3RcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmVkdWNlKGFzLWZ1bmMoJGZuKSwgJHhzLCAkaW5pdCwgJGFyZ3MpO1xufVxuXG4vLy8gU3VtIGFsbCBlbGVtZW50cyBvZiBsaXN0LlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXN1bSgkeHMpIHtcbiAgICBAcmV0dXJuIGxzdC1yZWR1Y2UoYWRkLCAkeHMsIDApO1xufVxuXG4vLy8gTXVsdGlwbHkgYWxsIGVsZW1lbnRzIG9mIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcHJvZCgkeHMpIHtcbiAgICBAcmV0dXJuIGxzdC1yZWR1Y2UobXVsLCAkeHMsIDEpO1xufVxuXG4vLy8gVHJ1ZSBpZiBhbGwgZWxlbWVudHMgYXJlIHRydWUuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtYWxsKCR4cykge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgQGlmIG5vdCBudGgoJHhzLCAxKSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIFRydWUgaWYgYW55IGVsZW1lbnQgaXMgdHJ1ZS5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1hbnkoJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgQGlmIG50aCgkeHMsIDEpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgc29tZSBlbGVtZW50cyBwYXNzIHByZWRpY2F0ZS5cbi8vL1xuLy8vIEBhcmcgJHByZWQgLSBQcmVkaWNhdGUgZnVuY3Rpb24gKGkuZS4sIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW5zKVxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1zb21lKCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmIGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBhbGwgZWxlbWVudHMgcGFzcyBwcmVkaWNhdGUuXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtZXZlcnkoJHByZWQsICR4cywgJGFyZ3MuLi4pIHtcbiAgICAkcHJlZDogYXMtZnVuYygkcHJlZCk7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICBAaWYgbm90IGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBSZXR1cm4gbWF4aW11bSB2YWx1ZSBpbiBsaXN0XG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtbWF4KCR4cykge1xuICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICR5OiBpZigkeHMgPT0gbnVsbCwgJHgsIGxzdC1tYXgoJHhzKSk7XG4gICAgQHJldHVybiBpZigkeCA+ICR5LCAkeCwgJHkpO1xufVxuXG4vLy8gUmV0dXJuIG1pbmltdW0gdmFsdWUgaW4gbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LW1pbigkeHMpIHtcbiAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAkeTogaWYoJHhzID09IG51bGwsICR4LCBsc3QtbWluKCR4cykpO1xuICAgIEByZXR1cm4gaWYoJHggPCAkeSwgJHgsICR5KTtcbn1cblxuLy8vIEdlbmVyYWxpemVkIGpvaW4uIFJlZHVjZSBsaXN0IHdpdGggJGZuIGJ5IGFwcGx5aW5nIGJpbmFyeSBwYXJ0aXRpb25zLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBCaW5hcnkgb3BlcmF0b3IgdXNlZCB0byBqb2luIGNvbnNlY3V0aXZlIGVsZW1lbnRzLlxuLy8vIEBhcmcgJGVtcHR5IC0gTmV1dHJhbCBlbGVtZW50IHRvICRmbiAoaS5lLiwgZm4oJHgsICRlbXB0eSkgPT0+ICR4LlxuLy8vIEBhcmcgJHhzIC0gTGlzdC5cbkBmdW5jdGlvbiBsc3Qtam9pbi1ieSgkZm4sICRlbXB0eSwgJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gJGVtcHR5O1xuICAgIH1cbiAgICBAd2hpbGUgbnRoKCR4cywgMikge1xuICAgICAgICAkeXM6IG51bGw7XG4gICAgICAgICRwYWlyczogbHN0LXBhaXJ3aXNlKCR4cywgdHJ1ZSk7XG4gICAgICAgIEB3aGlsZSAkcGFpcnMgIT0gbnVsbCB7XG4gICAgICAgICAgICAkcGFpcjogbnRoKCRwYWlycywgMSk7XG4gICAgICAgICAgICAkcGFpcnM6IG50aCgkcGFpcnMsIDIpO1xuICAgICAgICAgICAgQGlmIGxlbmd0aCgkcGFpcikgPT0gMSB7XG4gICAgICAgICAgICAgICAgJHlzOiAoY2FsbCgkZm4sIG50aCgkcGFpciwgMSksICRlbXB0eSkgJHlzKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICR5czogKGNhbGwoJGZuLCBudGgoJHBhaXIsIDEpLCBudGgoJHBhaXIsIDIpKSAkeXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICR4czogJHlzO1xuICAgIH1cbiAgICBAcmV0dXJuIG50aCgkeHMsIDEpO1xufVxuXG4vLyBDT05WRVJTSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGxpc3QgZnJvbSBzdGFuZGFyZCBsaXN0cy9hcnJheVxuLy8vXG4vLy8gQGFyZyAkYXJyIC0gQSByZWd1bGFyIFNhc3MgYXJyYXkuXG5AZnVuY3Rpb24gbHN0LWZyb20tYXJyYXkoJGFyciwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiBudWxsO1xuICAgIEBlYWNoICR4IGluICRhcnIge1xuICAgICAgICAkeHM6ICgkeCAkeHMpO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkeHMsIF9sc3QtcmV2ZXJzZSgkeHMpKTtcbn1cblxuLy8vIENyZWF0ZSBsaXN0IGZyb20gbWFwXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIHJlZ3VsYXIgU2FzcyBtYXAuXG5AZnVuY3Rpb24gbHN0LWZyb20tbWFwKCRtYXAsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogbnVsbDtcbiAgICBAZWFjaCAkeCwgJHkgaW4gJG1hcCB7XG4gICAgICAgICR4czogKCgkeCAkeSkgJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHhzLCBfbHN0LXJldmVyc2UoJHhzKSk7XG59XG5cbi8vLyBGbGF0dGVuIGEgbGlzdCBvZiBhcnJheXNcbi8vL1xuLy8vIEBhcmcgJGFzIC0gTGlzdCBvZiBhcnJheXNcbkBmdW5jdGlvbiBsc3QtZmxhdHRlbigkYXJycywgJF9qb2luLXNpemU6IDEyOCkge1xuICAgIEBpZiAkYXJycyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktYXJyYXk7XG4gICAgfSBAZWxzZSBpZiBudGgoJGFycnMsIDIpID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG50aCgkYXJycywgMSk7XG4gICAgfVxuXG4gICAgJHJlczogbnVsbDtcbiAgICAkYWNjOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgJHNpemU6IDA7XG5cbiAgICBAd2hpbGUgJGFycnMge1xuICAgICAgICAkYTogbnRoKCRhcnJzLCAxKTtcbiAgICAgICAgJGFycnM6IG50aCgkYXJycywgMik7XG4gICAgICAgICRuOiBsZW5ndGgoJGEpO1xuICAgICAgICBAaWYgJG4gKyAkc2l6ZSA8PSAkX2pvaW4tc2l6ZSB7XG4gICAgICAgICAgICAkc2l6ZTogJHNpemUgKyAkbjtcbiAgICAgICAgICAgICRhY2M6IGpvaW4oJGFjYywgJGEpO1xuICAgICAgICB9IEBlbHNlIGlmICRzaXplID49ICRfam9pbi1zaXplIHtcbiAgICAgICAgICAgICRyZXM6ICgkYWNjICgkYSAoJHJlcykpKTtcbiAgICAgICAgICAgICRzaXplOiAwO1xuICAgICAgICAgICAgJGFjYzogJGZuLWVtcHR5LWFycmF5O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRyZXM6ICgkYWNjICgkcmVzKSk7XG4gICAgICAgICAgICAkc2l6ZTogJG47XG4gICAgICAgICAgICAkYWNjOiAkYTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgbGVuZ3RoKCRhY2MpICE9IDAge1xuICAgICAgICAkcmVzOiAoJGFjYyAkcmVzKTtcbiAgICB9XG4gICAgQHJldHVybiBsc3QtZmxhdHRlbihfbHN0LXJldmVyc2UoJHJlcyksICRfam9pbi1zaXplOiAyICogJF9qb2luLXNpemUpO1xufVxuXG4vLy8gQ29udmVydCBsaXN0IG9mICR4cyBpbnRvIGEgU2FzcyBhcnJheS5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC10by1hcnJheSgkeHMpIHtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgpO1xuICAgIH0gQGVsc2UgaWYgbnRoKCR4cywgMikgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gKG50aCgkeHMsIDEpLCk7XG4gICAgfVxuXG4gICAgLy8gQ29sbGVjdCBwYXJ0aWFsIHN1Yi1hcnJheXNcbiAgICAkYXJyYXlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkYXV4OiBfbHN0LWNvbnN1bWUoJHhzKTtcbiAgICAgICAgJGFycjogbnRoKCRhdXgsIDEpO1xuICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAkYXV4OiBfbHN0LWNvbnN1bWUoJHhzKTtcbiAgICAgICAgICAgICRhcnI6IGpvaW4oJGFyciwgbnRoKCRhdXgsIDEpKTtcbiAgICAgICAgICAgICR4czogbnRoKCRhdXgsIDIpO1xuICAgICAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAgICAgJGF1eDogX2xzdC1jb25zdW1lKCR4cyk7XG4gICAgICAgICAgICAgICAgJGFycjogam9pbigkYXJyLCBudGgoJGF1eCwgMSkpO1xuICAgICAgICAgICAgICAgICR4czogbnRoKCRhdXgsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRhcnJheXM6ICgkYXJyICRhcnJheXMpO1xuICAgIH1cbiAgICBAcmV0dXJuIGxzdC1mbGF0dGVuKF9sc3QtcmV2ZXJzZSgkYXJyYXlzKSk7XG59XG5cbi8vLyBGbGF0dGVuIGEgbGlzdCBvZiBtYXBzXG4vLy9cbi8vLyBAYXJnICRtYXBzIC0gTGlzdCBvZiBtYXBzXG5AZnVuY3Rpb24gbHN0LWZsYXR0ZW4tbWFwKCRtYXBzLCAkX2pvaW4tc2l6ZTogNjQpIHtcbiAgICBAaWYgbm90ICRtYXBzIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktbWFwO1xuICAgIH1cbiAgICBAd2hpbGUgbnRoKCRtYXBzLCAyKSB7XG4gICAgICAgICRuZXc6IG51bGw7XG4gICAgICAgIEB3aGlsZSAkbWFwcyB7XG4gICAgICAgICAgICAkbWFwOiBudGgoJG1hcHMsIDEpO1xuICAgICAgICAgICAgJG1hcHM6IG50aCgkbWFwcywgMik7XG4gICAgICAgICAgICBAaWYgJG1hcHMge1xuICAgICAgICAgICAgICAgICRtYXA6IG1hcC1tZXJnZSgkbWFwLCBudGgoJG1hcHMsIDEpKTtcbiAgICAgICAgICAgICAgICAkbWFwczogbnRoKCRtYXBzLCAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRuZXc6ICgkbWFwICRuZXcpO1xuICAgICAgICB9XG4gICAgICAgICRtYXBzOiBfbHN0LXJldmVyc2UoJG5ldyk7XG4gICAgfVxuICAgIEByZXR1cm4gbnRoKCRtYXBzLCAxKTtcbn1cblxuLy8vIFRyYW5zZm9ybSBsaXN0IG9mIHBhaXJzIGludG8gYSBtYXBcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC10by1tYXAoJHhzKSB7XG4gICAgJG1hcHM6IG51bGw7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRhdXg6IF9sc3QtY29uc3VtZS1wYWlycygkeHMsIDE2KTtcbiAgICAgICAgJG1hcDogbnRoKCRhdXgsIDEpO1xuICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgJG1hcHM6ICgkbWFwICRtYXBzKTtcbiAgICB9XG4gICAgQHJldHVybiBsc3QtZmxhdHRlbi1tYXAoJG1hcHMpO1xufVxuXG4vLy8gQ29lcmNlIG9iamVjdCB0byBsaXN0LiBMaXN0cyBhcmUgcmV0dXJuZWQgYXMgaXMuXG4vLy9cbi8vLyBJdCBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiB0by1sc3QgdG8gY2FzdCBvYmplY3RzIHRvIGxpc3QuXG4vLy8gICAgICogU2NhbGFycyBhcmUgY29udmVydGVkIHRvIHNpbmdsZSBhcmd1bWVudCBsaXN0cy5cbi8vLyAgICAgKiBBcnJheXMgYXJlIGNvbnZlcnRlZCB0byBsaXN0cyAoZXhjZXB0IHdoZW4gaXQgY2F1c2VzIGFtYmlndWl0eSlcbkBmdW5jdGlvbiBjb2VyY2UtdG8tbHN0KCR4cykge1xuICAgIC8vbm9pbnNwZWN0aW9uIENzc0ludmFsaWRGdW5jdGlvblxuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHhzKSA9PSAnbGlzdCcge1xuICAgICAgICBAaWYgaXMtYnJhY2tldGVkKCR4cykgb3IgbGlzdC1zZXBhcmF0b3IoJHhzKSA9PSAnY29tbWEnIHtcbiAgICAgICAgICAgIEByZXR1cm4gbHN0LWZyb20tYXJyYXkoJHhzKTtcbiAgICAgICAgfSBAZWxzZSBpZiBsZW5ndGgoJHhzKSA9PSAyIHtcbiAgICAgICAgICAgIEByZXR1cm4gJHhzO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEB3YXJuICdQbGVhc2UgYXZvaWQgdXNpbmcgc3BhY2VkLXNlcGFyYXRlZCBsaXN0cyBpbiBwbGFjZXMgdGhhdCBleHBlY3QgbGlua2VkLWxpc3RzJztcbiAgICAgICAgICAgIEByZXR1cm4gbHN0LWZyb20tYXJyYXkoJHhzKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkeHMpID09ICdtYXAnIHtcbiAgICAgICAgQHJldHVybiBsc3QtZnJvbS1tYXAoJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiAoJHhzIG51bGwpO1xufVxuIiwKCQkiLy8vIFVnbHkgcGVyZm9ybWFuY2UtZW5oYW5jaW5nIGZ1bmN0aW9ucyBmb3IgbGlzdHNcbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpICFkZWZhdWx0O1xuXG4vLyBDb25zdW1lIDggZWxlbWVudHMgb2YgbGlzdCBhbmQgcmV0dXJuIChlbGVtLWFycmF5LCB0YWlsKVxuQGZ1bmN0aW9uIF9sc3QtY29uc3VtZSgkeHMpIHtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDFcbiAgICAkeDE6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsKSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggMlxuICAgICR4MjogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyKSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggM1xuICAgICR4MzogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMpLCBudWxsO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCA0XG4gICAgJHg0OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEBpZiBub3QgJHhzIHtcbiAgICAgICAgQHJldHVybiAoJHgxLCAkeDIsICR4MywgJHg0KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggNVxuICAgICR4NTogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCwgJHg1KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggNlxuICAgICR4NjogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCwgJHg1LCAkeDYpLCBudWxsO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCA3XG4gICAgJHg3OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEBpZiBub3QgJHhzIHtcbiAgICAgICAgQHJldHVybiAoJHgxLCAkeDIsICR4MywgJHg0LCAkeDUsICR4NiwgJHg3KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggOFxuICAgICR4ODogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAcmV0dXJuICgkeDEsICR4MiwgJHgzLCAkeDQsICR4NSwgJHg2LCAkeDcsICR4OCksICR4cztcbn1cblxuLy8gQ29uc3VtZSBuIGVsZW1lbnRzIGZyb20gYSBsaXN0IG9mIHBhaXJzIGFuZCByZXR1cm4gKGVsZW0tbWFwLCB0YWlsKVxuQGZ1bmN0aW9uIF9sc3QtY29uc3VtZS1wYWlycygkeHMsICRuOiAxNikge1xuICAgICRyZXM6ICRmbi1lbXB0eS1tYXA7XG4gICAgQHdoaWxlICR4cyBhbmQgJG4gPiAwIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgKG50aCgkeCwgMSk6IG50aCgkeCwgMikpKTtcbiAgICAgICAgJG46ICRuIC0gMTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzLCAkeHM7XG59XG5cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTElTVCBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgYXJyYXlcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbiRmbi1hcnJheS1ub3QtZ2l2ZW46IHVuaXF1ZS1pZCgpICFkZWZhdWx0O1xuJGZuLWVtcHR5LWFycmF5OiBqb2luKCgpLCAoKSwgY29tbWEpICFkZWZhdWx0O1xuXG4vLyBCQVNJQyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gUmV0dXJuIGFycmF5IG9mIGEgc2luZ2xlIGVsZW1lbnQuXG4vLy9cbi8vLyBAYXJnICR4IC0gU2luZ2xlIGVsZW1lbnQgb2YgcmVzdWx0aW5nIGFycmF5LlxuQGZ1bmN0aW9uIHNpbmdsZXRvbigkeCwgJHNlcGFyYXRvcjogc3BhY2UpIHtcbiAgICBAcmV0dXJuIGFwcGVuZCgoKSwgJHgsICRzZXBhcmF0b3IpO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGFyciBjb250YWlucyAkdmFsdWUuXG4vLy9cbi8vLyBAYXJnICRhcnIgLSBJbnB1dCBhcnJheVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWVcbkBmdW5jdGlvbiBjb250YWlucygkYXJyLCAkdmFsdWUpIHtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgQGlmICR4ID09ICR2YWx1ZSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vIFJldHVybiBhbiBhcnJheSBzbGljZS5cbi8vL1xuLy8vIEBhcmcgJGFyciAtIElucHV0IGFycmF5XG4vLy8gQGFyZyAkc3RhcnQgLSBTdGFydGluZyBpbmRleFxuLy8vIEBhcmcgJGVuZCAtIEVuZGluZyBpbmRleCAob3IgbnVsbCwgdG8gc2xpY2UgdXAgdG8gdGhlIGVuZClcbkBmdW5jdGlvbiBzbGljZSgkYXJyLCAkc3RhcnQsICRlbmQ6IG51bGwpIHtcbiAgICAvLyBVZ2x5IFwicGVyZm9ybWF0aWNcIiBTYXNzIGNvZGUgOy0pXG4gICAgLy8gSG9tZXdvcms6IG1heWJlIHdlIGNhbiBrZWVwIHBlcmZvcm1hbmNlIGFuZCB3aXRoIGFuIGVsZWdhbnQgY29kZSBiYXNlZFxuICAgIC8vIG9uIGxzdC1qb2luLWJ5XG4gICAgJG46IGxlbmd0aCgkYXJyKTtcbiAgICAkZW5kOiBpZigkZW5kID09IG51bGwsICRuLCAkZW5kKTtcbiAgICAkc2l6ZTogJGVuZCAtICRzdGFydCArIDE7XG5cbiAgICBAaWYgJHNpemUgPD0gMzIge1xuICAgICAgICAkcmVzdWx0OiAoKTtcbiAgICAgICAgQHdoaWxlICRzaXplID4gOCB7XG4gICAgICAgICAgICAkcmVzdWx0OiBqb2luKCRyZXN1bHQsIChcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJHN0YXJ0KSwgbnRoKCRhcnIsICRzdGFydCArIDEpLCBudGgoJGFyciwgJHN0YXJ0ICsgMiksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRzdGFydCArIDMpLCBudGgoJGFyciwgJHN0YXJ0ICsgNCksIG50aCgkYXJyLCAkc3RhcnQgKyA1KSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJHN0YXJ0ICsgNiksIG50aCgkYXJyLCAkc3RhcnQgKyA3KVxuICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAkc2l6ZTogJHNpemUgLSA4O1xuICAgICAgICAgICAgJHN0YXJ0OiAkc3RhcnQgKyA4O1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGFyciwgJGkpKTtcbiAgICAgICAgfVxuICAgICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICRmaXJzdC1lbmQ6ICRzdGFydCArIGZsb29yKCRzaXplIC8gMikgLSAxO1xuICAgICAgICBAcmV0dXJuIGpvaW4oXG4gICAgICAgICAgICAgICAgc2xpY2UoJGFyciwgJHN0YXJ0LCAkZmlyc3QtZW5kKSxcbiAgICAgICAgICAgICAgICBzbGljZSgkYXJyLCAkZmlyc3QtZW5kICsgMSwgJGVuZClcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8vIENMQVNTSUMgRlAgRlVOQ1RJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBBcHBseSBmdW5jdGlvbiB0byBldmVyeSBlbGVtZW50IG9mIGFycmF5LlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBBIGJpbmFyeSBvcGVyYXRvciBmdW5jdGlvblxuLy8vIEBhcmcgJGFyciAtIEFycmF5XG5AZnVuY3Rpb24gbWFwKCRmbiwgJGFyciwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeXM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgJHlzOiBhcHBlbmQoJHlzLCBjYWxsKCRmbiwgJHgsICRhcmdzLi4uKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gS2VlcCBvbmx5IGVsZW1lbnRzIG9mIGFycmF5IHRoYXQgcGFzcyBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkYXJyIC0gQXJyYXlcbkBmdW5jdGlvbiBmaWx0ZXIoJGZuLCAkYXJyLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR5czogJGZuLWVtcHR5LWFycmF5O1xuICAgIEBlYWNoICR4IGluICRhcnIge1xuICAgICAgICBAaWYgY2FsbCgkZm4sICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgJHlzOiBhcHBlbmQoJHlzLCAkeCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkeXM7XG59XG5cbi8vLyBSZWR1Y2UgYXJyYXkgYnkgZnVuY3Rpb25cbi8vL1xuLy8vIEFyZ3VtZW50cyBhcmUgcGFzc2VkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcHBlYXIgaW4gdGhlIHRoZSBmdW5jdGlvblxuLy8vIHNpZ25hdHVyZSwgaS5lLiwgZm4oJHgsICRpbml0LCAuLi4pXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkYXJyIC0gTGlzdFxuLy8vIEBhcmcgJGluaXQgLSBJbml0aWFsIHZhbHVlIG9mIHJlZHVjdGlvblxuQGZ1bmN0aW9uIHJlZHVjZSgkZm4sICRhcnIsICRpbml0OiAkZm4tYXJyYXktbm90LWdpdmVuLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR5OiAkaW5pdDtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgJHk6IGlmKCR5ID09ICRmbi1hcnJheS1ub3QtZ2l2ZW4sICR4LCBjYWxsKCRmbiwgJHgsICR5LCAkYXJncy4uLikpO1xuICAgIH1cbiAgICBAaWYgJHkgPT0gJGZuLWFycmF5LW5vdC1naXZlbiB7XG4gICAgICAgIEBlcnJvciBcIkVtcHR5IGFycmF5XCI7XG4gICAgfVxuICAgIEByZXR1cm4gJHk7XG59XG5cbi8vLyBLZWVwIG9ubHkgZWxlbWVudHMgb2YgYXJyYXkgdGhhdCBwYXNzIHByZWRpY2F0ZSBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gQSBiaW5hcnkgb3BlcmF0b3IgZnVuY3Rpb25cbi8vLyBAYXJnICRhcnIgLSBBcnJheVxuQGZ1bmN0aW9uIHNlcGFyYXRlKCRmbiwgJGFyciwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkYXM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICAkYnM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgQGlmIGNhbGwoJGZuLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICRhczogYXBwZW5kKCRhcywgJHgpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRiczogYXBwZW5kKCRicywgJHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gKCRhcywgJGJzKTtcbn1cblxuLy8gQ0hVTktFRCBJVEVSQVRJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgd2lsbCBiZSB0aGUgYmFzaXMgb2YgYSBzZXJpZXMgb2Ygb3B0aW1pemF0aW9ucyBmb3IgbWFwLCBmaWx0ZXIsIGV0Yy5cbi8vIENodW5rZWQgaXRlcmF0aW9uIGFsbG93IHVzIHRvIGxpbWl0IHRoZSBPKG5eMikgYmVoYXZpb3Igb2YgdGhvc2UgZnVuY3Rpb25zXG4vLyB0byBhIG1vcmUgc2NhbGFibGUgbGluZWFyIGJlaGF2aW9yLiBGb3Igc21hbGwgYXJyYXlzIChidXQgaG93IHNtYWxsPyksXG4vLyBxdWFkcmF0aWMgYmVoYXZpb3IgaXMgZmFzdGVyIHRoYW4gbGluZWFyLlxuXG4vLy8gQ29udmVydCBhcnJheSB0byBhIChsaW5rZWQtKWxpc3Qgb2YgYXJyYXkgY2h1bmtzLlxuLy8vXG4vLy8gQGFyZyAkYXJyIC0gQXJyYXlcbi8vLyBAYXJnICRuIC0gQ2h1bmsgc2l6ZVxuLy8vIEBhcmcgJHJldmVyc2UgLSBUcnVlIHRvIGluY2x1ZGUgY2h1bmtzIGluIHJldmVyc2Ugb3JkZXIgKGZhc3RlcilcbkBmdW5jdGlvbiBjaHVua3MoJGFyciwgJG4sICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICRzaXplLXBsdXMtb25lOiBsZW5ndGgoJGFycikgKyAxO1xuICAgICRjaHVua3M6IG51bGw7XG4gICAgJGVuZDogMTtcbiAgICBAd2hpbGUgJGVuZCA8ICRzaXplLXBsdXMtb25lIHtcbiAgICAgICAgJGNodW5rOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgICAgIEBpZiAkbiA9PSA4IGFuZCAkc2l6ZS1wbHVzLW9uZSA+PSAkZW5kICsgOCB7XG4gICAgICAgICAgICAkY2h1bms6IChcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyAxKSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDIpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgMyksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyA0KSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDUpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgNiksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyA3KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gJGVuZCB0byBtaW4oJGVuZCArICRuLCAkc2l6ZS1wbHVzLW9uZSkge1xuICAgICAgICAgICAgICAgICRjaHVuazogYXBwZW5kKCRjaHVuaywgbnRoKCRhcnIsICRpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJGNodW5rczogKCRjaHVuayAkY2h1bmtzKTtcbiAgICAgICAgJGVuZDogJGVuZCArICRuO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkY2h1bmtzLCBsc3QtcmV2ZXJzZSgkY2h1bmtzKSk7XG59XG5cbi8vLyBKb2luIGEgKGxpbmtlZC0pIGxpc3Qgb2YgY2h1bmtzIGNyZWF0ZWQgYnkgdGhlIGNodW5rcyBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGNodW5rcyAtIExpc3Qgb2YgY2h1bmtzXG4vLy8gQGFyZyAkcmV2ZXJzZSAtIFRydWUgaWYgY2h1bmtzIGFyZSBpbmNsdWRlZCBpbiByZXZlcnNlIG9yZGVyXG5AZnVuY3Rpb24gam9pbi1jaHVua3MoJGNodW5rcywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgQGlmIG5vdCAkY2h1bmtzIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktYXJyYXk7XG4gICAgfVxuXG4gICAgJGExOiBudGgoJGNodW5rcywgMSk7XG4gICAgJGNodW5rczogbnRoKCRjaHVua3MsIDIpO1xuICAgIEBpZiBub3QgJGNodW5rcyB7XG4gICAgICAgIEByZXR1cm4gJGExO1xuICAgIH1cblxuICAgICRhMjogbnRoKCRjaHVua3MsIDEpO1xuICAgICRjaHVua3M6IG50aCgkY2h1bmtzLCAyKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCBqb2luKCRhMiwgJGExKSwgam9pbigkYTEsICRhMikpO1xuICAgIH1cblxuICAgICRhMzogbnRoKCRjaHVua3MsIDEpO1xuICAgICRjaHVua3M6IG50aCgkY2h1bmtzLCAyKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCBqb2luKGpvaW4oJGEzLCAkYTIpLCAkYTEpLCBqb2luKGpvaW4oJGExLCAkYTIpLCAkYTMpKTtcbiAgICB9XG5cbiAgICAkYTQ6IG50aCgkY2h1bmtzLCAxKTtcbiAgICAkY2h1bmtzOiBudGgoJGNodW5rcywgMik7XG4gICAgJHByZWZpeDogaWYoJHJldmVyc2UsXG4gICAgICAgIGpvaW4oam9pbigkYTQsICRhMyksIGpvaW4oJGEyLCAkYTEpKSxcbiAgICAgICAgam9pbihqb2luKCRhMSwgJGEyKSwgam9pbigkYTMsICRhNCkpXG4gICAgKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuICRwcmVmaXg7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsXG4gICAgICAgIGpvaW4oam9pbi1jaHVua3MoJGNodW5rcyksICRwcmVmaXgsIGNvbW1hKSxcbiAgICAgICAgam9pbigkcHJlZml4LCBqb2luLWNodW5rcygkY2h1bmtzKSwgY29tbWEpKTtcbn1cblxuLy8gQ09OVkVSU0lPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIENvbnZlcnQgdmFsdWUgdG8gbGlzdC5cbi8vLyBMaXN0cyBhcmUgcmV0dXJuZWQgYXMtaXMsIG1hcHMgYmVjb21lIGxpc3Qgb2YgMi10dXBsZXMgYW5kIG90aGVyIGVsZW1lbnRzXG4vLy8gYmVjb21lIGEgbGlzdCB3aXRoIGEgc2luZ2xlIHZhbHVlXG4vLy9cbi8vLyBAYXV0aG9yIC0gaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vIEBhcmcgJHZhbHVlIC0gb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxuLy8vIEBhcmcgJGtlZXAgLSBjYW4gYmUgJ2tleXMnLCAndmFsdWVzJyBvciAnYm90aCcgKGRlZmF1bHQpLiBJdCBhZmZlY3RzIGNvbnZlcnNpb24gb2YgbWFwcy5cbkBmdW5jdGlvbiB0by1hcnJheSgkdmFsdWUsICRrZWVwOiAnYm90aCcpIHtcbiAgICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyB7XG4gICAgICAgICRrZXlzOiAoKTtcbiAgICAgICAgJHZhbHVlczogKCk7XG5cbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkdmFsdWUge1xuICAgICAgICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAgICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgICAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgICAgIH0gQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gaWYodHlwZS1vZigkdmFsdWUpICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkdmFsdWUpO1xufVxuXG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEZVTkNUSU9OUyBUSEFUIE9QRVJBVEUgT04gQkFTSUMgU0FTUyBEQVRBVFlQRVNcbi8vLyBAZ3JvdXAgbWFwIGZ1bmN0aW9uc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnbGlzdCc7XG5cbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpO1xuXG4vLy8gUmV0dXJuIHZhbHVlIGlmIGtleSBleGlzdHMgb24gbWFwLCBvdGhlcndpc2UgcmV0dXJuIGRlZmF1bHQuXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBtYXAgdG8gb3BlcmF0ZSBmcm9tXG4vLy8gQGFyZyAka2V5IC0ga2V5XG4vLy8gQGFyZyAkZGVmYXVsdCAtIGRlZmF1bHQgdmFsdWUuIElmIG5vdCBnaXZlbiBhbmQga2V5IG5vdCBwcmVzZW50LCByZXR1cm4gbnVsbDtcbkBmdW5jdGlvbiBtYXAtcmVhZCgkbWFwLCAka2V5LCAkZGVmYXVsdDogbnVsbCkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICBAcmV0dXJuIGlmKCR2YWx1ZSA9PSBudWxsLCAkZGVmYXVsdCwgJHZhbHVlKTtcbn1cblxuLy8vIEpvaW4gYSAobGlua2VkLSlsaXN0IG9mIG1hcHMgdG9nZXRoZXIuIEVudHJpZXMgaW4gbGF0ZXIgbWFwcyBvdmVycmlkZVxuLy8vIHByZXZpb3VzbHkgZGVmaW5lZCB2YWx1ZXMuXG4vLy9cbi8vLyBAYXJnICRtYXBzIC0gYSBsaXN0IG9mIG1hcHNcbkBmdW5jdGlvbiBtYXAtam9pbigkbWFwcykge1xuICAgICRtYXBzOiB0by1sc3QoJG1hcHMpO1xuICAgICRyZXN1bHQ6IG1hcC1yZW1vdmUoKCksIG51bGwpO1xuICAgIEB3aGlsZSAkbWFwcyAhPSBudWxsIHtcbiAgICAgICAgJG1hcDogY2FyKCRtYXBzKTtcbiAgICAgICAgJG1hcHM6IGNkcigkbWFwcyk7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAkbWFwKTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gQ29udmVydCBhcmd1bWVudCB0byBtYXAuIFdvcmtzIGZvciBsaXN0cyBvZiAyLXR1cGxlcyBhbmQgbWFwcy5cbi8vL1xuLy8vIEBhcmcgJG9iaiAtIEEgbWFwIG9yIGxpc3Qgb2JqZWN0LlxuQGZ1bmN0aW9uIHRvLW1hcCgkb2JqKSB7XG4gICAgQGlmIHR5cGUtb2YoJG9iaikgPT0gbGlzdCB7XG4gICAgICAgICRyZXN1bHQ6ICgpO1xuICAgICAgICBAZWFjaCAkaywgJHYgaW4gJG9iaiB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrOiAkdikpXG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkcmVzdWx0XG4gICAgfSBAZWxzZSBpZiAodHlwZS1vZigkb2JqKSA9PSBtYXApIHtcbiAgICAgICAgQHJldHVybiAkb2JqO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBhcmd1bWVudCB0byBtYXAuXCJcbiAgICB9XG59XG5cbi8vLyBNZXJnZSB0d28gbWFwcyB1cCB0byBvbmUgbGV2ZWwgb2YgbmVzdGluZy5cbi8vL1xuLy8vIEBhcmcgJG1hcDFcbi8vLyBAYXJnICRtYXAyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIG1hcC1tZXJnZS1uZXN0ZWQoKGZvbzogKHg6IDEsIHk6IDMpKSxcbi8vLyAgICAgICAgICAgICAgICAgICAgICAoZm9vOiAoeTogMiwgejogMyksIGJhcjogYmF6KSk7XG4vLy8gICAgIC8vIChmb286ICh4OiAxLCB5OiAyLCB6OiAzKSwgYmFyOiBiYXopXG5AZnVuY3Rpb24gbWFwLW1lcmdlLW5lc3RlZCgkbWFwMSwgJG1hcDIpIHtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJG1hcDEsICRtYXAyKTtcblxuICAgIC8vIE1lcmdlIHN1Yi1tYXBzIGZyb20gbWFwMVxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwMSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIGFuZCBtYXAtaGFzLWtleSgkbWFwMiwgJGtleSkge1xuICAgICAgICAgICAgJHZhbHVlOiBtYXAtbWVyZ2UoJHZhbHVlLCBtYXAtZ2V0KCRtYXAyLCAka2V5KSk7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIE1lcmdlIHR3byBtYXBzIHdpdGggYXJiaXRyYXJ5IG5lc3RpbmcuXG4vLy9cbi8vLyBNYXBzIGFyZSBtZXJnZWQuIElmIGEgdmFsdWUgaXMgYSBtYXAgaW4gb25lIGRpY3Rpb25hcnksIGJ1dCBub3QgaW4gdGhlXG4vLy8gb3RoZXIsIGl0IGlzIG1lcmdlZCBhbmQgc2F2ZWQgaW50byB0aGUgKCRrZXktbmFtZTogJHZhbHVlKS4gTnVsbCB2YWx1ZXNcbi8vLyBhcmUgb21pdHRlZC5cbi8vL1xuLy8vIEBhcmcgJG1hcDFcbi8vLyBAYXJnICRtYXAyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIG1hcC1tZXJnZS1uZXN0ZWQoKGZvbzogKHg6IDEsIHk6ICh6OiAzKSksXG4vLy8gICAgICAgICAgICAgICAgICAgICAgKGZvbzogKHk6ICh3OiA0KSwgYmFyOiBiYXopKTtcbi8vLyAgICAgLy8gKGZvbzogKHg6IDEsIHk6ICh6OiAzLCB3OiA0KSwgYmFyOiBiYXopXG5AZnVuY3Rpb24gbWFwLW1lcmdlLWRlZXAoJG1hcDEsICRtYXAyLCAka2V5OiB2YWx1ZSkge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkbWFwMSwgJG1hcDIpO1xuXG4gICAgLy8gTWVyZ2Ugc3ViLW1hcHMgZnJvbSBtYXAxXG4gICAgQGVhY2ggJGssICR2MSBpbiAkbWFwMSB7XG4gICAgICAgICR2MjogbWFwLWdldCgkbWFwMiwgJGspO1xuICAgICAgICBAaWYgdHlwZS1vZigkdjEpID09IG1hcCBhbmQgdHlwZS1vZigkdjIpID09IG1hcCB7XG4gICAgICAgICAgICAkdmFsdWU6IG1hcC1tZXJnZS1kZWVwKCR2MSwgJHYyLCAka2V5KTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHYxKSA9PSBtYXAge1xuICAgICAgICAgICAgQGlmICR2MiAhPSBudWxsIGFuZCAka2V5ICE9IG51bGwge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogbWFwLW1lcmdlKCR2MSwgKCRrZXk6ICR2MikpO1xuICAgICAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgkazogJHYxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdjIpID09IG1hcCBhbmQgJHYxICE9IG51bGwgYW5kICRrZXkgIT0gbnVsbCB7XG4gICAgICAgICAgICAkdmFsdWU6IG1hcC1tZXJnZSgoJGtleTogJHYxKSwgJHYyKTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIEZldGNoIGtleXMgaW4gcGF0aCByZWN1cnNpdmVseS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgbWFwLXBhdGgoKCdmb28nOiAoJ2Jhcic6ICdiYXonKSksIEwoJ2ZvbycsICdiYXInKSkgPT0+ICdiYXonXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBhIG1hcCB0byBleHRyYWN0IHRoZSB2YWx1ZSBmcm9tXG4vLy8gQGFyZyAkcGF0aCAtIChsaW5rZWQtKWxpc3Qgb2YgdmFsdWVzXG4vLy8gQGFyZyAkZGVmYXVsdCAtIGZhbGxiYWNrIHZhbHVlIGlmIGtleSBpcyBub3QgcHJlc2VudFxuQGZ1bmN0aW9uIG1hcC1wYXRoKCRtYXAsICRwYXRoLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRwYXRoOiBjb2VyY2UtdG8tbHN0KCRwYXRoKTtcbiAgICBAaWYgJHBhdGggPT0gbnVsbCB7XG4gICAgICAgIEBlcnJvciAnRW1wdHkgcGF0aCc7XG4gICAgfVxuICAgICRrZXk6IGNhcigkcGF0aCk7XG4gICAgQHdoaWxlIGNkcigkcGF0aCkgIT0gbnVsbCB7XG4gICAgICAgICRwYXRoOiBjZHIoJHBhdGgpO1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgICAgICBAaWYgJG1hcCA9PSBudWxsIHtcbiAgICAgICAgICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgJGtleTogY2FyKCRwYXRoKTtcbiAgICB9XG4gICAgQHJldHVybiBtYXAtcmVhZCgkbWFwLCAka2V5LCAkZGVmYXVsdCk7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBtYXAgaGFzIGFsbCBrZXlzIGluIHRoZSAobGlua2VkLSlsaXN0XG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIG1hcHBpbmdcbi8vLyBAYXJnICRrZXlzIC0gQSAobGlua2VkLSlsaXN0IG9mIHRlc3Qga2V5cy5cbkBmdW5jdGlvbiBtYXAtaGFzLWtleXMoJG1hcCwgJGtleXMpIHtcbiAgICAka2V5czogdG8tbHN0KCRrZXlzKTtcbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gS2VlcCBvbmx5IHRoZSBnaXZlbiBrZXlzIG9uIG1hcC5cbi8vL1xuLy8vIEBhcmcgJG1hcCAtIEEgbWFwcGluZ1xuLy8vIEBhcmcgJGtleXMgLSBBIChsaW5rZWQtKWxpc3Qgb2YgdGVzdCBrZXlzLlxuQGZ1bmN0aW9uIG1hcC1zZWxlY3QoJG1hcCwgJGtleXMpIHtcbiAgICAka2V5czogdG8tbHN0KCRrZXlzKTtcbiAgICAkcmVzdWx0OiBtYXAtcmVtb3ZlKCgpLCBudWxsKTtcblxuICAgIEB3aGlsZSAka2V5cyAhPSBudWxsIHtcbiAgICAgICAgJGtleTogY2FyKCRrZXlzKTtcbiAgICAgICAgJGtleXM6IGNkcigka2V5cyk7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6IG1hcC1nZXQoJG1hcCwgJGtleSkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZW1vdmUgdGhlIGdpdmVuIGtleXMgZnJvbSBtYXBcbi8vL1xuLy8vIEBhcmcgJG1hcCAtIEEgbWFwcGluZ1xuLy8vIEBhcmcgJGtleXMgLSBBIChsaW5rZWQtKWxpc3Qgb2YgdGVzdCBrZXlzLlxuQGZ1bmN0aW9uIG1hcC1leGNsdWRlKCRtYXAsICRrZXlzKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG4gICAgJHJlc3VsdDogJG1hcDtcblxuICAgIEB3aGlsZSAka2V5cyAhPSBudWxsIHtcbiAgICAgICAgJGtleTogY2FyKCRrZXlzKTtcbiAgICAgICAgJGtleXM6IGNkcigka2V5cyk7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1yZW1vdmUoJHJlc3VsdCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIFNlbGVjdCBmaXJzdCBlbGVtZW50IHRoYXQgbWF0Y2hlcyBvbmUgZWxlbWVudCBmcm9tIGFuIGFycmF5IG9mIGtleXMgb3IgcmV0dXJuXG4vLy8gdGhlIGdpdmVuIGRlZmF1bHRcbi8vL1xuLy8vIEBhcmcgJG1hcCAtIG1hcCB0byBvcGVyYXRlIGZyb21cbi8vLyBAYXJnICRrZXlzIC0gYXJyYXkgb2Yga2V5c1xuLy8vIEBhcmcgJGRlZmF1bHQgLSBkZWZhdWx0IHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1nZXQtZmlyc3QoJG1hcCwgJGtleXMsICRkZWZhdWx0OiBudWxsKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG5cbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gRmlsdGVyIG1hcCB0byBpbmNsdWRlIG9ubHkgaXRlbXMgaW4gd2hpY2ggdGhlIHZhbHVlIHBhc3NlcyBhIHByZWRpY2F0ZVxuLy8vXG4vLy8gQGFyZyAkcHJlZCAtIEZ1bmN0aW9uIG9yIG5hbWUgb2YgYm9vbGVhbiBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8gZmlsdGVyIGl0ZW1zLlxuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuQGZ1bmN0aW9uIG1hcC1maWx0ZXItdmFsdWVzKCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRwcmVkOiBhcy1mdW5jKCRwcmVkKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkdmFsdWUsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIEFwcGx5IGZ1bmN0aW9uIHRvIGFsbCB2YWx1ZXMgaW4gbWFwXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG5AZnVuY3Rpb24gbWFwLWFwcGx5LXZhbHVlcygkZm4sICRtYXAsICRhcmdzLi4uKSB7XG4gICAgJGZ1bmM6IGFzLWZ1bmMoJGZuKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogY2FsbCgkZnVuYywgJHZhbHVlLCAkYXJncy4uLikpKTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gQXBwbHkgZnVuY3Rpb24gdG8gdGhlIGtleXMgb2YgYSBnaXZlbiBtYXAuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG5AZnVuY3Rpb24gbWFwLWFwcGx5LWtleXMoJGZuLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICRhY2M6ICRmbi1lbXB0eS1tYXA7XG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICAkYWNjOiBtYXAtbWVyZ2UoJGFjYywgKGNhbGwoJGZuLCAkaywgJGFyZ3MuLi4pOiAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRhY2M7XG59XG5cbkBmdW5jdGlvbiBfZm4td2l0aC1wcmVmaXgoJHgsICRwcmVmaXgpIHtcbiAgICBAcmV0dXJuICcjeyRwcmVmaXh9I3skeH0nO1xufVxuXG4vLy8gQWRkIHByZWZpeGVzIHRvIGFsbCBrZXlzIG9mIG1hcFxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG4vLy8gQGFyZyAkcHJlZml4ZXMuLi4gLSBTdHJpbmdzIHRvIGFkZCBhcyBwcmVmaXhcbkBmdW5jdGlvbiBtYXAtcHJlZml4LWtleXMoJG1hcCwgJHByZWZpeGVzLi4uKSB7XG4gICAgJHJlczogbWFwLXJlbW92ZSgoKSwgbnVsbCk7XG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgbWFwLWFwcGx5LWtleXMoX2ZuLXdpdGgtcHJlZml4LCAkbWFwLCAkcHJlZml4KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIEV4dHJhY3QgaW5mb3JtYXRpb24gb24gJHBhdGggZnJvbSBhIChsaW5rZWQtKWxpc3Qgb2YgbXVsdGlwbGUgJG1hcHMuXG4vLy9cbi8vLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWZ1bCB0byBpbXBsZW1lbnQgYWNjZXNzIHRvIG5lc3RlZCBjb25maWd1cmF0aW9uIG1hcHMsXG4vLy8gd2hlbiB3ZSB3YW50IHRvIG1lcmdlIHRoZSByZXN1bHRzIG9mIGRpZmZlcmVudCBzb3VyY2VzIHRvIHdvcmsgYXMgYSBzaW5nbGVcbi8vLyBuZXN0ZWQgbWFwcGluZy5cbi8vL1xuLy8vIEBhcmcgJG1hcHMgLSBhIChsaW5rZWQtKWxpc3Qgb2YgbWFwcy5cbi8vLyBAYXJnICRwYXRoIC0gYSAobGlua2VkLSlsaXN0IGxvY2F0aW9uIG9mIGVudHJ5IG9uIG1hcHMuXG4vLy8gQGFyZyAkZGVmYXVsdCAtIHJlc3VsdCB0aGlzIHZhbHVlLCBpZiBnaXZlbiwgd2hlbiByZXF1ZXN0ZWQgZGF0YSBpcyBub3Rcbi8vLyAgICAgICAgICAgICAgICAgcHJlc2VudCBvbiBtYXBzXG5AZnVuY3Rpb24gbWFwLXBhdGgtbWVyZ2UoJG1hcHMsICRwYXRoLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRtYXBzOiB0by1sc3QoJG1hcHMpO1xuICAgIEBpZiAkbWFwcz09IG51bGwge1xuICAgICAgICBAZXJyb3IgJ01hcHMgY2Fubm90IGJlIGVtcHR5JztcbiAgICB9XG5cbiAgICAvL25vaW5zcGVjdGlvbiBDc3NJbnZhbGlkRnVuY3Rpb25cbiAgICBAd2hpbGUgJG1hcHMge1xuICAgICAgICAkbWFwOiBudGgoJG1hcHMsIDEpO1xuICAgICAgICAkbWFwczogbnRoKCRtYXBzLCAyKTtcbiAgICAgICAgJGRlZmF1bHQ6IF9mbi1tZXJnZS1kZWZhdWx0KCRkZWZhdWx0LCBtYXAtcGF0aCgkbWFwLCAkcGF0aCkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbkBmdW5jdGlvbiBfZm4tbWVyZ2UtZGVmYXVsdCgkdmFsdWUsICRuZXcpIHtcbiAgICBAaWYgJG5ldyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gJG5ldztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJG5ldykgPT0gbWFwIGFuZCB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgQHJldHVybiBtYXAtbWVyZ2UtbmVzdGVkKCR2YWx1ZSwgJG5ldyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRuZXcpID09IG1hcCB7XG4gICAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCh2YWx1ZTogJHZhbHVlKSwgJG5ldyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJHZhbHVlLCAodmFsdWU6ICRuZXcpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAkbmV3O1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEF1eGlsaWFyeSBub24tYXBpIGZ1bmN0aW9uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBfbWFwLWdldDIoJG1hcCwgJGtleTEsICRrZXkyKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJG1hcCwgJGtleTEpLCAka2V5Mik7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFNUUklORyBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgc3RyaW5nIGZ1bmN0aW9uc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnbGlzdCc7XG5cbi8vLyBQYXJ0aXRpb24gc3RyaW5nIGludG8gc2VwYXJhdG9yIGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgKHByZWZpeCwgc2VwLCBwb3N0Zml4KS5cbi8vLyBJZiBlbGVtZW50IGlzIG5vdCBmb3VuZCBvbiBzdHJpbmcsIHJldHVybiAoc3QsICcnLCAnJykuIEluIGFsbCBjYXNlcyxcbi8vLyBgJHN0ID09IHN0ci5qb2luKEwoc3RyLXBhcnRpdGlvbigkc3QpLi4uKSlgLlxuLy8vXG4vLy8gQGFyZyAkc3QgLSBTdHJpbmdcbi8vLyBAYXJnICRzZXAgLSBTZXBhcmF0b3JcbkBmdW5jdGlvbiBzdHItcGFydGl0aW9uKCRzdCwgJHNlcCkge1xuICAgICRpZHg6IHN0ci1pbmRleCgkc3QsICRzZXApO1xuICAgIEBpZiAkaWR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgkc3QsICcnLCAnJyk7XG4gICAgfVxuICAgICRwcmU6IHN0ci1zbGljZSgkc3QsIDEsICRpZHggLSAxKTtcbiAgICAkcG9zdDogc3RyLXNsaWNlKCRzdCwgJGlkeCArIHN0ci1sZW5ndGgoJHNlcCkpO1xuICAgIEByZXR1cm4gKCRwcmUsICRzZXAsICRwb3N0KTtcbn1cblxuLy8vIFNwbGl0IHN0cmluZyBpbnRvIHNlcGFyYXRvciBhbmQgcmV0dXJuIGEgKGxpbmtlZC0pbGlzdCBvZiBzdHJpbmdzXG4vLy9cbi8vLyBAYXJnICRzdCAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQGFyZyAkc2VwIC0gU2VwYXJhdG9yXG5AZnVuY3Rpb24gc3RyLXNwbGl0KCRzdCwgJHNlcCkge1xuICAgICRpZHg6IHN0ci1pbmRleCgkc3QsICRzZXApO1xuICAgIEBpZiAkaWR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgkc3QgbnVsbCk7XG4gICAgfVxuICAgICRwcmU6IHN0ci1zbGljZSgkc3QsIDEsICRpZHggLSAxKTtcbiAgICAkcG9zdDogc3RyLXNsaWNlKCRzdCwgJGlkeCArIHN0ci1sZW5ndGgoJHNlcCkpO1xuICAgIEByZXR1cm4gKCRwcmUgc3RyLXNwbGl0KCRwb3N0LCAkc2VwKSk7XG59XG5cbi8vLyBKb2luIGFsbCB2YWx1ZXMgaW4gYSAobGlua2VkLSlsaXN0IG9mIHN0cmluZ3MgaW50byBhIHNpbmdsZSBzdHJpbmcuXG4vLy9cbi8vLyBAYXJnICR4cyAtIElucHV0IGxpc3Rcbi8vLyBAYXJnICRzZXAgLSBPcHRpb25hbCBzZXBhcmF0b3JcbkBmdW5jdGlvbiBzdHItam9pbigkeHMsICRzZXA6ICcnKSB7XG4gICAgJHhzOiBjb2VyY2UtdG8tbHN0KCR4cyk7XG4gICAgJHhzOiBpZigkc2VwID09ICcnLCAkeHMsIGxzdC1pbnRlcnNwZXJzZSgkeHMsICRzZXApKTtcbiAgICBAcmV0dXJuIGxzdC1qb2luLWJ5KGFkZCwgJycsICR4cyk7XG59XG5cbi8vLyBSZXBsYWNlIGAkc3ViYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdGBcbi8vL1xuLy8vIEBhcmcgJHN0IC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAYXJnICRzdWIgLSBTdWJzdHJpbmdcbi8vLyBAYXJnICRyZXBsYWNlIC0gUmVwbGFjZW1lbnQgKGRlZmF1bHRzIHRvIGVtcHR5IHN0cmluZylcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3QsICRzdWIsICRyZXBsYWNlOiAnJykge1xuICAgIEByZXR1cm4gc3RyLWpvaW4oc3RyLXNwbGl0KCRzdCwgJHN1YiksICRyZXBsYWNlKTtcbn1cblxuLy8vIENoZWNrcyBpZiBzdHJpbmcgc3RhcnRzIHdpdGggZ2l2ZW4gc3ViLXN0cmluZ1xuLy8vXG4vLy8gQGFyZyAkc3RyIC0gaW5wdXQgc3RyaW5nXG4vLy8gQGFyZyAkcHJlZml4IC0gc3Vic3RyaW5nIHByZWZpeFxuQGZ1bmN0aW9uIHN0ci1zdGFydHMtd2l0aCgkc3RyLCAkcHJlZml4KSB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0ciwgMSwgc3RyLWxlbmd0aCgkcHJlZml4KSkgPT0gJHByZWZpeDtcbn1cblxuLy8vIENoZWNrcyBpZiBzdHJpbmcgZW5kcyB3aXRoIGdpdmVuIHN1Yi1zdHJpbmdcbi8vL1xuLy8vIEBhcmcgJHN0ciAtIGlucHV0IHN0cmluZ1xuLy8vIEBhcmcgJHN1ZmZpeC0gc3Vic3RyaW5nIHN1ZmZpeFxuQGZ1bmN0aW9uIHN0ci1lbmRzLXdpdGgoJHN0ciwgJHN1ZmZpeCkge1xuICAgICRuOiBzdHItbGVuZ3RoKCRzdWZmaXgpO1xuICAgIEBpZiAkbiA+IHN0ci1sZW5ndGgoJHN0cikge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAkZW5kOiBzdHItc2xpY2UoJHN0ciwgLSRuKTtcbiAgICBAcmV0dXJuICRlbmQgPT0gJHN1ZmZpeDtcbn1cblxuXG4vLy8gSW50ZXJwb2xhdGUgYWxsIHN1YnN0aXR1dGlvbiBlbGVtZW50cyBpbiB0aGUgZ2l2ZW4gdGVtcGxhdGUgc3RyaW5nLlxuLy8vIEludGVycG9sYXRpb24gcG9pbnRzIGluIHRoZSB0ZW1wbGF0ZSBzdHJpbmcgYXJlIGlkZW50aWZpZWQgYXMgJDEsICQyLCAkMywgZXRjXG4vLy8gYW5kICRzdWJzIGlzIGEgKGxpbmtlZC0pIGxpc3Qgb2YgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZyAkc3QgLSBUZW1wbGF0ZSBzdHJpbmcuXG4vLy8gQGFyZyAkc3VicyAtIChsaW5rZWQtKWxpc3Qgb2Ygc3Vic3RpdHV0aW9uIHZhbHVlcy5cbkBmdW5jdGlvbiBzdHItaW50ZXJwb2xhdGUoJHN0LCAkc3Vicykge1xuICAgICRzdWJzOiBjb2VyY2UtdG8tbHN0KCRzdWJzKTtcbiAgICAkaWR4OiAxO1xuICAgIEB3aGlsZSAkc3VicyB7XG4gICAgICAgICRzdWI6IGNhcigkc3Vicyk7XG4gICAgICAgICRzdWJzOiBjZHIoJHN1YnMpO1xuICAgICAgICAkc3Q6IHN0ci1yZXBsYWNlKCRzdCwgJyQjeyRpZHh9JywgJHN1Yik7XG4gICAgICAgICRpZHg6ICRpZHggKyAxO1xuICAgIH1cbiAgICBAcmV0dXJuICRzdDtcbn1cblxuIiwKCQkiLy8vL1xuLy8vIE5VTUJFUiBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgbnVtZXJpYyBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2xpc3QnO1xuXG4vLy8gQ29udmVydCBhcmd1bWVudCB0byBwZXJjZW50YWdlLlxuLy8vIEBhcmcgJHZhbHVlIC0gQSBudW1iZXIgaW5wdXRcbkBmdW5jdGlvbiBwYygkdmFsdWUpIHtcbiAgICBAaWYgdW5pdCgkdmFsdWUpID09ICcnIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWUgKiAxMDAlO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgJ0Nhbm5vdCBjb252ZXJ0ICN7dW5pdCgkdmFsdWUpfSB0byBwZXJjZW50Lic7XG4gICAgfVxufVxuXG4vLy8gUmFpc2UgdmFsdWUgdG8gaW50ZWdlciBwb3dlci5cbi8vLyBAYXJnICR2YWx1ZSAtIEEgbnVtYmVyIGlucHV0XG4vLy8gQGFyZyAkbiAtIEV4cG9uZW50XG5AZnVuY3Rpb24gcG93KCR2YWx1ZSwgJG4pIHtcbiAgICAkcmVzdWx0OiAxO1xuICAgIEBpZiAkbiA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRuIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRuIDwgMCB7XG4gICAgICAgICRuOiAtJG47XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG4ge1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAvICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZXR1cm4gYSAobGlua2VkLSlsaXN0IHdpdGggYW4gZXhwb25lbnRpYWwgcHJvZ3Jlc3Npb24gb2YgbnVtYmVycyBmb3JtaW5nXG4vLy8gdGhlIGdpdmVuIHJhdGlvLlxuLy8vXG4vLy8gQGFyZyAkcmF0aW8gLSBSYXRpbyBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIG51bWJlcnNcbi8vLyBAYXJnICRzaXplIC0gU2l6ZSBvZiB0aGUgcmVzdWx0aW5nIGxpc3Rcbi8vLyBAYXJnICRpbml0aWFsIC0gSW5pdGlhbCB2YWx1ZSAoZGVmYXVsdHMgdG8gMSlcbkBmdW5jdGlvbiBleHBvbmVudGlhbC1wcm9ncmVzc2lvbigkcmF0aW8sICRzaXplLCAkaW5pdDogMSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiAoJGluaXQgbnVsbCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHNpemUge1xuICAgICAgICAkaW5pdDogJGluaXQgKiAkcmF0aW87XG4gICAgICAgICR4czogKCRpbml0ICR4cyk7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICR4cywgbHN0LXJldmVyc2UoJHhzKSk7XG59XG5cbi8vLyBDb21wdXRlcyB0aGUgc3F1YXJlIHJvb3Qgb2YgYSBudW1iZXIgdXNpbmcgdGhlIEJhYnlsb25pYW4vTmV3dG9uJ3MgbWV0aG9kLlxuQGZ1bmN0aW9uIHNxcnQoJHgpIHtcbiAgICBAaWYgJHggPCAwIHtcbiAgICAgICAgQGVycm9yICdDYW5ub3QgY29tcHV0ZSB0aGUgc3F1YXJlIHJvb3Qgb2YgYSBuZWdhdGl2ZSBudW1iZXInO1xuICAgIH1cbiAgICAkc3FydDogMTtcbiAgICBAd2hpbGUgYWJzKCRzcXJ0ICogJHNxcnQgLSAkeCkgPiAwLjAwMDAwMDEge1xuICAgICAgICAkc3FydDogMC41ICogKCRzcXJ0ICsgJHggLyAkc3FydCk7XG4gICAgfVxuICAgIEByZXR1cm4gJHNxcnQ7XG59XG5cbi8vLyBSZXR1cm4gLTEsIDAgb3IgMSBhY2NvcmRpbmcgd2l0aCB0aGUgc2lnbiBvZiBhIG51bWVyaWNhbCBpbnB1dC5cbkBmdW5jdGlvbiBzaWduKCR4KSB7XG4gICAgQGlmICR4ID4gMCB7XG4gICAgICAgIEByZXR1cm4gMTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBpZigkeCA9PSAwLCAwLCAtMSk7XG4gICAgfVxufVxuXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAYXJnICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgICAkdW5pdHM6IChcbiAgICAgICAgJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsXG4gICAgICAgICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dyxcbiAgICAgICAgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcbiAgICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8gQ29udmVydCB2YWx1ZSB0byBudW1iZXJcbi8vLyBTZWU6IGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYXJnICR2YWx1ZSAtIElucHV0IHN0cmluZ1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJztcbiAgICB9XG5cbiAgICAkcmVzdWx0OiAwO1xuICAgICRkaWdpdHM6IDA7XG4gICAgJG1pbnVzOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSAnLSc7XG4gICAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gICAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgICAgIH1cbiAgICAgICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICAgICAgICRkaWdpdHM6IDE7XG4gICAgICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBDT0xPUiBUUkFOU0ZPUk1BVElPTlMgQU5EIFVUSUxJVElFU1xuLy8vIEBncm91cCBDb2xvclxuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kZm4tY29udHJhc3QtY29sb3Itd2hpdGU6IHdoaXRlICFkZWZhdWx0O1xuJGZuLWNvbnRyYXN0LWNvbG9yLWJsYWNrOiBibGFjayAhZGVmYXVsdDtcbiRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbjogbnVsbDtcblxuLy8vIENhbGN1bGF0ZSBsdW1pbmFuY2Ugb2YgYXJndW1lbnQuIFJldHVybnMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuXG4vLy9cbi8vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHMgYW5kXG4vLy8gaHR0cHM6Ly9tZWRpdW0uY29tL2Rldi1jaGFubmVsL3VzaW5nLXNhc3MtdG8tYXV0b21hdGljYWxseS1waWNrLXRleHQtY29sb3JzLTRiYTc2NDVkMjc5NlxuLy8vXG4vLy8gQGFyZyAkY29sb3IgLSBDb2xvciBhcmd1bWVudC5cbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICAgJHJlZDogbnRoKCRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbiwgcmVkKCRjb2xvcikgKyAxKTtcbiAgICAkZ3JlZW46IG50aCgkZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb24sIGdyZWVuKCRjb2xvcikgKyAxKTtcbiAgICAkYmx1ZTogbnRoKCRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbiwgYmx1ZSgkY29sb3IpICsgMSk7XG4gICAgQHJldHVybiAuMjEyNiAqICRyZWQgKyAuNzE1MiAqICRncmVlbiArIC4wNzIyICogJGJsdWU7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gdHdvIGNvbG9ycyBpbiBhIHNjYWxlIG9mIDAgdG8gMS5cbi8vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbi8vL1xuLy8vIEBhcmcgJGNvbG9yIC0gQ29sb3IgYXJndW1lbnQuXG4vLy8gQGFyZyAkb3RoZXIgLSBDb2xvciB0byBjb250cmFzdCB3aXRoICRjb2xvclxuQGZ1bmN0aW9uIGNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJG90aGVyKSB7XG4gICAgJGJhY2stbHVtOiBsdW1pbmFuY2UoJGNvbG9yKSArIDAuMDE7XG4gICAgJGZvcmUtbHVtOiBsdW1pbmFuY2UoJG90aGVyKSArIDAuMDE7XG4gICAgQHJldHVybiAobWF4KCRiYWNrLWx1bSwgJGZvcmUtbHVtKSAvIG1pbigkYmFjay1sdW0sICRmb3JlLWx1bSkgLSAxKSAvIDEwMDtcbn1cblxuLy8vIENob29zZSB0aGUgY29sb3IgdGhhdCBtYWtlcyBhIGJldHRlciBjb250cmFzdCB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudCBhbW9uZ1xuLy8vIHR3byBvcHRpb25zIGAkb3B0MWAgYW5kIGAkb3B0MmAuXG4vLy9cbi8vLyBAYXJnICRjb2xvciAtIFJlZmVyZW5jZSBjb2xvclxuLy8vIEBhcmcgJGNvbG9yLTEgLSBGaXJzdCBvdXRwdXQgb3B0aW9uXG4vLy8gQGFyZyAkY29sb3ItMiAtIFNlY29uZCBvdXRwdXQgb3B0aW9uXG4vLy8gQGFyZyAkYmlhcyAtIEEgZmFjdG9yIGJldHdlZW4gLTEgYW5kIDEgdG8gYXJ0aWZpY2lhbGx5IGZhdm9yICRjb2xvci0xIG92ZXIgJGNvbG9yLTJcbkBmdW5jdGlvbiBjaG9vc2UtY29udHJhc3QtY29sb3IoJGNvbG9yLCAkY29sb3ItMTogbnVsbCwgJGNvbG9yLTI6IG51bGwsICRiaWFzOiAwKSB7XG4gICAgQGlmIG5vdCAkY29sb3Ige1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgJGNvbG9yLTE6ICRjb2xvci0xIG9yICRmbi1jb250cmFzdC1jb2xvci13aGl0ZTtcbiAgICAkY29sb3ItMjogJGNvbG9yLTIgb3IgJGZuLWNvbnRyYXN0LWNvbG9yLWJsYWNrO1xuXG4gICAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgICAgIEByZXR1cm4gaWYobGlnaHRuZXNzKCRjb2xvci0xKSA8IGxpZ2h0bmVzcygkY29sb3ItMiksICRjb2xvci0xLCAkY29sb3ItMik7XG4gICAgfVxuICAgIEBpZiAoY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkY29sb3ItMSkgKiAoMSArICRiaWFzKVxuICAgICAgICAgICAgPiBjb250cmFzdC1yYXRpbygkY29sb3IsICRjb2xvci0yKSAqICgxIC0gJGJpYXMpKSB7XG4gICAgICAgIEByZXR1cm4gJGNvbG9yLTE7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJGNvbG9yLTI7XG4gICAgfVxufVxuXG4vLyBJbnRlcnBvbGF0ZSBsdW1pbmFuY2UgZnVuY3Rpb25cbiRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbjogKFxuICAgIDAuMCxcbiAgICAwLjAwMDMwMzUyNjk4MzU0ODgzNzUsXG4gICAgMC4wMDA2MDcwNTM5NjcwOTc2NzUsXG4gICAgMC4wMDA5MTA1ODA5NTA2NDY1MTI1LFxuICAgIDAuMDAxMjE0MTA3OTM0MTk1MzUsXG4gICAgMC4wMDE1MTc2MzQ5MTc3NDQxODc0LFxuICAgIDAuMDAxODIxMTYxOTAxMjkzMDI1LFxuICAgIDAuMDAyMTI0Njg4ODg0ODQxODYyNixcbiAgICAwLjAwMjQyODIxNTg2ODM5MDcsXG4gICAgMC4wMDI3MzE3NDI4NTE5Mzk1MzczLFxuICAgIDAuMDAzMDM1MjY5ODM1NDg4Mzc1LFxuICAgIDAuMDAzMzQ2NTM1NzYzODk5MTYxLFxuICAgIDAuMDAzNjc2NTA3MzI0MDQ3NDM2LFxuICAgIDAuMDA0MDI0NzE3MDE4NDk2MzA3LFxuICAgIDAuMDA0MzkxNDQyMDM3NDEwMjkzLFxuICAgIDAuMDA0Nzc2OTUzNDgwNjkzNzI5LFxuICAgIDAuMDA1MTgxNTE2NzAyMzM4Mzg2LFxuICAgIDAuMDA1NjA1MzkxNjI0MjAyNzIzLFxuICAgIDAuMDA2MDQ4ODMzMDIyODU3MDU0LFxuICAgIDAuMDA2NTEyMDkwNzkyNTk0NDc1LFxuICAgIDAuMDA2OTk1NDEwMTg3MjY1Mzg3LFxuICAgIDAuMDA3NDk5MDMyMDQzMjI2MTc1LFxuICAgIDAuMDA4MDIzMTkyOTg1Mzg0OTk0LFxuICAgIDAuMDA4NTY4MTI1NjE4MDY5MzA3LFxuICAgIDAuMDA5MTM0MDU4NzAyMjIwNzg3LFxuICAgIDAuMDA5NzIxMjE3MzIwMjM3ODUsXG4gICAgMC4wMTAzMjk4MjMwMjk2MjY5MzYsXG4gICAgMC4wMTA5NjAwOTQwMDY0ODgyNDYsXG4gICAgMC4wMTE2MTIyNDUxNzk3NDM4ODUsXG4gICAgMC4wMTIyODY0ODgzNTY5MTU4NzIsXG4gICAgMC4wMTI5ODMwMzIzNDIxNzMwMTIsXG4gICAgMC4wMTM3MDIwODMwNDcyODk2ODYsXG4gICAgMC4wMTQ0NDM4NDM1OTYwOTI1NDUsXG4gICAgMC4wMTUyMDg1MTQ0MjI5MTI3MSxcbiAgICAwLjAxNTk5NjI5MzM2NTUwOTYzLFxuICAgIDAuMDE2ODA3Mzc1NzUyODg3Mzg0LFxuICAgIDAuMDE3NjQxOTU0NDg4Mzg0MDc4LFxuICAgIDAuMDE4NTAwMjIwMTI4Mzc5Njk3LFxuICAgIDAuMDE5MzgyMzYwOTU2OTM1NzIzLFxuICAgIDAuMDIwMjg4NTYzMDU2NjUyNCxcbiAgICAwLjAyMTIxOTAxMDM3NjAwMzU1NSxcbiAgICAwLjAyMjE3Mzg4NDc5MzM4NzM4NSxcbiAgICAwLjAyMzE1MzM2NjE3ODExMDQxLFxuICAgIDAuMDI0MTU3NjMyNDQ4NTA0NzU2LFxuICAgIDAuMDI1MTg2ODU5NjI3MzYxNjMsXG4gICAgMC4wMjYyNDEyMjE4OTQ4NDk4OTgsXG4gICAgMC4wMjczMjA4OTE2MzkwNzQ4OTQsXG4gICAgMC4wMjg0MjYwMzk1MDQ0MjA3OTMsXG4gICAgMC4wMjk1NTY4MzQ0Mzc4MDg4LFxuICAgIDAuMDMwNzEzNDQzNzMyOTkzNjM1LFxuICAgIDAuMDMxODk2MDMzMDczMDExNTMsXG4gICAgMC4wMzMxMDQ3NjY1NzA4ODUwNTUsXG4gICAgMC4wMzQzMzk4MDY4MDg2ODIxNyxcbiAgICAwLjAzNTYwMTMxNDg3NTAyMDM0LFxuICAgIDAuMDM2ODg5NDUwNDAxMTAwMDQsXG4gICAgMC4wMzgyMDQzNzE1OTUzNDY1LFxuICAgIDAuMDM5NTQ2MjM1Mjc2NzMyODQsXG4gICAgMC4wNDA5MTUxOTY5MDY4NTMxOSxcbiAgICAwLjA0MjMxMTQxMDYyMDgwOTY3NSxcbiAgICAwLjA0MzczNTAyOTI1Njk3MzQ2NSxcbiAgICAwLjA0NTE4NjIwNDM4NTY3NTU0LFxuICAgIDAuMDQ2NjY1MDg2MzM2ODgwMDk1LFxuICAgIDAuMDQ4MTcxODI0MjI2ODg5NDIsXG4gICAgMC4wNDk3MDY1NjU5ODQxMjcyMyxcbiAgICAwLjA1MTI2OTQ1ODM3NDA0MzI0LFxuICAgIDAuMDUyODYwNjQ3MDIzMTgwMjQ2LFxuICAgIDAuMDU0NDgwMjc2NDQyNDQyMzcsXG4gICAgMC4wNTYxMjg0OTAwNDk2MDAwOSxcbiAgICAwLjA1NzgwNTQzMDE5MTA2NzIzLFxuICAgIDAuMDU5NTExMjM4MTYyOTgxMixcbiAgICAwLjA2MTI0NjA1NDIzMTYxNzYxLFxuICAgIDAuMDYzMDEwMDE3NjUzMTY3NjcsXG4gICAgMC4wNjQ4MDMyNjY2OTI5MDU3NyxcbiAgICAwLjA2NjYyNTkzODY0Mzc3Mjg5LFxuICAgIDAuMDY4NDc4MTY5ODQ0NDAwMTcsXG4gICAgMC4wNzAzNjAwOTU2OTY1OTU4OCxcbiAgICAwLjA3MjI3MTg1MDY4MjMxNzQ4LFxuICAgIDAuMDc0MjEzNTY4MzgwMTQ5NjMsXG4gICAgMC4wNzYxODUzODE0ODEzMDc4NSxcbiAgICAwLjA3ODE4NzQyMTgwNTE4NjMzLFxuICAgIDAuMDgwMjE5ODIwMzE0NDY4MzIsXG4gICAgMC4wODIyODI3MDcxMjk4MTQ4LFxuICAgIDAuMDg0Mzc2MjExNTQ0MTQ4ODIsXG4gICAgMC4wODY1MDA0NjIwMzY1NDk3NixcbiAgICAwLjA4ODY1NTU4NjI4NTc3Mjk0LFxuICAgIDAuMDkwODQxNzExMTgzNDA3NjgsXG4gICAgMC4wOTMwNTg5NjI4NDY2ODc0NSxcbiAgICAwLjA5NTMwNzQ2NjYzMDk2NDcsXG4gICAgMC4wOTc1ODczNDcxNDE4NjI0NixcbiAgICAwLjA5OTg5ODcyODI0NzExMzg5LFxuICAgIDAuMTAyMjQxNzMzMDg4MTAxMzIsXG4gICAgMC4xMDQ2MTY0ODQwOTExMDQxOSxcbiAgICAwLjEwNzAyMzEwMjk3ODI2NzYxLFxuICAgIDAuMTA5NDYxNzEwNzc4Mjk5MzMsXG4gICAgMC4xMTE5MzI0Mjc4MzY5MDU2LFxuICAgIDAuMTE0NDM1MzczODI2OTczNzMsXG4gICAgMC4xMTY5NzA2Njc3NTg1MTA4NCxcbiAgICAwLjExOTUzODQyNzk4ODM0NTYyLFxuICAgIDAuMTIyMTM4NzcyMjI5NjAxODcsXG4gICAgMC4xMjQ3NzE4MTc1NjA5NTA0OSxcbiAgICAwLjEyNzQzNzY4MDQzNTY0NzQzLFxuICAgIDAuMTMwMTM2NDc2NjkwMzY0MyxcbiAgICAwLjEzMjg2ODMyMTU1MzgxNzk4LFxuICAgIDAuMTM1NjMzMzI5NjU1MjA1NjYsXG4gICAgMC4xMzg0MzE2MTUwMzI0NTE4MyxcbiAgICAwLjE0MTI2MzI5MTE0MDI3MTY0LFxuICAgIDAuMTQ0MTI4NDcwODU4MDU3NzcsXG4gICAgMC4xNDcwMjcyNjY0OTc1OTQ5OCxcbiAgICAwLjE0OTk1OTc4OTgxMDYwODU2LFxuICAgIDAuMTUyOTI2MTUxOTk2MTUwMTcsXG4gICAgMC4xNTU5MjY0NjM3MDc4Mjc0LFxuICAgIDAuMTU4OTYwODM1MDYwODgwNCxcbiAgICAwLjE2MjAyOTM3NTYzOTExMSxcbiAgICAwLjE2NTEzMjE5NDUwMTY2NzYsXG4gICAgMC4xNjgyNjk0MDAxODk2OTA3NSxcbiAgICAwLjE3MTQ0MTEwMDczMjgyMjYsXG4gICAgMC4xNzQ2NDc0MDM2NTU1ODUwNCxcbiAgICAwLjE3Nzg4ODQxNTk4MzYyOTEyLFxuICAgIDAuMTgxMTY0MjQ0MjQ5ODYwMjIsXG4gICAgMC4xODQ0NzQ5OTQ1MDA0NDEsXG4gICAgMC4xODc4MjA3NzIzMDA2Nzc4NyxcbiAgICAwLjE5MTIwMTY4Mjc0MDc5MTM4LFxuICAgIDAuMTk0NjE3ODMwNDQxNTc1OCxcbiAgICAwLjE5ODA2OTMxOTU1OTk0ODg2LFxuICAgIDAuMjAxNTU2MjUzNzk0Mzk3MDcsXG4gICAgMC4yMDUwNzg3MzYzOTAzMTY5MyxcbiAgICAwLjIwODYzNjg3MDE0NTI1NTc1LFxuICAgIDAuMjEyMjMwNzU3NDE0MDU1MjMsXG4gICAgMC4yMTU4NjA1MDAxMTM4OTkyNixcbiAgICAwLjIxOTUyNjE5OTcyOTI2OTIsXG4gICAgMC4yMjMyMjc5NTczMTY4MDg1LFxuICAgIDAuMjI2OTY1ODczNTEwMDk4MzYsXG4gICAgMC4yMzA3NDAwNDg1MjQzNDkxNSxcbiAgICAwLjIzNDU1MDU4MjE2MTAwNTIyLFxuICAgIDAuMjM4Mzk3NTczODEyMjcxLFxuICAgIDAuMjQyMjgxMTIyNDY1NTU0ODYsXG4gICAgMC4yNDYyMDEzMjY3MDc4MzU0OCxcbiAgICAwLjI1MDE1ODI4NDcyOTk1MzQ0LFxuICAgIDAuMjU0MTUyMDk0MzMwODI2NzUsXG4gICAgMC4yNTgxODI4NTI5MjE1OTU4LFxuICAgIDAuMjYyMjUwNjU3NTI5Njk2MjMsXG4gICAgMC4yNjYzNTU2MDQ4MDI4NjI0NyxcbiAgICAwLjI3MDQ5Nzc5MTAxMzA2NTgsXG4gICAgMC4yNzQ2NzczMTIwNjAzODQ2NSxcbiAgICAwLjI3ODg5NDI2MzQ3NjgxMDQsXG4gICAgMC4yODMxNDg3NDA0Mjk5OTIxLFxuICAgIDAuMjg3NDQwODM3NzI2OTE3NSxcbiAgICAwLjI5MTc3MDY0OTgxNzUzNTg3LFxuICAgIDAuMjk2MTM4MjcwNzk4MzIxMSxcbiAgICAwLjMwMDU0Mzc5NDQxNTc3NjUsXG4gICAgMC4zMDQ5ODczMTQwNjk4ODYzLFxuICAgIDAuMzA5NDY4OTIyODE3NTA4NTQsXG4gICAgMC4zMTM5ODg3MTMzNzU3MTc1NCxcbiAgICAwLjMxODU0Njc3ODEyNTA5MTg2LFxuICAgIDAuMzIzMTQzMjA5MTEyOTUwNzUsXG4gICAgMC4zMjc3NzgwOTgwNTY1NDIyLFxuICAgIDAuMzMyNDUxNTM2MzQ2MTc5MzUsXG4gICAgMC4zMzcxNjM2MTUwNDgzMzAzNyxcbiAgICAwLjM0MTkxNDQyNDkwODY2MDksXG4gICAgMC4zNDY3MDQwNTYzNTUwMjk2LFxuICAgIDAuMzUxNTMyNTk5NTAwNDM5MzYsXG4gICAgMC4zNTY0MDAxNDQxNDU5NDM1LFxuICAgIDAuMzYxMzA2Nzc5NzgzNTA5NSxcbiAgICAwLjM2NjI1MjU5NTU5ODgzOTUsXG4gICAgMC4zNzEyMzc2ODA0NzQxNDkxLFxuICAgIDAuMzc2MjYyMTIyOTkwOTA2NSxcbiAgICAwLjM4MTMyNjAxMTQzMjUzMDE0LFxuICAgIDAuMzg2NDI5NDMzNzg3MDQ5LFxuICAgIDAuMzkxNTcyNDc3NzQ5NzIzMjYsXG4gICAgMC4zOTY3NTUyMzA3MjU2MjY4NSxcbiAgICAwLjQwMTk3Nzc3OTgzMjE5NTgsXG4gICAgMC40MDcyNDAyMTE5MDE3MzY3LFxuICAgIDAuNDEyNTQyNjEzNDgzOTAzNzUsXG4gICAgMC40MTc4ODUwNzA4NDgxMzc1LFxuICAgIDAuNDIzMjY3NjY5OTg2MDcxNyxcbiAgICAwLjQyODY5MDQ5NjYxMzkwNjYsXG4gICAgMC40MzQxNTM2MzYxNzQ3NDg5NSxcbiAgICAwLjQzOTY1NzE3Mzg0MDkxODgsXG4gICAgMC40NDUyMDExOTQ1MTYyMjc4NixcbiAgICAwLjQ1MDc4NTc4MjgzODIyMzQ2LFxuICAgIDAuNDU2NDExMDIzMTgwNDA0NjYsXG4gICAgMC40NjIwNzY5OTk2NTQ0MDcxLFxuICAgIDAuNDY3NzgzNzk2MTEyMTU5LFxuICAgIDAuNDczNTMxNDk2MTQ4MDA5NTUsXG4gICAgMC40NzkzMjAxODMxMDA4MjY4LFxuICAgIDAuNDg1MTQ5OTQwMDU2MDcwNCxcbiAgICAwLjQ5MTAyMDg0OTg0NzgzNTYsXG4gICAgMC40OTY5MzI5OTUwNjA4NzA0LFxuICAgIDAuNTAyODg2NDU4MDMyNTY4NyxcbiAgICAwLjUwODg4MTMyMDg1NDkzMzgsXG4gICAgMC41MTQ5MTc2NjUzNzY1MjE0LFxuICAgIDAuNTIwOTk1NTczMjA0MzU0MyxcbiAgICAwLjUyNzExNTEyNTcwNTgxMzEsXG4gICAgMC41MzMyNzY0MDQwMTA1MDUyLFxuICAgIDAuNTM5NDc5NDg5MDEyMTA3MixcbiAgICAwLjU0NTcyNDQ2MTM3MDE4NjYsXG4gICAgMC41NTIwMTE0MDE1MTIwMDAxLFxuICAgIDAuNTU4MzQwMzg5NjM0MjY3OSxcbiAgICAwLjU2NDcxMTUwNTcwNDkyOTIsXG4gICAgMC41NzExMjQ4Mjk0NjQ4NzMxLFxuICAgIDAuNTc3NTgwNDQwNDI5NjUwNixcbiAgICAwLjU4NDA3ODQxNzg5MTE2NDEsXG4gICAgMC41OTA2MTg4NDA5MTkzMzY5LFxuICAgIDAuNTk3MjAxNzg4MzYzNzYzNCxcbiAgICAwLjYwMzgyNzMzODg1NTMzNzgsXG4gICAgMC42MTA0OTU1NzA4MDc4NjQ4LFxuICAgIDAuNjE3MjA2NTYyNDE5NjUxMSxcbiAgICAwLjYyMzk2MDM5MTY3NTA3NjEsXG4gICAgMC42MzA3NTcxMzYzNDYxNDY4LFxuICAgIDAuNjM3NTk2ODczOTk0MDMyNixcbiAgICAwLjY0NDQ3OTY4MTk3MDU4MjEsXG4gICAgMC42NTE0MDU2Mzc0MTk4MjQyLFxuICAgIDAuNjU4Mzc0ODE3Mjc5NDQ4NSxcbiAgICAwLjY2NTM4NzI5ODI4MjI3MixcbiAgICAwLjY3MjQ0MzE1Njk1NzY4NzUsXG4gICAgMC42Nzk1NDI0Njk2MzMwOTM4LFxuICAgIDAuNjg2Njg1MzEyNDM1MzEzNSxcbiAgICAwLjY5Mzg3MTc2MTI5MTk4OTksXG4gICAgMC43MDExMDE4OTE5MzI5NzMxLFxuICAgIDAuNzA4Mzc1Nzc5ODkxNjg2OCxcbiAgICAwLjcxNTY5MzUwMDUwNjQ4MDcsXG4gICAgMC43MjMwNTUxMjg5MjE5NjkzLFxuICAgIDAuNzMwNDYwNzQwMDkwMzUzNyxcbiAgICAwLjczNzkxMDQwODc3MjczMDgsXG4gICAgMC43NDU0MDQyMDk1NDAzODc0LFxuICAgIDAuNzUyOTQyMjE2Nzc2MDc3OSxcbiAgICAwLjc2MDUyNDUwNDY3NTI5MjQsXG4gICAgMC43NjgxNTExNDcyNDc1MDcsXG4gICAgMC43NzU4MjIyMTgzMTc0MjM2LFxuICAgIDAuNzgzNTM3NzkxNTI2MTkzNSxcbiAgICAwLjc5MTI5Nzk0MDMzMjYzMDIsXG4gICAgMC43OTkxMDI3MzgwMTQ0MDksXG4gICAgMC44MDY5NTIyNTc2NjkyNTE2LFxuICAgIDAuODE0ODQ2NTcyMjE2MTAxMixcbiAgICAwLjgyMjc4NTc1NDM5NjI4MzUsXG4gICAgMC44MzA3Njk4NzY3NzQ2NTQ2LFxuICAgIDAuODM4Nzk5MDExNzQwNzQsXG4gICAgMC44NDY4NzMyMzE1MDk4NTgsXG4gICAgMC44NTQ5OTI2MDgxMjQyMzM4LFxuICAgIDAuODYzMTU3MjEzNDU0MTAyMyxcbiAgICAwLjg3MTM2NzExOTE5ODc5NzIsXG4gICAgMC44Nzk2MjIzOTY4ODc4MzE3LFxuICAgIDAuODg3OTIzMTE3ODgxOTY2MyxcbiAgICAwLjg5NjI2OTM1MzM3NDI2NjQsXG4gICAgMC45MDQ2NjExNzQzOTExNDk2LFxuICAgIDAuOTEzMDk4NjUxNzkzNDE5MixcbiAgICAwLjkyMTU4MTg1NjI3NzI5NDYsXG4gICAgMC45MzAxMTA4NTgzNzU0MjM3LFxuICAgIDAuOTM4Njg1NzI4NDU3ODg4LFxuICAgIDAuOTQ3MzA2NTM2NzMzMTk5OSxcbiAgICAwLjk1NTk3MzM1MzI0OTI4NjEsXG4gICAgMC45NjQ2ODYyNDc4OTQ0NjUxLFxuICAgIDAuOTczNDQ1MjkwMzk4NDEyNSxcbiAgICAwLjk4MjI1MDU1MDMzMzExNzEsXG4gICAgMC45OTExMDIwOTcxMTM4Mjk4LFxuICAgIDEuMCxcbik7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFRFU1RJTkcgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIHRlc3Rpbmdcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEFzc2VydCBlcXVhbGl0eSBvbiB1bml0IHRlc3RzXG4vLy9cbi8vLyBAYXJnICRmc3QgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJHNuZCAtIFNlY29uZCBhcmd1bWVudFxuLy8vIEBhcmcgJG1zZyAtIE9wdGlvbmFsIG1lc3NhZ2Vcbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgICRkbzogYXNzZXJ0LWVxKGpvaW4oaGVsbG8sIHdvcmxkKSwgaGVsbG8gd29ybGQpO1xuQGZ1bmN0aW9uIGFzc2VydC1lcSgkZnN0LCAkc25kLCAkbXNnOiAnQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEBpZiAkZnN0ICE9ICRzbmQge1xuICAgICAgICBAZXJyb3IgJyN7JG1zZ306IGV4cGVjdCBcIiN7aW5zcGVjdCgkc25kKX1cIiwgYnV0IGdvdCBcIiN7aW5zcGVjdCgkZnN0KX1cIi4nO1xuICAgIH1cbiAgICBAcmV0dXJuICRmc3Q7XG59XG5cbi8vLyBBc3NlcnQgZm4gcmV0dXJucyB0cnVlIHdoZW4gY2FsbGVkIHdpdGggYm90aCBhcmd1bWVudHMuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkZnN0IC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRzbmQgLSBTZWNvbmQgYXJndW1lbnRcbi8vLyBAYXJnICRtc2cgLSBPcHRpb25hbCBtZXNzYWdlXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAkZG86IGFzc2VydC1mbihndCwgMiwgMyk7XG5AZnVuY3Rpb24gYXNzZXJ0LWZuKCRmbiwgJGZzdCwgJHNuZCwgJG1zZzogJ0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAaWYgY2FsbC1mbigkZm4sICRmc3QsICRzbmQpIHtcbiAgICAgICAgQHJldHVybiAkZnN0O1xuICAgIH1cbiAgICBAZXJyb3IgJyN7JG1zZ306IGNvbmRpdGlvbiAjeyRmbn0gbm90IG1ldCB3aXRoIFwiI3tpbnNwZWN0KCRmc3QpfVwiIGFuZCBcIiN7aW5zcGVjdCgkc25kKX1cIi4nO1xufVxuXG5AZnVuY3Rpb24gYXNzZXJ0LWd0KCRmc3QsICRzbmQsICRtc2c6J0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAcmV0dXJuIGFzc2VydC1mbihndCwgJGZzdCwgJHNuZCwgJG1zZylcbn1cblxuQGZ1bmN0aW9uIGFzc2VydC1sdCgkZnN0LCAkc25kLCAkbXNnOidBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQHJldHVybiBhc3NlcnQtZm4obHQsICRmc3QsICRzbmQsICRtc2cpXG59XG5cbkBmdW5jdGlvbiBhc3NlcnQtZ2UoJGZzdCwgJHNuZCwgJG1zZzonQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEByZXR1cm4gYXNzZXJ0LWZuKGdlLCAkZnN0LCAkc25kLCAkbXNnKVxufVxuXG5AZnVuY3Rpb24gYXNzZXJ0LWxlKCRmc3QsICRzbmQsICRtc2c6J0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAcmV0dXJuIGFzc2VydC1mbihsZSwgJGZzdCwgJHNuZCwgJG1zZylcbn1cblxuLy8vIEFzc2VydCBhcHByb3hpbWF0ZSBudW1lcmljYWwgZXF1YWxpdHlcbi8vL1xuLy8vIEBhcmcgJGZzdCAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkc25kIC0gU2Vjb25kIGFyZ3VtZW50XG4vLy8gQGFyZyAkdG9sIC0gTWF4aW11bSB0b2xlcmFuY2Vcbi8vLyBAYXJnICRtc2cgLSBPcHRpb25hbCBtZXNzYWdlXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAkZG86IGFzc2VydC1lcShqb2luKGhlbGxvLCB3b3JsZCksIGhlbGxvIHdvcmxkKTtcbkBmdW5jdGlvbiBhc3NlcnQtc2ltZXEoJGZzdCwgJHNuZCwgJHRvbDogMC4wMDAwMDEsICRtc2c6ICdBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQGlmIGFicygkZnN0IC0gJHNuZCkgPiAkdG9sIHtcbiAgICAgICAgQGVycm9yICcjeyRtc2d9OiBleHBlY3QgXCIje2luc3BlY3QoJHNuZCl9XCIsIGJ1dCBnb3QgXCIje2luc3BlY3QoJGZzdCl9XCIuJztcbiAgICB9XG4gICAgQHJldHVybiAkZnN0O1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gbWFwXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLyBAZ3JvdXAgQ29uZmlnXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnc3RhY2stZm9udCc7XG5AaW1wb3J0ICdzdGFjay1jb2xvcic7XG5AaW1wb3J0ICdiYXNlJztcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT05UIFNUQUNLU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRk9OVCBOQU1FU1xuXG4vLyBTeXN0ZW0gZm9udHNcbiRmb250LXN0YWNrLXN5c3RlbS1mb250OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIOKAnFNlZ29lIFVJ4oCdLCDigJxPeHlnZW7igJ0sIOKAnFVidW50deKAnSwg4oCcQ2FudGFyZWxs4oCdLCDigJxSb2JvdG/igJ0sIOKAnEZpcmEgU2Fuc+KAnSwg4oCcRHJvaWQgU2Fuc+KAnSwg4oCcSGVsdmV0aWNhIE5ldWXigJ0sIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFNhbnMtc2VyaWZcbiRmb250LXN0YWNrLXN5c3RlbS1zYW5zOiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcm9ib3RvOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIOKAnFNlZ29lIFVJ4oCdLCDigJxPeHlnZW7igJ0sIOKAnFVidW50deKAnSwg4oCcQ2FudGFyZWxs4oCdLCDigJxGaXJhIFNhbnPigJ0sIOKAnERyb2lkIFNhbnPigJ0sIOKAnEhlbHZldGljYSBOZXVl4oCdLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLW9wZW4tc2FuczogXCJPcGVuIFNhbnNcIiwgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1leG86IFwiRXhvXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcmFsZXdheTogXCJSYWxld2F5XCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stbGF0bzogXCJMYXRvXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcGF0dWEtb25lOiBcIlBhdHVhIE9uZVwiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNhbnM6ICdJQk0gUGxleCBTYW5zJywgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG5cbi8vIFNhbnMgQ29uZGVuc2VkXG4kZm9udC1zdGFjay1zeXN0ZW0tc2Fucy1jb25kZW5zZWQ6ICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stb3Blbi1zYW5zLWNvbmRlbnNlZDogXCJPcGVuIFNhbnMgQ29uZGVuc2VkXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zLWNvbmRlbnNlZCAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNhbnMtY29uZGVuc2VkOiAnSUJNIFBsZXggU2FucyBDb25zZW5zZWQnLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcblxuLy8gU2VyaWZcbiRmb250LXN0YWNrLXN5c3RlbS1zZXJpZjogc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1nZW9yZ2lhOiBcIkdlb3JnaWFcIiwgJGZvbnQtc3RhY2stc3lzdGVtLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stdGltZXM6IFwiVGltZXMgTmV3IFJvbWFuXCIsICRmb250LXN0YWNrLXN5c3RlbS1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNlcmlmOiAnSUJNIFBsZXggU2VyaWYnLCAkZm9udC1zdGFjay1zeXN0ZW0tc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIEN1cnNpdmVcbiRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlOiBjdXJzaXZlICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stY29taWMtc2FuczogXCJDb21pYyBTYW5zXCIsICRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlICFkZWZhdWx0O1xuXG4vLyBNb25vc3BhY2VcbiRmb250LXN0YWNrLXN5c3RlbS1tb25vc3BhY2U6IG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LW1vbm86IFwiSUJNIFBsZXggTW9ub1wiLCAkZm9udC1zdGFjay1zeXN0ZW0tbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBJY29uc1xuJGZvbnQtc3RhY2stZm9udC1hd2Vzb21lOiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLW1hdGVyaWFsLWljb25zOiBcIk1hdGVyaWFsIEljb25zXCIgIWRlZmF1bHQ7XG5cbiRtZW5kZWxlZXYtdHlwZWZhY2U6IG51bGwgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWN1cnNpdmU6ICRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1tb25vc3BhY2U6ICRmb250LXN0YWNrLWlibS1wbGV4LW1vbm8gIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNhbnMtc2VyaWY6ICRmb250LXN0YWNrLWV4byAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2VyaWY6ICRmb250LXN0YWNrLWlibS1wbGV4LXNlcmlmICFkZWZhdWx0O1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTE9SIE5BTUVTIEFORCBERUZBVUxUIFZBTFVFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2hpdGVzXG4kY29sb3ItYmxhY2s6ICMxNTE1MTUgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGU6IHdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLWRhcms6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1saWdodDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLWdyZXk6ICNhNzlkOTYgIWRlZmF1bHQ7XG5cbiRjb2xvci1yZWd1bGFyLXRleHQ6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1pbnZlcnNlLXRleHQ6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItaW52ZXJzZS1iYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG5cbiRjb2xvci1tdXRlZC10ZXh0OiBtaXgoJGNvbG9yLXJlZ3VsYXItdGV4dCwgJGNvbG9yLWdyZXksIDUwJSkgIWRlZmF1bHQ7XG4kY29sb3ItbXV0ZWQtYmFja2dyb3VuZDogbWl4KCRjb2xvci1iYWNrZ3JvdW5kLCAkY29sb3ItZ3JleSwgOTAlKSAhZGVmYXVsdDtcbiRjb2xvci1tdXRlZC1pbnZlcnNlLXRleHQ6IG1peCgkY29sb3ItaW52ZXJzZS10ZXh0LCAkY29sb3ItZ3JleSwgNTAlKSAhZGVmYXVsdDtcbiRjb2xvci1tdXRlZC1pbnZlcnNlLWJhY2tncm91bmQ6IG1peCgkY29sb3ItaW52ZXJzZS1iYWNrZ3JvdW5kLCAkY29sb3ItZ3JleSwgOTAlKSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kY29sb3ItcmVkOiAjZGUwMTFlICFkZWZhdWx0O1xuJGNvbG9yLW9yYW5nZTogI2YyNjIwMiAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3c6ICNmYmJkMDggIWRlZmF1bHQ7XG4kY29sb3Itb2xpdmU6ICNiNWNjMTggIWRlZmF1bHQ7XG4kY29sb3ItZ3JlZW46ICMxNmFiMzkgIWRlZmF1bHQ7XG4kY29sb3ItdGVhbDogIzAwYjVhZCAhZGVmYXVsdDtcbiRjb2xvci1ibHVlOiAjMDA2ZDkzICFkZWZhdWx0O1xuJGNvbG9yLXZpb2xldDogIzFjMDA1MiAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGU6ICM5NjI3YmEgIWRlZmF1bHQ7XG4kY29sb3ItcGluazogI2UwMzk5NyAhZGVmYXVsdDtcbiRjb2xvci1icm93bjogI2E1NjczZiAhZGVmYXVsdDtcblxuLy8gUm9sZXNcbi8vJGNvbG9yLWJyYW5kOiAkY29sb3ItdmlvbGV0ICFkZWZhdWx0O1xuJGNvbG9yLWJyYW5kOiAkY29sb3ItcmVkICFkZWZhdWx0O1xuJGNvbG9yLWFjY2VudDogJGNvbG9yLXZpb2xldCAhZGVmYXVsdDtcbiRjb2xvci1hY3Rpb246IG1peCgkY29sb3ItZ3JleSwgJGNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5OiAkY29sb3ItYnJhbmQgIWRlZmF1bHQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJGNvbG9yLXBvc2l0aXZlOiAkY29sb3ItZ3JlZW4gIWRlZmF1bHQ7XG4kY29sb3ItbmVnYXRpdmU6ICRjb2xvci1yZWQgIWRlZmF1bHQ7XG4kY29sb3Itd2FybmluZzogJGNvbG9yLXllbGxvdyAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBjb2xvciBwYWxldHRlXG4kbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6ICgpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1wYWxldHRlOiBtYXAtbWVyZ2UoKFxuICAgIC8vXG4gICAgLy8gV2hpdGVzXG4gICAgJ2JsYWNrJzogJGNvbG9yLWJsYWNrLFxuICAgICd3aGl0ZSc6ICRjb2xvci13aGl0ZSxcbiAgICAnbGlnaHQnOiAkY29sb3ItbGlnaHQsXG4gICAgJ2RhcmsnOiAkY29sb3ItZGFyayxcbiAgICAnZ3JleSc6ICRjb2xvci1ncmV5LFxuICAgICdyZWd1bGFyLXRleHQnOiAkY29sb3ItcmVndWxhci10ZXh0LFxuICAgICdpbnZlcnNlLXRleHQnOiAkY29sb3ItaW52ZXJzZS10ZXh0LFxuICAgICdiYWNrZ3JvdW5kJzogJGNvbG9yLWJhY2tncm91bmQsXG4gICAgJ2ludmVyc2UtYmFja2dyb3VuZCc6ICRjb2xvci1pbnZlcnNlLWJhY2tncm91bmQsXG4gICAgJ211dGVkLXRleHQnOiAkY29sb3ItbXV0ZWQtdGV4dCxcbiAgICAnbXV0ZWQtaW52ZXJzZS10ZXh0JzogJGNvbG9yLW11dGVkLWludmVyc2UtdGV4dCxcbiAgICAnbXV0ZWQtYmFja2dyb3VuZCc6ICRjb2xvci1tdXRlZC1iYWNrZ3JvdW5kLFxuICAgICdtdXRlZC1pbnZlcnNlLWJhY2tncm91bmQnOiAkY29sb3ItbXV0ZWQtaW52ZXJzZS1iYWNrZ3JvdW5kLFxuICAgIC8vXG4gICAgLy8gQ29sb3JzXG4gICAgJ3JlZCc6ICRjb2xvci1yZWQsXG4gICAgJ29yYW5nZSc6ICRjb2xvci1vcmFuZ2UsXG4gICAgJ3llbGxvdyc6ICRjb2xvci15ZWxsb3csXG4gICAgJ29saXZlJzogJGNvbG9yLW9saXZlLFxuICAgICdncmVlbic6ICRjb2xvci1ncmVlbixcbiAgICAndGVhbCc6ICRjb2xvci10ZWFsLFxuICAgICdibHVlJzogJGNvbG9yLWJsdWUsXG4gICAgJ3Zpb2xldCc6ICRjb2xvci12aW9sZXQsXG4gICAgJ3B1cnBsZSc6ICRjb2xvci1wdXJwbGUsXG4gICAgJ3BpbmsnOiAkY29sb3ItcGluayxcbiAgICAnYnJvd24nOiAkY29sb3ItYnJvd24sXG4gICAgLy9cbiAgICAvLyAgUm9sZXNcbiAgICAnYnJhbmQnOiAkY29sb3ItYnJhbmQsXG4gICAgJ2FjY2VudCc6ICRjb2xvci1hY2NlbnQsXG4gICAgJ2FjdGlvbic6ICRjb2xvci1hY3Rpb24sXG4gICAgJ3ByaW1hcnknOiAkY29sb3ItcHJpbWFyeSxcbiAgICAnc2Vjb25kYXJ5JzogJGNvbG9yLXNlY29uZGFyeSxcbiAgICAncG9zaXRpdmUnOiAkY29sb3ItcG9zaXRpdmUsXG4gICAgJ25lZ2F0aXZlJzogJGNvbG9yLW5lZ2F0aXZlLFxuICAgICd3YXJuaW5nJzogJGNvbG9yLXdhcm5pbmcsXG4pLCAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUpO1xuXG4vLyBEZWZhdWx0IGNvbnRyYXN0IG92ZXJyaWRlc1xuJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogKFxuICAgICMzM2MzZjA6ICRjb2xvci13aGl0ZSxcbiAgICAjMDBiNWFkOiAkY29sb3Itd2hpdGUsXG4gICAgI2I1Y2MxODogJGNvbG9yLXdoaXRlLFxuKSAhZGVmYXVsdDtcblxuJG1lbmRlbGVldi1jb2xvci1icmFuZDogJGNvbG9yLWJyYW5kO1xuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCYXNlIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vIEBncm91cCBDb25maWdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICcuLi9mbic7XG5cbiRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXR5cGVmYWNlOiBudWxsICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jdXJzaXZlOiBjdXJzaXZlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1tb25vc3BhY2U6IG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2Fucy1zZXJpZjogc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2VyaWY6IHNlcmlmICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1icmFuZDogYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05GSUdVUkFUSU9OIERJQ1RJT05BUllcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBNYWluIGNvbmZpZ3VyYXRpb24gZGljdGlvbmFyeS4gWW91IGN1c3RvbWl6ZSBNZW5kZWxlZXYgYnkgc2V0dGluZyB2YWx1ZXNcbi8vLyB0byB0aGlzIGRpY3Rpb25hcnkuXG4kY29uZmlnOiAoKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuLy8vIFRoaXMgbWFwIGNvbnRhaW5zIGFsbCBkZWZhdWx0IHZhbHVlcyBmb3IgY29uZmlndXJhdGlvbnMgdGhhdCBjYW4gYmVcbi8vLyBvdmVycmlkZGVuIGJ5IHRoZSBgJGNvbmZpZ2Agb3IgYCRjb25maWctZGVmYXVsdHNgIG1hcHBpbmdzLlxuJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlOiB0cnVlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb25maWc6IChcbiAgICAvL1xuICAgIC8vIEdMT0JBTFxuICAgICdicmVha3BvaW50cyc6IChcbiAgICAgICAgJ3NtJzogMzByZW0sXG4gICAgICAgICdtZCc6IDUwcmVtLFxuICAgICAgICAnbGcnOiA3NXJlbSxcbiAgICApLFxuICAgICd1dGlsaXRpZXMnOiAoXG4gICAgICAgICdpbXBvcnRhbnQnOiB0cnVlLFxuICAgICAgICAnZW1pdCc6ICdyZXNwZWN0JyxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gVFlQT0dSQVBIWVxuICAgICd0eXBvZ3JhcGh5JzogKFxuICAgICAgICAvL1xuICAgICAgICAvLyBHZW5lcmljXG4gICAgICAgICdtb2R1bGVzJzogKFxuICAgICAgICAgICAgJ2hlYWRpbmdzJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ3BhcmFncmFwaCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdzY2FsZSc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdsZWFkaW5nJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ21lYXN1cmUnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnaW5kZW50JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ2FsaWdubWVudCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdzdHlsZXMnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnd2VpZ2h0cyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdmb250cyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdkaXJlY3Rpb24nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICksXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFR5cGVmYWNlc1xuICAgICAgICAndHlwZWZhY2UnOiAkbWVuZGVsZWV2LXR5cGVmYWNlLFxuICAgICAgICAnY3Vyc2l2ZSc6ICRtZW5kZWxlZXYtY3Vyc2l2ZSxcbiAgICAgICAgJ21vbm9zcGFjZSc6ICRtZW5kZWxlZXYtbW9ub3NwYWNlLFxuICAgICAgICAnc2Fucy1zZXJpZic6ICRtZW5kZWxlZXYtc2Fucy1zZXJpZixcbiAgICAgICAgJ3NlcmlmJzogJG1lbmRlbGVldi1zZXJpZixcbiAgICAgICAgLy9cbiAgICAgICAgLy8gVmVydGljYWwgcmh5dGhtIGFuZCBtb2R1bGFyIHNjYWxlXG4gICAgICAgICdzaXplJzogKFxuICAgICAgICAgICAgJ3N0YXJ0JzogMTYsXG4gICAgICAgICAgICAnbWQnOiAxNyxcbiAgICAgICAgICAgICdsZyc6IDE4LFxuICAgICAgICApLFxuICAgICAgICAnbGVhZCc6IDEuNSxcbiAgICAgICAgJ2hlYWRpbmctbGVhZCc6IDEuMjUwLFxuICAgICAgICAnc2NhbGUnOiAoXG4gICAgICAgICAgICAnc3RhcnQnOiA5LzgsXG4gICAgICAgICAgICAnc20nOiAoOS80ICsgNS80KSAvIDMsXG4gICAgICAgICAgICAnbWQnOiAoOS84ICsgNS8yKSAvIDMsXG4gICAgICAgICAgICAnbGcnOiA1LzQsXG4gICAgICAgICksXG4gICAgICAgIC8vXG4gICAgICAgIC8vIE92ZXJyaWRkZW4gcHJvcGVydGllc1xuICAgICAgICAnYm9keSc6ICgpLFxuICAgICAgICAncGFyYWdyYXBoJzogKCksXG4gICAgICAgICdoZWFkaW5ncyc6IChcbiAgICAgICAgICAgICdsZXR0ZXItc3BhY2luZyc6IC0wLjAzZW0sXG4gICAgICAgICAgICAnZm9udC13ZWlnaHQnOiA5MDAsXG4gICAgICAgICAgICAnY29sb3InOiAkbWVuZGVsZWV2LWNvbG9yLWJyYW5kLFxuICAgICAgICApLFxuICAgICksXG4gICAgLy9cbiAgICAvLyBDT0xPUlNcbiAgICAncGFsZXR0ZSc6ICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSxcbiAgICAnY29udHJhc3QnOiAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0LFxuICAgICdjb2xvcic6IChcbiAgICAgICAgJ2NvbnRyYXN0LWJpYXMnOiAwLjEyNSxcbiAgICAgICAgJ3JvbGVzJzogKFxuICAgICAgICAgICAgJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ2FjdGlvbicsXG4gICAgICAgICAgICAncG9zaXRpdmUnLCAnbmVnYXRpdmUnLCAnd2FybmluZycsXG4gICAgICAgICAgICAnYmxhY2snLCAnd2hpdGUnLCAnZ3JleScsICdyZWQnLCAnb3JhbmdlJywgJ3llbGxvdycsICdvbGl2ZScsXG4gICAgICAgICAgICAnZ3JlZW4nLCAndGVhbCcsICdibHVlJywgJ3Zpb2xldCcsICdwdXJwbGUnLCAncGluaycsICdicm93bicsXG4gICAgICAgICksXG4gICAgICAgICd0ZXh0JzogKFxuICAgICAgICAgICAgJ2ludmVyc2UnLCAnbXV0ZWQnLCAnbXV0ZWQtaW52ZXJzZScsXG4gICAgICAgICksXG4gICAgICAgICd2YXJpYW50cyc6IChcbiAgICAgICAgICAgICdjb2xvcnMnOiAoXG4gICAgICAgICAgICAgICAgJ2JyYW5kJywgJ2FjY2VudCcsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ2NvbnRyYXN0JzogKFxuICAgICAgICAgICAgICAgICdsaWdodCc6ICgnd2hpdGUnLCA5NSUpLFxuICAgICAgICAgICAgICAgICdkYXJrJzogKCdibGFjaycsIDk1JSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ2xldmVscyc6IChcbiAgICAgICAgICAgICAgICAnbGlnaHRlcic6ICgnd2hpdGUnLCA3NSUpLFxuICAgICAgICAgICAgICAgICdsaWdodCc6ICgnd2hpdGUnLCAzMyUpLFxuICAgICAgICAgICAgICAgICdkYXJrJzogKCdibGFjaycsIDMzJSksXG4gICAgICAgICAgICAgICAgJ2Rhcmtlcic6ICgnYmxhY2snLCA3NSUpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gQU5JTUFUSU9OU1xuICAgICdhbmltYXRpb24nOiAoXG4gICAgICAgICdkdXJhdGlvbic6IDMwMG1zLFxuICAgICAgICAndGltaW5nLWZ1bmN0aW9uJzogZWFzZSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gRk9STSBJVEVNU1xuICAgICdpbnB1dCc6IChcbiAgICAgICAgJ2NvbG9yLXJvbGUnOiAnd2hpdGUnLFxuICAgICAgICAnYm9yZGVyJzogMXB4IHNvbGlkLFxuICAgICAgICAnYm9yZGVyLWNvbG9yJzogJ2FjdGlvbicsXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogMC4yNSxcbiAgICApLFxuICAgICdidXR0b24nOiAoXG4gICAgICAgICdjb2xvci1yb2xlJzogJ2FjdGlvbicsXG4gICAgICAgICdib3JkZXInOiAxcHggc29saWQsXG4gICAgICAgICdib3JkZXItY29sb3InOiAnYWN0aW9uJyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAwLjI1LFxuICAgICAgICAnZm9udC13ZWlnaHQnOiBib2xkLFxuICAgICksXG4gICAgLy9cbiAgICAvLyBMQVlPVVRcbiAgICAnbGF5b3V0JzogKFxuICAgICAgICAnZGlzcGxheSc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgJ2Zsb2F0JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAncG9zaXRpb24nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICdjb250YWluZXInOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICdvdmVyZmxvdyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gT1RIRVIgTU9EVUxFU1xuICAgICdiYWNrZ3JvdW5kJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdib3JkZXInOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2NvbG9ycyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnZmxleCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnZmxleC1ncmlkJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdncmlkJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdoYXJkLWdyaWQnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2ludGVyYWN0aXZpdHknOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2xpc3QnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ21hcmdpbic6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAncGFkZGluZyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAncm91bmRlZCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnc2hhZG93JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdzaXppbmcnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3NpemVzJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICd0cmFuc2Zvcm0nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3Zpc2liaWxpdHknOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgLy9cbiAgICAvLyBFTEVNRU5UIE9WRVJSSURFU1xuICAgICdlbGVtZW50cyc6ICgpLFxuKSAhZGVmYXVsdDtcblxuIiwKCQkiQGltcG9ydCAncHJvZmlsZXMvZGVmYXVsdCc7XG5AaW1wb3J0ICdwcmVsdWRlJztcbkBpbXBvcnQgJ2VsZW1lbnRzJztcbkBpbXBvcnQgJ3V0aWxpdGllcyc7XG4iLAoJCSIvLyBDb25maWd1cmF0aW9uXG5AaW1wb3J0ICdmbic7XG5AaW1wb3J0ICdwcm9maWxlcy9iYXNlJztcbkBpbXBvcnQgJ2NvbmZpZy9taXhpbnMnO1xuQGltcG9ydCAnY29uZmlnL21vZHVsZXMnO1xuQGltcG9ydCAnY29uZmlnL2Z1bmN0aW9ucyc7XG5cbi8vIENvbnN0YW50c1xuQGltcG9ydCAnY29uc3RhbnRzL3N0YXRpYyc7XG5AaW1wb3J0ICdjb25zdGFudHMvdmFsdWVzJztcbkBpbXBvcnQgJ2NvbnN0YW50cy9ncmlkcyc7XG5AaW1wb3J0ICdjb25zdGFudHMvY29uZmlndXJhYmxlJztcblxuLy8gTG9hZCBwcmVsdWRlIGZ1bmN0aW9uc1xuQGltcG9ydCAncHJlbHVkZS9zaXplcyc7XG5AaW1wb3J0ICdwcmVsdWRlL2NvbG9yJztcbkBpbXBvcnQgJ3ByZWx1ZGUvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdwcmVsdWRlL3V0aWxpdGllcyc7XG5cbi8vIExvYWQgZGF0YSBpbnRvIHJlZ2lzdHJ5XG4kbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllczogdHJ1ZSAhZGVmYXVsdDtcblxuQGltcG9ydCAncmVnaXN0cnkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdyZWdpc3RyeS9zaXppbmcnO1xuQGltcG9ydCAncmVnaXN0cnkvbGF5b3V0JztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L2JvcmRlcnMnO1xuQGltcG9ydCAncmVnaXN0cnkvZmxleCc7XG5AaW1wb3J0ICdyZWdpc3RyeS9ncmlkJztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L3RyYW5zZm9ybWF0aW9ucyc7XG5AaW1wb3J0ICdyZWdpc3RyeS92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L21pc2MnO1xuQGltcG9ydCAncHJlbHVkZS91dGlsaXRpZXMtY2FjaGUnO1xuXG4kbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllczogZmFsc2U7XG4kbWVuZGVsZWV2LXByZWx1ZGUtbG9hZGVkOiB0cnVlO1xuXG4vLyBObyBDU1MgZ2VuZXJhdGVkIHVwIHRvIHRoaXMgcG9pbnRcblxuIiwKCQkiLy8vIEluY2x1ZGUgZGVjbGFyYXRpb25zIG9ubHkgZm9yIHRoZSBnaXZlbiBicmVha3BvaW50LlxuLy8vXG4vLy8gQGFyZyAkYnAgLSBCcmVha3BvaW50IG5hbWUgKGUuZy4sIHN0YXJ0LCBzbSwgbWQsIGxnLCBldGMpXG4vLy8gQGFyZyAkcHJvcGVydGllcyAtIEEgbWFwIG9mIHByb3BlcnRpZXNcbi8vLyBAYXJnICRzdWZmaXggLSBPcHRpb25hbCBzdWZmaXggKGUuZy4sICFpbXBvcnRhbnQpO1xuQG1peGluIGJyZWFrcG9pbnQoJGJwLCAkcHJvcGVydGllczogKCksICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaWYgJGJwID09ICdzdGFydCcge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICAgQGluY2x1ZGUgb3B0aW9ucygkcHJvcGVydGllcywgJHN1ZmZpeDogJHN1ZmZpeCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9JykpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgb3B0aW9ucygkcHJvcGVydGllcywgJHN1ZmZpeDogJHN1ZmZpeCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBJbmNsdWRlIGFsbCBwYWlycyBvZiAoa2V5OiB2YWx1ZSkgaW4gbWFwIGFzIENTUyBkZWNsYXJhdGlvbnMuIElmIHZhbHVlIGlzXG4vLy8gYW5vdGhlciBtYXAsIGluY2x1ZGUgbmVzdGVkIHZhbHVlcy5cbkBtaXhpbiBmcm9tLW1hcCgkbWFwLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgdHlwZS1vZigkdikgPT0gbWFwIHtcbiAgICAgICAgICAgIEBpZiB0eXBlLW9mKCRrKSA9PSBsaXN0IGFuZCBudGgoJGssIDEpID09ICdAbWVkaWEnIHtcbiAgICAgICAgICAgICAgICAkbWluOiBtYXAtZ2V0KG50aCgkaywgMiksIG1pbi13aWR0aCk7XG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkbWluIHtcbiAgICAgICAgICAgICAgICAgICAgQGVycm9yICdJbnZhbGlkIG1lZGlhIHNwZWNpZmljYXRpb246ICN7bnRoKCRrLCAyKX0nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtaW59KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyb20tbWFwKCR2LCAkc3VmZml4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAjeyRrfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyb20tbWFwKCR2LCAkc3VmZml4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgJHYge1xuICAgICAgICAgICAgI3ska306ICR2ICRzdWZmaXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBJbmNsdWRlIHdpdGggdGhlIGdpdmVuIHNlbGVjdG9yIGFuZCBkZWZpbmVkIGJ5IGEgbWFwcGluZyBvZiBwcm9wZXJ0eSB0b1xuLy8vIHZhbHVlcy5cbkBtaXhpbiBzaW1wbGUtdXRpbGl0eS1kZWNsYXJhdGlvbigkc2VsZWN0b3IsICRkYXRhLCAkbW9kZSkge1xuICAgIEBpZiBtb2RlID09IHJlc3BvbnNpdmUge1xuICAgICAgICBAZXJyb3IgJ05vdCBpbXBsZW1lbnRlZCc7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBMaWtlIHNpbXBsZS11dGlsaXR5LWRlY2xhcmF0aW9uLCBidXQgcmVjZWl2ZXMgYSBtYXBwaW5nIG9mIHNlbGVjdG9ycyB0b1xuLy8vIGRlY2xhcmF0aW9ucy5cbkBtaXhpbiBtdWx0aXBsZS11dGlsaXRpZXMtZGVjbGFyYXRpb24oJGRhdGEsICRtb2RlKSB7XG4gICAgQGVhY2ggJG5hbWUsICRkZWNsYXJhdGlvbnMgaW4gJGRhdGEge1xuICAgICAgICBAaW5jbHVkZSBzaW1wbGUtdXRpbGl0eS1kZWNsYXJhdGlvbigkbmFtZSwgJGRlY2xhcmF0aW9ucywgJG1vZGUpO1xuICAgIH1cbn1cblxuJG1lbmRlbGVldi1yZWdpc3RlcmVkLXV0aWxpdGllczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBNaXhpbiB0aGF0IGluY2x1ZGVzIGFsbCByZWdpc3RlcmVkIHV0aWxpdGllcy4gVGhpcyBtaXhpbiBpcyBhdXRvbWF0aWNhbGx5XG4vLy8gRXhlY3V0ZWQgd2hlbiB0aGUgbWVuZGVsZWV2IHV0aWxpdGllcyBtb2R1bGUgaXMgaW1wb3J0ZWQuXG4vLy9cbkBtaXhpbiBtZW5kZWxlZXYtcmVnaXN0ZXItdXRpbGl0aWVzKCkge1xuICAgIEBpZiBub3QgJG1lbmRlbGVldi1yZWdpc3RlcmVkLXV0aWxpdGllcyB7XG5cbiAgICAgICAgJGxzdDogbHN0LXJldmVyc2UoJG1lbmRlbGVldi1jc3MpO1xuICAgICAgICAkbHN0OiBsc3Qtc3RpdGNoKCRtZW5kZWxlZXYtY3NzLWNsYXNzZXMsICRsc3QpO1xuXG4gICAgICAgIEB3aGlsZSAkbHN0IHtcbiAgICAgICAgICAgICRpbmZvOiBudGgoJGxzdCwgMSk7XG4gICAgICAgICAgICAkbHN0OiBudGgoJGxzdCwgMik7XG5cbiAgICAgICAgICAgICR0eXBlOiBtYXAtZ2V0KCRpbmZvLCB0eXBlKTtcbiAgICAgICAgICAgICRlbWl0OiBtYXAtZ2V0KCRpbmZvLCBlbWl0KTtcbiAgICAgICAgICAgICRkYXRhOiBtYXAtZ2V0KCRpbmZvLCBkYXRhKTtcblxuICAgICAgICAgICAgQGlmICRlbWl0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHR5cGU9PSBtdWx0aXBsZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpcGxlLXV0aWxpdGllcy1kZWNsYXJhdGlvbigkZGF0YSwgJG1vZGU6ICRlbWl0KTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgICAgICAgICAgICAgICAgICRuYW1lOiBtYXAtZ2V0KCRpbmZvLCBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLXV0aWxpdHktZGVjbGFyYXRpb24oJG5hbWUsICRkYXRhLCAkbW9kZTogJGVtaXQpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZXJyb3IgJ0ludmFsaWQgdHlwZTogI3skdHlwZX0nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICRtZW5kZWxlZXYtcmVnaXN0ZXJlZC11dGlsaXRpZXM6IHRydWUgIWdsb2JhbDtcbn1cblxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERFQ0xBUkUgTUVOREVMRUVWIE1PRFVMRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgZGljdGlvbmFyeSB3aXRoIE1lbmRlbGVldiBzdGF0ZS5cbiRtZW5kZWxlZXYtY3NzOiBudWxsICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jc3MtY2xhc3NlczogbnVsbCAhZGVmYXVsdDtcblxuLy8vIERlY2xhcmUgYSBNZW5kZWxlZXYgbW9kdWxlIG9mIENTUyBkZWNsYXJhdGlvbnMuXG4vLy9cbi8vLyBAYXJnICRjZmcgLSBTdHJpbmcgcGF0aCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGluIHRoZSBnbG9iYWxcbi8vLyAgICAgICAgICAgICBNZW5kZWxlZXYgY29uZmlnXG4vLy8gQGFyZyAkc3BlYyAtIERpY3Rpb25hcnkgb2YgZGVjbGFyYXRpb25zIG1hcHBpbmcgQ1NTIHNlbGVjdG9yIHdpdGggQ1NTXG4vLy8gICAgICAgICAgICAgIGRlZmluaXRpb25zXG5AZnVuY3Rpb24gbWVuZGVsZWV2LW1vZHVsZSgkY2ZnLCAkc3BlYywgJGlzLWNsYXNzOiBmYWxzZSkge1xuICAgICRlbWl0OiBjb25maWcoJGNmZyk7XG4gICAgJHJlczogbnVsbDtcblxuICAgIEBlYWNoICRzZWxlY3RvciwgJGRhdGEgaW4gJHNwZWMge1xuICAgICAgICBAaWYgdHlwZS1vZigkZGF0YSkgPT0gbWFwIHtcbiAgICAgICAgICAgICRpbmZvOiAobmFtZTogJHNlbGVjdG9yLCBkYXRhOiAkZGF0YSwgZW1pdDogJGVtaXQsIHR5cGU6IHNpbXBsZSk7XG4gICAgICAgICAgICBAaWYgJGlzLWNsYXNzIHtcbiAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNzcy1jbGFzc2VzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MtY2xhc3NlcykgIWdsb2JhbDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtY3NzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MpICFnbG9iYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkcmVzOiAoJGluZm8gJHJlcyk7XG5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIGNvbnRlbnQgZm9yICN7JHNlbGVjdG9yfS5cIlxuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIERlY2xhcmUgYSBNZW5kZWxlZXYgbW9kdWxlIG9mIENTUyB1dGlsaXRpZXMuIEEgdXRpbGl0eSBpcyB1bmRlcnN0b29kIGFzIGFcbi8vLyBDU1MgZGVjbGFyYXRpb24gdGhhdCBkZWZpbmVzIGEgc2luZ2xlIENTUyBwcm9wZXJ0eS5cbi8vL1xuLy8vIFRoaXMgZnVuY3Rpb24gbWFrZXMgaXQgZWFzaWVyIHRvIGRlY2xhcmUgbG90cyBvZiBjbGFzc2VzIGluIGJhdGNoLCBidXQgaXNcbi8vLyBmYXIgbGVzcyBmbGV4aWJsZSBvbiB0aGUga2luZCBvZiBkZWNsYXJhdGlvbnMgdGhhdCBjYW4gYmUgbWFkZS5cbi8vL1xuLy8vIEBhcmcgJGNmZyAtIFN0cmluZyBwYXRoIGZvciB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gaW4gdGhlIGdsb2JhbFxuLy8vICAgICAgICAgICAgIE1lbmRlbGVldiBjb25maWdcbi8vLyBAYXJnICRzcGVjIC0gRGljdGlvbmFyeSBvZiBkZWNsYXJhdGlvbnMgbWFwcGluZyBDU1Mgc2VsZWN0b3Igd2l0aCBDU1Ncbi8vLyAgICAgICAgICAgICAgZGVmaW5pdGlvbnNcbkBmdW5jdGlvbiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoJGNmZywgJHNwZWMpIHtcbiAgICAkZW1pdDogY29uZmlnKCRjZmcpO1xuICAgICRyZXM6IG51bGw7XG4gICAgQGVhY2ggJHByb3AsICRkYXRhIGluICRzcGVjIHtcbiAgICAgICAgJHByZWZpeDogbnRoKCRkYXRhLCAxKTtcbiAgICAgICAgJGNvbnRlbnQ6IG50aCgkZGF0YSwgMik7XG5cbiAgICAgICAgQGlmIHR5cGUtb2YoJGNvbnRlbnQpID09IG1hcCB7XG4gICAgICAgICAgICAkZGF0YTogKCk7XG4gICAgICAgICAgICBAZWFjaCAkc3VmZml4LCAkdmFsdWUgaW4gJGNvbnRlbnQge1xuICAgICAgICAgICAgICAgICRzdWZmaXg6IGlmKHR5cGUtb2YoJHN1ZmZpeCkgPT0gc3RyaW5nLCAkc3VmZml4LCBpbnNwZWN0KCRzdWZmaXgpKTtcbiAgICAgICAgICAgICAgICAkbmFtZTogJHByZWZpeCArICRzdWZmaXg7XG4gICAgICAgICAgICAgICAgJGRhdGE6IG1hcC1tZXJnZSgkZGF0YSwgKCRuYW1lOiAoI3skcHJvcH06ICR2YWx1ZSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRpbmZvOiAocHJlZml4OiAkcHJlZml4LCBkYXRhOiAkZGF0YSwgdHlwZTogbXVsdGlwbGUsIGVtaXQ6ICRlbWl0KTtcbiAgICAgICAgICAgICRyZXM6ICgkaW5mbyAkcmVzKTtcbiAgICAgICAgICAgICRtZW5kZWxlZXYtY3NzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MpICFnbG9iYWw7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVycm9yIFwiSW52YWxpZCBzcGVjaWZpY2F0aW9uIGZvciAjeyRwcm9wfS5cIlxuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIERlY2xhcmVzIGEgY29tcGxldGUgc2NhbGUgb2YgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZyAkc2NhbGUgLSBBIG1hcCBvciBsaXN0IG9mIDItdHVwbGVzIGZyb20gbmFtZXMgdG8gdmFsdWVzLlxuLy8vIEBhcmcgJGNzcyAtIEEgbWFwIG9mIChwcm9wOiB2YWx1ZSkgcGFpcnMuIElmIHZhbHVlIGlzIG51bGwsIGl0IGlzIHJlcGxhY2VkXG4vLy8gICAgICAgICAgICAgYnkgZWFjaCB2YWx1ZSBpbiB0aGUgZ2l2ZW4gc2NhbGUuXG4vLy8gQGFyZyAkaW50ZXJwb2xhdGUgLSBMaWtlICRjc3MsIGJ1dCBlYWNoIHZhbHVlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZXJwb2xhdGlvblxuLy8vICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIGluIHdoaWNoIGFsbCBvY2N1cnJlbmNlcyBvZiAkMSBhcmUgcmVwbGFjZSBieVxuLy8vICAgICAgICAgICAgICAgICAgICAgdGhlIHZhbHVlIGdpdmVuIGJ5IHRoZSBzY2FsZS5cbkBmdW5jdGlvbiBzY2FsZS1vZigkc2NhbGUsICRjc3M6ICgpLCAkaW50ZXJwb2xhdGU6IG51bGwsICRwcmVmaXg6ICcmJykge1xuICAgICRtYXA6ICRmbi1lbXB0eS1tYXA7XG4gICAgJGNzcy10ZW1wbGF0ZTogJGNzcztcbiAgICBAZWFjaCAkaywgJHYgaW4gJHNjYWxlIHtcbiAgICAgICAgJGNzczogJGZuLWVtcHR5LW1hcDtcblxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRjc3MtdGVtcGxhdGUge1xuICAgICAgICAgICAgJGNzczogbWFwLW1lcmdlKCRjc3MsICgkcHJvcDogJHZhbHVlIG9yICR2KSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGludGVycG9sYXRlIHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJGludGVycG9sYXRlIHtcbiAgICAgICAgICAgICAgICAkcHJvcDogaWYodHlwZS1vZigkcHJvcCkgPT0gc3RyaW5nLCAkcHJvcCwgaW5zcGVjdCgkcHJvcCkpO1xuICAgICAgICAgICAgICAgICR2YWx1ZTogdW5xdW90ZShzdHItcmVwbGFjZSgkdmFsdWUsICckMScsICR2KSk7XG4gICAgICAgICAgICAgICAgJGNzczogbWFwLW1lcmdlKCRjc3MsICgkcHJvcDogJHZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAkbWFwOiBtYXAtbWVyZ2UoJG1hcCwgKCcjeyRwcmVmaXh9I3ska30nOiAkY3NzKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbiIsCgkJIkBpbXBvcnQgJy4uL3Byb2ZpbGVzL2Jhc2UnO1xuXG4vLy8gRmV0Y2ggY29uZmlndXJhdGlvbiB2YWx1ZSBmcm9tIGRlZmF1bHQgY29uZmlnIGRpY3Rpb25hcnkuXG4vLy9cbi8vLyBAYXJnICRwYXRoIC0gTGlzdCB3aXRoIHRoZSBwYXRoIHRvIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXJnICRkZWZhdWx0IC0gRGVmYXVsdCByZXN1bHQgaWYgZGF0YSBpcyBub3QgZm91bmQgaW4gcGF0aC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgY29uZmlnKCdwYWxldHRlLmJsYWNrJylcbi8vLyAgICAgLy8gIzFhMWExYVxuQGZ1bmN0aW9uIGNvbmZpZygkcGF0aCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICBAaWYgbm90IHR5cGUtb2YoJHBhdGgpID09IHN0cmluZyB7XG4gICAgICAgIEBlcnJvciAnUGF0aCBtdXN0IGJlIGdpdmVuIGFzIGEgc3RyaW5nJztcbiAgICB9XG4gICAgQHJldHVybiBtYXAtcGF0aC1tZXJnZShMKCRtZW5kZWxlZXYtY29uZmlnLCAkY29uZmlnKSwgc3RyLXNwbGl0KCRwYXRoLCAnLicpLCAkZGVmYXVsdCk7XG59XG5cbi8vLyBJbmNsdWRlIGEgY29uZmlndXJhdGlvbi5cbkBtaXhpbiBjb25maWcoJHBhdGgsICRkZWZhdWx0OiAoKSwgJGZvcjogbnVsbCwgJGV4dHJhOiAoKSkge1xuICAgIEBpZiAkZm9yIHtcbiAgICAgICAgI3skZm9yfTogY29uZmlnKCRwYXRoLCAkZGVmYXVsdCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlYWNoICRrLCAkdiBpbiBtYXAtbWVyZ2UoJGV4dHJhLCBjb25maWcoJHBhdGgsICRkZWZhdWx0KSkge1xuICAgICAgICAgICAgQGlmIHR5cGUtb2YoJHYpID09IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgI3ska306IHVucXVvdGUoJHYpO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkdiAhPSAoKSB7XG4gICAgICAgICAgICAgICAgI3ska306ICR2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBHTE9CQUwgTUVOREVMRUVWIFNDQUxFU1xuLy8vIEBncm91cCBzY2FsZXNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vXG4vLy8gQWxsIGdsb2JhbCBzdGF0aWMgc2NhbGVzIHVzZWQgaW4gTWVuZGVsZWV2IChpbiBhbHBoYWJldGljYWwgb3JkZXIpXG4vLy8gICogU2l6ZSBzY2FsZSAoZGVmYXVsdC9udW1iZXJlZClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBNYXBzIHNpemVzIGluIHRvIHVuaXQtbGVzcyB2YWx1ZXMuIFJlYWwgc2l6ZSBhcmUgY29tcHV0ZWQgbXVsdGlwbHlpbmdcbi8vLyAkbWVuZGVsZWV2LXNpemUtdW5pdC5cbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZTogKFxuICAgICcwJzogMCxcbiAgICAnMHAnOiAwLjEyNSxcbiAgICAnMSc6IDAuMjUsXG4gICAgJzFwJzogMC4zNzUsXG4gICAgJzInOiAwLjUsXG4gICAgJzJwJzogMC43NSxcbiAgICAnMyc6IDEsXG4gICAgJzNwJzogMS41LFxuICAgICc0JzogMixcbiAgICAnNHAnOiAzLFxuICAgICc1JzogNCxcbiAgICAnNXAnOiA2LFxuICAgICc2JzogOCxcbiAgICAnNnAnOiAxMixcbiAgICAnNyc6IDE2LFxuICAgICc3cCc6IDI0LFxuICAgICc4JzogMzIsXG4gICAgJzhwJzogNDgsXG4gICAgJzknOiA2NCxcbiAgICAnOXAnOiA5NixcbiAgICAnMTAnOiAxMjgsXG4gICAgJzEwcCc6IDE5MixcbiAgICAnMTEnOiAyNTYsXG4gICAgJzExcCc6IDM4NCxcbiAgICAnMTInOiA1MTIsXG4gICAgJzEycCc6IDc2OCxcbiAgICAnMTMnOiAxMDI0LFxuICAgICcxM3AnOiAxNTM2LFxuKSAhZGVmYXVsdDtcblxuXG4vLy8gTGlrZSBzaXplLXNjYWxlLCBidXQga2V5cyBhcmUgbnVtZXJpYy5cbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1udW1lcmljOiAoXG4gICAgMDogMCxcbiAgICAxOiAwLjI1LFxuICAgIDI6IDAuNSxcbiAgICAzOiAxLFxuICAgIDQ6IDIsXG4gICAgNTogNCxcbiAgICA2OiA4LFxuICAgIDc6IDE2LFxuICAgIDg6IDMyLFxuICAgIDk6IDY0LFxuICAgIDEwOiAxMjgsXG4gICAgMTE6IDI1NixcbiAgICAxMjogNTEyLFxuICAgIDEzOiAxMDI0LFxuKSAhZGVmYXVsdDtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gR0xPQkFMIE1FTkRFTEVFViBWQUxVRVNcbi8vLyBAZ3JvdXAgY29uc3RhbnRzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vL1xuLy8vIEdsb2JhbCBjb25zdGFudHMgY29tcHV0ZWQgZnJvbSB1c2VyIGNvbmZpZ3VyYXRpb25zLlxuLy8vICAqIGNvbnRhaW5lclxuLy8vICAqIGxlYWRcbi8vLyAgKiB1bml0LXNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBCYXNpYyBsZWFkaW5nIHZhbHVlXG4kbWVuZGVsZWV2LWxlYWQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJywgMS41KSAhZGVmYXVsdDtcblxuLy8vIEJhc2ljIHNpemUgcmVmZXJlbmNlIChzcGVjaWZpZWQgaW4gcmVtcyk7XG4kbWVuZGVsZWV2LXVuaXQtc2l6ZTogJG1lbmRlbGVldi1sZWFkICogMXJlbSAhZGVmYXVsdDtcblxuLy8vIENvbnRhaW5lciBjb25maWd1cmF0aW9uXG4kbWVuZGVsZWV2LWNvbnRhaW5lcjogKFxuICAgIG1hcmdpbjogMCBhdXRvLFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSxcbiAgICB3aWR0aDogMTAwJSxcbiAgICBwYWRkaW5nOiAwICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuICAgIG1heC13aWR0aDogNTByZW0sXG4pICFkZWZhdWx0O1xuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBNRU5ERUxFRVYgR1JJRCBTWVNURU1TXG4vLy8gQGdyb3VwIGdyaWQgc3lzdGVtc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBEZWZpbmUgYWxsIHVzZWZ1bCBncmlkIHN5c3RlbSBmcm9tIHRoZSB0cml2aWFsIGdyaWQtMSB1cCB0byBncmlkLTE1LlxuQGZ1bmN0aW9uIF9tZW5kZWxlZXYtbWFrZS1ncmlkLXN5c3RlbXMoKSB7XG4gICAgJGdyaWQtMTogKFxuICAgICAgICAnMCc6IDAsXG4gICAgICAgICdmdWxsJzogMTAwLFxuICAgICk7XG4gICAgJGdyaWQtMjogbWFwLW1lcmdlKCRncmlkLTEsIChcbiAgICAgICAgJzFcXFxcLzInOiA1MCxcbiAgICApKTtcbiAgICAkZ3JpZC0zOiBtYXAtbWVyZ2UoJGdyaWQtMSwgKFxuICAgICAgICAnMVxcXFwvMyc6IDEwMCAvIDMsXG4gICAgICAgICcyXFxcXC8zJzogMjAwIC8gMyxcbiAgICApKTtcbiAgICAkZ3JpZC00OiBtYXAtbWVyZ2UoJGdyaWQtMiwgKFxuICAgICAgICAnMVxcXFwvNCc6IDI1LFxuICAgICAgICAnM1xcXFwvNCc6IDc1LFxuICAgICkpO1xuICAgICRncmlkLTU6IG1hcC1tZXJnZSgkZ3JpZC0xLCAoXG4gICAgICAgICcxXFxcXC81JzogMjAsXG4gICAgICAgICcyXFxcXC81JzogNDAsXG4gICAgICAgICczXFxcXC81JzogNjAsXG4gICAgICAgICc0XFxcXC81JzogODAsXG4gICAgKSk7XG4gICAgJGdyaWQtNjogbWFwLW1lcmdlKG1hcC1tZXJnZSgkZ3JpZC0yLCAkZ3JpZC0zKSwgKFxuICAgICAgICAnMVxcXFwvNic6IDEwMCAvIDYsXG4gICAgICAgICc1XFxcXC82JzogNTAwIC8gNixcbiAgICApKTtcbiAgICAkZ3JpZC04OiBtYXAtbWVyZ2UoJGdyaWQtNCwgKFxuICAgICAgICAnMVxcXFwvOCc6IDEwMCAvIDgsXG4gICAgICAgICczXFxcXC84JzogMzAwIC8gOCxcbiAgICAgICAgJzVcXFxcLzgnOiA1MDAgLyA4LFxuICAgICAgICAnN1xcXFwvOCc6IDcwMCAvIDgsXG4gICAgKSk7XG4gICAgJGdyaWQtNzogJ0dyaWQgNywgcmVhbGx5PyEnO1xuICAgICRncmlkLTk6IG1hcC1tZXJnZSgkZ3JpZC0zLCAoXG4gICAgICAgICcxXFxcXC85JzogMTAwIC8gOSxcbiAgICAgICAgJzJcXFxcLzknOiAyMDAgLyA5LFxuICAgICAgICAnNFxcXFwvOSc6IDQwMCAvIDksXG4gICAgICAgICc1XFxcXC85JzogNTAwIC8gOSxcbiAgICAgICAgJzdcXFxcLzknOiA3MDAgLyA5LFxuICAgICAgICAnOFxcXFwvOSc6IDgwMCAvIDksXG4gICAgKSk7XG4gICAgJGdyaWQtMTA6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtMiwgJGdyaWQtNSksIChcbiAgICAgICAgJzFcXFxcLzEwJzogMTAsXG4gICAgICAgICczXFxcXC8xMCc6IDMwLFxuICAgICAgICAnN1xcXFwvMTAnOiA3MCxcbiAgICAgICAgJzlcXFxcLzEwJzogOTAsXG4gICAgKSk7XG4gICAgJGdyaWQtMTE6ICdHcmlkIDExLCByZWFsbHk/ISc7XG4gICAgJGdyaWQtMTI6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtNCwgJGdyaWQtNiksIChcbiAgICAgICAgJzFcXFxcLzEyJzogMTAwIC8gMTIsXG4gICAgICAgICc1XFxcXC8xMic6IDUwMCAvIDEyLFxuICAgICAgICAnN1xcXFwvMTInOiA3MDAgLyAxMixcbiAgICAgICAgJzExXFxcXC8xMic6IDExMDAgLyAxMixcbiAgICApKTtcbiAgICAkZ3JpZC0xNTogbWFwLW1lcmdlKG1hcC1tZXJnZSgkZ3JpZC0zLCAkZ3JpZC01KSwgKFxuICAgICAgICAnMVxcXFwvMTUnOiAxMDAgLyAxNSxcbiAgICAgICAgJzJcXFxcLzE1JzogMjAwIC8gMTUsXG4gICAgICAgICc0XFxcXC8xNSc6IDQwMCAvIDE1LFxuICAgICAgICAnN1xcXFwvMTUnOiA3MDAgLyAxNSxcbiAgICAgICAgJzhcXFxcLzE1JzogODAwIC8gMTUsXG4gICAgICAgICcxMVxcXFwvMTUnOiAxMTAwIC8gMTUsXG4gICAgICAgICcxM1xcXFwvMTUnOiAxMzAwIC8gMTUsXG4gICAgICAgICcxNFxcXFwvMTUnOiAxNDAwIC8gMTUsXG4gICAgKSk7XG4gICAgQHJldHVybiAoXG4gICAgICAgIDE6ICRncmlkLTEsXG4gICAgICAgIDI6ICRncmlkLTIsXG4gICAgICAgIDM6ICRncmlkLTMsXG4gICAgICAgIDQ6ICRncmlkLTQsXG4gICAgICAgIDU6ICRncmlkLTUsXG4gICAgICAgIDY6ICRncmlkLTYsXG4gICAgICAgIDg6ICRncmlkLTgsXG4gICAgICAgIDk6ICRncmlkLTksXG4gICAgICAgIDEwOiAkZ3JpZC0xMCxcbiAgICAgICAgMTI6ICRncmlkLTEyLFxuICAgICAgICAxNTogJGdyaWQtMTUsXG4gICAgKTtcbn1cblxuJG1lbmRlbGVldi1ncmlkLXN5c3RlbXM6IF9tZW5kZWxlZXYtbWFrZS1ncmlkLXN5c3RlbXMoKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBncmlkIHN5c3RlbSBiYXNlZCBvbiBhIHByZS1kZWZpbmVkIHNldCBvZiBzdWItZGl2aXNpb25zXG5AZnVuY3Rpb24gZ3JpZC1zeXN0ZW0oJGFyZ3MuLi4pIHtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAkbiBpbiAkYXJncyB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShtYXAtZ2V0KCRtZW5kZWxlZXYtZ3JpZC1zeXN0ZW1zLCAkbiksICRyZXN1bHQpO1xuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBBZGQgc2l6aW5nIHVuaXRzIG9mICUsIHZ3IGFuZCB2aCBmb3IgZ2l2ZW4gdW5pdC1sZXNzIHNjYWxlXG5AZnVuY3Rpb24gYWRkLXNpemluZy11bml0cygkc2NhbGUpIHtcbiAgICAkcmVzOiBudWxsO1xuICAgIEBlYWNoICRrLCAkdiBpbiAkc2NhbGUge1xuICAgICAgICAkcmVzOiAoKCRrICgkdiAqIGlmKCR2ID09IDAsIDAsIDElKSkpICRyZXMpO1xuICAgICAgICBAaWYgJHYgIT0gMCB7XG4gICAgICAgICAgICAkcmVzOiAoKCcjeyRrfXZ3JyAoJHYgKiAxdncpKSAkcmVzKTtcbiAgICAgICAgICAgICRyZXM6ICgoJyN7JGt9dmgnICgkdiAqIDF2aCkpICRyZXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gbHN0LXRvLW1hcCgkcmVzKTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gR0xPQkFMIE1FTkRFTEVFViBDT05GSUdVUkFCTEUgU0NBTEVTXG4vLy8gQGdyb3VwIHNjYWxlc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy9cbi8vLyBHbG9iYWwgc2NhbGVzIGFuZCBjb25zdGFudHMgY29tcHV0ZWQgZnJvbSB1c2VyIGNvbmZpZ3VyYXRpb25zLlxuLy8vXG4vLy8gU2NhbGVzOlxuLy8vICAqIGJvcmRlci1zY2FsZVxuLy8vICAqIHJhZGl1cy1zY2FsZS0ocmVtKVxuLy8vICAqIHNpemUtc2NhbGUtKHJlbXxwb3MtcmVtfGF1dG98cG9zLWF1dG8pXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnc3RhdGljJztcbkBpbXBvcnQgJ3ZhbHVlcyc7XG5AaW1wb3J0ICdncmlkcyc7XG5cbi8vIEJPUkRFUiBTQ0FMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVuZGVsZWV2LWJvcmRlci1zY2FsZTogKFxuICAgICcxJzogdW5xdW90ZSgnMXB4IHNvbGlkJyksXG4gICAgJzInOiB1bnF1b3RlKCcycHggc29saWQnKSxcbiAgICAnNCc6IHVucXVvdGUoJzRweCBzb2xpZCcpLFxuICAgICc4JzogdW5xdW90ZSgnOHB4IHNvbGlkJyksXG4pICFkZWZhdWx0O1xuXG4vLyBTSVpFL1JBRElVUyBTQ0FMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LXNpemUtc2NhbGUtbWF4LXNpemU6IGNvbmZpZygnbWVuZGVsZWV2LnNjYWxlcy5tYXgtc2l6ZScsIDY0KSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW06IG51bGwgIWRlZmF1bHQ7XG5AaWYgbm90ICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0ge1xuICAgICRuZXc6ICgpO1xuICAgIEBlYWNoICRrLCAkdiBpbiAkbWVuZGVsZWV2LXNpemUtc2NhbGUge1xuICAgICAgICBAaWYgJHYgPCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtbWF4LXNpemUge1xuICAgICAgICAgICAgJHY6IGlmKCR2ID09IDAsIDAsICR2ICogJG1lbmRlbGVldi11bml0LXNpemUpO1xuICAgICAgICAgICAgJG5ldzogbWFwLW1lcmdlKCRuZXcsICgkazogJHYpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgbm90ICAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtIHtcbiAgICAgICAgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbTogJG5ldyAhZ2xvYmFsO1xuICAgIH1cbn1cblxuJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtOiBtYXAtYXBwbHktdmFsdWVzKGRpdiwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSwgMik7XG5cbi8vIEdSSUQgU0laSU5HIFNDQUxFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlLW5vLXVuaXQ6IGdyaWQtc3lzdGVtKDUsIDEyKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlOiBhZGQtc2l6aW5nLXVuaXRzKCRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlLW5vLXVuaXQpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1ncmlkLXNjYWxlOiAoXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgICAnMTAnOiAxMCxcbiAgICAnMTInOiAxMixcbiAgICAnMTUnOiAxNSxcbikgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWdyaWQtZ2FwLXNjYWxlOiAoXG4gICAgJzEnOiAwLjI1ICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzInOiAwLjUwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzMnOiAxLjAwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzQnOiAyLjAwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4pICFkZWZhdWx0O1xuJG1lbmRlbGVldi1ncmlkLXNwYW4tZGF0YTogKFxuICAgIDE6IGF1dG8gLyBzcGFuIDEsXG4gICAgMjogYXV0byAvIHNwYW4gMixcbiAgICAzOiBhdXRvIC8gc3BhbiAzLFxuICAgIDQ6IGF1dG8gLyBzcGFuIDQsXG4gICAgNTogYXV0byAvIHNwYW4gNSxcbiAgICA2OiBhdXRvIC8gc3BhbiA2LFxuICAgIDc6IGF1dG8gLyBzcGFuIDcsXG4gICAgODogYXV0byAvIHNwYW4gOCxcbiAgICA5OiBhdXRvIC8gc3BhbiA5LFxuICAgIDEwOiBhdXRvIC8gc3BhbiAxMCxcbiAgICAxMTogYXV0byAvIHNwYW4gMTEsXG4gICAgMTI6IGF1dG8gLyBzcGFuIDEyLFxuICAgIDEzOiBhdXRvIC8gc3BhbiAxMyxcbiAgICAxNDogYXV0byAvIHNwYW4gMTQsXG4gICAgMTU6IGF1dG8gLyBzcGFuIDE1LFxuKTtcblxuLy8gVFJBTlNGT1JNQVRJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlOiAoXG4gICAgMDogMCUsIDE6IDUlLCAyOiAxMCUsIDM6IDI1JSwgNDogNTAlLCA1OiA3NSUsIDY6IDkwJSwgNzogOTUlLCA4OiAxMDAlLFxuKTtcbiRtZW5kZWxlZXYtdHJhbnNmb3JtLWRvdWJsZS1zY2FsZTogKFxuICAgIG4wOiAxMDAlLCBuMTogOTUlLCBuMjogOTAlLCBuMzogNzUlLCBuNDogNTAlLCBuNTogMjUlLCBuNjogMTAlLCBuNzogNSUsIG44OiAwJSxcbiAgICAwOiAxMDAlLCAxOiAxMDUlLCAyOiAxMTAlLCAzOiAxMjUlLCA0OiAxNTAlLCA1OiAxNzUlLCA2OiAxOTAlLCA3OiAxOTUlLCA4OiAyMDAlLFxuKTtcbiRtZW5kZWxlZXYtZ3Jvdy1zY2FsZTogKFxuICAgIDA6IDEsIDE6IDEuMDUsIDI6IDEuMTAsIDM6IDEuMjUsIDQ6IDEuNTAsIDU6IDIsIDY6IDMsXG4pO1xuJG1lbmRlbGVldi1zaHJpbmstc2NhbGU6IChcbiAgICAwOiAxLCAxOiAxIC8gMS4wNSwgMjogMSAvIDEuMTAsIDM6IDEgLyAxLjI1LCA0OiAxIC8gMS41MCwgNTogMSAvIDIsIDY6IDEgLyAzLFxuKTtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTUFOSVBVTEFURSBTSVpFU1xuLy8vIEBncm91cCBzaXppbmdcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIENvbnZlcnQgdW5pdGxlc3MgbnVtYmVyIHRvIHNpemUgYnkgbXVsdGlwbHlpbmcgaXQgYnkgbGVhZCAqIDFyZW0uXG4vLy9cbi8vLyBJZiBpbnB1dCBpcyBhIG51bWJlciB3aXRoIHVuaXRzLCBpdCBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXG4vLy9cbi8vLyBAYXJnICR4IC0gTnVtYmVyXG5AZnVuY3Rpb24gc2l6ZSgkeCkge1xuICAgIEBpZiB0eXBlLW9mKCR4KSA9PSBudW1iZXIgYW5kIHVuaXQoJHgpID09ICcnIHtcbiAgICAgICAgQHJldHVybiAkeCAqICRtZW5kZWxlZXYtdW5pdC1zaXplO1xuICAgIH1cbiAgICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ29udmVydCB2YWx1ZSB0byBhIHVuaXQgb24gdGhlIHNpemUgc2NhbGUuXG4vLy9cbi8vLyBAYXJnICR4IC0gaW5wdXQgdmFsdWVcbkBmdW5jdGlvbiBzaXplLXNjYWxlKCR4KSB7XG4gICAgQGlmIHR5cGUtb2YoJHgpID09IG51bWJlciB7XG4gICAgICAgIEBpZiB1bml0KCR4KSAhPSAnJyB7XG4gICAgICAgICAgICBAZXJyb3IgJ09ubHkgdW5pdGxlc3MgbnVtYmVycyBhcmUgdmFsaWQgc2l6ZSBzY2FsZXMuJ1xuICAgICAgICB9XG4gICAgICAgICRzOiBzaWduKCR4KTtcbiAgICAgICAgJHY6IGFicygkeCk7XG4gICAgICAgICRzaXplOiBtYXAtZ2V0KCRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1udW1lcmljLCAkdik7XG4gICAgICAgICRzaXplOiBpZigkc2l6ZSA9PSBudWxsLCBwb3coMiwgYWJzKCR4KSAtIDMpLCAkc2l6ZSk7XG4gICAgICAgIEByZXR1cm4gJHMgKiAkc2l6ZSAqICRtZW5kZWxlZXYtdW5pdC1zaXplO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkeCkgPT0gc3RyaW5nIHtcbiAgICAgICAgJHg6IG1hcC1nZXQoJG1lbmRlbGVldi1zaXplLXNjYWxlLCAkeCk7XG4gICAgICAgIEBpZiAkeCA9PSBudWxsIHtcbiAgICAgICAgICAgIEBlcnJvciAnSW52YWxpZCBzaXplICN7JHh9Lic7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiBzaXplLXNjYWxlKCR4KTtcbiAgICB9IEBlbHNlIGlmICR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCBzaXplICN7JHh9Lic7XG4gICAgfVxufVxuXG4vLy8gUmV0dXJuIGEgbWFwIG9mIHNpemluZ3Mgd2l0aCBwcm9wZXJ0eS0obGVmdC9yaWdodC90b3ApIGV0YyB0byB0aGUgdmFsdWVzXG4vLy8gZGVmaW5lZCBpbiB2bWFwLlxuQGZ1bmN0aW9uIHNpemluZy1tYXAoJHByb3AsICR2bWFwKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgICN7JHByb3B9LWxlZnQ6IG1hcC1nZXQtZmlyc3QoJHZtYXAsIEwobGVmdCwgbCwgeCwgaG9yaXpvbnRhbCwgYWxsKSksXG4gICAgICAgICN7JHByb3B9LXJpZ2h0OiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKHJpZ2h0LCByLCB4LCBob3Jpem9udGFsLCBhbGwpKSxcbiAgICAgICAgI3skcHJvcH0tdG9wOiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKHRvcCwgdCwgeSwgdmVydGljYWwsIGFsbCkpLFxuICAgICAgICAjeyRwcm9wfS1ib3R0b206IG1hcC1nZXQtZmlyc3QoJHZtYXAsIEwoYm90dG9tLCBiLCB5LCB2ZXJ0aWNhbCwgYWxsKSksXG4gICAgKTtcbn1cblxuLy8vIFJldHVybiBhIG1hcCB3aXRoIHNpemluZyB2YWx1ZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgYXNzaWduZWQgdG8gcHJvcGVydHkuIFdpbGwgYmUgY29udmVydGVkIHRvIGEgc2l6aW5nLlxuQGZ1bmN0aW9uIHNpemluZygkcHJvcGVydHksICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IHNpemUoJHZhbHVlKSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogbWFwKHNpemUsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgICR2YWx1ZTogc2l6aW5nLW1hcCgkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgICAgIEByZXR1cm4gbWFwLWFwcGx5LXZhbHVlcyhzaXplLCBtYXAtZmlsdGVyLXZhbHVlcyhub3QtbnVsbCwgJHZhbHVlKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogJHZhbHVlKTtcbiAgICB9XG59XG5cbi8vLyBSZXR1cm4gYSBtYXAgd2l0aCBzaXppbmcgdmFsdWVzIGluIHRoZSBzaXppbmcgc2NhbGUgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgYXNzaWduZWQgdG8gcHJvcGVydHkuIFdpbGwgYmUgY29udmVydGVkIHRvIGEgdmFsdWUgb24gdGhlXG4vLy8gICAgICAgICAgICAgICBzaXplIHNjYWxlLlxuQGZ1bmN0aW9uIHNpemluZy1zY2FsZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IHNpemUtc2NhbGUoJHZhbHVlKSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogbWFwKHNpemUtc2NhbGUsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgICR2YWx1ZTogc2l6aW5nLW1hcCgkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgICAgIEByZXR1cm4gbWFwLWFwcGx5LXZhbHVlcyhzaXplLXNjYWxlLCBtYXAtZmlsdGVyLXZhbHVlcyhub3QtbnVsbCwgJHZhbHVlKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogJHZhbHVlKTtcbiAgICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBJbmNsdWRlIHNvbWUgc2l6aW5nIHByb3BlcnR5LlxuLy8vXG4vLy8gVmFsdWUgY2FuIGJlIGEgc2l6ZSBvciBhIG1hcCBmcm9tIGRpcmVjdGlvbnMgdG8gc2l6ZXMuIEl0IHVuZGVyc3RhbmRzIHRoZVxuLy8vIGZvbGxvd2luZyBkaXJlY3Rpb25zOiB0b3AsIGJvdHRvbSwgbGVmdCBhbmQgcmlnaHQgYW5kIHRoZSBwc2V1ZG8gZGlyZWN0aW9uczpcbi8vLyBob3Jpem9udGFsLCB4LCB2ZXJ0aWNhbCwgeSwgYW5kIGFsbC5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZS5cbi8vLyBAYXJnICR2YWx1ZSAtIFNpemUgb3IgbWFwcGluZyBvZiBzaXplcy5cbi8vLyBAYXJnICRzdWZmaXggLSBTdWZmaXggdG8gYWRkIHRvIHByb3BlcnR5IGRlY2xhcmF0aW9uIChlLmcuLiAhaW1wb3J0YW50KTtcbkBtaXhpbiBzaXppbmcoJHByb3BlcnR5LCAkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICAkZGF0YTogc2l6aW5nKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSwgJHN1ZmZpeDogJHN1ZmZpeCk7XG59XG5cbkBtaXhpbiBzaXppbmctc2NhbGUoJHByb3BlcnR5LCAkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICAkZGF0YTogc2l6aW5nLXNjYWxlKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSwgJHN1ZmZpeDogJHN1ZmZpeCk7XG59XG5cbi8vLyBBIHNpemluZyBmdW5jdGlvbiBmb3Igd2lkdGhzLlxuQG1peGluIHdpZHRoKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZyh3aWR0aCwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIHdpZHRoLXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZSh3aWR0aCwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuLy8vIEEgc2l6aW5nIGZ1bmN0aW9uIGZvciBoZWlnaHRzLlxuQG1peGluIGhlaWdodCgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmcoaGVpZ2h0LCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gaGVpZ2h0LXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZShoZWlnaHQsICR2YWx1ZSwgJHN1ZmZpeCk7XG59XG5cbi8vLyBBIHNpemluZyBmdW5jdGlvbiBmb3IgbWFyZ2lucy5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGluY2x1ZGUgc2l6aW5nKG1hcmdpbiwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIG1hcmdpbi1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmctc2NhbGUobWFyZ2luLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG4vLy8gQSBzaXppbmcgZnVuY3Rpb24gZm9yIHBhZHMuXG5AbWl4aW4gcGFkKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZyhwYWRkaW5nLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gcGFkLXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZShwYWRkaW5nLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG4vLy8gQWxpYXMgdG8gdGhlIHBhZCBtaXhpbi5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHBhZCgkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBwYWQtc2NhbGUoJHZhbHVlLCAkc3VmZml4KTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQ09MT1IgVFJBTlNGT1JNQVRJT05TIEFORCBVVElMSVRJRVNcbi8vLyBAZ3JvdXAgQ29sb3Jcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gQ29uZmlndXJhdGlvbiBvcHRpb25zXG4kbWVuZGVsZWV2LWNvbG9yLWJpYXM6IGNvbmZpZygnY29sb3IuY29udHJhc3QtYmlhcycpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1yb2xlczogJGZuLWVtcHR5LW1hcCAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtdmFyaWFudC1sZXZlbHM6IG1hcC1rZXlzKGNvbmZpZygnY29sb3IudmFyaWFudHMubGV2ZWxzJykpICFkZWZhdWx0O1xuXG4vLyBGZXRjaCBkYXJrIGFuZCBsaWdodCBjb250cmFzdCBtaXhlcyB0byBjcmVhdGUgY29udHJhc3QgdmFyaWFudHNcbiRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdDogY29uZmlnKCdjb2xvci52YXJpYW50cy5jb250cmFzdC5saWdodCcpICFkZWZhdWx0O1xuJG1lbmRlbGVldi12YXJpYW50LWRhcmstY29udHJhc3Q6IGNvbmZpZygnY29sb3IudmFyaWFudHMuY29udHJhc3QuZGFyaycpICFkZWZhdWx0O1xuXG4vLy8gUmV0dXJuIG5hbWVkIGNvbG9yIG9yIGEgZGVmYXVsdCB2YWx1ZSBpZiBjb2xvciBpcyBub3QgcmVnaXN0ZXJlZFxuLy8vXG4vLy8gQGFyZyAkbmFtZSAtIENvbG9yIG5hbWUgb3IgY29sb3IgdmFsdWVcbi8vLyBAYXJnICR2YXJpYW50IC0gQ2hvc2VuIHZhcmlhbnQuIENhbiBhbHNvIGJlIHRoZSBzdHJpbmcgJ2NvbnRyYXN0Jy5cbi8vLyBAYXJnICRhbHBoYSAtIEFwcGx5IGFscGhhIGFkanVzdG1lbnQgdG8gY29sb3IsIGlmIGdpdmVuLlxuLy8vIEBhcmcgJGRlZmF1bHQgLSBJZiBnaXZlbiwgdXNlcyB0aGlzIHZhbHVlIGlmIGNvbG9yIG5hbWUgaXMgbm90IGZvdW5kIGluIHRoZVxuLy8vICAgICAgICAgICAgICAgICBwYWxldHRlIGRpY3Rpb25hcnkuXG5AZnVuY3Rpb24gY29sb3IoJG5hbWUsICR2YXJpYW50OiBudWxsLCAkYWxwaGE6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gICAgJHJlc3VsdDogJG5hbWU7XG4gICAgQGlmICRuYW1lID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBzdHJpbmcge1xuICAgICAgICAkcmVzdWx0OiBtYXAtcmVhZCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRuYW1lLCAkZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgLy8gTWFrZSB0cmFuc2Zvcm1hdGlvbnNcbiAgICBAaWYgJHZhcmlhbnQgPT0gY29udHJhc3Qge1xuICAgICAgICAkY29udHJhc3Q6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgJHJlc3VsdCk7XG4gICAgICAgIEBpZiAkY29udHJhc3QgPT0gbnVsbCB7XG4gICAgICAgICAgICAkY29udHJhc3Q6IGNob29zZS1jb250cmFzdC1jb2xvcigkcmVzdWx0LCAkYmlhczogJG1lbmRlbGVldi1jb2xvci1iaWFzKTtcbiAgICAgICAgfVxuICAgICAgICAkcmVzdWx0OiAkY29udHJhc3Q7XG4gICAgfSBAZWxzZSBpZiAkdmFyaWFudCAhPSBudWxsIHtcbiAgICAgICAgQGVycm9yICdJbnZhbGlkIHZhcmlhbnQgZm9yIGNvbG9yICN7JG5hbWV9OiAjeyR2YXJpYW50fSc7XG4gICAgfVxuICAgIEBpZiAkYWxwaGEgIT0gbnVsbCB7XG4gICAgICAgICRyZXN1bHQ6IGNoYW5nZS1jb2xvcigkcmVzdWx0LCAkYWxwaGE6ICRhbHBoYSk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHJlc3VsdFxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIFJldHVybiBhIG5hbWVkIHZhcmlhbnQgZm9yIHRoZSBnaXZlbiBjb2xvci5cbkBmdW5jdGlvbiBjb2xvci12YXJpYW50KCRjb2xvciwgJHZhcmlhbnQpIHtcbiAgICBAaWYgbm90ICRjb2xvciB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgJHZhbHVlOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gc3RyaW5nLCBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJGNvbG9yKSwgJGNvbG9yKTtcbiAgICBAaWYgbm90ICR2YWx1ZSB7XG4gICAgICAgIEBlcnJvciAnQ29sb3IgZG9lcyBub3QgZXhpc3Q6ICN7aW5zcGVjdCgkY29sb3IpfSc7XG4gICAgfVxuXG4gICAgLy8gUmF3IHZhcmlhbnQgY2FsbDogcGFzc2luZyBhIHR1cGxlIG9mIChjb2xvci1uYW1lLCBtaXgpXG4gICAgQGlmIHR5cGUtb2YoJHZhcmlhbnQpID09IGxpc3Qge1xuICAgICAgICAkb3RoZXI6IGNvbG9yKG50aCgkdmFyaWFudCwgMSkpO1xuICAgICAgICAkbWl4OiBudGgoJHZhcmlhbnQsIDIpO1xuICAgICAgICBAcmV0dXJuIG1peCgkb3RoZXIsICR2YWx1ZSwgJG1peCk7XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggY29uZmlndXJhdGlvblxuICAgICRjZmc6IG1hcC1nZXQoJG1lbmRlbGVldi12YXJpYW50LWxldmVscywgJHZhcmlhbnQpO1xuICAgIEBpZiBub3QgJGNmZyB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCB2YXJpYW50OiAjeyR2YXJpYW50fSc7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGNvbG9yIGZyb20gY2FjaGVcbiAgICAkcmVzOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJyN7JGNvbG9yfS0jeyR2YXJpYW50fScpO1xuICAgIEBpZiAkcmVzIHtcbiAgICAgICAgQHJldHVybiAkcmVzO1xuICAgIH1cblxuICAgIC8vIENvbXB1dGUgdmFyaWF0aW9uXG4gICAgJHZhcmlhbnQtY29sb3I6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkY2ZnKTtcblxuICAgIC8vIENvbXB1dGUgY29udHJhc3QgYW5kIHNhdmUgaW4gZGljdGlvbmFyeVxuICAgICRsaWdodDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdCk7XG4gICAgJGRhcms6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtZGFyay1jb250cmFzdCk7XG4gICAgJGNvbnRyYXN0OiBjaG9vc2UtY29udHJhc3QtY29sb3IoJHZhcmlhbnQsICRsaWdodCwgJGRhcmssICRtZW5kZWxlZXYtY29sb3ItYmlhcyk7XG4gICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKChcbiAgICAgICAgJHZhcmlhbnQtY29sb3I6ICRjb250cmFzdCxcbiAgICAgICAgJGNvbnRyYXN0OiAkdmFyaWFudC1jb2xvcixcbiAgICApLCAkbWVuZGVsZWV2LWNvbG9yX2NvbnRyYXN0KSAhZ2xvYmFsO1xuXG4gICAgQHJldHVybiAkdmFyaWFudC1jb2xvcjtcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gRGVmaW5lIHRoZSBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0aWVzLlxuLy8vIElmIGNhbGxlZCB3aXRoIGEgc2luZ2xlIGFyZ3VtZW50LCB0cmVhdHMgdGhlIGNvbG9yIGFzIGEgY29sb3IgbmFtZSBhbmRcbi8vLyBhc3NpZ24gaXQgdG8gdGhlIGJhY2tncm91bmQgYW5kIHRoZSBjb250cmFzdCBjb2xvciB0byB0aGUgZm9yZWdyb3VuZC5cbkBtaXhpbiBjb2xvcigkY29sb3IsICRib3JkZXI6IGZhbHNlLCAkZmxpcDogZmFsc2UpIHtcbiAgICAkYmc6IGNvbG9yKG50aCgkY29sb3IsIDEpKTtcbiAgICAkZmc6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBsaXN0LCBudGgoJGNvbG9yLCAyKSwgbnVsbCk7XG4gICAgJGZnOiBpZigkZmcsIGNvbG9yKCRmZyksIGNvbG9yKCRiZywgY29udHJhc3QpKTtcbiAgICBAaWYgJGZsaXAge1xuICAgICAgICAkYXV4OiAkYmc7XG4gICAgICAgICRiZzogJGZnO1xuICAgICAgICAkZmc6ICRhdXg7XG4gICAgfVxuICAgICRyZXM6IChjb2xvcjogJGZnLCBiYWNrZ3JvdW5kLWNvbG9yOiAkYmcpO1xuXG4gICAgLy8gQWRkIGJvcmRlciBjb2xvclxuICAgIEBpZiAkYm9yZGVyID09IGZvcmVncm91bmQgb3IgJGJvcmRlciA9PSBmZyB7XG4gICAgICAgICRyZXM6IG1hcC1tZXJnZSgkcmVzLCAoYm9yZGVyLWNvbG9yOiAkZmcpKTtcbiAgICB9IEBlbHNlIGlmICRib3JkZXIgPT0gYmFja2dyb3VuZCBvciAkYm9yZGVyID09IGJnIG9yICRib3JkZXIge1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgKGJvcmRlci1jb2xvcjogJGJnKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkcmVzKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTkZJR1VSQVRJT05TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWNvbG9yLWNvbmZpZzogZmFsc2UgIWRlZmF1bHQ7XG5AaWYgbm90ICRtZW5kZWxlZXYtY29sb3ItY29uZmlnIHtcbiAgICAkdmFyaWFudC1sZXZlbHM6IGNvbmZpZygnY29sb3IudmFyaWFudHMubGV2ZWxzJyk7XG4gICAgJGJpYXM6ICRtZW5kZWxlZXYtY29sb3ItYmlhcztcblxuICAgIC8vLyBEaWN0aW9uYXJ5IHRoYXQgc3RvcmVzIGFsbCBuYW1lZCBjb2xvcnMgd2l0aCB0aGVpciByZXNwZWN0aXZlIHZhbHVlc1xuICAgICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgY29uZmlnKCdwYWxldHRlJywgJGZuLWVtcHR5LW1hcCkpO1xuXG4gICAgLy8vIERpY3Rpb25hcnkgbWFwcGluZyBjb2xvciB2YWx1ZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBjb250cmFzdHNcbiAgICAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgY29uZmlnKCdjb250cmFzdCcsICRmbi1lbXB0eS1tYXApKTtcblxuICAgIC8vIENyZWF0ZSBhIGxpc3Qgd2l0aCBhbGwgY29udHJhc3RzIGZyb20gbmFtZWQgY29sb3JzLlxuICAgICRhY2M6ICgpO1xuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSB7XG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0LCAkdmFsdWUpIHtcbiAgICAgICAgICAgICRsaWdodDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdCk7XG4gICAgICAgICAgICAkZGFyazogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1kYXJrLWNvbnRyYXN0KTtcbiAgICAgICAgICAgICRjb250cmFzdDogY2hvb3NlLWNvbnRyYXN0LWNvbG9yKCR2YWx1ZSwgJGxpZ2h0LCAkZGFyaywgJGJpYXMpO1xuICAgICAgICAgICAgJGFjYzogbWFwLW1lcmdlKCgkdmFsdWU6ICRjb250cmFzdCwgJGNvbnRyYXN0OiAkdmFsdWUpLCAkYWNjKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJGFjYywgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCkgIWdsb2JhbDtcblxuICAgIC8vIENyZWF0ZSBhIGxpc3Qgb2YgY29sb3Igcm9sZXMgdXNlZCB0byBkZXJpdmUgdGhlIGNvbG9yIGNsYXNzZXMuXG4gICAgLy8gV2hlbiBjcmVhdGluZyB0aGF0IGxpc3QsIGFsc28gc2F2ZSBhbGwgdmFyaWFudCBjb2xvcnMgaW4gdGhlIGRlZmF1bHRcbiAgICAvLyBjb2xvciBkaWN0aW9uYXJ5LlxuICAgICRyb2xlczogY29uZmlnKCdjb2xvci5yb2xlcycpO1xuXG4gICAgQGVhY2ggJGNvbG9yIGluIGNvbmZpZygnY29sb3IudmFyaWFudHMuY29sb3JzJykge1xuICAgICAgICAvLyBTYXZlIG1haW4gY29sb3JcbiAgICAgICAgQGlmIG5vdCBjb250YWlucygkcm9sZXMsICRjb2xvcikge1xuICAgICAgICAgICAgJHJvbGVzOiBhcHBlbmQoJHJvbGVzLCAkY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICR2YWx1ZTogbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRjb2xvcik7XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBjb250cmFzdHNcbiAgICAgICAgJGxpZ2h0OiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJG1lbmRlbGVldi12YXJpYW50LWxpZ2h0LWNvbnRyYXN0KTtcbiAgICAgICAgJGRhcms6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtZGFyay1jb250cmFzdCk7XG4gICAgICAgICRhY2M6ICgpO1xuICAgICAgICAkYWNjLWNvbnRyYXN0OiAoKTtcbiAgICAgICAgQGVhY2ggJHN1ZmZpeCwgJGNmZyBpbiAkdmFyaWFudC1sZXZlbHMge1xuICAgICAgICAgICAgJHJvbGU6ICcjeyRjb2xvcn0tI3skc3VmZml4fSc7XG4gICAgICAgICAgICAkcm9sZXM6IGFwcGVuZCgkcm9sZXMsICRyb2xlKTtcbiAgICAgICAgICAgICR2YXJpYW50OiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJGNmZyk7XG4gICAgICAgICAgICAkY29udHJhc3Q6IGNob29zZS1jb250cmFzdC1jb2xvcigkdmFyaWFudCwgJGxpZ2h0LCAkZGFyaywgJGJpYXMpO1xuICAgICAgICAgICAgJGFjYzogbWFwLW1lcmdlKCRhY2MsICgkcm9sZTogJHZhcmlhbnQpKTtcbiAgICAgICAgICAgICRhY2MtY29udHJhc3Q6IG1hcC1tZXJnZSgkYWNjLWNvbnRyYXN0LCAoXG4gICAgICAgICAgICAgICAgJHZhcmlhbnQ6ICRjb250cmFzdCxcbiAgICAgICAgICAgICAgICAkY29udHJhc3Q6ICR2YXJpYW50LFxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH1cbiAgICAgICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKCRhY2MtY29udHJhc3QsICRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QpICFnbG9iYWw7XG4gICAgICAgICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogbWFwLW1lcmdlKCRhY2MsICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSkgIWdsb2JhbDtcbiAgICB9XG5cbiAgICAvLyBTYXZlIGNvbmZpZ3VyYXRpb25zXG4gICAgJG1lbmRlbGVldi1jb2xvci1jb25maWc6IHRydWUgIWdsb2JhbDtcbiAgICAkbWVuZGVsZWV2LWNvbG9yLXJvbGVzOiAkcm9sZXMgIWdsb2JhbDtcbiAgICAkZm4tY29udHJhc3QtY29sb3Itd2hpdGU6IGNvbG9yKCdpbnZlcnNlLXRleHQnKSAhZ2xvYmFsO1xuICAgICRmbi1jb250cmFzdC1jb2xvci1ibGFjazogY29sb3IoJ3JlZ3VsYXItdGV4dCcpICFnbG9iYWw7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFRZUE9HUkFQSFlcbi8vLyBAZ3JvdXAgVHlwb2dyYXBoeVxuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kbWVuZGVsZWV2LXR5cGUtc2NhbGVzOiAoXG4gICAgbWlub3Itc2Vjb25kOiAxNi8xNSxcbiAgICBtYWpvci1zZWNvbmQ6IDkvOCxcbiAgICBtaW5vci10aGlyZDogNi81LFxuICAgIG1ham9yLXRoaXJkOiA1LzQsXG4gICAgcGVyZmVjdC1mb3VydGg6IDQvMyxcbiAgICBhdWdtZW50ZWQtZm91cnRoOiBzcXJ0KDIpLFxuICAgIHBlcmZlY3QtZmlmdGg6IDMvMixcbiAgICBnb2xkZW4tcmF0aW86ICgxICsgc3FydCg1KSkgLyAyLFxuKTtcbiRtZW5kZWxlZXYtdHlwZS1zY2FsZTogKCkgIWRlZmF1bHQ7XG5cbi8vLyBSZXR1cm4gYSB0eXBlIHNjYWxlIG1hcHBpbmcgZnJvbSB0aGUgYXJndW1lbnQuXG4vLy9cbi8vLyBJZiBhcmd1bWVudCBpcyBhIG51bWJlciBwcm92aWRlcyBhIHJhdGlvLWJhc2VkIHNjYWxlLlxuLy8vIElmIGFyZ3VtZW50IGlzIGEgbGlzdCwgY29udmVydCB0byBhIG1hcCB3aXRoIHRoZSBwcm9ncmVzc2lvbjpcbi8vLyAoJzEnOiBmaXJzdCwgJzInOiBzZWNvbmQsICczJzogdGhpcmQsIC4uLmV0Yylcbi8vLyBBcmd1bWVudCBjYW4gYmUgb25lIG9mIHRoZSBwcmUtZGVmaW5lZCB0eXBlIHNjYWxlczogdmVyeS1uYXJyb3csIG5hcnJvdywgbWVkaXVtLCB3aWRlLCB2ZXJ5LXdpZGUuXG5AZnVuY3Rpb24gdHlwZS1zY2FsZSgkc2NhbGUpIHtcbiAgICBAaWYgdHlwZS1vZigkc2NhbGUpID09IG51bWJlciB7XG4gICAgICAgIEBpZiAkc2NhbGUgPCAxIHtcbiAgICAgICAgICAgIEBlcnJvciAnUHJvZ3Jlc3Npb24gaW4gdHlwZSBzY2FsZSBtdXN0IGJlIGEgbnVtYmVyIGxhcmdlciB0aGFuIDEnO1xuICAgICAgICB9XG4gICAgICAgICRoZWFkaW5nczogZXhwb25lbnRpYWwtcHJvZ3Jlc3Npb24oJHNjYWxlLCA1LCAkcmV2ZXJzZTogdHJ1ZSk7XG4gICAgICAgICRyYXc6IGpvaW4obHN0LXRvLWFycmF5KCRoZWFkaW5ncyksIDAuODc1IDAuNzUgMC42MjUpO1xuICAgICAgICAkc2NhbGU6ICgpO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkcmF3KSB7XG4gICAgICAgICAgICAkbjogbnRoKCRyYXcsICRpKTtcbiAgICAgICAgICAgICRzY2FsZTogbWFwLW1lcmdlKCRzY2FsZSwgKGluc3BlY3QoJGkpOiByb3VuZCgkbiAqIDE2KSAvIDE2KSk7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiB0eXBlLXNjYWxlKCRzY2FsZSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRzY2FsZSkgPT0gbGlzdCB7XG4gICAgICAgICRyZXN1bHQ6ICgpO1xuICAgICAgICAka2V5OiBudWxsO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2NhbGUpIHtcbiAgICAgICAgICAgICRrZXk6IHF1b3RlKGluc3BlY3QoJGkpKTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogbnRoKCRzY2FsZSwgJGkpKSlcbiAgICAgICAgfVxuICAgICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRzY2FsZSkgPT0gbWFwIHtcbiAgICAgICAgQGlmIG5vdCBtYXAtaGFzLWtleXMoJHNjYWxlLCAoJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JykpIHtcbiAgICAgICAgICAgIEBlcnJvciAnTWFwIG11c3Qgc2hvdyBwcm9ncmVzc2lvbiBmcm9tIDEsIDMsIHVwIHRvIGF0IGxlYXN0IDYnO1xuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gJHNjYWxlO1xuICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1lbmRlbGVldi10eXBlLXNjYWxlcywgJHNjYWxlKSB7XG4gICAgICAgIEByZXR1cm4gdHlwZS1zY2FsZShtYXAtZ2V0KCRtZW5kZWxlZXYtdHlwZS1zY2FsZXMsICRzY2FsZSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgJ1dyb25nIGFyZ3VtZW50IGZvciBnZXQtdHlwZS1zY2FsZTogI3skc2NhbGV9JztcbiAgICB9XG59XG5cbi8vLyBSZXR1cm4gYSBmb250IHByb3BlcnR5IGxpa2UgZmFtaWx5LCBsaW5lLWhlaWdodCwgbGV0dGVyLXNwYWNpbmcsIHNpemUsXG4vLy8gdHJhbnNmb3JtLCBvciB3ZWlnaHQuXG4vLy9cbi8vLyBAYXJnICRwcm9wIC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHdoaWNoIC0gSWYgZ2l2ZW4sIG11c3QgYmUgZWl0aGVyIGhlYWRpbmdzIG9yIHBhcmFncmFwaCBhbmQgZGVub3Rlc1xuLy8vICAgICAgICAgICAgICAgd2hpY2ggc2VjdGlvbiB0byBsb29rIGZvciB0aGUgcHJvcGVydHlcbkBmdW5jdGlvbiBmb250LXByb3BlcnR5KCRwcm9wLCAkd2hpY2g6IHBhcmFncmFwaCkge1xuICAgICRjb25mOiBjb25maWcoJ3R5cG9ncmFwaHknLCAkd2hpY2gpO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZiwgJHByb3ApIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb25mLCAkcHJvcCk7XG4gICAgfVxuICAgIEByZXR1cm4gY29uZmlnKCd0eXBvZ3JhcGh5LiN7JHByb3B9Jyk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfaGVhZGluZy12ZXJ0aWNhbC1yaHl0aG0oJHJhdGlvKSB7XG4gICAgJGxlYWQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyk7XG4gICAgJGgtbGVhZDogY29uZmlnKCd0eXBvZ3JhcGh5LmhlYWRpbmctbGVhZCcpO1xuICAgICRkZXNjZW5kZXI6IDAuMTtcbiAgICAkbWFyZ2luLWJvdHRvbTogMC41ICogKDEuMiAtICRyYXRpbyAqICRkZXNjZW5kZXIpO1xuICAgICRoZWlnaHQtdW5pdHM6ICRtYXJnaW4tYm90dG9tICsgJHJhdGlvICogJGgtbGVhZCAvICRsZWFkO1xuICAgICRkZWx0YTogY2VpbCgkaGVpZ2h0LXVuaXRzKSAtICRoZWlnaHQtdW5pdHM7XG4gICAgZm9udC1zaXplOiAkcmF0aW8gKiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAkaC1sZWFkO1xuICAgIG1hcmdpbjogKCRsZWFkICogKDEgKyAkZGVsdGEpICogMXJlbSkgMCAoJGxlYWQgKiAkbWFyZ2luLWJvdHRvbSAqIDFyZW0pIDA7XG59XG5cbkBtaXhpbiBoZWFkaW5ncy10eXBlLXNjYWxlKCRmYWN0b3IpIHtcbiAgICAkc2NhbGU6IG1hcC1yZW1vdmUodHlwZS1zY2FsZSgkZmFjdG9yKSwgJzUnLCAnNicsICc3JywgJzgnKTtcbiAgICBAZWFjaCAkbiwgJHJhdGlvIGluICRzY2FsZSB7XG4gICAgICAgICRzZWxlY3RvcjogdW5xdW90ZSgnaCN7JG59LCAuaCN7JG59Jyk7XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBfaGVhZGluZy12ZXJ0aWNhbC1yaHl0aG0oJHJhdGlvKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNSwgLmg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJG1lbmRlbGVldi1sZWFkO1xuICAgICAgICBtYXJnaW46ICgkbWVuZGVsZWV2LWxlYWQgKiAxLjVyZW0pIDAgKCRtZW5kZWxlZXYtbGVhZCAqIDAuNXJlbSkgMDtcbiAgICB9XG4gICAgaDYsIC5oNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0MyAqICRtZW5kZWxlZXYtbGVhZDtcbiAgICAgICAgbWFyZ2luOiAoJG1lbmRlbGVldi1sZWFkICogMS41cmVtKSAwICgkbWVuZGVsZWV2LWxlYWQgKiAwLjVyZW0pIDA7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09ORklHVVJBVElPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtZW5kZWxlZXYtdHlwb2dyYXBoeS1jb25maWc6IGZhbHNlICFkZWZhdWx0O1xuQGlmIG5vdCAkbWVuZGVsZWV2LXR5cG9ncmFwaHktY29uZmlnIHtcblxuICAgIC8vIENvbXB1dGUgdHlwZSBzY2FsZXNcbiAgICAkdHlwZS1zY2FsZXM6ICgpO1xuICAgIEBlYWNoICRicCwgJGZhY3RvciBpbiBjb25maWcoJ3R5cG9ncmFwaHkuc2NhbGUnKSB7XG4gICAgICAgICR0eXBlLXNjYWxlczogbWFwLW1lcmdlKCR0eXBlLXNjYWxlcywgKCRmYWN0b3I6IHR5cGUtc2NhbGUoJGZhY3RvcikpKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIHJlc3BvbnNpdmUgdHlwZSBzY2FsZVxuICAgICRzY2FsZTogKCk7XG4gICAgQGVhY2ggJG4gaW4gKCcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnKSB7XG5cbiAgICAgICAgJGRhdGE6ICgpO1xuICAgICAgICBAZWFjaCAkYnAsICRmYWN0b3IgaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNjYWxlJykge1xuICAgICAgICAgICAgJHR5cGUtc2NhbGU6IG1hcC1nZXQoJHR5cGUtc2NhbGVzLCAkZmFjdG9yKTtcbiAgICAgICAgICAgICRzaXplOiBtYXAtZ2V0KCR0eXBlLXNjYWxlLCAkbikgKiAxcmVtO1xuXG4gICAgICAgICAgICBAaWYgJGJwID09ICdzdGFydCcge1xuICAgICAgICAgICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsIChmb250LXNpemU6ICRzaXplKSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkYnA6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9Jyk7XG4gICAgICAgICAgICAgICAgJG1lZGlhOiAnQG1lZGlhJyAobWluLXdpZHRoOiAkYnApO1xuICAgICAgICAgICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsICgkbWVkaWE6IChmb250LXNpemU6ICRzaXplKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRzY2FsZTogbWFwLW1lcmdlKCRzY2FsZSwgKCcmI3skbn0nOiAkZGF0YSkpO1xuICAgIH1cbiAgICAvL0BlcnJvciAkc2NhbGU7XG4gICAgJG1lbmRlbGVldi10eXBlLXNjYWxlOiAkc2NhbGUgIWdsb2JhbDtcbiAgICAkbWVuZGVsZWV2LXR5cG9ncmFwaHktY29uZmlnOiB0cnVlICFnbG9iYWw7XG59XG5cbi8vQGVycm9yICRtZW5kZWxlZXYtdHlwZS1zY2FsZTtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTUlYSU5TIFRIQVQgSEVMUCBDUkVBVElORyBVVElMSVRZIENMQVNTRVNcbi8vLyBAZ3JvdXAgVXRpbGl0aWVzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBmdW5jdGlvbiBtZW5kZWxlZXYtbWFrZS1wYWlyKCRwcm9wLCAkZnVuYywgJHZhbHVlKSB7XG4gICAgQHJldHVybiAoJHByb3A6IGNhbGwoYXMtZnVuYygkZnVuYyksICR2YWx1ZSkpO1xufVxuXG5AZnVuY3Rpb24gbWVuZGVsZWV2LWNvbG9yLXJvbGUoJHZhbHVlKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgIGNvbG9yOiBjb2xvcigkdmFsdWUsIGNvbnRyYXN0KSxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJHZhbHVlKSxcbiAgICApO1xufVxuXG4vLy8gRGVjbGFyZXMgYSBjc3MgdmFyaWFibGUgd2l0aCBhIHBvc3NpYmxlIGZhbGxiYWNrLlxuLy8vXG4vLy8gQGFyZ3MgJHZhciAtIE5hbWUgb2YgY3NzIHZhcmlhYmxlIChwcmVmaXggZGFzaGVzLCBpbmNsdWRlZClcbi8vLyBAYXJncyAkZmFsbGJhY2sgLSBPcHRpb25hbCBmYWxsYmFjayB2YWx1ZVxuQGZ1bmN0aW9uIGNzcy12YXIoJHZhciwgJGZhbGxiYWNrOiBudWxsKSB7XG4gICAgQHJldHVybiBpZigkZmFsbGJhY2ssIHVucXVvdGUoJ3ZhcigjeyR2YXJ9LCAjeyRmYWxsYmFja30pJyksIHVucXVvdGUoJ3ZhcigjeyR2YXJ9KScpKTtcbn1cblxuJG1lbmRlbGVldi1tYWtlLXBhaXItZm46IGFzLWZ1bmMobWVuZGVsZWV2LW1ha2UtcGFpcik7XG4kbWVuZGVsZWV2LWNvbG9yLXJvbGUtZm46IGFzLWZ1bmMobWVuZGVsZWV2LWNvbG9yLXJvbGUpO1xuJG1lbmRlbGVldi1zaXppbmctZm46IGFzLWZ1bmMoc2l6aW5nKTtcbiRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuOiBhcy1mdW5jKHNpemluZy1zY2FsZSk7XG4kbWVuZGVsZWV2LXNwZWNpYWwtcHJvcGVydGllczogKFxuICAgIC8vXG4gICAgLy8gU2l6aW5nXG4gICAgYm9yZGVyLXJhZGl1czpcbiAgICAgICAgKCRtZW5kZWxlZXYtbWFrZS1wYWlyLWZuLCAoJ2JvcmRlci1yYWRpdXMnLCBzaXplKSksXG4gICAgbWFyZ2luOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChtYXJnaW4sKSksXG4gICAgaGVpZ2h0OlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChoZWlnaHQsKSksXG4gICAgcGFkOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChwYWRkaW5nLCkpLFxuICAgIHBhZGRpbmc6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1mbiwgKHBhZGRpbmcsKSksXG4gICAgd2lkdGg6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1mbiwgKHdpZHRoLCkpLFxuICAgIG1hcmdpbi1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAobWFyZ2luLCkpLFxuICAgIGhlaWdodC1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAoaGVpZ2h0LCkpLFxuICAgIHBhZC1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAocGFkZGluZywpKSxcbiAgICBwYWRkaW5nLXNjYWxlOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctc2NhbGUtZm4sIChwYWRkaW5nLCkpLFxuICAgIHdpZHRoLXNjYWxlOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctc2NhbGUtZm4sICh3aWR0aCwpKSxcbiAgICAvL1xuICAgIC8vIENvbG9yc1xuICAgIGNvbG9yLXJvbGU6XG4gICAgICAgICgkbWVuZGVsZWV2LWNvbG9yLXJvbGUtZm4sICRmbi1lbXB0eS1hcnJheSksXG4gICAgY29sb3I6XG4gICAgICAgICgkbWVuZGVsZWV2LW1ha2UtcGFpci1mbiwgKCdjb2xvcicsICdjb2xvcicpKSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOlxuICAgICAgICAoJG1lbmRlbGVldi1tYWtlLXBhaXItZm4sICgnYmFja2dyb3VuZC1jb2xvcicsICdjb2xvcicpKSxcbiAgICBib3JkZXItY29sb3I6XG4gICAgICAgICgkbWVuZGVsZWV2LW1ha2UtcGFpci1mbiwgKCdib3JkZXItY29sb3InLCAnY29sb3InKSksXG4pO1xuXG4vLy8gSW5jbHVkZSBhbGwgaXRlbXMgb24gbWFwIGFzIHBhaXJzIG9mIGBwcm9wZXJ0eTogdmFsdWVgLlxuLy8vXG4vLy8gU29tZSBwcm9wZXJ0aWVzIGhhdmUgYSBzcGVjaWFsIHRyZWF0bWVudDpcbi8vLyAgKiBwYWRkaW5nL3BhZC93aWR0aC9oZWlnaHQvbWFyZ2luOlxuLy8vICAgICAgICB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byBzaXplcywgYW5kIG1hcHBpbmdzIGFyZSBleHBhbmRlZFxuLy8vICAgICAgICBpbnRvIGRpcmVjdGlvbnMuXG4vLy8gICogcGFkZGluZy1zY2FsZS9wYWQtc2NhbGUvLi4uOlxuLy8vICAgICAgICBsaWtlIGJlZm9yZSwgYnV0IHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHRoZSBzaXppbmcgc2NhbGUuXG4vLy8gICogY29sb3IvYmFja2dyb3VuZC1jb2xvci9ib3JkZXItY29sb3I6XG4vLy8gICAgICAgIGluY2x1ZGUgY29sb3IgYnkgdmFsdWUgb3IgbmFtZS5cbkBtaXhpbiBvcHRpb25zKCRtYXAsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgIC8vIEhhbmRsZSBzcGVjaWFsIHByb3BlcnRpZXM6IHNpemVzXG4gICAgICAgICRzcGVjaWFsOiBtYXAtZ2V0KCRtZW5kZWxlZXYtc3BlY2lhbC1wcm9wZXJ0aWVzLCAka2V5KTtcbiAgICAgICAgQGlmICRzcGVjaWFsIHtcbiAgICAgICAgICAgICRmdW5jOiBudGgoJHNwZWNpYWwsIDEpO1xuICAgICAgICAgICAgJGFyZ3M6IGFwcGVuZChudGgoJHNwZWNpYWwsIDIpLCAkdmFsdWUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJvbS1tYXAoY2FsbCgkZnVuYywgJGFyZ3MuLi4pLCAkc3VmZml4KTtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgICAgICN7JGtleX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoJHZhbHVlLCAkc3VmZml4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICN7JGtleX06ICR2YWx1ZSAkc3VmZml4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUWVBPR1JBUEhZXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuc2NhbGUnLCAoXG4gICAgICAgICAgICAnLnRleHQtJzogJG1lbmRlbGVldi10eXBlLXNjYWxlLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTaW1wbGUgc3lzdGVtIGZvbnQgc3R5bGVzOiBmb250LXNhbnMsIGZvbnQtc2VyaWYsIGZvbnQtbW9ubywgZm9udC1jdXJzaXZlXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuZm9udHMnLCAoXG4gICAgICAgICAgICBmb250LWZhbWlseTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNhbnMtc2VyaWY6IGNvbmZpZygndHlwb2dyYXBoeS5zYW5zLXNlcmlmJyksXG4gICAgICAgICAgICAgICAgICAgIHNlcmlmOiBjb25maWcoJ3R5cG9ncmFwaHkuc2VyaWYnKSxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc2l2ZTogY29uZmlnKCd0eXBvZ3JhcGh5LmN1cnNpdmUnKSxcbiAgICAgICAgICAgICAgICAgICAgbW9ub3NwYWNlOiBjb25maWcoJ3R5cG9ncmFwaHkubW9ub3NwYWNlJyksXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZvbnQgd2VpZ2h0XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMud2VpZ2h0cycsIChcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdGhpbjogMTAwLFxuICAgICAgICAgICAgICAgICAgICBleHRyYS1saWdodDogMjAwLFxuICAgICAgICAgICAgICAgICAgICBsaWdodDogMzAwLFxuICAgICAgICAgICAgICAgICAgICByZWd1bGFyOiA0MDAsXG4gICAgICAgICAgICAgICAgICAgIG1lZGl1bTogNTAwLFxuICAgICAgICAgICAgICAgICAgICBzZW1pLWJvbGQ6IDYwMCxcbiAgICAgICAgICAgICAgICAgICAgYm9sZDogNzAwLFxuICAgICAgICAgICAgICAgICAgICBleHRyYS1ib2xkOiA4MDAsXG4gICAgICAgICAgICAgICAgICAgIGJsYWNrOiA5MDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFN0eWxlcywgZGVjb3JhdGlvbnMgYW5kIHRleHQgdHJhbnNmb3JtXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuc3R5bGVzJywgKFxuICAgICAgICAgICAgZm9udC1zdHlsZTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGl0YWxpYzogaXRhbGljLFxuICAgICAgICAgICAgICAgICAgICByb21hbjogbm9ybWFsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2U6IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICAgICAgICAgbG93ZXJjYXNlOiBsb3dlcmNhc2UsXG4gICAgICAgICAgICAgICAgICAgIGNhcGl0YWxpemU6IGNhcGl0YWxpemUsXG4gICAgICAgICAgICAgICAgICAgIG5vcm1hbGNhc2U6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmU6IHVuZGVybGluZSxcbiAgICAgICAgICAgICAgICAgICAgbGluZS10aHJvdWdoOiBsaW5lLXRocm91Z2gsXG4gICAgICAgICAgICAgICAgICAgIG5vLXVuZGVybGluZTogbm9uZVxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRleHQgYWxpZ25tZW50XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuYWxpZ25tZW50JywgKFxuICAgICAgICAgICAgdGV4dC1hbGlnbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnk6IGp1c3RpZnksXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgICAgICAgICAgICAgIG1pZGRsZTogbWlkZGxlLFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10b3A6IHRleHQtdG9wLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWJvdHRvbTogdGV4dC1ib3R0b20sXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gV2hpdGVzcGFjZVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLndoaXRlLXNwYWNlJywgKFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBub3JtYWw6IG5vcm1hbCxcbiAgICAgICAgICAgICAgICAgICAgbm93cmFwOiBub3dyYXAsXG4gICAgICAgICAgICAgICAgICAgIHByZTogcHJlLFxuICAgICAgICAgICAgICAgICAgICBwcmUtbGluZTogcHJlLWxpbmUsXG4gICAgICAgICAgICAgICAgICAgIHByZS13cmFwOiBwcmUtd3JhcCxcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMZWFkaW5nXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMubGVhZGluZycsIChcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZzogY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSxcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZy10aXRsZTogY29uZmlnKCd0eXBvZ3JhcGh5LmhlYWRpbmctbGVhZCcpLFxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nLXNvbGlkOiAxLFxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nLWxvb3NlOiAyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBNZWFzdXJlXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMubWVhc3VyZScsIChcbiAgICAgICAgICAgIG1heC13aWR0aDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIG1lYXN1cmU6IDI5ZW0sIC8vIH4gNjUgY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICBtZWFzdXJlLXdpZGU6IDM4ZW0sIC8vIH4gODUgY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICBtZWFzdXJlLW5hcnJvdzogMjBlbSwgLy8gfiA0NSBjaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSW5kZW50YXRpb25cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3R5cG9ncmFwaHkubW9kdWxlcy5pbmRlbnQnLCAoXG4gICAgICAgICAgICB0ZXh0LWluZGVudDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogMS41ZW0sXG4gICAgICAgICAgICAgICAgICAgIGluZGVudC1wdW5jdHVhdGlvbjogLTAuM2VtLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuaW5kZW50JywgKFxuICAgICAgICAgICAgJy50cnVuY2F0ZSc6IChcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4sXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMsXG4gICAgICAgICAgICApXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIERpcmVjdGlvblxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmRpcmVjdGlvbicsIChcbiAgICAgICAgICAgIGRpcmVjdGlvbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHJ0bDogcnRsLFxuICAgICAgICAgICAgICAgICAgICBsdHI6IGx0cixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gREVGSU5FIFRIRSBERUZBVUxUIFNJWklORyBTQ0FMRVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUEFERElORyBTQ0FMRVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAncGFkZGluZycsIChcbiAgICAgICAgICAgIHBhZGRpbmc6XG4gICAgICAgICAgICAgICAgKCcucGFkLScsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3BhZGRpbmcnLCAoXG4gICAgICAgICAgICAnLnBhZC14Jzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBhZC15Jzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAncGFkZGluZycsIChcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDpcbiAgICAgICAgICAgICAgICAoJy5wYWQtbCcsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDpcbiAgICAgICAgICAgICAgICAoJy5wYWQtcicsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLFxuICAgICAgICAgICAgcGFkZGluZy10b3A6XG4gICAgICAgICAgICAgICAgKCcucGFkLXQnLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSxcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxuICAgICAgICAgICAgICAgICgnLnBhZC1iJywgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIE1BUkdJTiBTQ0FMRVxuXG4gICAgJG1lbmRlbGVldi1zaXplcy1hdXRvOiBtYXAtbWVyZ2UoKGF1dG86IGF1dG8pLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ21hcmdpbicsIChcbiAgICAgICAgICAgIG1hcmdpbjpcbiAgICAgICAgICAgICAgICAoJy5tYXJnaW4tJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1zaXplcy1hdXRvLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbilcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdtYXJnaW4nLCAoXG4gICAgICAgICAgICAnLm1hcmdpbi0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIHgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbngpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnbWFyZ2luJywgKFxuICAgICAgICAgICAgJy5tYXJnaW4tJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCB5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG55KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbWFyZ2luJywgKFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIGwpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbmwpXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIHIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbnIpXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBtYXJnaW4tdG9wOlxuICAgICAgICAgICAgICAgICgnLm1hcmdpbi0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCB0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG50KVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpcbiAgICAgICAgICAgICAgICAoJy5tYXJnaW4tJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKCRtZW5kZWxlZXYtc2l6ZXMtYXV0bywgYiksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMobWFwLWFwcGx5LXZhbHVlcyhuZWdhdGUsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLCBuYilcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU0laRVNcblxuICAgICRtZW5kZWxlZXYtc2l6ZXM6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLCAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIGF2YWlsYWJsZTogYXZhaWxhYmxlLFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemVzJywgKFxuICAgICAgICAgICAgJy5zaXplLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1zaXplcyxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBIb3Jpem9udGFsIGFuZCB2ZXJ0aWNhbFxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemVzJywgKFxuICAgICAgICAgICAgd2lkdGg6XG4gICAgICAgICAgICAgICAgKCcuc2l6ZS14JywgJG1lbmRlbGVldi1zaXplcyksXG4gICAgICAgICAgICBoZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuc2l6ZS15JywgJG1lbmRlbGVldi1zaXplcyksXG4gICAgICAgICAgICBsaW5lLWhlaWdodDpcbiAgICAgICAgICAgICAgICAoJy5saW5lLWhlaWdodC0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vcm1hbDogbm9ybWFsKVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemluZycsIChcbiAgICAgICAgICAgIHdpZHRoOlxuICAgICAgICAgICAgICAgICgnLndpZHRoLScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgICAgIG1heC13aWR0aDpcbiAgICAgICAgICAgICAgICAoJy5tYXgtd2lkdGgtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICAgICAgbWluLXdpZHRoOlxuICAgICAgICAgICAgICAgICgnLm1pbi13aWR0aC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBoZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuaGVpZ2h0LScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcubWF4LWhlaWdodC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBtaW4taGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLm1pbi1oZWlnaHQtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05UUk9MIExBWU9VVCAoT1ZFUkZMT1csIEZMT0FUUywgRElTUExBWSwgUE9TSVRJT04pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuXG4gICAgLy8gQ29udGFpbmVyXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5jb250YWluZXInLCAoXG4gICAgICAgICAgICAnLmNvbnRhaW5lci0xJzogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgKG1heC13aWR0aDogNDRyZW0gKyAyICogJG1lbmRlbGVldi11bml0LXNpemUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5jb250YWluZXItMic6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIChtYXgtd2lkdGg6IDM4cmVtICsgMiAqICRtZW5kZWxlZXYtdW5pdC1zaXplKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY29udGFpbmVyLTMnOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAobWF4LXdpZHRoOiAyOXJlbSArIDIgKiAkbWVuZGVsZWV2LXVuaXQtc2l6ZSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbnRhaW5lci00JzogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgKG1heC13aWR0aDogMjByZW0gKyAyICogJG1lbmRlbGVldi11bml0LXNpemUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5yYWlzZS1maXJzdCA+ICo6Zmlyc3QtY2hpbGQnOiAoXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgLy8gUG9zaXRpb24gb24gcGFnZSAocGluLCBwaW4tbGVmdCwgcGluLXRvcCwgZXRjKVxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQucG9zaXRpb24nLCAoXG4gICAgICAgICAgICAnLnBpbic6IChcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tbm9uZSc6IChcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8sXG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvLFxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG8sXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG8sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4teCc6IChcbiAgICAgICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLXknOiAoXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBpbi1sZWZ0JzogKFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tcmlnaHQnOiAoXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tdG9wJzogKFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBpbi1ib3R0b20nOiAoXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBEaXNwbGF5XG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0LmRpc3BsYXknLCAoXG4gICAgICAgICAgICBkaXNwbGF5OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGlubGluZSxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lLWJsb2NrOiBpbmxpbmUtYmxvY2ssXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlOiB0YWJsZSxcbiAgICAgICAgICAgICAgICAgICAgdGFibGUtY2VsbDogdGFibGUtY2VsbCxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lLWZsZXg6IGlubGluZS1mbGV4LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vIEZsb2F0XG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0LmZsb2F0JywgKFxuICAgICAgICAgICAgZmxvYXQ6XG4gICAgICAgICAgICAgICAgKCcuZmxvYXQtJywgKFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8gUG9zaXRpb24gKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjKVxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5wb3NpdGlvbicsIChcbiAgICAgICAgICAgIHBvc2l0aW9uOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGU6IGFic29sdXRlLFxuICAgICAgICAgICAgICAgICAgICBmaXhlZDogZml4ZWQsXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlOiByZWxhdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljOiBzdGF0aWMsXG4gICAgICAgICAgICAgICAgICAgIHN0aWNreTogc3RpY2t5LFxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8gT3ZlcmZsb3dcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQub3ZlcmZsb3cnLCAoXG4gICAgICAgICAgICBvdmVyZmxvdzpcbiAgICAgICAgICAgICAgICAoJy5vdmVyZmxvdy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIG92ZXJmbG93LXg6XG4gICAgICAgICAgICAgICAgKCcub3ZlcmZsb3cteC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIG92ZXJmbG93LXk6XG4gICAgICAgICAgICAgICAgKCcub3ZlcmZsb3cteS0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQk9SREVSU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQm9yZGVyIHNpemUgKHB4KVxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2JvcmRlcicsIChcbiAgICAgICAgICAgIGJvcmRlcjpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItJywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLWwnLCAkbWVuZGVsZWV2LWJvcmRlci1zY2FsZSksXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLXInLCAkbWVuZGVsZWV2LWJvcmRlci1zY2FsZSksXG4gICAgICAgICAgICBib3JkZXItdG9wOlxuICAgICAgICAgICAgICAgICgnLmJvcmRlci10JywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItYicsICRtZW5kZWxlZXYtYm9yZGVyLXNjYWxlKSxcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItJywgKFxuICAgICAgICAgICAgICAgICAgICBzb2xpZDogc29saWQsXG4gICAgICAgICAgICAgICAgICAgIGRhc2hlZDogZGFzaGVkLFxuICAgICAgICAgICAgICAgICAgICBkb3R0ZWQ6IGRvdHRlZCxcbiAgICAgICAgICAgICAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUm91bmRlZCBjb3JuZXJzXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3JvdW5kZWQnLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxsIGRpcmVjdGlvbnNcbiAgICAgICAgICAgICcucm91bmRlZC0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtcmFkaXVzLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRGlyZWN0aW9uYWwgcm91bmRlZCBjb3JuZXJzXG4gICAgICAgICAgICAnLnJvdW5kZWQtdCc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtYic6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtcic6c2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXJhZGl1cy1zY2FsZS1yZW0sXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtbCc6c2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXJhZGl1cy1zY2FsZS1yZW0sXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGTEVYIEJPWEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWd1dHRlci1zY2FsZTogJGZuLWVtcHR5LW1hcDtcbkBlYWNoICRrIGluICgxLCAyLCAzLCA0KSB7XG4gICAgJHNpemU6IHNpemUtc2NhbGUoJGspO1xuICAgICRjc3M6IChcbiAgICAgICAgbWFyZ2luOiB1bnF1b3RlKCcjeyRzaXplfSAtI3skc2l6ZX0nKSxcbiAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgIG1hcmdpbjogJHNpemUsXG4gICAgICAgICksXG4gICAgICAgICcmICsgJic6KFxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRzaXplLFxuICAgICAgICApLFxuICAgICk7XG4gICAgJG1lbmRlbGVldi1ndXR0ZXItc2NhbGU6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LWd1dHRlci1zY2FsZSwgKCcmI3ska30nOiAkY3NzKSk7XG59XG5cbkBpZiAkbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllcyB7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRmxleGlibGUgZ3JpZFxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdmb28nLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gUm93IGRlZmluaXRpb25zIGFuZCBtb2RpZmllcnNcbiAgICAgICAgICAgICcuZm9vYmFyJzogKFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3csXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnZmxleC1ncmlkJywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFJvdyBkZWZpbml0aW9ucyBhbmQgbW9kaWZpZXJzXG4gICAgICAgICAgICAnLnJvdyc6IChcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnJvdy1pbmxpbmUnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3csXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucm93LWV4cGFuZCc6IChcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIENvbCBkZWZpbml0aW9ucyBhbmQgbW9kaWZpZXJzXG4gICAgICAgICAgICAnLmNvbCc6IChcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbC1pbmxpbmUnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4sXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY29sLWV4cGFuZCc6IChcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gR3V0dGVyIHNjYWxlXG4gICAgICAgICAgICAnLmd1dHRlci0nOiAkbWVuZGVsZWV2LWd1dHRlci1zY2FsZSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRmxleGJveCByZWxhdGVkIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2ZsZXgnLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRGlyZWN0aW9uXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpcbiAgICAgICAgICAgICAgICAoJy5mbGV4LScsIChcbiAgICAgICAgICAgICAgICAgICAgcm93OiByb3csXG4gICAgICAgICAgICAgICAgICAgIHJvdy1yZXZlcnNlOiByb3ctcmV2ZXJzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1yZXZlcnNlOiBjb2x1bW4tcmV2ZXJzZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBBbGlnbm1lbnQgYWxvbmcgdGhlIGZsZXggYXhpc1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmZsZXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICAgICAgICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBBbGlnbm1lbnQgcGVycGVuZGljdWxhcmx5IHRvIHRoZSBmbGV4IGF4aXNcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLml0ZW1zLScsIChcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICAgICAgICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxpZ25tZW50IG9mIGZsZXggY29udGVudCBsaW5lcyBpbiB0aGUgYXZhaWxhYmxlIGFyZWFcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgKCcuY29udGVudC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFdyYXBwaW5nXG4gICAgICAgICAgICBmbGV4LXdyYXA6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB3cmFwOiB3cmFwLFxuICAgICAgICAgICAgICAgICAgICBub3dyYXA6IG5vd3JhcCxcbiAgICAgICAgICAgICAgICAgICAgd3JhcC1yZXZlcnNlOiB3cmFwLXJldmVyc2UsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvLyBBbGlnbiBhIHNpbmdsZSBlbGVtZW50XG4gICAgICAgICAgICBhbGlnbi1zZWxmOlxuICAgICAgICAgICAgICAgICgnLnNlbGYtJywgKFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBGbGV4IGdyb3cgYW5kIHNocmlua1xuICAgICAgICAgICAgZmxleC1zaHJpbms6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNocmluazogMSxcbiAgICAgICAgICAgICAgICAgICAgbm9zaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBmbGV4LWdyb3c6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGdyb3c6IDEsXG4gICAgICAgICAgICAgICAgICAgIG5vZ3JvdzogMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBGbGV4IGdyb3cgc2NhbGVcbiAgICAgICAgICAgIGZsZXg6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgICcxJzogMSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiAyLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDMsXG4gICAgICAgICAgICAgICAgICAgICc0JzogNCxcbiAgICAgICAgICAgICAgICAgICAgJzUnOiA1LFxuICAgICAgICAgICAgICAgICAgICAnNic6IDYsXG4gICAgICAgICAgICAgICAgICAgICc3JzogNyxcbiAgICAgICAgICAgICAgICAgICAgJzgnOiA4LFxuICAgICAgICAgICAgICAgICAgICAnOSc6IDksXG4gICAgICAgICAgICAgICAgICAgICcxMCc6IDEwLFxuICAgICAgICAgICAgICAgICAgICAnMTEnOiAxMSxcbiAgICAgICAgICAgICAgICAgICAgJzEyJzogMTIsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRmxleCBvcmRlciBzY2FsZVxuICAgICAgICAgICAgb3JkZXI6XG4gICAgICAgICAgICAgICAgKCcub3JkZXItJywgKFxuICAgICAgICAgICAgICAgICAgICAnMSc6IDEsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMixcbiAgICAgICAgICAgICAgICAgICAgJzMnOiAzLFxuICAgICAgICAgICAgICAgICAgICAnNCc6IDQsXG4gICAgICAgICAgICAgICAgICAgICc1JzogNSxcbiAgICAgICAgICAgICAgICAgICAgJzYnOiA2LFxuICAgICAgICAgICAgICAgICAgICAnNyc6IDcsXG4gICAgICAgICAgICAgICAgICAgICc4JzogOCxcbiAgICAgICAgICAgICAgICAgICAgJzknOiA5LFxuICAgICAgICAgICAgICAgICAgICAnMTAnOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgJzExJzogMTEsXG4gICAgICAgICAgICAgICAgICAgICcxMic6IDEyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDU1MgR1JJRFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBSRUdVTEFSIENTUyBHUklEXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2dyaWQnLCAoXG4gICAgICAgICAgICAvLyBCYXNpYyBkZWZpbml0aW9uc1xuICAgICAgICAgICAgJy5ncmlkLWRlbnNlJzogKFxuICAgICAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vIFRlbXBsYXRlc1xuICAgICAgICAgICAgJy5ncmlkLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1ncmlkLXNjYWxlLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZEdhcCc6IDAsXG4gICAgICAgICAgICAgICAgICAgICctLWdyaWRTaXplJzogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICdyZXBlYXQoJDEsIDFmciknLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAvLyBSb3cgdGVtcGxhdGVzXG4gICAgICAgICAgICAnLnJvd3MtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyaWQtc2NhbGUsXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICAnLS1ncmlkR2FwJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZFNpemUnOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogJ3JlcGVhdCgkMSwgMWZyKScsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHYXAgYmV0d2VlbiBjZWxsc1xuICAgICAgICAgICAgJy5nYXAtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyaWQtZ2FwLXNjYWxlLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZEdhcCc6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWdhcCc6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICdnYXAnOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdncmlkJywgKFxuICAgICAgICAgICAgZGlzcGxheTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGdyaWQ6IGdyaWQsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBncmlkLWF1dG8tZmxvdzpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgZGVuc2U6IGRlbnNlLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEdsb2JhbCBjZWxsIHBsYWNlbWVudFxuICAgICAgICAgICAgcGxhY2UtaXRlbXM6XG4gICAgICAgICAgICAgICAgKCcucGxhY2UtJywgKFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGp1c3RpZnktaXRlbXM6XG4gICAgICAgICAgICAgICAgKCcucGxhY2UtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLnBsYWNlLScsIChcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci15OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXk6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2hcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHcmlkIGFsaWdubWVudCBvbiBpdHMgY29udGFpbmVyXG4gICAgICAgICAgICBwbGFjZS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmdyaWQtJywgKFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmdyaWQtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kLXg6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbi14OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBldmVubHkteDogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYWxpZ24tY29udGVudDpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci15OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteTogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kLXk6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbi15OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBldmVubHkteTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEluZGl2aWR1YWwgY2VsbCBhbGlnbm1lbnRcbiAgICAgICAgICAgIHBsYWNlLXNlbGY6XG4gICAgICAgICAgICAgICAgKCcuY2VsbC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOlxuICAgICAgICAgICAgICAgICgnLmNlbGwtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGFsaWduLXNlbGY6XG4gICAgICAgICAgICAgICAgKCcuY2VsbC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHRvcDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXk6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gSW5kaXZpZHVhbCBjZWxsIHBvc2l0aW9uaW5nIGFuZCBzcGFuXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDpcbiAgICAgICAgICAgICAgICAoJy5hdC1jb2wtJywgJG1lbmRlbGVldi1ncmlkLXNjYWxlKSxcbiAgICAgICAgICAgIGdyaWQtcm93LXN0YXJ0OlxuICAgICAgICAgICAgICAgICgnLmF0LXJvdy0nLCAkbWVuZGVsZWV2LWdyaWQtc2NhbGUpLFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46XG4gICAgICAgICAgICAgICAgKCcuY29sLXNwYW4nLCAkbWVuZGVsZWV2LWdyaWQtc3Bhbi1kYXRhKSxcbiAgICAgICAgICAgIGdyaWQtcm93OlxuICAgICAgICAgICAgICAgICgnLnJvdy1zcGFuJywgJG1lbmRlbGVldi1ncmlkLXNwYW4tZGF0YSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBIQVJEIEdSSURcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGNvbDogKCk7XG4gICAgJHJvdzogKCk7XG4gICAgQGVhY2ggJGssICRuIGluICRtZW5kZWxlZXYtZ3JpZC1zY2FsZSB7XG4gICAgICAgICRjb2w6IG1hcC1tZXJnZSgkY29sLCAoJyYjeyRrfSc6IChcbiAgICAgICAgICAgICctLWdyaWQtZ2FwJzogMCxcbiAgICAgICAgICAgICctLWdyaWQtc2l6ZSc6ICRuLFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5xdW90ZSgncmVwZWF0KCN7JG59LCBjYWxjKCN7MTAwJSAvICRufSAtICN7KCRuIC0gMSkgLyAkbn0gKiB2YXIoLS1ncmlkLWdhcCkpKScpLFxuICAgICAgICApKSk7XG5cbiAgICAgICAgJHJvdzogbWFwLW1lcmdlKCRyb3csICgnJiN7JGt9JzogKFxuICAgICAgICAgICAgJy0tZ3JpZC1nYXAnOiAwLFxuICAgICAgICAgICAgJy0tZ3JpZC1zaXplJzogJG4sXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkLFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB1bnF1b3RlKCdyZXBlYXQoI3skbn0sIGNhbGMoI3sxMDAlIC8gJG59IC0gI3soJG4gLSAxKSAvICRufSAqIHZhcigtLWdyaWQtZ2FwKSkpJyksXG4gICAgICAgICkpKTtcbiAgICB9XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnaGFyZC1ncmlkJywgKFxuICAgICAgICAgICAgLy8gQmFzaWMgZGVmaW5pdGlvbnNcbiAgICAgICAgICAgICcuaGFyZC1ncmlkJzogKFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gVGVtcGxhdGVzXG4gICAgICAgICAgICAnLmhhcmQtZ3JpZC0nOiAkY29sLFxuICAgICAgICAgICAgJy5oYXJkLXJvd3MtJzogJHJvdyxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFJBTlNGT1JNQVRJT05TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0cmFuc2Zvcm0nLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gR3JvdyBhbmQgc2hyaW5rXG4gICAgICAgICAgICAnLmdyb3ctJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyb3ctc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKCQxLCAkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5zaHJpbmstJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNocmluay1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoJDEsICQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gUm90YXRpb25zXG4gICAgICAgICAgICAnLnJvdGF0ZS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICgzMDogMzAsIDQ1OiA0NSwgNjA6IDYwLCA5MDogOTApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoJDFkZWcpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgICcucm90YXRlLW4nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICgzMDogMzAsIDQ1OiA0NSwgNjA6IDYwLCA5MDogOTApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLSQxZGVnKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdGF0ZS0xODAnOiAoXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnF1b3RlKCdyb3RhdGUoMTgwZGVnKScpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHcmV5IHNjYWxlXG4gICAgICAgICAgICAnLmdyYXlzY2FsZS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdncmF5c2NhbGUoJDEpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBTZXBpYVxuICAgICAgICAgICAgJy5zZXBpYS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdzZXBpYSgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEludmVydFxuICAgICAgICAgICAgJy5pbnZlcnQtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnaW52ZXJ0KCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQ29udHJhc3RcbiAgICAgICAgICAgICcuY29udHJhc3QtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1kb3VibGUtc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQnJpZ2h0bmVzc1xuICAgICAgICAgICAgJy5icmlnaHRuZXNzLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tZG91YmxlLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdicmlnaHRuZXNzKCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gU2F0dXJhdGlvblxuICAgICAgICAgICAgJy5zYXR1cmF0aW9uLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tZG91YmxlLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdzYXR1cmF0ZSgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3RyYW5zZm9ybScsIChcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBPcmlnaW4gbG9jYXRpb25cbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46XG4gICAgICAgICAgICAgICAgKCcudHJhbnNmb3JtLScsIChcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIgY2VudGVyIDAsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2VudGVyIHRvcCAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNlbnRlciBib3R0b20gMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogbGVmdCBjZW50ZXIgMCxcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0IGNlbnRlciAwLFxuICAgICAgICAgICAgICAgICAgICBuZTogcmlnaHQgdG9wIDAsXG4gICAgICAgICAgICAgICAgICAgIG53OiBsZWZ0IHRvcCAwLFxuICAgICAgICAgICAgICAgICAgICBzZTogcmlnaHQgYm90dG9tIDAsXG4gICAgICAgICAgICAgICAgICAgIHN3OiBsZWZ0IGJvdHRvbSAwLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05UUk9MIFZJU0lCSUxJVFksIE9QQUNJVFkgQU5EIFotVkFMVUVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgIC8vIC52aXNpYmxlIGFuZCAuaGlkZGVuIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3Zpc2liaWxpdHknLCAoXG4gICAgICAgICAgICB2aXNpYmlsaXR5OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgaW52aXNpYmxlOiBoaWRkZW4sXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBvcGFjaXR5OlxuICAgICAgICAgICAgICAgICgnLm9wYWNpdHktJywgKFxuICAgICAgICAgICAgICAgICAgICAnMCc6IDAuMDAsXG4gICAgICAgICAgICAgICAgICAgICcxJzogMC4wNSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiAwLjEwLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDAuMjUsXG4gICAgICAgICAgICAgICAgICAgICc0JzogMC41MCxcbiAgICAgICAgICAgICAgICAgICAgJzUnOiAwLjc1LFxuICAgICAgICAgICAgICAgICAgICAnNic6IDAuOTAsXG4gICAgICAgICAgICAgICAgICAgICc3JzogMC45NSxcbiAgICAgICAgICAgICAgICAgICAgZnVsbDogMS4wMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHotaW5kZXg6XG4gICAgICAgICAgICAgICAgKCcuei0nLCAoXG4gICAgICAgICAgICAgICAgICAgICcwJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJzEnOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMjAwLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDMwMCxcbiAgICAgICAgICAgICAgICAgICAgJzQnOiA0MDAsXG4gICAgICAgICAgICAgICAgICAgICc1JzogNTAwLFxuICAgICAgICAgICAgICAgICAgICAnNic6IDYwMCxcbiAgICAgICAgICAgICAgICAgICAgJzcnOiA3MDAsXG4gICAgICAgICAgICAgICAgICAgICc4JzogODAwLFxuICAgICAgICAgICAgICAgICAgICAnOSc6IDkwMCxcbiAgICAgICAgICAgICAgICAgICAgJzEwJzogMTAwMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBWaXNpYmlsaXR5XG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3Zpc2liaWxpdHknLCAoXG4gICAgICAgICAgICAnLmhpZGRlbic6IChcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdbaGlkZGVuXSc6IChcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY2xlYXJmaXg6YWZ0ZXInOiAoXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGgsXG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCIsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVNDOiBDb25jZW50cmF0ZSBzaW1wbGUgdXRpbGl0eSBkZWNsYXJhdGlvbnNcbi8vXG4vLyBTZWN0aW9uczpcbi8vICAqIEJhY2tncm91bmRcbi8vICAqIENvbG9yc1xuLy8gICogSW50ZXJhY3Rpdml0eVxuLy8gICogTGlzdFxuLy8gICogU2hhZG93c1xuLy9cbi8vIG9icy46IGtlZXAgYWxsIHNlY3Rpb25zIGluIGFscGhhYmV0aWMgb3JkZXIuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBCQUNLR1JPVU5EXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnYmFja2dyb3VuZCcsIChcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGZpeGVkOiBmaXhlZCxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWw6IGxvY2FsLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyLXg6IGNlbnRlcixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYm90dG9tLFxuICAgICAgICAgICAgICAgICAgICB0b3A6dG9wLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgKFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgbm8tcmVwZWF0OiBuby1yZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdC14OiByZXBlYXQteCxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0LXk6IHJlcGVhdC15LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOlxuICAgICAgICAgICAgICAgICgnLmJnLScsIChcbiAgICAgICAgICAgICAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgY292ZXI6IGNvdmVyLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluOiBjb250YWluLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQ09MT1JTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRhdGE6ICgpO1xuICAgIEBlYWNoICRyb2xlIGluICRtZW5kZWxlZXYtY29sb3Itcm9sZXMge1xuICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1wYWxldHRlLCAkcm9sZSk7XG4gICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsIChcbiAgICAgICAgICAgICcuY29sb3ItI3skcm9sZX0nOiAoXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgJHZhbHVlKSxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWUsXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnY29sb3JzJyxcbiAgICAgICAgICAgICRkYXRhXG4gICAgKTtcblxuICAgICRkYXRhOiAoKTtcbiAgICBAZWFjaCAkcm9sZSBpbiAkbWVuZGVsZWV2LWNvbG9yLXJvbGVzIHtcbiAgICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJHJvbGUpO1xuICAgICAgICAkZGF0YTogbWFwLW1lcmdlKCRkYXRhLCAoJHJvbGU6ICR2YWx1ZSkpO1xuICAgIH1cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2NvbG9ycycsIChcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBDcmVhdGUgYWxsIC5iZy0qIGNsYXNzZXNcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgJGRhdGEpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIENyZWF0ZSBhbGwgLnRleHQtKiBjbGFzc2VzXG4gICAgICAgICAgICBjb2xvcjpcbiAgICAgICAgICAgICAgICAoJy50ZXh0LScsICRkYXRhKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSU5URVJBQ1RJVklUWVxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2ludGVyYWN0aXZpdHknLCAoXG4gICAgICAgICAgICBjdXJzb3I6XG4gICAgICAgICAgICAgICAgKCcuY3Vyc29yLScsIChcbiAgICAgICAgICAgICAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlcjogcG9pbnRlcixcbiAgICAgICAgICAgICAgICAgICAgd2FpdDogd2FpdCxcbiAgICAgICAgICAgICAgICAgICAgbW92ZTogbW92ZSxcbiAgICAgICAgICAgICAgICAgICAgbm90LWFsbG93ZWQ6IG5vdC1hbGxvd2VkLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgbm8tcG9pbnRlci1ldmVudHM6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbm8tc2VsZWN0OiBub25lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMSVNUXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gUmVtb3ZlIGxpc3Qgc3R5bGVzXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2xpc3QnLCAoXG4gICAgICAgICAgICAnLmxpc3QtaW5saW5lJzogKFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUsXG4gICAgICAgICAgICAgICAgJz4gbGknOiAoXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcubGlzdC1yZXNldCc6IChcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgJGlzLWNsYXNzOiB0cnVlXG4gICAgKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xpc3QnLCAoXG4gICAgICAgICAgICBsaXN0LXN0eWxlOlxuICAgICAgICAgICAgICAgICgnLmxpc3QtJywgKFxuICAgICAgICAgICAgICAgICAgICBkZWNpbWFsOiBkZWNpbWFsLFxuICAgICAgICAgICAgICAgICAgICBjaXJjbHV6ZTogY2lyY2x1emUsXG4gICAgICAgICAgICAgICAgICAgIGRpc2M6IGRpc2MsXG4gICAgICAgICAgICAgICAgICAgIHNxdWFyZTogc3F1YXJlLFxuICAgICAgICAgICAgICAgICAgICByb21hbjogcm9tYW4sXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNIQURPV1NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdzaGFkb3cnLCAoXG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgICgnLnNoYWRvdy0nLCAoXG4gICAgICAgICAgICAgICAgICAgICcxJzogdW5xdW90ZSgnMCAwIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMnB4IDhweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSknKSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiB1bnF1b3RlKCcwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpJyksXG4gICAgICAgICAgICAgICAgICAgICczJzogdW5xdW90ZSgnMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMSksIDAgNHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCknKSxcbiAgICAgICAgICAgICAgICAgICAgJzQnOiB1bnF1b3RlKCcwIDE1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMSksIDAgNXB4IDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpJyksXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnc2hhZG93JywgKFxuICAgICAgICAgICAgJy5pbm5lci1zaGFkb3cnOiAoXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5xdW90ZSgnaW5zZXQgMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KScpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcubm8tc2hhZG93JzogKFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUsXG4gICAgICAgICAgICApXG4gICAgICAgICkpO1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBJTlRFUlBPTEFURSBVVElMSVRZIENMQVNTRVNcbi8vLyBAZ3JvdXAgVXRpbGl0aWVzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZTogJGZuLWVtcHR5LW1hcCAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGNzcy1mcm9tLXV0aWxpdGllcygkYXJncy4uLikge1xuICAgICRyZXM6ICRmbi1lbXB0eS1tYXA7XG4gICAgJGNsYXNzZXM6IGxzdC1tYXAocmFkZCwgbHN0LWZyb20tYXJyYXkoJGFyZ3MpLCAnLicpO1xuICAgIEB3aGlsZSAkY2xhc3NlcyB7XG4gICAgICAgICRjbHM6IG50aCgkY2xhc3NlcywgMSk7XG4gICAgICAgICRjc3M6IG1hcC1nZXQoJG1lbmRlbGVldi1jbGFzc2VzLWNhY2hlLCAkY2xzKTtcbiAgICAgICAgJGNsYXNzZXM6IG50aCgkY2xhc3NlcywgMik7XG4gICAgICAgIEBpZiAkY3NzIHtcbiAgICAgICAgICAgICRyZXM6IG1hcC1tZXJnZSgkcmVzLCAkY3NzKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgJ1V0aWxpdHkgbm90IGZvdW5kOiAjeyRjbHN9JztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXM7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBJbmNsdWRlcyBkZWZpbml0aW9ucyBmcm9tIHRoZSBsaXN0ZWQgdXRpbGl0eSBjbGFzc2VzIGluIGFyZ3VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIC5mb28ge1xuLy8vICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdjb2xvci1icmFuZCBtYXJnaW4tMiBwYWQtNCcpO1xuLy8vICAgICB9XG5AbWl4aW4gdXRpbGl0aWVzKCRhcmdzLi4uKSB7XG4gICAgJGFyZ3M6IGlmKGxlbmd0aCgkYXJncykgPT0gMSwgbnRoKCRhcmdzLCAxKSwgJGFyZ3MpO1xuICAgIEBpZiBsZW5ndGgoJGFyZ3MpID09IDEgYW5kIHR5cGUtb2YoJGFyZ3MpID09IHN0cmluZyB7XG4gICAgICAgICRhcmdzOiBsc3QtdG8tYXJyYXkoc3RyLXNwbGl0KCRhcmdzLCAnICcpKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZnJvbS1tYXAoY3NzLWZyb20tdXRpbGl0aWVzKCRhcmdzLi4uKSk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHTE9CQUwgY29uZmlndXJhdGlvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiBub3QgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhNRU5ERUxFRVZfVVRJTElUSUVTX0NBQ0hFKSB7XG4gICAgJGF1eDogbHN0LXNlcGFyYXRlKGtleXMtZXF1YWwsIGxzdC1zdGl0Y2goJG1lbmRlbGVldi1jc3MtY2xhc3NlcywgJG1lbmRlbGVldi1jc3MpLCAodHlwZTogbXVsdGlwbGUpKTtcbiAgICAkY3NzLW11bHRpcGxlOiBudGgoJGF1eCwgMSk7XG4gICAgJGNzcy1zaW1wbGU6IG50aCgkYXV4LCAyKTtcblxuICAgIC8vIEZsYXR0ZW4gYWxsIGRlY2xhcmF0aW9ucyBtYWRlIHdpdGggbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlICh0eXBlPT1tdWx0aXBsZSlcbiAgICAvLyBpbnRvIGEgc2luZ2xlIGRpY3Rpb25hcnkuXG4gICAgJGNhY2hlOiBsc3QtZmxhdHRlbi1tYXAobHN0LW1hcChtYXAtZ2V0LCAkY3NzLW11bHRpcGxlLCBkYXRhKSk7XG5cbiAgICAvLyBFeHRyYWN0IGRlY2xhcmF0aW9ucyB0aGF0IHVzZXMgbWVuZGVsZWV2LXV0aWxpdHkuIChUT0RPKVxuICAgIC8vIFRob3NlIGRlY2xhcmF0aW9ucyBjYW4gYmUgdHJpY2tpZXIgc2luY2UgaXQgbWlnaHQgaW5jbHVkZSBuZXN0ZWQgbWFwcGluZ3NcbiAgICAvLyBhbmQgb3RoZXIgY29tcGxpY2F0aW9ucy5cbiAgICAkZW50cmllczogbnVsbDtcbiAgICBAd2hpbGUgJGNzcy1zaW1wbGUge1xuICAgICAgICAkY3NzOiBudGgoJGNzcy1zaW1wbGUsIDEpO1xuICAgICAgICAkY3NzLXNpbXBsZTogbnRoKCRjc3Mtc2ltcGxlLCAyKTtcblxuICAgICAgICAkbmFtZTogbWFwLWdldCgkY3NzLCBuYW1lKTtcbiAgICAgICAgJGRhdGE6IG1hcC1nZXQoJGNzcywgZGF0YSk7XG5cbiAgICAgICAgQGlmIG5vdCBtYXAtc29tZS1rZXlzKHN0ci1pbmRleCwgJGRhdGEsICcmJykge1xuICAgICAgICAgICAgJGVudHJpZXM6ICgoJG5hbWU6ICRkYXRhKSAkZW50cmllcyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGZsYXQtY3NzOiBudWxsO1xuICAgICAgICAgICAgJGNvbW1vbjogJGZuLWVtcHR5LW1hcDtcbiAgICAgICAgICAgIEBlYWNoICRrLCAkdiBpbiAkZGF0YSB7XG4gICAgICAgICAgICAgICAgQGlmIHN0ci1pbmRleCgkaywgJyYnKSB7XG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3Rvcjogc2VsZWN0b3ItbmVzdCgkbmFtZSwgJGspO1xuICAgICAgICAgICAgICAgICAgICAkc2VsZWN0b3I6IGlmKGxlbmd0aCgkc2VsZWN0b3IpID09IDEsIGluc3BlY3QoJHNlbGVjdG9yKSwgJHNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgJGZsYXQtY3NzOiAoKCRzZWxlY3RvcjogJHYpICRmbGF0LWNzcyk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICRjb21tb246IG1hcC1tZXJnZSgkY29tbW9uLCAoJGs6ICR2KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIGxlbmd0aCgkY29tbW9uKSAhPSAwIHtcbiAgICAgICAgICAgICAgICAkZmxhdC1jc3M6IGxzdC1ybWFwKG1hcC1tZXJnZSwgJGZsYXQtY3NzLCAkY29tbW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRmbGF0LWNzczogbHN0LWZsYXR0ZW4tbWFwKCRmbGF0LWNzcyk7XG4gICAgICAgICAgICAkZW50cmllczogKCRmbGF0LWNzcyAkZW50cmllcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJGNhY2hlLWZyb20tbW9kdWxlczogbHN0LWZsYXR0ZW4tbWFwKCRlbnRyaWVzKTtcblxuICAgIC8vIENvbnNvbGlkYXRlIGFsbCBkZWNsYXJhdGlvbnNcbiAgICAkY2FjaGU6IG1hcC1tZXJnZSgkY2FjaGUsICRjYWNoZS1mcm9tLW1vZHVsZXMpO1xuICAgICRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZTogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZSwgJGNhY2hlKSAhZ2xvYmFsO1xufVxuXG4kTUVOREVMRUVWX1VUSUxJVElFU19DQUNIRTogdHJ1ZTtcblxuIiwKCQkiQGlmIG5vdCB2YXJpYWJsZS1leGlzdHMobWVuZGVsZWV2LXByZWx1ZGUtbG9hZGVkKSB7XG4gICAgQGVycm9yICdDYW5ub3QgbG9hZCBlbGVtZW50cyB3aXRob3V0IGltcG9ydGluZyBwcmVsdWRlIGZpcnN0Lic7XG59XG5cbi8vIEZpcnN0IGxheWVyIHRoYXQgZW1pdHMgQ1NTLlxuLy8gTG9hZCBkZWZhdWx0IHN0eWxlcyBmb3IgZWxlbWVudHMgYW5kIHJlc2V0cyBiYXNlZCBvbiBub3JtYWxpemUuY3NzLlxuQGltcG9ydCAnZWxlbWVudHMvYmFzZSc7XG5AaW1wb3J0ICdlbGVtZW50cy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2VsZW1lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdlbGVtZW50cy9mb3JtJztcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNQUlOIFJFU0VUUyBBTkQgQ09ORklHVVJBVElPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNldCByb290IHZhcmlhYmxlc1xuJG1lbmRlbGVldi1yb290LWRlZmF1bHRzOiAoXG4gICAgLy9cbiAgICAvLyBUeXBvZ3JhcGh5XG4gICAgbGVhZDogY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSxcbiAgICAvL1xuICAgIC8vIFNpemluZ1xuICAgIHVuaXQ6IGNhbGModmFyKC0tbGVhZCkgKiAxcmVtKSxcbiAgICByZW1QeDogY29uZmlnKCd0eXBvZ3JhcGh5LnNpemUuc3RhcnQnKSAqIDFweCxcbiAgICBib3hTaXppbmc6IGJvcmRlci1ib3gsXG4pICFkZWZhdWx0O1xuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLUJBU0UpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBlYWNoICRrLCAkdiBpbiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1yb290LWRlZmF1bHRzLCBjb25maWcoJ3Jvb3QnLCAoKSkpIHtcbiAgICAgICAgICAgIC0tI3ska306ICN7JHZ9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAkX2FuaW1hdGlvbjogY29uZmlnKCdhbmltYXRpb24uZHVyYXRpb24nKSBjb25maWcoJ2FuaW1hdGlvbi50aW1pbmctZnVuY3Rpb24nKTtcbiAgICAqLCAqOmFmdGVyLCAqOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHZhci1mYWxsYmFjaygoXG4gICAgICAgICAgICBib3gtc2l6aW5nOiAoYm9yZGVyLWJveCBib3hTaXppbmcpXG4gICAgICAgICkpO1xuICAgICAgICBAaWYgY29uZmlnKCdhbmltYXRpb24uZHVyYXRpb24nKSA+IDAge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogKFxuICAgICAgICAgICAgICAgIGFsbCAkX2FuaW1hdGlvbixcbiAgICAgICAgICAgICAgICBmb250LXNpemUgMHMsIC8vIG1ha2VzIGFuaW1hdGlvbiB2ZXJ5IHNsdWdnaXNoIGR1ZSB0byBtYW55IGxheW91dCByZS1jYWxjdWxhdGlvbnNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAvLyBVdGlsaXR5IHRvIHJlbW92ZSBnbG9iYWwgcmVzZXQgb2YgYm94LXNpemluZ1xuICAgIC5yZXNldC1ib3gtc2l6aW5nIHtcbiAgICAgICAgLS1ib3hTaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgIC8vIDEuIERlZmluZSBnbG9iYWwgZm9udCBzaXplIGFuZCBiYXNlIFJFTVxuICAgIC8vIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAvLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAgICBodG1sIHtcbiAgICAgICAgLy9mb250LXNpemU6IGdldC1iYXNlLXNpemUoKSAvIDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpO1xuICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGJvZHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAje2NvbmZpZygndHlwb2dyYXBoeS50eXBlZmFjZScpIG9yIGNvbmZpZygndHlwb2dyYXBoeS5zYW5zLXNlcmlmJyl9O1xuICAgICAgICBAaW5jbHVkZSBjb25maWcoJ3R5cG9ncmFwaHkuYm9keScpO1xuICAgIH1cblxuICAgIC8vIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICAgIG1haW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIERlZmF1bHQgc3BhY2luZ3NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZGQsIGR0LCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUtc2NhbGUoMik7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSxcbiAgICBkbCxcbiAgICBmaWd1cmUsXG4gICAgZm9ybSxcbiAgICBvbCxcbiAgICBwLFxuICAgIHByZSxcbiAgICB0YWJsZSxcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUtc2NhbGUoNCk7XG4gICAgfVxufVxuXG4kTUVOREVMRUVWLUVMRU1FTlRTLUJBU0U6IHRydWU7XG4iLAoJCSJAaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLVRZUE9HUkFQSFkpIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSEVBRElOR1NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBNZWRpYSBxdWVyaWVzIHRvIGFkanVzdCBnbG9iYWwgZm9udCBzaXplXG4gICAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNpemUnKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgICAgICAgLS1yZW1QeDogI3skdmFsdWUgKiAxcHh9O1xuICAgICAgICAgICAgICAgIC0tcmVtOiAjeyR2YWx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBodG1sIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKCR2YWx1ZSAvIDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdlbmVyaWMgaGVhZGluZ3Mgc3R5bGVzIChoMSwgaDIsIGV0Yy4uLilcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2LFxuICAgIC5oZWFkaW5nLCAlaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbmZpZygndHlwb2dyYXBoeS5oZWFkaW5ncycpO1xuICAgICAgICBtYXJnaW46IDAgMCAoY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSAqIDAuNXJlbSkgMDtcbiAgICB9XG5cbiAgICAvLyBUeXBlIHNjYWxlIGZvciBkaWZmZXJlbnQgcmF0aW9zIChwcm9iYWJseSB3ZSBzaG91bGQgam9pbiB3aXRoIHRoZSBwcmV2aW91cyBsb29wKVxuICAgIEBlYWNoICRicCwgJHJhdGlvIGluIGNvbmZpZygndHlwb2dyYXBoeS5zY2FsZScpIHtcbiAgICAgICAgQGlmICRicCA9PSAnc3RhcnQnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzLXR5cGUtc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkYnA6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9Jyk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBudGgoJGJwLCAxKSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzLXR5cGUtc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBJTkxJTkUgU1RZTEVTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gTm9ybWFsaXplIGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICBiLCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgIEBpbmNsdWRlIGNvbmZpZygnZWxlbWVudHMuc21hbGwnKTtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzXG4gICAgc3ViLCBzdXAge1xuICAgICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCdlbGVtZW50cy5zdWInKTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgICB0b3A6IC0wLjVlbTtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCdlbGVtZW50cy5zdXAnKTtcbiAgICB9XG5cbiAgICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAgIC8vIDItMy4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICBjb2RlLCBrYmQsIHNhbXAge1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5Lm1vbm9zcGFjZScpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAvL2NvZGUge1xuICAgIC8vICAgIEBpbmNsdWRlIGV4dGVuZC1mcm9tKCRjb2RlLCAoJy5jb2xvci1zdWJ0bGUnKSk7XG4gICAgLy8gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICAvLyAgICBmb250LXNpemU6IDg3LjUlO1xuICAgIC8vICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgIC8vICAgIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgICAvL31cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBQQVJBR1JBUEggU1RZTEVTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcCwgLnBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbjogMCAwIChjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpICogMXJlbSkgMDtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICBwcmUsIC5wcmUge1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5Lm1vbm9zcGFjZScpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgLy9AaW5jbHVkZSBleHRlbmQtZnJvbSgkcHJlLCAoJy5jb2xvci1zdWJ0bGUnKSk7XG4gICAgICAgIC8vYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgICAgICAgJiA+IGNvZGUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSwgLmJsb2NrcXVvdGUge1xuICAgICAgICAvL0BpbmNsdWRlIGV4dGVuZC1mcm9tKCRibG9ja3F1b3RlKTtcbiAgICAgICAgLy9AaW5jbHVkZSBtYXJnaW4obWFwLWdldCgkYmxvY2txdW90ZSwgbWFyZ2luKSk7XG4gICAgICAgIC8vQGluY2x1ZGUgcGFkZGluZyhtYXAtZ2V0KCRibG9ja3F1b3RlLCBwYWRkaW5nKSk7XG5cbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgY29uZmlnKCdwYWxldHRlLmJyYW5kJyk7XG5cbiAgICAgICAgKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAxLTIuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgLy8gMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgaHIge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvL2hyIHtcbiAgICAvLyAgICBib3JkZXI6IDA7XG4gICAgLy8gICAgYm9yZGVyLXRvcDogLjEyNXJlbSBzb2xpZCBtYXAtZ2V0KCRociwgY29sb3IpO1xuICAgIC8vICAgIG1hcmdpbjogMi4wcmVtIDA7XG4gICAgLy9cbiAgICAvLyAgICBAZWFjaCAkbmFtZSBpbiBtYXAtZ2V0KCRociwgY29sb3Itcm9sZXMpIHtcbiAgICAvLyAgICAgICAgJi5jb2xvci0jeyRuYW1lfSB7XG4gICAgLy8gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvcigkbmFtZSk7XG4gICAgLy8gICAgICAgIH1cbiAgICAvLyAgICB9XG4gICAgLy99XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTElTVFNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBkbCxcbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBkbCxcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAxLjVyZW0gM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGUgaW5zaWRlO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBUQUJMRVNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGFibGUge1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBwYWRkaW5nOiBzaXplKDAuNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMSU5LXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGEge1xuICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEudGV4dCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTUlTQ1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIDEuIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gICAgLy8gMi4gUHJldmVudCByZXNwb25zaXZlIGltYWdlcyBmcm9tIG92ZXJmbG93aW5nIGluIHNtYWxsIHZpZXdwb3J0c1xuICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuJE1FTkRFTEVFVi1FTEVNRU5UUy1UWVBPR1JBUEhZOiB0cnVlO1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJVVFRPTlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKE1FTkRFTEVFVi1FTEVNRU5UUy1CVVRUT05TKSB7XG5cbiAgICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRSBhbmQgaW4gRWRnZS5cbiAgICBidXR0b24sIGlucHV0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICAgIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gICAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gICAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLFxuICAgIGJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPSdidXR0b24nXSxcbiAgICBpbnB1dFt0eXBlPSdyZXNldCddLFxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgQGluY2x1ZGUgb3B0aW9ucyhjb25maWcoJ2J1dHRvbicpKTtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5LnR5cGVmYWNlJykgb3IgY29uZmlnKCd0eXBvZ3JhcGh5LnNhbnMtc2VyaWYnKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgc2l6ZSgwLjUpIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgc2l6ZSgxKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAyNTBtcztcblxuICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIGluc2V0IDAgMCAxNnB4IHJnYmEoMjMwLCAyMjUsIDEzMiwgMC4xKTtcbiAgICAgICAgfVxuICAgICAgICAmW2Rpc2FibGVkXSwgJi5pcy1kaXNhYmxlZCB7XG4gICAgICAgICAgICBmaWx0ZXI6IHNhdHVyYXRlKDI1JSk7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICB9XG4gICAgICAgICYuaXMtc21hbGwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHNpemUoMSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUoMSk7XG4gICAgICAgICAgICAvL21hcmdpbjogMCAwIHNpemUoMC41KSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCBzaXplKDAuMjUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvcigncHJpbWFyeScsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCdzZWNvbmRhcnknLCAkYm9yZGVyOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLXBvc2l0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCdwb3NpdGl2ZScsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtd2FybmluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvcignd2FybmluZycsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtbmVnYXRpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoJ25lZ2F0aXZlJywgJGJvcmRlcjogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1jbGVhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmlzLWdob3N0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKGNvbmZpZygnYnV0dG9uLmNvbG9yJywgJGRlZmF1bHQ6IGNvbmZpZygnaW5wdXQuY29sb3InLCAkZGVmYXVsdDogJ2FjdGlvbicpKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRNRU5ERUxFRVYtRUxFTUVOVFMtQlVUVE9OUzogdHJ1ZTtcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT1JNU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tOiBzaXplKDEpO1xuJG1lbmRlbGVldi1pbnB1dC1lbGVtZW50LWZvcm0tY29sb3I6IGNvbG9yKCdicmFuZCcpICFkZWZhdWx0O1xuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLUZPUk1TKSB7XG5cbiAgICAvLyAxLTMuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gICAgLy8gNC4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gICAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddLFxuICAgIGlucHV0W3R5cGU9J3RlbCddLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSd1cmwnXSxcbiAgICBpbnB1dFt0eXBlPSdjb2xvciddLFxuICAgIGlucHV0W3R5cGU9J2RhdGUnXSxcbiAgICBpbnB1dFt0eXBlPSdtb250aCddLFxuICAgIGlucHV0W3R5cGU9J3dlZWsnXSxcbiAgICBpbnB1dFt0eXBlPSdkYXRldGltZSddLFxuICAgIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgdGV4dGFyZWEsXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCAlbWVuZGVsZWV2LWlucHV0O1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICRfY29sb3I6IGFkanVzdC1jb2xvcigkbWVuZGVsZWV2LWlucHV0LWVsZW1lbnQtZm9ybS1jb2xvciwgJGFscGhhOiAwLjUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAuNXJlbSAycHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAwIDAgMnB4ICN7JF9jb2xvcn07XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJW1lbmRlbGVldi1pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoY29uZmlnKCdpbnB1dCcpKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogc2l6ZSgxLjc1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyk7XG4gICAgICAgIG1hcmdpbjogc2l6ZSgwLjI1KSAwICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbSAwO1xuICAgICAgICBwYWRkaW5nOiAwIHNpemUoMC43NSk7XG5cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjb2xvciddIHtcbiAgICAgICAgcGFkZGluZzogc2l6ZSgwLjI1KSBzaXplKDAuNzUpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2RhdGUnXSxcbiAgICBpbnB1dFt0eXBlPSdtb250aCddLFxuICAgIGlucHV0W3R5cGU9J3dlZWsnXSxcbiAgICBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1yZW1QeCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAkX3N0eWxlLWNvbnRyb2xzOiB0cnVlO1xuICAgIEBpZiAkX3N0eWxlLWNvbnRyb2xzIHtcbiAgICAgICAgJGNvbG9yOiAkbWVuZGVsZWV2LWlucHV0LWVsZW1lbnQtZm9ybS1jb2xvcjtcbiAgICAgICAgJGNvbG9yLWRhcms6IG1peCgkY29sb3IsIGNvbG9yKCdibGFjaycpLCA3NSUpO1xuICAgICAgICAkY29sb3ItbGlnaHQ6IGFkanVzdC1jb2xvcihtaXgoJGNvbG9yLCBjb2xvcignd2hpdGUnKSwgNzUlKSwgJHNhdHVyYXRpb246IC01MCUpO1xuICAgICAgICAkc2l6ZTogMWVtO1xuICAgICAgICAkY2hlY2stbWFyay13aWR0aDogMC4yZW07XG5cbiAgICAgICAgLy8gSGlkZSBjb250cm9sc1xuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmF1bHQgaW5wdXQgYnV0dG9uIHN0eWxlc1xuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOjphZnRlcixcbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gRGlzcGxheVxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgLy8gU2l6aW5nXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gQ29sb3JcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwICgkc2l6ZSAvIDIpIHJnYmEoMCwgMCwgMCwgMC4xKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yMCk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDAuOWVtO1xuICAgICAgICAgICAgcmlnaHQ6IDAuMTVlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vIERpc3BsYXlcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIC8vIEJvcmRlclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAkY2hlY2stbWFyay13aWR0aCAkY2hlY2stbWFyay13aWR0aCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAvLyBQb3NpdGlvblxuICAgICAgICAgICAgd2lkdGg6IDAuNGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjdlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICAgICAgICBib3R0b206IDAuMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAwLjI1ZW07XG4gICAgICAgICAgICByaWdodDogMC4xZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2VkIHN0YXRlXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBtcztcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogKCRzaXplIC8gMykgc29saWQgJGNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIGVmZmVjdFxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlcixcbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrZWQgaG92ZXIgZWZmZWN0XG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhcms7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmRpc2FibGVkOjphZnRlciB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2VkIGFuZCBkaXNhYmxlZFxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogKCRzaXplIC8gMykgc29saWQgbWl4KHdoaXRlLCBncmF5c2NhbGUoJGNvbG9yKSwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI5IDE0XCIgd2lkdGg9XCIyOVwiPjxwYXRoIGZpbGw9XCIlMjNkMWQxZDFcIiBkPVwiTTkuMzc3MjcgMy42MjVsNS4wODE1NCA2LjkzNTIzTDE5LjU0MDM2IDMuNjI1XCIvPjwvc3ZnPicpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI5IDE0XCIgd2lkdGg9XCIyOVwiPjxwYXRoIGZpbGw9XCIlMjM5YjRkY2FcIiBkPVwiTTkuMzc3MjcgMy42MjVsNS4wODE1NCA2LjkzNTIzTDE5LjU0MDM2IDMuNjI1XCIvPjwvc3ZnPicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gMS4gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcGFkZGluZzogc2l6ZSgwLjUpIHNpemUoMC43NSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHNpemUoNSk7XG4gICAgfVxuXG4gICAgLy8gMS0zLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgIC8vIDQuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAvLyA1LiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgLy8gICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICBsZWdlbmQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTsgLy8gKDEwMCUgaW4gbm9ybWFsaXplLmNzcylcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgICB9XG5cbiAgICBsYWJlbCArICVtZW5kZWxlZXYtaW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDAuMjUpIC0gJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgICVtZW5kZWxlZXYtaW5wdXQgKyBsZWdlbmQsXG4gICAgbGFiZWwgKyBsZWdlbmQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDAuMjUpIC0gJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDEpO1xuICAgIH1cblxuICAgIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIC8vYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyAvLyAoMC4zNWVtIDAuNzVlbSAwLjYyNWVtIGluIG5vcm1hbGl6ZS5jc3MpXG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICBwcm9ncmVzcyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAubGFiZWwtaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbn1cblxuJE1FTkRFTEVFVi1FTEVNRU5UUy1GT1JNUzogdHJ1ZTtcbiIsCgkJIkBpZiBub3QgdmFyaWFibGUtZXhpc3RzKG1lbmRlbGVldi1wcmVsdWRlLWxvYWRlZCkge1xuICAgIEBlcnJvciAnQ2Fubm90IGxvYWQgZWxlbWVudHMgd2l0aG91dCBpbXBvcnRpbmcgcHJlbHVkZSBmaXJzdC4nO1xufVxuXG5AaW5jbHVkZSBtZW5kZWxlZXYtcmVnaXN0ZXItdXRpbGl0aWVzO1xuIiwKCQkiQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9lbGVtZW50c1wiO1xuXG5oMSxcbmgyIHtcbiAgICBtYXJnaW46IHVuc2V0O1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5sYWJlbCArIGlucHV0ICsgYnIsXG5sYWJlbCArIHRleHRhcmVhICsgYnIsXG5sYWJlbCArIHNlbGVjdCArIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtLWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZsZXgtLXdyYXAge1xuICAgIEBleHRlbmQgLmZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZmxleC0tZ2FwLTEge1xuICAgIGdhcDogMXJlbTtcbn1cbi53cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG4uZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmN1cnNvci1wb2ludGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmVqLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5lai1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5pbnB1dCArIC5oZWxwdGV4dCxcbnRleHRhcmVhICsgLmhlbHB0ZXh0LFxuc2VsZWN0ICsgLmhlbHB0ZXh0LFxuaW5wdXQgKyBiciArIC5oZWxwdGV4dCxcbnRleHRhcmVhICsgYnIgKyAuaGVscHRleHQsXG5zZWxlY3QgKyBiciArIC5oZWxwdGV4dCB7XG4gICAgQGV4dGVuZCBsZWdlbmQ7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgwLjI1KSAtICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IHNpemUoMSk7XG4gICAgbWFyZ2luLWxlZnQ6IHNpemUoMC41KTtcbn1cblxuLmhlbHB0ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgJi1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5sYWJlbCArIHVsLmVycm9ybGlzdCB7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgtMC41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxudWwuZXJyb3JsaXN0IHtcbiAgICBjb2xvcjogY29sb3IoXCJyZWRcIik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IHNpemUoMC4yNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50ZXJtcyB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMjByZW07XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgIGhlaWdodDogNi43MjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICB9XG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE0NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgfVxufVxuXG4ucmVnaXN0ZXItZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIvNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA0LjVyZW07XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNS40cmVtO1xuICAgICAgICBoZWlnaHQ6IDQuNnJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzLjNyZW0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgIH1cblxuICAgICZfX2xhYmVsLS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMy45cmVtO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmxvZ2luLWZvcm1fX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlZ2lzdGVyLWZvcm0sXG4ubG9naW4tZm9ybSB7XG4gICAgJl9faW5wdXQge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5LWJsdWUtdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dpbi1mb3JtIHtcbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMDYyNXJlbTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMi4wNjI1cmVtIDAgMi4wNjI1cmVtO1xuICAgIH1cblxuICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTQuMDYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3Jlc2V0LXBhc3N3b3JkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIH1cbiAgICAmX19yZXNldC1wYXNzd29yZDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMzZyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1idXR0b24tZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDFweCBncmF5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSBpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbmljLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICBmcm9tIC00NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgI2VhNDMzNSAxMTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICM0Mjg1ZjQgOTBkZWcgMTgwZGVnLFxuICAgICAgICAgICAgICAgICAgICAjMzRhODUzIDE4MGRlZyAyNzBkZWcsXG4gICAgICAgICAgICAgICAgICAgICNmYmJjMDUgMjcwZGVnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDczJSA1NSUvMTUwJSAxNTAlIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFkZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlZ2lzdGVyLXJlZGlyZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuXG4gICAgJl9faHIge1xuICAgICAgICBtYXJnaW46IDMuMDYyNXJlbSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkuMzUyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA3LjkzNzVyZW07XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM2cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDI2NnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL292ZXJ3cml0ZSBtZW5kZWxlZXYgcnVsZXNcbmxlZ2VuZCxcbnRleHRhcmVhLFxubGFiZWwsXG5pbnB1dCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtaW5kZW50OiB1bnNldCAhaW1wb3J0YW50O1xufVxuaW5wdXQ6bm90KC5idXR0b24pIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihcImJyYW5kXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbn1cbmxlZ2VuZCB7XG4gICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDQlLCBhdXRvKSBtaW5tYXgoYXV0bywgMTQwMHB4KSBtaW5tYXgoXG4gICAgICAgICAgICA0JSxcbiAgICAgICAgICAgIGF1dG9cbiAgICAgICAgKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgJiA+ICoge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDAgMDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFkZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLXNwYWNlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi5sb2FkZXIge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYWNjZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uaHRteC1yZXF1ZXN0IC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbi5odG14LXJlcXVlc3QubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgLnRlcm1zIHtcbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1LjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaGVja2JveCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaXN0ZXItZm9ybSB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMuMzc1cmVtIDAgMS41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTEuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogOS43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaXN0ZXItcmVkaXJlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICZfX2hyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41OHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dpbi1mb3JtIHtcbiAgICAgICAgJl9faW5wdXQgI2lkX3Bhc3N3b3JkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICByb3ctZ2FwOiAxLjIxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19yZXNldC1wYXNzd29yZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiAzMjFweCkge1xuICAgIC50ZXJtcyB7XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2hlY2tib3gge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWdpc3Rlci1mb3JtIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMy4zNzVyZW0gMCAxLjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTEuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogOS43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbnB1dC0tbWFyZ2luIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmxvZ2luLWZvcm1fX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjlyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpc3Rlci1yZWRpcmVjdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJl9faHIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjU4cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2luLWZvcm0ge1xuICAgICAgICAmX19pbnB1dCAjaWRfcGFzc3dvcmQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHJvdy1nYXA6IDEuMjFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc29jaWFsLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Jlc2V0LXBhc3N3b3JkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSIvLyBNYWluIGVsZW1lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL21haW4vbmF2aWdhdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21haW4vZWxlbWVudHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tYWluL2ZpbHRlcnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb252ZXJzYXRpb25zL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb252ZXJzYXRpb25zL2RldGFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvbW9kZXJhdGUtY29tbWVudHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb252ZXJzYXRpb25zL3dlbGNvbWUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb252ZXJzYXRpb25zL2JvYXJkLWRldGFpbCc7XG5cblxuXG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29scy90b29scyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xzL2dlbmVyaWMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29scy9jaGF0Ym90JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHMvbWFpbGluZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xzL29waW5pb24tY29tcG9uZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHMvd2ViY2hhdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xzL3N1cnZleSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9saW5rcy1tb2RhbCc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVwb3J0cy9kYXNoYm9hcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXBvcnRzL2V4cG9ydC1kYXRhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVwb3J0cy9nZW5lcmljcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JlcG9ydHMvY29tbWVudHMtcmVwb3J0LnNjc3MnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2FkbWluL2Vudmlyb25tZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZmlsZXMvaG9tZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2ZpbGVzL3Byb2ZpbGUnO1xuXG4vLyBHZW5lcmljXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbGxhcHNpYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGF0YXRhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NsdXN0ZXJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RlcmVvdHlwZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tb2RhbCc7XG5cbi8vIEZJWE1FIChmb3JldmVyKTogcmVtb3ZlIHNoYW1lIDstKVxuQGltcG9ydCAnY29tcG9uZW50cy9tYWluL21lbmRlbGVldi1zaGFtZSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvbG9hZGluZyc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG91cic7XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFHRSBOQVZJR0FUSU9OIEVMRU1FTlRTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuXG4kX3NtLWhlYWRlci1oZWlnaHQ6IHNpemUoMik7XG4kX21kLWhlYWRlci1oZWlnaHQ6IHNpemUoMi41KTtcbiRhdmF0YXItaGVpZ2h0OiAzNnB4O1xuJGF2YXRhci1ib3JkZXI6IDUwJTtcblxuYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaGVhZGVyIG5hdmlnYXRpb25cblxuLm1haW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMCAxOC43NXJlbTtcblxuICAgICYtLXdpdGhvdXQtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm1haW4taGVhZGVyIHtcbiAgICBAaW5jbHVkZSB1dGlsaXRpZXMoXCJyb3cgaXRlbXMtY2VudGVyIGNlbnRlciBzdGlja3kgcGluLXRvcFwiKTtcbiAgICBAaW5jbHVkZSBjb2xvcihcIm5hdmlnYXRpb25cIik7XG5cbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKFwicGFkLXgxXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGNvbG9yOiBjb2xvcihcIm5hdmlnYXRpb24tdGV4dFwiKTtcbiAgICAgICAgaGVpZ2h0OiAkX3NtLWhlYWRlci1oZWlnaHQ7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJl9fbG9nbyBpbWcge1xuICAgICAgICBoZWlnaHQ6ICRfc20taGVhZGVyLWhlaWdodCAqIDAuNjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2F2YXRhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRhdmF0YXItYm9yZGVyO1xuICAgICAgICB3aWR0aDogJGF2YXRhci1oZWlnaHQ7XG4gICAgICAgIGhlaWdodDogJGF2YXRhci1oZWlnaHQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cblxuLy8gUmVvcmdhbml6ZSB1c2luZyBtZWRpYSBxdWVyaWVzXG5AaW5jbHVkZSBicmVha3BvaW50KFwic21cIikge1xuICAgIC5jb250YWluZXItdGVtcG9yYXJ5IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1lYXN1cmUtd2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogNjB2dztcbiAgICB9XG5cbiAgICAubWFpbi1oZWFkZXIge1xuICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChcIm1kXCIpIHtcbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBzaXplKDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRfbWQtaGVhZGVyLWhlaWdodDtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX191c2VyIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyICNzaG93LWZsb2F0aW5nLW1lbnUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaWRlYmFyIC8gbWVudVxuXG4ubmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtO1xuXG4gICAgJi0tZGFya2VyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICB9XG59XG5cbi5wYWdlLW1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiA3NTA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdmlnYXRpb24tbWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtaW4td2lkdGg6IDgwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWhlaWdodDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlLW92ZXJmbG93IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIFwic2Fucy1zZXJpZlwiO1xuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAyLjIxOXJlbTtcbiAgICAgICAgcGFkZGluZzogMi4yNXJlbSAwIDEuNzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheS1kYXJrZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODhlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtY2F0ZWdvcmllcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxM3JlbTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LXBhZGRpbmcge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjc1cmVtO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDAgMS43NXJlbSAxLjc1cmVtO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIH1cblxuICAgICZbaXMtb3Blbj1cIlwiXSB7XG4gICAgICAgIHdpZHRoOiAxN3JlbTtcbiAgICB9XG5cbiAgICAmW2lzLW1lbnVdIHtcbiAgICAgICAgd2lkdGg6IDE3cmVtO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgIH1cblxuICAgICZbaXMtb3Blbl0ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgIHotaW5kZXg6IDc1MDtcbiAgICB9XG5cbiAgICBuYXYge1xuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoXCJsaXN0LXJlc2V0XCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5hdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgLmFkZC1idXR0b24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgIH1cblxuICAgIC5ib2FyZC1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4yNXJlbTtcblxuICAgICAgICAmX19jaGV2cm9uLXRyYW5zaXRpb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RvZ2dsZS1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICNib2FyZC1jaGV2cm9uLWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib2FyZC1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMC4zMXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS43cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkuc2VsZWN0ZWQtYm9hcmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwcmVtIC0ycmVtIDByZW0gLTJyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDJyZW0gMHJlbSAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1zZWN0aW9uIHtcbiAgICAgICAgLmRpc3BsYXktcmVwb3J0cyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2lzZXhwYW5kZWQzLFxuLmlzZXhwYW5kZWQtY2x1c3Rlci1jb21tZW50cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaXNleHBhbmRlZC1jbHVzdGVyLWNvbW1lbnRzIHtcbiAgICAmLS1vdmVyZmxvdyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gc2Nyb2xsO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgIH1cbn1cblxuI2lzZXhwYW5kZWQzOmNoZWNrZWQgKyBsYWJlbCA+IGksXG4uaXNleHBhbmRlZC1jbHVzdGVyLWNvbW1lbnRzOmNoZWNrZWQgKyBsYWJlbCA+IGkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbiNzaG93LWZsb2F0aW5nLW1lbnUge1xuICAgIHRvcDogM3JlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuXG4gICAgJi5oaWRlIHtcbiAgICAgICAgcmlnaHQ6IC0yMHJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLnByb2ZpbGUtYXZhdGFyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2Ni41cHg7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmZsb2F0aW5nLW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDNyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cbiAgICBhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICBhLFxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEzLjVyZW07XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcyhcInBhZC0yXCIpO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoXCJwYWQteTJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoXCJwYWQteTNcIik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1Ljc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW5hdmlnYXRpb24tbWVudS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNlcm5hbWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZmlsZSxcbiAgICAmX19lbnZpcm9ubWVudCB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ291dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1zZWN0aW9uIHtcbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgJl9fY29udmVyc2F0aW9uLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDZyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDZyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb252ZXJzYXRpb24tbWVudSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuNjNyZW0gYXV0byAwLjYzcmVtO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUlIGF1dG8gNSU7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgZ2FwOiAwLjkzcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fZWRpdC1idXR0b24gYSxcbiAgICAmX19kZWxldGUtYnV0dG9uIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19kZWxldGUtYnV0dG9uIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VkaXQtYnV0dG9uIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBib3JkZXI6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZWxldGUtYnV0dG9uIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgICAgICAgICAgYm9yZGVyOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBwYWRkaW5nOiAyLjI1cmVtIDAgMS43NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjtcbiAgICB9XG5cbiAgICAmX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAmX191c2VybmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTdyZW07XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgICZfX2NvbnZlcnNhdGlvbi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NnJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogNnJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMi42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMzc1cmVtO1xuICAgIH1cblxuICAgICZfX2NvbnZlcnNhdGlvbi1zaGFyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnZlcnNhdGlvbi1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xN3JlbTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c2VyLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDEuNzZyZW0gMCA0LjI1cmVtIDA7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgfVxufVxuXG4ucGFydGljaXBhbnQtbWVudSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMnJlbSBhdXRvIDEuMnJlbTtcblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBtYXJnaW46IDIuMjVyZW0gMDtcbiAgICAgICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcblxuICAgICAgICAmIGE6bGFzdC1jaGlsZCBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFydGljaXBhbnQtbWVudSxcbi5jb252ZXJzYXRpb24tbWVudSB7XG4gICAgJl9faXRlbSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzJyZW0gMDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXItd2l0aC1vcGFjaXR5O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29sdW1uLTIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICAgICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuOTNyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dlbGNvbWUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW0gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgJl9faG9tZS1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG5cbiAgICAgICAgJi0tbGlnaHRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVscC1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5hdi1kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAuNjI1cmVtIDAgMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoXCJzbVwiKSB7XG4gICAgLnBhZ2UtbWVudSB7XG4gICAgICAgIHotaW5kZXg6IDc1MDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdmlnYXRpb24tbWVudS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gM3JlbSk7XG4gICAgICAgIG1pbi13aWR0aDogMTguNzVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTguNzVyZW07XG5cbiAgICAgICAgJixcbiAgICAgICAgJltpcy1tZW51XSxcbiAgICAgICAgJltpcy1tZW51XVtpcy1vcGVuXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICBoMSxcbiAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmF2Omxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcGFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgI3BhZ2Utd3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5wYWdlLW1lbnUgKyAqIHtcbiAgICAgICAgZmxleDogNTtcbiAgICB9XG59XG5cbiNmaXJzdC1saW5rIHtcbiAgICBAZXh0ZW5kIC5zY3JlZW4tcmVhZGVyO1xuICAgIHRhYi1pbmRleDogMDtcbiAgICA6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgICBib3R0b206IHNpemUoMC41KTtcbiAgICAgICAgcGFkZGluZzogc2l6ZSgwLjI1KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwMDI7XG4gICAgfVxufVxuXG4jZG9jcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NjBweCkge1xuICAgICNkb2NzIHtcbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2JnLW1vZGFsIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICB6LWluZGV4OiAxMDA1O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgIH1cbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHRU5FUklDIEVKIFVJIEVMRU1FTlRTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTbWFsbCB0d2Vha3NcbmkuZmEsIGkuZmFzLCBpLmZhYiwgaS5mYXIge1xuICAgIG1hcmdpbjogYXV0byAwLjVlbTtcbn1cblxuLmJvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEludHJvIHRpdGxlXG4udGl0bGUge1xuICAgIEBleHRlbmQgLmgyLCAuY2VudGVyLCAudGV4dC1hY2NlbnQ7XG59XG5cbi5pbnRyby1wYXJhZ3JhcGgge1xuICAgIEBleHRlbmQgLmNlbnRlcjtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGU7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNpemUoMSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNpemUoMSk7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFicyBhbmQgY2F0ZWdvcmllc1xuLnRhYnMsIC5jYXRlZ29yaWVzIHtcbiAgICBAZXh0ZW5kIC5yb3c7XG5cbiAgICBkaXYsYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufVxuXG4udGFicyB7XG4gICAgQGV4dGVuZCAudXBwZXJjYXNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ncmF5O1xuXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgIC8qIFNhZmFyaSBhbmQgQ2hyb21lICovXG4gICAgfVxuXG4gICAgJi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgICYgW2lzLXNlbGVjdGVkXSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC50ZXh0LWFjY2VudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yKCdhY2NlbnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLS1zbWFsbGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuODEzcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2Nyb2xsLXgge1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgfVxuICAgICZfX3RhYi1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYtLXNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0ZWdvcmllcyB7XG4gICAgQGluY2x1ZGUgY29sb3IobWl4KGNvbG9yKCdicmFuZC1saWdodGVyJyksIGNvbG9yKCd3aGl0ZScpKSwgJ2JyYW5kJyk7XG4gICAgQGV4dGVuZCAuYm9sZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAqIHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTEsIC5tYXJnaW4teDE7XG4gICAgICAgIGNvbG9yOiBjb2xvcignYnJhbmQnKTtcbiAgICB9XG4gICAgYTpob3Zlcjpub3QoW2lzLXNlbGVjdGVkXSkge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvcignYnJhbmQnLCAkYWxwaGE6IDAuNSk7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUG9wLXVwIHdpbmRvd1xuLnBvcHVwIHtcbiAgICBAZXh0ZW5kIC5yZWxhdGl2ZSwgLmNvbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYmFja2dyb3VuZCcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKCdhY2NlbnQnKTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICZfX2NvbnRlbnRzIHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTMsIC5jZW50ZXIsIC5jb2w7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzb2x1dGUsIC5waW4tdG9wLCAucGluLXJpZ2h0LCAubWFyZ2luLTM7XG4gICAgICAgIGNvbG9yOiBjb2xvcignYmxhY2snKTtcbiAgICB9XG59XG5cbi5vdmVybGF5IHtcbiAgICBAZXh0ZW5kIC5maXhlZCwgLnBpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgei1pbmRleDogNTAwO1xuXG4gICAgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAxMi41dmggYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgICAgbWluLWhlaWdodDogNDB2aDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVG9hc3QgZWxlbWVudFxuLyogVGhlIHNuYWNrYmFyIC0gcG9zaXRpb24gaXQgYXQgdGhlIGJvdHRvbSBhbmQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgc2NyZWVuICovXG4jc25hY2tiYXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgLyogSGlkZGVuIGJ5IGRlZmF1bHQuIFZpc2libGUgb24gY2xpY2sgKi9cbiAgICBtaW4td2lkdGg6IDI1MHB4OyAvKiBTZXQgYSBkZWZhdWx0IG1pbmltdW0gd2lkdGggKi9cbiAgICBtYXJnaW4tbGVmdDogLTEyNXB4OyAvKiBEaXZpZGUgdmFsdWUgb2YgbWluLXdpZHRoIGJ5IDIgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyAvKiBCbGFjayBiYWNrZ3JvdW5kIGNvbG9yICovXG4gICAgY29sb3I6ICNmZmY7IC8qIFdoaXRlIHRleHQgY29sb3IgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRlcmVkIHRleHQgKi9cbiAgICBib3JkZXItcmFkaXVzOiAycHg7IC8qIFJvdW5kZWQgYm9yZGVycyAqL1xuICAgIHBhZGRpbmc6IDE2cHg7IC8qIFBhZGRpbmcgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7IC8qIFNpdCBvbiB0b3Agb2YgdGhlIHNjcmVlbiAqL1xuICAgIHotaW5kZXg6IDE7IC8qIEFkZCBhIHotaW5kZXggaWYgbmVlZGVkICovXG4gICAgbGVmdDogNTAlOyAvKiBDZW50ZXIgdGhlIHNuYWNrYmFyICovXG4gICAgYm90dG9tOiAzMHB4OyAvKiAzMHB4IGZyb20gdGhlIGJvdHRvbSAqL1xufVxuXG4udHJpYW5nbGUge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IDAuNDY4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjgzNzVyZW0gc29saWQgJGNvbG9yLWJhc2UtcGluaztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG4gICAgJi0tdG9wIHtcbiAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICB9XG5cbiAgICAmLS13aGl0ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1icmFuZC1saWdodDtcbiAgICB9XG59XG5cblxuLyogQW5pbWF0aW9ucyB0byBmYWRlIHRoZSBzbmFja2JhciBpbiBhbmQgb3V0ICovXG4kdG9hc3QtaGVpZ2h0OiBzaXplKDEuNSk7XG4kdG9hc3Qtb3BhY2l0eTogMC43NTtcblxuQGtleWZyYW1lcyB0b2FzdC1zaG93IHtcbiAgICBmcm9tIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRvcDogJHRvYXN0LWhlaWdodDtcbiAgICAgICAgb3BhY2l0eTogJHRvYXN0LW9wYWNpdHk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRvYXN0LWhpZGUge1xuICAgIGZyb20ge1xuICAgICAgICB0b3A6ICR0b2FzdC1oZWlnaHQ7XG4gICAgICAgIG9wYWNpdHk6ICR0b2FzdC1vcGFjaXR5O1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi50b2FzdCB7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdjb2xvci1icmFuZC1saWdodGVyIHBhZC0zIHNoYWRvdy0yIHNlbWktYm9sZCcpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiB0b2FzdC1zaG93IDAuMjVzIDAuMjVzIGJhY2t3YXJkcywgdG9hc3QtaGlkZSAwLjVzIDRzIGZvcndhcmRzO1xuICAgIGJvcmRlci1yYWRpdXM6IHNpemUoMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg5MCUpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgb3BhY2l0eTogJHRvYXN0LW9wYWNpdHk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogJHRvYXN0LWhlaWdodDtcbiAgICB3aWR0aDogOTAlO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1JTtcblxuICAgICZfX2ljb24ge1xuICAgICAgICBAZXh0ZW5kIC5wYWQtMjtcbiAgICAgICAgQGluY2x1ZGUgY29sb3IoJ3doaXRlJyAnYnJhbmQnKTtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3RleHQtNCB1cHBlcmNhc2UgYm9sZCB0ZXh0LWJyYW5kJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4udG9hc3QtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi50b2FzdC0tc2hvdyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuZGlhbG9nLnRvYXN0LS1zaG93IHtcbiAgICBib3JkZXI6IHVuc2V0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMTZweCkge1xuICAgIC50b2FzdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbn1cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZXNjcmlwdGlvbiBsaXN0IChmb3IgcHJvZmlsZSBhbmQgb3RoZXJzKVxuLmRlc2NyaXB0aW9uIHtcbiAgICBkdCB7XG4gICAgICAgIEBleHRlbmQgLmJvbGQsIC50ZXh0LTYsIC50ZXh0LWJyYW5kLCAubG93ZXJjYXNlLCAubWFyZ2luLTA7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgIH1cbn1cblxuLnN0YXQtc2xhYiB7XG4gICAgQGV4dGVuZCAucm93LCAud3JhcCwgLml0ZW1zLWNlbnRlcjtcblxuICAgIGRsIHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTA7XG4gICAgICAgIG1hcmdpbjogMCAwIHNpemUoMSkgMDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5ib2xkLCAudGV4dC1icmFuZCwgLmxvd2VyY2FzZSwgLm1hcmdpbi0wLCAuaW5saW5lLCAuaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHNpemUoMy41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJvbGQsIC5pbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogc2l6ZSgxKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogc2l6ZSgxLjUpO1xuICAgICAgICAgICAgcmlnaHQ6IHNpemUoMyk7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNxdWFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUb29sdGlwIGNvbXBvbmVudFxuLnRvb2x0aXAge1xuICAgIEBleHRlbmQgLmFic29sdXRlO1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTIsIC5hYnNvbHV0ZSwgLmJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAuMXM7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtYWNjZW50LWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogLjYyNXJlbVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciAudG9vbHRpcF9fY29udGVudCB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vL3Byb2dyZXNzIGJhciBlbGVtZW50XG4ucHJvZ3Jlc3MtYmFyIHtcbiAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3JvdyBmbGV4LWNlbnRlciBpdGVtcy1jZW50ZXIgbWFyZ2luLXkxJyk7XG5cbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE4ZW07XG5cbiAgICAmX19wcm9ncmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbi1zY2FsZSgoeDogMSkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKCdicmFuZCcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYtLXNpbXBsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAgICAgc3Ryb25nIHtmb250LXdlaWdodDpub3JtYWw7fVxuXG4gICAgICAgIC5wcm9ncmVzcy1iYXJfX3Byb2dyZXNzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA2LjE4OHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW07XG4gICAgICAgICAgICA6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbmstbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tcHJvZmlsZS0tYnV0dG9uc3tcbiAgICBpbnB1dFt0eXBlPXRleHRde1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9fY2FuY2Vse1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXIgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9fc2F2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLAoJCSIuZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5maWx0ZXJfX3NlbGVjdCB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbSAwIDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1waW5rO1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LXBpbms7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiAyOHB4O1xuXG4gICAgJi0td2lkdGgtc20ge1xuICAgICAgICB3aWR0aDogMTY5cHg7XG4gICAgICAgIG1pbi13aWR0aDogMTY5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgICYtLXdpZHRoLW1kIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICB9XG59XG5cbi5maWx0ZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZpbHRlcl9fZW50cmllcy1zZWxlY3Qge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIG1pbi13aWR0aDogNHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbn1cblxuLmZpbHRlcl9fc29ydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICB9XG4gICAgLmZhLXNvcnQtdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMC41NXJlbTtcbiAgICB9XG59XG5cbi5maWx0ZXJfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgfVxuICAgICYtLWJsdWUge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5waXBlLS1kaXZpZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwLjVyZW07XG59XG5cbi5pY29uLS1waW5rIHtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1waW5rICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgIC5waXBlLS1kaXZpZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmZpbHRlcl9fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05WRVJTQVRJT04gQ0FSRFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCIuLi8uLi9jb25maWdcIjtcblxuJF9jYXJkLXdpZHRoOiAxMDAlO1xuJF9jYXJkLWJnOiBjb25maWcoJ2VqLmNvbnZlcnNhdGlvbi1jYXJkLmJnLWltYWdlJyk7XG5cbjpyb290IHtcbiAgICAtLXRoZW1lLWNvbG9yOiAje2NvbG9yKCdicmFuZCcpfTtcbiAgICAtLXRoZW1lLWxpZ2h0LWNvbG9yOiAje2NvbG9yKCdicmFuZC1saWdodGVyJyl9O1xufVxuXG4uY29udmVyc2F0aW9uLWNhcmQge1xuICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY2VudGVyIHRleHQtNiBjb2wgaXRlbXMtY2VudGVyJyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjc3MtdmFyKC0tdGhlbWUtY29sb3IsIGNvbG9yKCdicmFuZCcpKTtcbiAgICBib3JkZXItcmFkaXVzOiBzaXplKGNvbmZpZygnZWouY29udmVyc2F0aW9uLWNhcmQuYm9yZGVyLXJhZGl1cycpKTtcbiAgICBjb2xvcjogY3NzLXZhcigtLXRoZW1lLWxpZ2h0LWNvbG9yLCBjb2xvcignYnJhbmQtbGlnaHRlcicpKTtcbiAgICB3aWR0aDogJF9jYXJkLXdpZHRoO1xuICAgIGhlaWdodDogMjByZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgIH1cblxuICAgICZfX3RhZ3Mge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3RleHQtNiBib2xkJyk7XG5cbiAgICAgICAgQGlmIGNvbmZpZygnZWouY29udmVyc2F0aW9uLWNhcmQuaGlnaGxpZ2h0LXRhZ3MnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjc3MtdmFyKC0tdGhlbWUtbGlnaHQtY29sb3IsIGNvbG9yKCdicmFuZC1saWdodGVyJykpO1xuICAgICAgICAgICAgY29sb3I6IGNzcy12YXIoLS10aGVtZS1jb2xvciwgY29sb3IoJ2JyYW5kJykpO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjFyZW07XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IC40cmVtIDIxJTtcbiAgICAgICAgICAgIGhlaWdodDogNnJlbTtcblxuICAgICAgICAgICAgLnNwYW4taWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zdGF0aXN0aWNzIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdsaXN0LWlubGluZSBwYWQteTEnKTtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygncGFkLXgxJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY29sIGZsZXgtY2VudGVyIHBhZC0zJyk7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd0ZXh0LTQgc2Fucy1zZXJpZicpO1xuXG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDMuNXB4IDBweCAzLjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC44cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21vZGVyYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd1cHBlcmNhc2UgdGV4dC02IG1hcmdpbi0yIGJvbGQnKTtcblxuICAgICAgICBjb2xvcjogY29sb3IoJ2JsYWNrJyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3BhZC10MSBtYXJnaW4tdDEnKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOHJlbTtcblxuICAgICAgICBAaWYgJF9jYXJkLWJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNzcy12YXIoLS10aGVtZS1jb2xvciwgY29sb3IoJ2JyYW5kJykpIHVybChcIiN7JF9jYXJkLWJnfVwiKSByZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuXG4gICAgICAgICZfX3Byb2dyZXNzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hbHRlcm5hdGUtY2FyZHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogc2l6ZSgwLjUpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxOHJlbSwgMWZyKSk7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NS41cmVtKSB7bWF4LXdpZHRoOiAyNHJlbTt9XG5cbiAgICAgICAgICAgID4gKiB7Ym9yZGVyLXJhZGl1czogc2l6ZSgwLjUpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1OHJlbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heChjYWxjKCgxMDAlIC8gNikgLSAuNzVyZW0pLCAxZnIpKTtcbiAgICB9XG59XG5cbi5zdGF0aXN0aWNzLWNhcmQge1xuICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDE0LjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA5cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtYnJhbmQtbGlnaHQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgIGJveC1zaGFkb3c6IDByZW0gMC4yNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICB9XG4gICAgJi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgIH1cbiAgICAmLXZhbHVlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxufVxuXG4uY2FyZHMtZGl2aWRlciB7XG4gICAgLmNhcmRzLWRpdmlkZXItYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcblxuICAgICAgICByb3ctZ2FwOiAxLjQzNzVyZW07XG4gICAgICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgfVxuXG4gICAgLmNhcmRzLWRpdmlkZXItaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2xvc2UtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcGFkZGluZzogLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHRyYW5zaXRpb246IC4yNXM7XG5cbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IC0xMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA2O1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtIDAuNjI1cmVtIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogODAlO1xuXG4gICAgICAgIC5jYXJkcy1kaXZpZGVyLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGlzdGljcy1jYXJkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRzLWRpdmlkZXItaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lnbmF0dXJlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG59XG5cbi5zaWduYXR1cmUtbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn0iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVkVSU0FUSU9OIERFVEFJTCAoYmFsbG9vbiAvIGNvbW1lbnQgY2FyZCAvIGNvbW1lbnQgZm9ybSAvIGV4dHJhIC8gcHJvZ3Jlc3MgYmFyKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb21wb25lbnRzL21peGlucy9hcnJvdyc7XG5AaW1wb3J0ICdfZGV0YWlsLWhlYWRlcic7XG5AaW1wb3J0ICdfZGV0YWlsLXNoYXJpbmcnO1xuXG4kY29tcG9uZW50LWJvcmRlci1yYWRpdXM6IHNpemUoY29uZmlnKCdlai5zdHlsZS5ib3JkZXItcmFkaXVzJykpO1xuXG4kY29sb3ItYnJhbmQtY29udmVyc2F0aW9uLWZvcm06IHJnYmEoNDgsIDE5MSwgMjE1ICwgLjE1KTtcblxuQG1peGluIHRoZW1lZCgkcHJvcCwgJHZhbHVlOiBudWxsKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBsaWdodCB7XG4gICAgICAgICN7JHByb3B9OiAkY29sb3ItYnJhbmQtY29udmVyc2F0aW9uLWZvcm07XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3B9OiBjb2xvcignYnJhbmQnKTtcbiAgICB9XG59XG5cbi5jb250ZW50LWdyaWQubWFyZ2luLXkzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb252ZXJzYXRpb24tYmFsbG9vbiB7XG4gICAgQGV4dGVuZCAuY2VudGVyO1xuXG4gICAgLmNvbnRlbnQtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDQlLCBhdXRvKSBtaW5tYXgoYXV0bywgMTQwMHB4KSBtaW5tYXgoMTQlLCBhdXRvKTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFydGljbGUge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZWQoJ2JhY2tncm91bmQnLCBsaWdodCk7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAjYWRkLW1vcmUtY29tbWVudHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIEBleHRlbmQgLnRleHQtYWNjZW50O1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICB9XG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdyb3cgcGFkLXg0Jyk7XG5cbiAgICAgICAgYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ2FjY2VudCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIGZvcm1zXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiA0LjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBAZXh0ZW5kIGxlZ2VuZDtcbiAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXVlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5oZWxwdGV4dCB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLmVycm9ybGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuODc1cmVtO1xuICAgIH1cbn1cblxuLmNvbnZlcnNhdGlvbi1iYWxsb29uIGxhYmVsLFxuLmNvbnZlcnNhdGlvbi1mb3JtIGxhYmVsLFxuLmJvYXJkLWZvcm0gbGFiZWxcbntcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uY29udmVyc2F0aW9uLWJhbGxvb24gbGFiZWwgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNvbnZlcnNhdGlvbi1iYWxsb29uIGxhYmVsIHNwYW46OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jb252ZXJzYXRpb24tYmFsbG9vbiBsYWJlbDpmaXJzdC1sZXR0ZXIsXG4uY29udmVyc2F0aW9uLWZvcm0gZGl2IGxhYmVsOmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuLmNvbnZlcnNhdGlvbi1mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzLjE4OHJlbTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDQlLCBhdXRvKSBtaW5tYXgoYXV0bywgMTQwMHB4KSBtaW5tYXgoMTQlLCBhdXRvKTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMlIGF1dG8gMyU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgICAmX19oNCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJl9fZHVyYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaW5wdXQge21hcmdpbi1ib3R0b206IDA7fVxuICAgIH1cblxuICAgICZfX2N1c3RvbS1yaWNodGV4dCB7XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgICAgICAgLmRqYW5nby1ja2VkaXRvci13aWRnZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgfVxuXG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLmhlbHB0ZXh0IHtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuYmxvY2sge1xuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC4zNzVyZW0gMCAwLjY4OHJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3JlYXRlLWJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1wcmltYXJ5LmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwLjM3NXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvcm0tY29tcG9uZW50IHtcbiAgICAgICAgJl9fZHJvcC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjM3NXJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMy4xMjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLWdyYXktMjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktNTA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMC44NzVyZW07XG5cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kcm9wLWJveDpudGgtY2hpbGQoNCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAuODEzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZS1uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS01MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHgtc21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuODEzcmVtO1xuXG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX191cGxvYWQtYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDEuODc1cmVtO1xuXG4gICAgICAgICAgICAmLS1yZW1vdmUsICYtLXZpZXcge1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXZpZXcge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXVwbG9hZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAwLjg3NXJlbTtcblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVXBsb2FkIGNhcmRcbi5kcm9wem9uZSB7XG4gICAgLnVwbG9hZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAmX19oaW50LXNpemUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAmLS1sYWJlbC1tYXJnaW4tMCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fdXBsb2FkLWNhcmQtY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6JGNvbG9yLWdyYXktNTAwO1xuXG4gICAgICAgICZfX2ZpZWxkLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiRjb2xvci1ncmF5LTUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19oaW50IHtcbiAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY29tbWVudC1mb3JtIHtcbiAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3BhZC0zcCBtYXJnaW4teDIgd2lkdGgtZnVsbCcpO1xuXG4gICAgYm9yZGVyLXJhZGl1czogJGNvbXBvbmVudC1ib3JkZXItcmFkaXVzO1xufVxuXG5cbi5jb21tZW50LWZvcm0ge1xuICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY2VudGVyIHRleHQtYmxhY2snKTtcbiAgICBAaW5jbHVkZSB0aGVtZWQoJ2JhY2tncm91bmQnLCBsaWdodCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygncmVndWxhciBtYXJnaW4tYjIgdGV4dC1ibGFjaycpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCckY29sb3Itd2hpdGUnKTtcbiAgICAgICAgbWFyZ2luOiBzaXplKDEpIDAgMCAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMGVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJl9fY291bnQge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3RleHQtNycpO1xuXG4gICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgY29sb3I6IGNvbG9yKCdibGFjaycsICRhbHBoYTogMC41KTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgfVxuICAgIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lZCgnYmFja2dyb3VuZCcpO1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogY3NzLXZhcigtLXRoZW1lLWNvbG9yLCBjb2xvcignYnJhbmQnKSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uZXh0cmEtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdjZW50ZXInKTtcblxuICAgIG1hcmdpbjogMnJlbSBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG5cbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygndGV4dC00IHVwcGVyY2FzZSB0ZXh0LWJyYW5kIHNhbnMtc2VyaWYgYm9sZCcpO1xuICAgIH1cbn1cblxuLnZvdGluZy1jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0OCwgMTkxLCAyMTEsIDAuMTUpO1xuICAgIHBhZGRpbmc6IDIuODc1cmVtIDIuNjI1cmVtIDEuNTMxcmVtIDNyZW07XG4gICAgZ3JpZC1yb3c6IDE7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAzLjI1cmVtIDA7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1heC13aWR0aDogOC41cmVtO1xuICAgICAgICAgICAgJi1iYXIge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLnByb2dyZXNzLWJhcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2LjE4NzVyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICZfX3Byb2dyZXNzLFxuICAgICAgICAgICAgICAgICZfX2ZnIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICZfX3Byb2dyZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAucHJvZ3Jlc3MtYmFyX19wcm9ncmVzcztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX19mZyB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLnByb2dyZXNzLWJhcl9fcHJvZ3Jlc3M7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3ZhbHVlcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbC0tYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbC0tdW5kZXJsaW5lIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYWRkLWNvbW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zNzVyZW07XG5cbiAgICAgICAgICAgICYtLXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS45MzhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbW1lbnQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSU7XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDIuMTI1cmVtIDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgJi1hdmF0YXIgaW1nIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5tYWluLWhlYWRlcl9fYXZhdGFyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXNob3cge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMTI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwLjc1cmVtIDAgMS4wNjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVudF9fYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0td2hpdGUsICYtLWJsdWUsICYtLWdyYXkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMS41cmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS13aGl0ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWJsdWUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWdyYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGNvbG9yLWJ1dHRvbi1ncmF5O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICZfX3ZvdGluZy1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmX19iYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaG9pY2VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDIuMjVyZW07XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgJi0tYWdyZWUsICYtLWRpc2FncmVlLCAmLS1za2lwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi4zNzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hZ3JlZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmVlbjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWdyZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1kaXNhZ3JlZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRpc2FncmVlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1kaXNhZ3JlZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tc2tpcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDMwcHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAycmVtIDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS42MjVyZW0gMC41MzFyZW0gMnJlbTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgfVxuICAgICAgICAmIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogMzB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbW1lbnQtYXZhdGFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmNvbW1lbnQtY2FyZCB7XG4gICAgbWF4LWhlaWdodDogNTI5cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbWl0LXRvb2x0aXAge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0M3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuXG4gICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogODAlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibWl0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAganVzdGlmeS1pdGVtczogZW5kO1xuICAgIH1cbn1cblxuLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm90aW5nLWNhcmRfX3ZvdGluZy1mb3JtX19jaG9pY2VzLS1kaXNhZ3JlZSAubG9hZGVyLFxuLnZvdGluZy1jYXJkX192b3RpbmctZm9ybV9fY2hvaWNlcy0tYWdyZWUgLmxvYWRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG59XG4udm90aW5nLWNhcmRfX3ZvdGluZy1mb3JtX19jaG9pY2VzLS1za2lwIC5sb2FkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZSAhaW1wb3J0YW50O1xufVxuLnZvdGluZy1jYXJkX192b3RpbmctZm9ybV9fY2hvaWNlcy0tZGlzYWdyZWUgLmxvYWRlcixcbi52b3RpbmctY2FyZF9fdm90aW5nLWZvcm1fX2Nob2ljZXMtLWFncmVlIC5sb2FkZXIsXG4udm90aW5nLWNhcmRfX3ZvdGluZy1mb3JtX19jaG9pY2VzLS1za2lwIC5sb2FkZXIge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSB7XG4gICAgLmJvZHkge1xuICAgICAgICBtYXJnaW46IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwKCQkiLy8vIE1peGluIHRoYXQgZGVjb3JhdGVzIGEgZ2l2ZW4gZWxlbWVudCB0byBzaGFwZSBpdCBhcyBhIHRyaWFuZ3VsYXIgYXJyb3cuXG4vLy9cbi8vLyBAYXJnICRkaXJlY3Rpb24gLSBPbmUgb2YgdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4vLy8gQGFyZyAkc2l6ZSAtIFNpemUgb2YgdGhlIGFycm93IGVsZW1lbnRcbi8vLyBAYXJnICRjb2xvciAtIENvbG9yIG9mIHRoZSBhcnJvdyBlbGVtZW50XG5AbWl4aW4gY3JlYXRlLWFycm93KCRkaXJlY3Rpb24sICRzaXplOiAxcmVtLCAkY29sb3I6IGJsYWNrKSB7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAgb3IgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCBvciAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycmVtIHNvbGlkO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnJlbSBzb2xpZDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnJlbSBzb2xpZDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBib3JkZXItbGVmdDogMnJlbSBzb2xpZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiSW52YWxpZCBkaXJlY3Rpb246ICN7JGRpcmVjdGlvbn0hXCI7XG4gICAgfVxuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAwO1xufVxuIiwKCQkiLmJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGhlaWdodDogMjI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1OHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udmVyc2F0aW9uLWhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggIzAwMDAwMDMzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS42MjVyZW0gMS45MzhyZW0gMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgYW5kIChtaW4td2lkdGg6IDMyMXB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS42MjVyZW0gMS45MzhyZW0gMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRlZmF1bHQtaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3N0YXRpYy9pbWcvY29tbWVudF9jYXJkL2NvbnZlcnNhdGlvbi10aXRsZS1iZy5zdmdcIik7XG4gICAgICAgIGhlaWdodDogMjI1cHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncmFkaWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMSksIHJnYmEoMTE5LDExOSwxMTksMC41KSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgICYtZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNC44NzVyZW0gYXV0byAycmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDNyZW0gYXV0byAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcm93LWdhcDogLjVyZW07XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIH1cblxuICAgICZfX2dyYWRpZW50LCAmLS1kZWZhdWx0LWltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnXG4gICAgfVxuXG4gICAgJl9fbGFiZWwtLWRhcmsge1xuICAgICAgICBAZXh0ZW5kIC5jb252ZXJzYXRpb24taGVhZGVyX19sYWJlbDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjRweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYtLXdoaXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waXBlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICB9XG5cbiAgICAmX19udW1iZXJzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDRyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9vbHRpcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIHRvcDogMy41cmVtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuMnJlbSAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb252ZXJzYXRpb24taGVhZGVyLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgd2lkdGg6IDQxcHg7XG4gICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIGRpdiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgZGl2IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG59XG4iLAoJCSIuY29udmVyc2F0aW9uLXNoYXJpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmLS1mdWxsLXdpZHRoIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxLjI1cmVtO1xuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCksIChtYXgtaGVpZ2h0OiA4MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUuMzc1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBnYXA6IC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLm1vZGVyYXRlIHtcbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBncmlkLWdhcDogLjVyZW07XG4gICAgfVxuXG4gICAgLmhpZGUge2Rpc3BsYXk6IG5vbmU7fVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMzEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb21tZW50LWNvbnRhaW5lciB7XG4gICAgICAgICZfX2Vycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjM1cztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogYmFja2dyb3VuZC1hbGVydDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tbWVudC1jb250YWluZXJfX2Vycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbW1lbnRzLXBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IC41cmVtO1xuXG4gICAgICAgICZfX2FkZC1idG4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NhdmUtYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyL3NwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Vycm9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBsaW5lYXIgMHMsIGhlaWdodCAuMDVzIGxpbmVhciAuNXM7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlZDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbWVudHMtY29udGFpbmVyIHtcbiAgICAgICAgQGV4dGVuZCAubGVmdCwgLnBhZC1iMztcblxuICAgICAgICAmX19tZXNzYWdlIHtjb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ7fVxuXG4gICAgICAgICZfX3NhdmUtYnRuIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmNvbW1lbnRzLXBhbmVsX19zYXZlLWJ0bjtcblxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbW1lbnQge1xuICAgICAgICBAZXh0ZW5kIC5tYXJnaW4tYjMsIC5wYWQtMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ncmF5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMzEyNXJlbTtcbiAgICAgICAgXG4gICAgICAgICZfX3RleHQge2ZvbnQtc2l6ZTogMS4xMjVyZW07fVxuXG4gICAgICAgICZfX2RldGFpbHMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cbiAgICAgICAgICAgID4gKiB7Zm9udC13ZWlnaHQ6IGJvbGR9XG4gICAgICAgIH1cblxuICAgICAgICAmX19hdXRob3Ige0BleHRlbmQgLnRleHQtYWNjZW50O31cblxuICAgICAgICAmX19kYXRlIHtjb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ7fVxuICAgICAgICBcbiAgICAgICAgJl9fYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMi41cmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmX19hY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB1bnNldDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4zMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG5cbiAgICAgICAgICAgICYgPiAqIHt0cmFuc2l0aW9uOiAwczt9XG5cbiAgICAgICAgICAgIGkge21hcmdpbi1sZWZ0OiAwO31cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7Ym94LXNoYWRvdzogdW5zZXR9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJlamVjdGVkIC5jb21tZW50X19hY3Rpb24ucmVqZWN0LWJ0bixcbiAgICAgICAgJi5hcHByb3ZlZCAuY29tbWVudF9fYWN0aW9uLmFwcHJvdmUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYmFja2dyb3VuZC1hbGVydCB7XG4gICAgMCUsIDEwMCUge2JhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXRoZW1lLXJlZCwgMC4wNSl9XG4gICAgNTAlIHtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci10aGVtZS1yZWQsIDAuMTUpfVxufSIsCgkJIi5jb252ZXJzYXRpb24td2VsY29tZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNSUgYXV0byA1JTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA3dmggYXV0byAxZnI7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUlIGF1dG8gNSU7XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heChhdXRvLCA4MDBweCkgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwdmggYXV0byAxZnI7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgICBtYXJnaW46IDAgMCAzLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNjdlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjY4OHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX21lc3NhZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjMzNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFyZ2luLWJvdHRvbSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24sICZfX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgICAgIGJvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB3aWR0aDogMjUzcHg7XG4gICAgICAgIGhlaWdodDogNTNweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjMzNWVtOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNjE2cmVtO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGdhcDogMS41MzVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cblxuICAgICAgICAmLS1uby1waG90byB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsCgkJIi5ib2FyZC1kZXRhaWwge1xuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAyLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBcbiAgICAgICAgJl9fZWRpdC1idXR0b24sICZfX2RlbGV0ZS1idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJl9fZGVsZXRlLWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgfVxuXG4gICAgJl9fc3RhdGlzdGljcy1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmX19ib2FyZC1zdGF0aXN0aWNzIHtcbiAgICAgICAgJi0taGlkZSB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTlweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaG93IHtcbiAgICAgICAgICAgIC5jYXJkcy1kaXZpZGVyLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBcbiAgICAgICAgJi0tbGVmdC1zaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwbGFjZS1pdGVtczogYmFzZWxpbmU7XG4gICAgXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmLS1yaWdodC1zaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIFxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZHMtZGl2aWRlci5ib2FyZC1kZXRhaWxfX2JvYXJkLXN0YXRpc3RpY3MtLXNob3cge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbiNiZy1tb2RhbC5ib2FyZC1kZXRhaWxfX2JvYXJkLXN0YXRpc3RpY3MtLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IC43O1xuICB9IiwKCQkiIiwKCQkiQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3Mvc3BhY2luZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3MvdHlwb2dyYXBoeVwiO1xuXG4kbW9kYWwtdHJhbnNwYXJlbnQtYmFja2dvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4kbW9kYWwtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuXG4udG9vbHMge1xuICAgIEBleHRlbmQgLmNvbnRlbnQtZ3JpZDtcbiAgICBAZXh0ZW5kIC5jb250ZW50LWdyaWQtLXBhZGRpbmc7XG4gICAgbWF4LXdpZHRoOiA3MHZ3O1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMC4xZW07XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIH1cbiAgICAuaDIsIC5oMyB7XG4gICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oMyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgJi1jb250YWluZXItZnVsbC13aWR0aCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtdGFibGUgdGQgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxufVxuXG4udG9vbHMtc2VjdGlvbixcbi50b29scy1zZWN0aW9uLTIge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4udG9vbHMtc2VjdGlvbi0yIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4udG9vbHMtc2VjdGlvbiAuc2Nyb3csXG4udG9vbHMtc2VjdGlvbi0yIC5zY3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi50b29scy1zZWN0aW9uIC5zY3JvdyBkaXY6Zmlyc3QtY2hpbGQsXG4udG9vbHMtc2VjdGlvbi0yIC5zY3JvdyBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50b29scy1zZWN0aW9uIC50b29scy1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC50b29scyB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgIC50b29scy1zZWxlY3Qge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICAgIC50b29scy1zaGFyZSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4NzZweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgIC50b29scy1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogNDcwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAudG9vbHMtc2VsZWN0IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6MTIxMHB4KSB7XG4gICAgLnRvb2xzLWNhcmQtZXhwYW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cbiIsCgkJIi8qXG4gU1BBQ0lOR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBCYXNlbGluZSBncmlkIGxpbmVzIGhlaWdodC5cbi8vIEV2ZXJ5IHNwYWNpbmcgbWV0cmljIHNob3VsZCBiZSBiYXNlZCBvbiB0aGlzLlxuJHNwYWNpbmctYmFzZWxpbmU6IDhweCAhZGVmYXVsdDtcblxuLy8gU3BhY2luZyB2YWx1ZXMgYXJlIGRldGVybWluZWQgYmFzZWQgb24geW91ciBwcm9qZWN04oCZcyBnbG9iYWwgYmFzZWxpbmUgZ3JpZC5cbi8vIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0aGF0IHlvdSBtb2RpZnkgdGhlc2UgZm9sbG93aW5nIHZhcmlhYmxlc1xuLy8gKGl0IGNhbiBicmVhayB5b3VyIHZlcnRpY2FsIHJoeXRobSksIGJ1dCBpZiB5b3UgbmVlZCB0bywgeW91IGNhbi5cbiRzcGFjaW5nLXVuaXQ6ICRzcGFjaW5nLWJhc2VsaW5lICogNCAhZGVmYXVsdDtcbiRzcGFjaW5nLXVuaXQtdGlueS10aW55OiAkc3BhY2luZy1iYXNlbGluZSAgLSAzcHggIWRlZmF1bHQ7XG4kc3BhY2luZy11bml0LXRpbnk6ICRzcGFjaW5nLWJhc2VsaW5lICFkZWZhdWx0O1xuJHNwYWNpbmctdW5pdC1zbWFsbDogJHNwYWNpbmctYmFzZWxpbmUgKiAyICFkZWZhdWx0O1xuJHNwYWNpbmctdW5pdC1sYXJnZTogJHNwYWNpbmctYmFzZWxpbmUgKiA4ICFkZWZhdWx0O1xuJHNwYWNpbmctdW5pdC1odWdlOiAkc3BhY2luZy1iYXNlbGluZSAqIDE2ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgcmFkaXVzXG4kYm9yZGVyLXJhZGl1cy10aW55OiAkc3BhY2luZy11bml0LXRpbnkgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogJHNwYWNpbmctdW5pdC1zbWFsbCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAkc3BhY2luZy11bml0ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICRzcGFjaW5nLXVuaXQtbGFyZ2UgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1yb3VuZDogNTAlICFkZWZhdWx0O1xuXG4vLyBTdGFuZGFyZGl6ZSBVSSB0cmVhdG1lbnRzLlxuJGdsb2JhbC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4iLAoJCSIvKlxuIEZPTlRTIEZBTUlMSUVTIEFORCBTSVpFU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG4vLyBUcmFuc2Zvcm1hdGlvbnMgYW5kIHdlaWdoXG4kZm9udC1oZWFkaW5ncy13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcblxuLy8gQmFzZSB0eXBvZ3JhcGhpY2FsIHNpemVzXG4kZm9udC1zaXplLXRpbnktdGlueTogOXB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS10aW55OiAoJGZvbnQtc2l6ZS10aW55LXRpbnkgKyAzcHgpICFkZWZhdWx0OyAvLyAxMnB4XG4kZm9udC1zaXplLXNtYWxsOiAoJGZvbnQtc2l6ZS10aW55ICsgMXB4KSAhZGVmYXVsdDsgLy8gMTNweFxuJGZvbnQtc2l6ZS1kZWZhdWx0OiAoJGZvbnQtc2l6ZS1zbWFsbCArIDJweCkgIWRlZmF1bHQ7IC8vIDE1cHhcbiRmb250LXNpemUtbGFyZ2U6ICgkZm9udC1zaXplLWRlZmF1bHQgKyAycHgpICFkZWZhdWx0OyAvLyAxN3B4XG4kZm9udC1zaXplLWxhcmdlcjogKCRmb250LXNpemUtbGFyZ2UgKyAzcHgpICFkZWZhdWx0OyAvLyAyMHB4XG4kZm9udC1zaXplLWh1Z2U6ICgkZm9udC1zaXplLWxhcmdlciArIDRweCkgIWRlZmF1bHQ7IC8vIDI0cHhcbiRmb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodDogKCRmb250LXNpemUgKyAkc3BhY2luZy11bml0LXRpbnkpICFkZWZhdWx0O1xuXG4vLyBIZWFkaW5nIHNpemVzXG4kZm9udC1zaXplLWgxOiAxLjQgKiAkZm9udC1zaXplLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgyOiAxLjMgKiAkZm9udC1zaXplLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAxLjIgKiAkZm9udC1zaXplLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjEgKiAkZm9udC1zaXplLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjA1ICogJGZvbnQtc2l6ZS1kZWZhdWx0ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMSAqICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiIsCgkJIi5kaXZpZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIG1heC13aWR0aDogNTByZW07XG59XG5cbi5oZWxwLWNhcmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDg2LCAxMzAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIG1heC13aWR0aDogMzc1cHg7XG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTp4LWxhcmdlO1xuICAgIH1cbn1cblxuI2lkX2F1dGhlbnRpY2F0aW9uX3R5cGUsXG4jaWRfdGVtcGxhdGVfdHlwZSB7XG4gICAgLnRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICAgIC50b29sdGlwIC50b29sdGlwdGV4dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogNTAlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XG5cbiAgICAgICAgLyogUG9zaXRpb24gdGhlIHRvb2x0aXAgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFsaWNlYmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuXG4gICAgbGFiZWw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZC1hbHRlcm5hdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWwge1xuICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLWJyYW5kLWFsdGVybmF0ZTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIH1cbn1cblxuLmNvbG9yLWNob2ljZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjFyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgd2lkdGg6IDEuMnJlbTtcbn1cblxuLyogRmxvYXQgZm91ciBjb2x1bW5zIHNpZGUgYnkgc2lkZSAqL1xuLmNvbHVtbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi8qIENsZWFyIGZsb2F0cyBhZnRlciB0aGUgY29sdW1ucyAqL1xuLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLnRvb2xzLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxLjVyZW0gMDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgbWFyZ2luOiAxLjMxM3JlbSAwIDAgMDtcbn1cblxuLnRvb2xzLWljb24tc2hhcmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW46IC02cHggNHB4O1xuICAgIH1cbn1cblxuI3Rvb2xzLXRpcC10ZXh0IHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsYWNrO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMS4ycztcbiAgICB6LWluZGV4OiAxO1xufVxuXG4udG9vbHMtdGlwLXRleHQtc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4udG9vbHMtdGlwLXRleHQtaGlkZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnRvb2xzLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwO1xufVxuLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnRvb2xzLWNhcmQtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCAkY29sb3ItY2FyZC1zaGFkb3c7XG4gICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbi50b29scy1jYXJkLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW0gMCAwO1xuXG4gICAgLmluc3RydWN0aW9uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZS1saWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgLjhyZW0gMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjgxM3JlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgfVxufVxuXG4udG9vbHMtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG59XG5cbi50b29scy1jYXJkLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAxMnB4IDAgMCAxOXB4O1xuXG4gICAgJi1pbWcge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IC43cmVtIDAgMS41cmVtIDA7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luOiAuNXJlbSAuNXJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4udG9vbHMtY2FyZC1mb290ZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMC43NXJlbSAwLjc1cmVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC4zcmVtO1xuICAgIGJ1dHRvbi5ibHVlLCBidXR0b24uZ3JleSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogMTQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJ1dHRvbi5ncmV5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgfVxuXG4gICAgYnV0dG9uLmJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b29scy1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbn1cblxuYnV0dG9uLmJsdWUsIGJ1dHRvbi5ncmV5IHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHdpZHRoOiAxNDVweDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbi5ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB9XG59XG5cbmJ1dHRvbi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIH1cbn1cblxuLnRvb2xzLXNldHRpbmdzLWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg0NHJlbTtcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICB9XG4gICAgaHIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kLWFsdGVybmF0ZTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogMjRyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG4gICAgLnNlY3Rpb24tY3VzdG9tIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NiU7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRhYmxlLWFib3V0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJi1zZXR0aW5ncy1mb3JtIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDBweCAyMHB4IDBweDtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQwcHgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICB1bDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4udG9vbHMtc2V0dGluZ3MtZm9ybTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLnRpdGxlLXRoZW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjMxM3JlbTtcbiAgICAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDMuNDM4cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjg0NHJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjIxOXJlbTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBtYXJnaW46IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC10b29scy1jb250ZW50e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNzAlO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IC43NXJlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDcwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG4ubW9kYWwtdG9vbHMtY2xvc2V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4ubW9kYWwtdG9vbHMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuLmNsb3NlLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vZGFsLXRvb2xzLWJnIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXdyYXBwZXIge1xuICAgICAgICAubW9kYWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMTUlIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvb2xzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgyLnRleHQtYWNjZW50IHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0XG5cbiAgICB9XG59XG4iLAoJCSIuY2hhdGJvdC1vcHRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuXG4gICAgLyogU3R5bGUgdGhlIGNvdW50ZXIgY2FyZHMgKi9cbiAgICAuY2FyZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogIzA0MmE0NjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG5cbiAgICAuaW1nY2FyZCB7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgfVxuICAgIC5iYWxhbmNlLWJpZ2dlci1tYXJnaW4ge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgIH1cbn1cblxuXG5cbi5ib3RzLWJ1dHRvbnMuc2hhcmUtYnV0dG9ucyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogLTIwcHggNDAwcHggMHB4IDBweDtcbn1cblxuIC5ib3RzLWJ1dHRvbnMge1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgd2lkdGg6IDk4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYnV0dG9uLmdyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZSAhaW1wb3J0YW50O1xuICAgIH0gXG5cbiAgICBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgfVxuXG4gICAgYnV0dG9uLnBpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtb3NmLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICB9IFxuXG4gICAgYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLW9zZi1saWdodDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxufVxuXG4ucG9sbC1ib3QtaW5zdHJ1Y3Rpb25zIHtcbiAgICBtYXgtd2lkdGg6IDQxMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBsaSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmUtbGlnaHQ7IFxuICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICB9XG59XG5cblxuLnRvb2wtZGVzY3JpcHRpb257XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogNTByZW07XG59XG4iLAoJCSIjY3VzdG9tLWRvbWFpbi1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2MCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xufVxuXG4ucHJldmlldy10ZW1wbGF0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA0MHZ3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuI2RvbWFpbi1pbnB1dCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xufVxuXG4uaWZyYW1lLXNlY3Rpb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmRpc3BsYXktZG93biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IHVuc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAycztcbiAgICB9XG4gICAgI2lzZXhwYW5kZWQxLFxuICAgICNpc2V4cGFuZGVkMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jZG93bmxvYWQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luOiBhdXRvIDAuM2VtO1xufVxuXG4jaXNleHBhbmRlZDE6Y2hlY2tlZCArIGxhYmVsID4gaSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuI2lzZXhwYW5kZWQyOmNoZWNrZWQgKyBsYWJlbCA+IGkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbiNjdXN0b20tZmllbGQtc2VjdGlvbixcbiNtYWlsaW5nLXNlY3Rpb24ge1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJbiAwLjVzO1xuICAgIC1tb3otYW5pbWF0aW9uOiBmYWRlSW4gMC41cztcbn1cblxuI2N1c3RvbS1maWVsZC1zZWN0aW9uIHtcbiAgICBsYWJlbDpmaXJzdC1sZXR0ZXIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuI25vLWNvbW1lbnRzLWhlbHB0ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTByZW07XG59XG5cbi5tb2RhbC10b29scy1jb250ZW50Lm1haWxpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAuY2xvc2UtbW9kYWwge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG4udG9vbHMtY2FyZC1jb250ZW50Lm1haWxpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtO1xufVxuXG4udG9vbHMtY2FyZC1mb290ZXIubWFpbGluZyB7XG4gICAgbWFyZ2luOiAwO1xufVxuIiwKCQkiLmNhcmQtb3Bpbmlvbi1jb21wb25lbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMS4yMTlyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLWdyZXktbGlnaHQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIFxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5vcGluaW9uLWNvbXBvbmVudC1jYXJkLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHdpZHRoOiAyMnJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi5oMyB7XG4gICAgJi0tc3BhY2Uge1xuICAgIG1hcmdpbjogMCAwIC42MjVyZW0gMCAhaW1wb3J0YW50O1x0XG4gICAgfVxufVxuXG4udGFicy1zcGFjZSB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuLnRvb2xzLWRpdmlkZXIub3Bpbmlvbi1kaXZpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjY4OHJlbTtcbn1cblxuLm9waW5pb24tY29sLTEge1xuICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgIGdhcDogMy4xODhyZW07XG4gICAgJl9faW5mbyB7XG4gICAgICAgIHdpZHRoOiAzNiU7XG4gICAgfVxuICAgIC50b29scy1jYXJkLWJvZHktaW1nIGltZ3tcbiAgICAgICAgaGVpZ2h0OiAzLjMxM3JlbTtcbiAgICB9XG4gICAgLmhlbHB0ZXh0Lm9waW5pb24taGVscHRleHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWxpZ2h0LWdyYXk7IFxuICAgICAgICBmb250LXNpemU6IC44NzVyZW07IFxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IFxuICAgICAgICBmb250LXdlaWdodDogNDAwOyBcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICB9XG59XG5cbi5vcGluaW9uLWNvbC0yIHtcbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JheTsgXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IFxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICAmX19oaW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0OyBcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJl9faGludC1nZW5lcmF0ZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODApO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuZm9ybS1jb21wb25lbnQge1xuICAgICAgICAmX19tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50b29scy1jYXJkLWZvb3Rlci5vcGluaW9uLWNvbXBvbmVudCB7XG4gICAgICAgICAgICBtYXJnaW46IC43NXJlbSAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIC50b29scy1pY29uLXNoYXJlIHtcbiAgICAgICAgICAgICAgICAmX19jb2xsZWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGNvbG9yLXBpbmstbGlnaHQ7IFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7IFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07IFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvcHktc25pcHBldCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDcuNjg4cmVtO1xuICAgICAgICBwYWRkaW5nOiAuODEzcmVtIDEuMjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDhweCA4cHg7IFxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ncmF5LTMwMDsgXG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgXG4gICAgICAgIG1hcmdpbjogMi4wNjNyZW0gMCAxLjE4OHJlbTsgXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS01MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmX19jb3B5LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTsgXG4gICAgICAgIGdhcDogLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmX190b29sdGlwIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGluay1saWdodDsgXG4gICAgICAgIG1heC13aWR0aDogMTYuNTYzcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNzVyZW07IFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICB0b3A6IDVweDtcblxuICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6MTBweCBzb2xpZCAkY29sb3ItcGluay1saWdodDsgXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAuNTYzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvcHktc25pcHBldC1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5ja2VfdG9wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4iLAoJCSIuZG9tYWluLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDc2cHg7XG4gICAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDogNTY1cHg7XG4gICAgfVxuICAgICNkb21haW4tc3VibWl0IHtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxufVxuXG4ud2ViY2hhdC1jYXJkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyBcbiAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsgXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQzsgXG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgXG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyBcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgcGFkZGluZzogMXJlbSAwIDAgMDtcblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjNGM0OyBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjUuNXB4OyBcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ud2ViY2hhdC1pbnRlZ3JhdGlvbnMge1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDsgXG4gICAgICAgIG1hcmdpbjogMjlweCAwIDEycHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmUtbGlnaHQ7XG4gICAgfVxuXG4gICAgJl9fdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgdGJvZHkgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYtcm93IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTMwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0LjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgY29sb3I6ICMzMGJmZDM7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmFiYWJhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXZhdGFyIHtcbiAgICBsZWZ0OiAxOXB4OyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICB3aWR0aDo2MHB4OyBcbiAgICBoZWlnaHQ6IDYwcHg7XG59XG5cbiNmb3JtLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbnMtZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICBnYXA6IDIzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDIzcHg7XG59XG5cbi5kaXZpZGVyLWNhcmQge1xufVxuXG4jd2ViY2hhdC1oZWxwLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgIGdhcDogMjFweDsgXG4gICAgbWFyZ2luLXRvcDogMThweDtcbn1cblxuLndlYmNoYXQtdGV4dC1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDsgXG59XG5cbi50aXAtdGV4dC1wb3NpdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBoZWlnaHQ6IDQ1cHg7XG59XG5cbiNkb21haW4tbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLndpZHRoLWZ1bGwtZXh0ZW5kZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuI2Rlc2NyaXB0aW9uLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3RoLXJlbW92ZSB7XG4gICAgdGV4dC1hbGlnbjogZW5kO1xufVxuXG4jdGQtcmVtb3ZlIHtcbiAgICB0ZXh0LWFsaWduOiBlbmQ7XG59XG5cbiIsCgkJIkBpbXBvcnQgXCIuLi8uLi9jb25maWdcIjtcbkBpbXBvcnQgXCIuLi8uLi8xX3NldHRpbmdzL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi8xX3NldHRpbmdzL3R5cG9ncmFwaHlcIjtcblxuXG4uZGVzYXRpdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud2FybmluZy1jb21tZW50c3tcbiAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG59XG5cbi5ncm91cC1jb21tZW50cyB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgLyogU3RheSBpbiBwbGFjZSAqL1xuICB6LWluZGV4OiAxMDEwOyAvKiBTaXQgb24gdG9wICovXG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggKi9cbiAgaGVpZ2h0OiAxMDB2aDsgLyogRnVsbCBoZWlnaHQgKi9cbiAgb3ZlcmZsb3c6IHVuc2V0OyAvKiBFbmFibGUgc2Nyb2xsIGlmIG5lZWRlZCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtdHJhbnNwYXJlbnQtYmFja2dvdW5kOyAvKiBCbGFjayB3LyBvcGFjaXR5ICovXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuXG4gIC5ncm91cC1jb21tZW50cy1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbn1cblxuLyogZ3JvdXAtY29tbWVudHMgQ29udGVudC9Cb3ggKi9cbi5ncm91cC1jb21tZW50cy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogJG1vZGFsLXNoYWRvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luOiAxNSUgYXV0bzsgLyogMTUlIGZyb20gdGhlIHRvcCBhbmQgY2VudGVyZWQgKi9cbiAgbWFyZ2luLXRvcDogNXZoO1xuICBwYWRkaW5nOiAxLjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDNEM0QzQ7XG4gIHdpZHRoOiA4MCU7IC8qIENvdWxkIGJlIG1vcmUgb3IgbGVzcywgZGVwZW5kaW5nIG9uIHNjcmVlbiBzaXplICovXG4gIG1heC13aWR0aDogOTMwcHg7XG4gIGhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIHRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgdGFibGUtbGF5b3V0OmZpeGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDNEM0QzQ7XG4gIH1cblxuICB0ZCwgdGgge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzRDNEM0O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiB3cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXRvcDogMS4xcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdHJ7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIHRyOmhvdmVyLCB0cjpmb2N1c3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIGhlYWRlcntcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjNyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjFyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICB9XG5cbiAgLmNvbW1lbnRzLXRhYmxle1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gIC5jb21tZW50cy1pbnB1dHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzA0MkE0NjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdW5zZXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDEzO1xuICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZXtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAvLyByZW1vdmUgb2sgc2V0XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MkE0NlxuICAgICAgfVxuXG4gICAgICAub3ZlcmZsb3d7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgfVxuXG4gIC50YWJsZS10ZXh0e1xuICAgICAgd29yZC1icmVhazpicmVhay13b3JkO1xuICB9XG5cbiAgLmZvb3RlcntcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBwYWRkaW5nLXRvcDogMS44cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbSAhaW1wb3J0YW50O1xuXG4gIH1cbiAgLmNvbW1hbmQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG59XG5cbi5lZGl0LXBvb2wtY29udGFpbmVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lZGl0LXBvb2wtY29tbWVudHN7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi5wb29scy1jb21tZW50cy1kaXZpZGVye1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0U1RTVFNTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4zcmVtO1xuICBtYXJnaW4tbGVmdDogLTEuM3JlbTtcbiAgd2lkdGg6IC1tb3otYXZhaWxhYmxlO1xuICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG59XG5cbi5wb29sLXRleHR7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogY2xhbXAoMzBjaCw3MWNoLCA3MWNoKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cblxuLmNsb3NlLXJlcG9ydCB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAuNXJlbTtcbn1cblxuLmNsb3NlLXJlcG9ydDpob3Zlcixcbi5jbG9zZS1yZXBvcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLAoJCSIubW9kYWwtdG9vbHMtdGl0bGUge1xuICAgIGgzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsYWNrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMiUgMTQlO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIlIDclO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtdG9vbHMtY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiA3MyU7XG5cbiAgICAuY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaXRpYWw7XG5cbiAgICAgICAgLmNhcmQtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBsYWNlLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xuXG4gICAgICAgICAgICAgICAgLmltZ2NhcmQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIFxuICAgIC5jYXJkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG4gICAgXG4gICAgLmJhbGFuY2UtYmlnZ2VyLW1hcmdpbiB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9XG59XG5cbi5tb2RhbC10b29scy1mb290ZXIge1xuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgfVxufSIsCgkJIi8qIGdlbmVyaWMgY2xhc3NlcyAqL1xuLmNlbnRlci1ncmlkIHtcbiAgICBncmlkLWNvbHVtbjogMi8zO1xufVxuXG4uY29udmVyc2F0aW9uLWRhc2hib2FyZCB7XG4gICAgJi1zZWN0aW9uIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODEzcmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYXNoYm9hcmQtYmFsbG9vbiB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gMCAzcmVtIDA7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjokY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4zcmVtO1xuICAgIH1cbiAgICAmX19sYWJlbCxcbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAucmVwb3J0LWNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxLjM3NXJlbSAwIDEuMTg3NXJlbTtcbiAgICBtaW4taGVpZ2h0OiA0LjY4NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7XG4gICAgfVxuXG4gICAgJi0tbWFyZ2luLWxnIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy42NXJlbTtcbiAgICB9XG5cbiAgICAmLS1tYXJnaW4tc20ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjU2cmVtO1xuICAgIH1cblxufVxuXG5cbi5jaGFydHMtc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICN2b3RpbmctdGltZS1jaGFydCB7XG4gICAgICAgIGhlaWdodDogMjVyZW07XG4gICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpbWUtY2hhcnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSBhdXRvIGF1dG8gYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRlLXBpY2tlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6IC41cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNy41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbnZhbGlkLWRhdGVzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LXJlZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sb2FkaW5nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hhbm5lbHMtY2hhcnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IC44NXJlbTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJ0aWNpcGFudC1maWx0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogLjNyZW07XG5cbiAgICAgICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS44MnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgICAgICAgICYtLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIC50aW1lLWNoYXJ0LFxuICAgICAgICAgICAgLmNoYW5uZWxzLWNoYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAudm90aW5nLXNlY3Rpb24ge1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAzLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xOXJlbTtcbiAgICB9XG5cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmRhc2hib2FyZC1jYXJkIHtcbiAgICBmbGV4OiAyMi41JTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMTg3NXJlbSAxLjU2MjVyZW0gMS4xODc1cmVtIDEuNTYyNXJlbTtcblxuICAgICYtLWZpdC1jb250ZW50IHtcbiAgICAgICAgZmxleDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGdhcDogMS4yNXJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgIH1cblxuICAgICZfX3ZhbHVlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcblxuICAgICAgICAmLS13aGl0ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcblxuICAgICAgICAuZGFzaGJvYXJkLWNhcmRfX3ZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmNvbW1lbnRzLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTlyZW07XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNTZyZW07XG4gICAgfVxufVxuXG4uY2x1c3RlcnMtc2VjdGlvbiB7XG4gICAgLmNvbnRlbnQtZ3JpZCA+ICoge1xuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCAwIDNyZW0gMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgJi0td2lkZS1jZW50ZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5jbHVzdGVycy1zZWN0aW9uLCAuY2x1c3RlcnMtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5LWJsdWU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgXCJzYW5zLXNlcmlmXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGFydCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19kZXRhaWwge1xuICAgICAgICBoMiwgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgcCwgYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1maWxsZWQge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbnVsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJi0tbm8tbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcGFkZGluZyB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbW1lbnQtcGVyY2VudGFnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgIH1cblxuICAgICZfX21haW4tY29tbWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuLnNjYXR0ZXItc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSBhdXRvIGF1dG8gYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGFydCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAuc2NhdHRlci1zZWN0aW9uIHtcbiAgICBnYXA6IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNy41cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDE3LjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI1cmVtO1xuICAgIH1cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLnNjYXR0ZXItZmlsdGVyIHtcbiAgICAmX19idXR0b24tLWluYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fZmlsdGVyLWJ5LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgaGVpZ2h0OiAxLjgycmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcmllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC13aWR0aDogMTQuMzc1cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcbiAgICB9XG5cbiAgICAmX19uby1ncm91cC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWdyZXk7XG4gICAgICAgIHdpZHRoOiAxMy40Mzc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjM3NXJlbSAxcmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC53b3Jkcy1jbG91ZC1zZWN0aW9uIHtcbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjQuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIHtcbiAgICAmX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogLjJyZW0gLjhyZW07XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsZXgtYWxpZ24ge1xuICAgICAgICBnYXA6IDEuMjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAudm90aW5nLW1vZGFsLXJlcG9ydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmFzZS1waW5rO1xuICAgIH1cblxuICAgICZfX2NhcmQtLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhc2UtcGluaztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMycmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDMuODc1cmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyaWFuZ2xlIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyOiAwLjQ2ODc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjkzNzVyZW0gc29saWQgJGNvbG9yLWJhc2UtcGluaztcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNzVweCkge1xuICAgIC50aW1lLWNoYXJ0LFxuICAgIC5jaGFubmVscy1jaGFydCB7XG4gICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NoYW5uZWwtY2hhcnQge1xuICAgICAgICB3aWR0aDogMTYuNTYyNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLnJlcG9ydC1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMCAxLjVyZW0gMDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG4gICAgICAgICYtLWV4dGVybmFsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzJSBhdXRvIDMlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLnZvdGluZy1zZWN0aW9uIHtcbiAgICAgICAgLmRhc2hib2FyZC1jYXJkIHtcbiAgICAgICAgICAgIGZsZXg6IDQ1JTtcbiAgICAgICAgfVxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5jb21tZW50cy1zZWN0aW9uIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41NnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmNsdXN0ZXJzLXNlY3Rpb24ge1xuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNzZyZW07XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgXCJzYW5zLXNlcmlmXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXRhaWwtLWZpbGxlZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaGFydCB7XG4gICAgICAgICAgICBtYXJnaW46IC4xcmVtIDAgLjFyZW0gMDtcbiAgICAgICAgICAgIHdpZHRoOiAxOHJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29tbWVudC1wZXJjZW50YWdlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWFpbi1jb21tZW50LFxuICAgICAgICAuaGVscHRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5zY2F0dGVyLXNlY3Rpb24ge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjc1cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNjYXR0ZXItZmlsdGVyIHtcbiAgICAgICAgICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC53b3Jkcy1jbG91ZC1zZWN0aW9uIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5mbGV4LWFsaWduIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29udmVyc2F0aW9uLWRhc2hib2FyZF9fYnV0dG9uIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZC50aXRsZSB7XG4gICAgICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuIiwKCQkiLmV4cG9ydC1idXR0b24ge1xuICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1icmFuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDcxMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRyaWFuZ2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwLjM3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjc1cmVtIHNvbGlkICRjb2xvci1hY2NlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FyZC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTdyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNmVtO1xuICAgIH1cbn0iLAoJCSJAaW1wb3J0ICdwYWdpbmF0aW9uJztcblxuOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uc2Nyb2xsLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAyLjMxM3JlbSAwIDIuNjg4cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjgxM3JlbTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICB9XG59XG5cbiNyZXBvcnQtZmlsdGVycy1mb3JtIHtcbiAgICBtYXJnaW46IHVuc2V0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2RhdGF0YWJsZXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI5MHB4KTtcbn1cblxuI3JlcG9ydC10YWJsZS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVwb3J0IHtcbiAgICAmX19jb21tZW50cywgJl9fdXNlcnMge1xuICAgICAgICAmLS1oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhlYWQgdHIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhlYWQgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kLWxpZ2h0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb21tZW50LCAmX191c2VyIHtcbiAgICAgICAgZGl2Om50aC1jaGlsZCgyKSxcbiAgICAgICAgZGl2Om50aC1jaGlsZCgzKSxcbiAgICAgICAgZGl2Om50aC1jaGlsZCg0KSxcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb21tZW50LCAmX191c2VyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29tbWVudCB7XG4gICAgICAgIGRpdjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1kZXRhaWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBcbiAgICAgICAgICAgIGdhcDogMS4zNzVyZW07IFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTsgXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjQyNXJlbSAwLjNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c2VyIHtcbiAgICAgICAgZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BlcmNlbnRhZ2VzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWJyaWd0aGVyO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgICAgaW5wdXQsIHNlbGVjdCwgLm9yZGVyaW5nIHNwYW4sIC5jbHVzdGVycy1jb250YWluZXIgc3BhbiwgLmNsdXN0ZXJzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbnB1dHMge1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zdGF0aWMvaW1nL2ljb25zL2dyYXktc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JheS1icmlndGhlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDByZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXJpbmcsXG4gICAgICAgIC5jbHVzdGVycy1jb250YWluZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4sIGkge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1ZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2x1c3RlcnMtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2x1c3RlcnMge1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgICAgIC5jbHVzdGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuXG4gICAgICAgICAgICAjc29ydC11cC1pY29uIHtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMzVyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0wLjA1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjc29ydC1kb3duLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi0tYmx1ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsCgkJIi5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNC4zMTNyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMi4yODlyZW07XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGdhcDogMC43MTlyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheS1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAxLjA5NHJlbSAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJi1wYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMy44cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMy44cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1jbGVhci1lbGlwc2Uge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pbmRleCB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYXJyb3cge1xuICAgICAgICAgICAgJi0tZmlyc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC44NDRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1sYXN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC44NDRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICB9XG4gICAgfVxufSIsCgkJIi5jb21tZW50LWRldGFpbCB7XG4gICAgZGlzcGxheTogZ3JpZDsgXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA0LjMxM3JlbSA1LjYyNXJlbSA1Ljc1cmVtIDUuNzVyZW0gYXV0byBhdXRvOyBcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQuMzEzcmVtIDZyZW0gMTAuNXJlbSA1cmVtIGF1dG8gYXV0bztcbiAgICB9XG5cbiAgICAmX19tb2RhbC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICAgICAgZ2FwOiAxLjAxM3JlbTsgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IFxuICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyOyBcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyBcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IFxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9jb250YWluZXItaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgICAgICBnYXA6IDNyZW07XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IFxuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7IFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBcblxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7IFxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IFxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OyBcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjY3ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyBcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyBcbiAgICAgICAgICAgIG1hcmdpbjogMC43NXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWF1dGhvciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyBcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50OyBcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0YXRpc3RpY3Mge1xuICAgICAgICBkaXNwbGF5OiBncmlkOyBcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bzsgXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNXJlbTtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87IFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgcm93LWdhcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogM3JlbSAwIDA7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyLjM3NXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDEzNTBweCl7XG4gICAgICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuICAgICAgICB9ICAgICBcblxuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyBcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsCgkJIi5lbnZpcm9ubWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuN2VtO1xuXG4gICAgJl9fdGl0bGUtLWFsaWduIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxufVxuXG4uZW52aXJvbm1lbnQtY2FyZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB3aWR0aDogMjYxcHg7XG4gICAgaGVpZ2h0OiAyMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDY3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICB9XG5cbiAgICAmX19vd25lciB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmX19vd25lciwgJl9fY29udmVyc2F0aW9uLWNvdW50IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgfVxufVxuXG4uZW52aXJvbm1lbnQtY2FyZC0tbGFyZ2Uge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgd2lkdGg6IDQxNnB4O1xuICAgIGhlaWdodDogMTE5cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjZweDtcbn1cblxuXG4uZW52aXJvbm1lbnQtc3RhdGlzdGljcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC43NWVtO1xuXG4gICAgJl9fY2FyZHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEuN2VtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgfVxufVxuXG4ucmVjZW50LWJvYXJkcyB7XG4gICAgJl9fZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG4gICAgJl9faW5wdXQge1xuICAgICAgICB6LWluZGV4OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTAyNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg4cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWR2YW5jZWQtc2VhcmNoIHtcbiAgICAmX19pbnB1dC0tc2VhcmNoIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6JGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIzcHg7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICAgICAgaDEsIC5maWx0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlYXJjaC10YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICB9XG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fcm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgICBcbiAgICAgICAgJi0td2lkdGgtc20ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgICYtLXdpZHRoLW1kIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX190ZXh0LS1hbGlnbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgICZfX3RleHQtLWVsbGlwc2Uge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICAgICAgbGluZS1jbGFtcDogMTtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB9XG4gICAgJi1mYXZvcml0ZS1jb3VudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgICB9XG59XG5cbi5jb252ZXJzYXRpb24tb3B0aW9uLS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnV0dG9uLS1mYXZvcml0ZSxcbi5idXR0b24tLXJlbW92ZS1mYXZvcml0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi5idXR0b24tLXJlbW92ZS1mYXZvcml0ZSB7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDQ4LCAxOTEsIDIxMSwgMSk7IFxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDQ4LCAxOTEsIDIxMSwgMSk7IFxuICAgIH1cbiAgICBhOmhvdmVyID4gaSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cbi5mYXZvcml0ZS1ib2FyZHNfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMS4yNXJlbTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4uZmF2b3JpdGUtYm9hcmRzX19jb3VudCB7XG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmVudmlyb25tZW50IHtcbiAgICAgICAgbWluLXdpZHRoOiA4NDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MzBweCkge1xuICAgIC5lbnZpcm9ubWVudC1jYXJkLS1sYXJnZSB7XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICB9XG5cbiAgICAuZmF2b3JpdGUtYm9hcmRzX19jb250YWluZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbn0iLAoJCSIjcHVibGljLXRhZy1idXR0b25zLCAjbXktdGFnLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcHVibGljLWNvbnZlcnNhdGlvbnMsICNteS1jb252ZXJzYXRpb25zIHtcbiAgZ3JpZC1jb2x1bW46IDEvNDtcbn1cblxuLm1vdmUtaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi5wdWJsaWMtdGFnLWhlYWRlciwgLm15LXRhZy1oZWFkZXIsIC5jb21tZW50cy10YWctaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWRlZXBlcjtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICByb3ctZ2FwOiAwLjc1cmVtO1xuICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjcHVibGljLXRhZy1jaG9pY2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEzcmVtO1xuICAgICAgbWFyZ2luOiAwIC40MzhyZW0gMCAwO1xuICAgIH1cblxuICAgICNteS10YWctY2hvaWNlLCAjbXktYWxsLXRhZ3MsIC5teS10YWctaGVhZGVyLS1hZGQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cblxuICAgIC5wdWJsaWMtdGFnLWhlYWRlci0tYWRkLS1ub3QtYWxsb3dlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgICYtLWFkZCB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMCAxLjVyZW0gMCAwO1xuXG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAuNmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RhZ3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgZmxleC1mbG93OiB3cmFwO1xuXG4gICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJi0tdW5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi0tc2VsZWN0ZWQsICYtLXVuc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZzogMCAuNzVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hbGwtLXVuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgIH1cblxuICAgICZfX2FsbC0tc2VsZWN0ZWQgIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgfVxuXG4gICAgJl9fYWxsLS11bnNlbGVjdGVkLCAgJl9fYWxsLS1zZWxlY3RlZCAge1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDAgLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmX190b29sdGlwIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgIG1heC13aWR0aDogMTYuNTYzcmVtO1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEzcmVtO1xuXG4gICAgICAmX19hcnJvdyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjEwcHggc29saWQgJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAuNTYzcmVtO1xuICAgICAgfVxuICAgIH1cbn1cblxuLmNvbW1lbnRzLXRhZy1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuXG4gICYtLW5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAjY29tbWVudHMtc3RhdHVzLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG59XG5cbi5ob21lLWhlYWRlciB7XG4gICYtLWFkZCB7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4ubXlfY29udmVyc2F0aW9ucywgLmNvbnRyaWJ1dGlvbnMtY29tbWVudHMsIC5jb250cmlidXRpb24tdm90ZXMge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cbiAgJl9fbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAxLjc1cmVtO1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICYtLW5vLW1hcmdpbi10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuI2N1cnJlbnQtdm90ZXMge1xuICBociB7XG4gICAgbWFyZ2luLXRvcDogMi4yODFyZW07XG4gIH1cbn1cblxuI2NvbW1lbnRzLWN1cnJlbnQtY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA1MCUpO1xuICBncmlkLWNvbHVtbi1nYXA6IDEuNjI1cmVtO1xuICBncmlkLXJvdy1nYXA6IDEuNXJlbTtcbiAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jb250cmlidXRpb24tdm90ZXMge1xuICAmX19jYXJkIHtcbiAgICBtYXJnaW46IDEuNzVyZW0gMCAwIDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBncmlkLWNvbHVtbi1nYXA6IDEuOTM4cmVtO1xuICAgIGdyaWQtcm93LWdhcDogMi4yNXJlbTtcbiAgfVxufVxuXG4uY29udmVyc2F0aW9uLXN1bW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAuOTM4cmVtO1xuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuICAuc3Bhbi1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgfVxufVxuXG4uY29tbWVudC1zdW1tYXJ5IHtcbiAgcGFkZGluZzogMS4xMjVyZW0gMS4xODhyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ncmF5O1xuICBtYXgtd2lkdGg6IDQzLjc1cmVtO1xuXG4gICZfX3N0YXR1cyB7XG4gICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi5ob21lLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JhYmFiYTtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgJl9fYWRkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjZyZW07XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICBtYXJnaW46IDAgMC42ODhyZW0gMCAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgLnRhYnMge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cblxuLmlucHV0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWJyaWd0aGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAxLjMxM3JlbTtcbiAgcGFkZGluZzogMXJlbTtcblxuICAmX19maWx0ZXItdGhlbWUsICZfX2ZpbHRlci10aGVtZTpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1vc2YtbGlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX3NlYXJjaCB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIuMjVyZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAuNXJlbSAwLjU2M3JlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMHB4IDAuNjg3NXJlbSAyLjE4NzVyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9zdGF0aWMvaW1nL2ljb25zL2JsdWUtc2VhcmNoLnN2ZycpO1xuICAgIHdpZHRoOiA1MS41JSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgJl9fd2Fybi1tZXNzYWdlIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEycHggMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWZpbHRlci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgLnB1YmxpYy10YWctaGVhZGVyLCAubXktdGFnLWhlYWRlciwgLmNvbW1lbnRzLXRhZy1oZWFkZXIge1xuXG4gICAgI3B1YmxpYy10YWctY2hvaWNlIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDAgLjQzOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgJi0tYWRkIHtcbiAgICAgIG1hcmdpbjogMHB4IDAuN3JlbSAwIDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnRzLXRhZy1oZWFkZXIge1xuICAgICNhbGwtY29tbWVudHMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LXN1bW1hcnkge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICB9XG5cbiAgI2NvbW1lbnRzLWN1cnJlbnQtY2FyZHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgfVxuXG4gIC5jb250cmlidXRpb24tdm90ZXMge1xuICAgICZfX2NhcmQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLXRhYnMge1xuICAgIG92ZXJmbG93OiBzY3JvbGwgaGlkZGVuO1xuXG4gICAgJl9fYWRkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkgYW5kIChtaW4td2lkdGg6IDMyMXB4KSB7XG4gIC5wdWJsaWMtdGFnLWhlYWRlciwgLm15LXRhZy1oZWFkZXIsIC5jb21tZW50cy10YWctaGVhZGVyIHtcblxuICAgICZfX3Rvb2x0aXAge1xuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBib3R0b206IDIuMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ob21lLXRhYnMge1xuICAgIG92ZXJmbG93OiBzY3JvbGwgaGlkZGVuO1xuICAgICZfX2FkZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi9cbiAgICB9XG4gIH1cblxuICAjY29tbWVudHMtY3VycmVudC1jYXJkcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICB9XG5cbiAgLmNvbW1lbnQtc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gIH1cblxuICAuY29udHJpYnV0aW9uLXZvdGVzIHtcbiAgICAmX19jYXJkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dHMtbWluLXNpemV7XG4gIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0e1xuICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gIH1cbn1cblxuLnByb2ZpbGUtcGhvdG8ge1xuICAgIGRpc3BsYXk6IHJlbGF0aXZlO1xuICAgICZfX2VkaXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDUlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYtLXVuZm9jdXNlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAwLjgwKTtcbiAgICAgICAgd2lkdGg6IDEycmVtO1xuICAgICAgICBoZWlnaHQ6IDEycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxufVxuXG4jaWRfcHJvZmlsZV9waG90byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZmlsZS1oZWFkZXJ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG5cbiAgJl9fcGhvdG8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJi0tcm91bmRlZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogIDUwJTtcbiAgICAgIH1cbiAgICBpbWd7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIGgxe1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBjb2xvcjogJGNvbG9yLWJhc2UtcGluaztcbiAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIGg0e1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwLjYycmVtIDBweDtcbiAgfVxuICAmLS1lZGl0e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbWd7b3BhY2l0eTogMC4zO31cbiAgICAmX19vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDM0JTtcbiAgICAgIHRvcDogMzElO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBpbnB1dHtkaXNwbGF5OiBub25lO31cbiAgICAgIGxhYmVse1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgIH1cbiAgICAgIGZvcm17XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuXG4uZm9ybS1lbGVtZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBweCAwcHg7XG59XG5cbi5mb3JtLXByb2ZpbGUtLXJvdy1zZXBhcmF0aW9ue1xuICBncmlkLXJvdy1nYXA6IDIuNTZyZW07XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5cbi5mb3JtLXByb2ZpbGUtLXN1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uZm9ybS1wcm9maWxlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNiwgMWZyKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAxLjRyZW07XG4gIGdyaWQtcm93LWdhcDogMXJlbTtcblxuICBzcGFue1xuICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICB9XG4gICZfX25hbWUge1xuICAgIGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMztcblxuICB9XG4gICZfX2VtYWlsIHtcbiAgICBncmlkLWFyZWE6IDEgLyAzIC8gMiAvIDU7XG4gIH1cbiAgJl9fY2l0eSB7XG4gICAgZ3JpZC1hcmVhOiAyIC8gMSAvIDMgLyAyO1xuICB9XG4gICZfX3N0YXRlIHtcbiAgICBncmlkLWFyZWE6IDIgLyAyIC8gMyAvIDM7XG4gIH1cblxuICAmX19jb3VudHJ5IHtcbiAgICBncmlkLWFyZWE6IDIgLyAzIC8gMyAvIDQ7XG4gIH1cblxuICAmX19iaXJ0aC1kYXRlIHtcbiAgICBncmlkLWFyZWE6IDMgLyAxIC8gNCAvIDI7XG4gIH1cblxuICAmX19vY2N1cGF0aW9uIHtcbiAgICBncmlkLWFyZWE6IDMgLyAyIC8gNCAvIDQ7XG4gIH1cblxuICAmX19lZHVjYXRpb24ge1xuICAgIGdyaWQtYXJlYTogMyAvIDQgLyA0IC8gNTtcbiAgfVxuXG4gICZfX2VkdWNhdGlvbi0tZGV0YWlsIHtcbiAgICBncmlkLWFyZWE6IDMgLyAzIC8gNCAvIDU7XG4gIH1cblxuICAmX19ldGhuaWNpdHkge1xuICAgIGdyaWQtYXJlYTogNCAvIDEgLyA1IC8gMjtcbiAgfVxuXG4gICZfX2dlbmRlcl9vdGhlciB7XG4gICAgZ3JpZC1hcmVhOiA0IC8gMiAvIDUgLyA0O1xuICB9XG5cbiAgJl9fcG9saXRpY2FsX2FjdGl2aXR5IHtcbiAgICBncmlkLWFyZWE6IDUgLyAxIC8gNyAvIDM7XG4gIH1cblxuICAmX19wb2xpdGljYWxfYWN0aXZpdHktLWRldGFpbHtcbiAgICBncmlkLWFyZWE6IDUgLyAxIC8gNyAvIDI7XG4gIH1cblxuICAmX19iaW9ncmFwaHkge1xuICAgIGdyaWQtYXJlYTogNSAvIDMgLyA3IC8gNTtcbiAgfVxuXG4gICZfX2Jpb2dyYXBoeS0tZGV0YWlsIHtcbiAgICBncmlkLWFyZWE6IDUgLyAyIC8gNyAvIDU7XG4gIH1cblxuICAmX19jdXJyZW50LXBhc3N3b3JkIHtcbiAgICBncmlkLWFyZWE6IDEgLyAxIC8gMSAvIDE7XG4gICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7bWFyZ2luOiAtMS4xMjVyZW0gMCAwcmVtIDA7fVxuICB9XG5cbiAgJl9fbmV3LXBhc3N3b3JkIHtcbiAgICBncmlkLWFyZWE6IDIgLyAxIC8gMiAvIDI7XG4gICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7bWFyZ2luOiAtMS4xMjVyZW0gMCAwcmVtIDA7fVxuICB9XG5cbiAgJl9fY29uZmlybS1wYXNzd29yZCB7XG4gICAgZ3JpZC1hcmVhOiAyO1xuICB9XG5cbiAgJl9fc2F2ZSB7XG4gICAgZ3JpZC1hcmVhOiAyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fZWRpdCB7XG4gICAgZ3JpZC1hcmVhOiA2IC8gNCAvIDYgLyA0O1xuICB9XG5cbiAgc2VsZWN0LCB0ZXh0YXJlYXtcbiAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWJ1dHRvbnN7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgY29sdW1uLWdhcDogMnJlbTtcbiAgICBpbnB1dCwgYSB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuNTYyNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYXNlLXBpbmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOjkwMHB4KXtcblxuICAucHJvZmlsZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDBweCAxLjg4cmVtO1xuICB9XG5cbiAgLmZvcm0tZWxlbWVudCB7XG4gICAgcGFkZGluZzogMCAwLjZyZW07XG4gIH1cblxuICAucHJvZmlsZS1oZWFkZXJ7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNnJlbTtcbiAgfVxuXG4gIC5mb3JtLXByb2ZpbGUtLXJvdy1zZXBhcmF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cblxuICAuZm9ybS1wcm9maWxle1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgJi0tYnV0dG9uc3tcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3NhdmUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtaGVhZGVye1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJl9fdGV4dHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgaDF7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvKlxuIENPTExBUFNJQkxFIExJU1RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vXG4vLy5Db2xsYXBzaWJsZUxpc3Qge1xuLy8gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbDtcbi8vXG4vLyAgICBoMiB7XG4vLyAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuLy8gICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbi8vICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4vL1xuLy8gICAgICAgIGksIHNwYW4ge1xuLy8gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbi8vICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdC1zbWFsbDtcbi8vICAgICAgICB9XG4vLyAgICAgICAgaSB7XG4vLyAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbi8vICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy8gICAgJi1kYXRhIHtcbi8vICAgICAgICA+IHVsLCA+IGxpIHtcbi8vICAgICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgIH1cbi8vICAgICAgICA+IHVsID4gbGkge1xuLy8gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWhpbnQ7XG4vLyAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgICAgID4gKiB7XG4vLyAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbi8vICAgICAgICAgICAgfVxuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vICAgICYtLWhpZGRlbiB7XG4vLyAgICAgICAgPiBoMiA+IGkge1xuLy8gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG4iLAoJCSI6cm9vdCB7XG4gICAgLS1kdC1yb3ctaG92ZXI6IDQ4LCAxOTEsIDIxMTtcbiAgICAtLWR0LWNvbHVtbi1vcmRlcmluZzogNDgsIDE5MSwgMjExO1xufVxuXG5kaXYuZHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtLjNyZW07XG59XG5cbnRhYmxlLmRhdGFUYWJsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbiIsCgkJIiRjbHVzdGVycy1idXR0b24taGVpZ2h0OiAyLjMxM3JlbTtcblxuI2hyLWRpdmlkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gIG1hcmdpbjogMS40cmVtIDAgMS42cmVtO1xufVxuXG4jY2x1c3Rlci1maWx0ZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIuMzEzcmVtIGF1dG87XG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICYgPiAqIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5mb3JtLWVsZW1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyLjMxMnJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmID4gKiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uZm9ybS1jbHVzdGVyLWRlc2NyaXB0aW9uIHtcblxuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMS4xODdyZW0gYXV0byAxLjE4N3JlbSAxZnI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIHRleHQtaW5kZW50OiB1bnNldDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTg4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICB1bC5lcnJvcmxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwLjgxM3JlbTtcbiAgICAgIGNvbG9yOiAkY29sb3QtZXJyb2xpc3QtcmVkO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICBpbnB1dCwgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1icmlnaHQtYmx1ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgI2NsdXN0ZXItbmFtZTo6cGxhY2Vob2xkZXIsICNjbHVzdGVyLWRlc2NyaXB0aW9uOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxufVxuXG4uZm9ybS1jbHVzdGVyLXBlcnNvbmFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXJvdy1nYXA6IDFyZW07XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMS4xODdyZW0gMTEuNXJlbSBhdXRvIGF1dG8gYXV0bztcblxuICAjc3RlcmVvdHlwZXNfbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xODhyZW07XG4gICAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZS10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudG9vbHRpcC1wZXJzb25hIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdG9vbHRpcC1yZWQ7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjM3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLm5ldy1wZXJzb25hLXNob3J0Y3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMXJlbTtcblxuICAgICNuZXdfcGVyc29uYV9jaGVjayB7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMC4zNzVyZW07XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDAuOWVtO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICNuZXctcGVyc29uYS10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMi4yNXJlbTtcbiAgICBib3R0b206IDAuMzEzcmVtO1xuXG4gICAgLmxhYmVsLW5ldy1wZXJzb25hIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogdW5zZXQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAjdGV4dC1uZXctcGVyc29uYSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5oaW50IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50aXRsZS1jbHVzdGVyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjgxM3JlbTtcbiAgbWFyZ2luOiAxLjhyZW0gMCAuOHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnBlcnNvbmFzLWxpc3Qge1xuICBzZWxlY3QjaWRfc3RlcmVvdHlwZXMge1xuICAgIHBhZGRpbmc6IC4zcmVtIC41cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJyaWdodC1ibHVlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBhdXRvO1xuICAgIHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLWJyaWdodC1ibHVlIHRyYW5zcGFyZW50O1xuXG4gIG9wdGlvbiB7XG4gICAgbWFyZ2luOiAwLjQzOHJlbSAwO1xuICAgIHBhZGRpbmc6IC45cmVtIDAuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gIH1cbn1cbiAgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBzZWxlY3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gIH1cblxuICBzZWxlY3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBzZWxlY3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgYm9yZGVyOiA1cHggc29saWQgJGNvbG9yLXdoaXRlO1xuICB9XG59XG5cbiNjbHVzdGVyLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxcmVtO1xuICBtYXgtaGVpZ2h0OiA2LjYycmVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xODhyZW07XG4gIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XG4gIHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLWJyaWdodC1ibHVlIHRyYW5zcGFyZW50O1xufVxuXG4jY2x1c3Rlci1zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbiNjbHVzdGVyLXNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC44NzVyZW07XG59XG5cbiNjbHVzdGVyLXNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG59XG5cbiNjbHVzdGVyLXNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBib3JkZXI6IDVweCBzb2xpZCAkY29sb3Itd2hpdGU7XG59XG5cbiNuZXctYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1waW5rLWxpZ2h0O1xuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItcGluay1saWdodDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm9wdGlvbnMtZ3JvdXBzIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgcGFkZGluZzogMCAwLjlyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWxlY3QtYnV0dG9uIHtcbiAgaGVpZ2h0OiAkY2x1c3RlcnMtYnV0dG9uLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyaWdodC1ibHVlO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYnJpZ2h0LWJsdWU7XG59XG5cbiNuZXctYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNuZXctYnV0dG9uLCAub3B0aW9ucy1ncm91cHMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG59XG5cbi5uby1jbHVzdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jbG9zZS1tb2RhbC1idG4ge2Rpc3BsYXk6IG5vbmU7fVxuXG4vLyBFRElUIEVMRU1FTlRTXG5cbi5lZGl0LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEuODc1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gIH1cblxuICAjc2F2ZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAxLjM3cmVtIDEuNTRyZW07XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuZGVsZXRlLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNTYzcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMS4zN3JlbSAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwLjMxM3JlbTtcbiAgICB9XG4gIH1cblxuICAuZGl2aWRlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1hbmFnZS1wZXJzb25hcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAxLjM3cmVtIDEuMDYzcmVtO1xuICB3aWR0aDogMTMuODc1cmVtO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcblxuICBpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgbWFyZ2luOiAwLjVlbTtcbiAgfVxufVxuXG4ubWFuYWdlLXBlcnNvbmFzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlICFpbXBvcnRhbnQ7XG59XG5cbi5tYW5hZ2UtcGVyc29uYXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDQuNjI1cmVtO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5jcmVhdGUtZ3JvdXAtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMS4zN3JlbSAxLjU0cmVtO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5kaXNhYmxlLWRpdiB7XG4gIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5ICFpbXBvcnRhbnQ7XG59XG5cbi5zYXZlLWVkaXRzLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1tb2RhbC1kZWxldGUtc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2x1c3Rlci1tb2RhbCB7XG5cbiAgICAmX19wYXJ0aWNpcGFudHMsXG4gICAgJl9faGVhZGVyLFxuICAgICZfX2NvbW1lbnRzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgICAgICYgaDEge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29tbWVudHMge1xuICAgICAgICAuY29tbWVudC1zdGF0cyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVudC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSB7XG4gIC5lZGl0LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICB9XG5cbiAgI25ldy1idXR0b24sIC5vcHRpb25zLWdyb3VwcyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgLmZvcm0tZWxlbWVudHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJiA+ICoge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2x1c3Rlci1kZXNjcmlwdGlvbiB7XG4gICAgI2NsdXN0ZXItbmV3IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2x1c3Rlci1wZXJzb25hcyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgIC5uZXctcGVyc29uYS1zaG9ydGN1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAjbmV3X3BlcnNvbmFfY2hlY2sge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICNuZXctcGVyc29uYS10ZXh0IHtcbiAgICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICAudG9vbHRpcC1wZXJzb25hIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAuYnRuLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAucGVyc29uYXMtbGlzdCB7XG4gICAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgICBwYWRkaW5nOiAuM3JlbSAuMjVyZW0gLjNyZW0gMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5ldy1ncm91cC1tb2RhbCB7XG4gICAgbGVmdDogMTUlO1xuICAgIHRvcDogMTUlO1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuICAuZWRpdC1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIGdhcDogMDtcblxuICAgICNzYXZlLWVkaXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgfVxuXG4gICAgLmRlbGV0ZS1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjkzOHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM4cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5kaXZpZGVyLW1vYmlsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JBQkFCQTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tYW5hZ2UtcGVyc29uYXMtY29udGFpbmVyIHtcbiAgICBib3R0b206IC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmNvbmZpcm1hdGlvbi1tb2RhbCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgbGVmdDogNjYlO1xuICAgIHRvcDogODAlO1xuXG4gICAgLm1vZGFsLWNvbmZpcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgYnV0dG9uLmRlbGV0ZSwgYnV0dG9uLnJldHVybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTZweCkgYW5kIChtaW4td2lkdGg6IDUyNHB4KSB7XG4gIC5lZGl0LWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xuICAgIGdhcDogMDtcblxuICAgIC5kaXZpZGVyLW1vYmlsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQkFCQUJBO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jbHVzdGVyLWRlc2NyaXB0aW9uIHtcbiAgICBmb3JtIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMS4xODdyZW0gYXV0byAxLjE4N3JlbSAxOC41NjNyZW07XG4gICAgfVxuICB9XG5cbiAgLm1hbmFnZS1wZXJzb25hcy1jb250YWluZXIge1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTZweCkgYW5kIChtaW4td2lkdGg6IDg3NnB4KSB7XG4gIC5lZGl0LWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgZ2FwOiAwO1xuXG4gICAgLmRpdmlkZXItbW9iaWxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQUJBQkE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tYW5hZ2UtcGVyc29uYXMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5uZXctZ3JvdXAtbW9kYWwge1xuICAgIGxlZnQ6IDIyJTtcbiAgICB0b3A6IDI1JTtcbiAgfVxuXG4gIC5jb25maXJtYXRpb24tbW9kYWwge1xuICAgIHRvcDogNTAlO1xuICB9XG59XG4iLAoJCSIjc29ydC1kb3duLWljb24sICNzb3J0LXVwLWljb24ge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMC42ODhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI7XG59XG5cbiNzb3J0LWRvd24taWNvbiB7XG4gICAgYm90dG9tOiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuI3NvcnQtdXAtaWNvbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uc2VsZWN0LWdyb3Vwcy1maWx0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNwYWdpbmF0aW9uLWNyZWF0ZSwgI3BhZ2luYXRpb24tZWRpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMS4zMTNyZW07XG5cbiAgICAgICAgJiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OGVtO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjU2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJldiwgLm5leHQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSwgLnBhZ2UtbGluaywgLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wYWdlLWxpbmssIC5wYWdlLWxpbms6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLXN0ZXJlb3R5cGVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAwLjgxM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMS4wOTRyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BhZ2luYXRpb24tdGV4dC1jcmVhdGUsICNwYWdpbmF0aW9uLXRleHQtZWRpdCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGl2aWRlci1zZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uZ3JvdXBzLWZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kZWVwZXI7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtIDAuMzc1cmVtO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LXdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgICZfX2dyb3VwLCAmX19ncm91cDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMC43NXJlbSAwLjYyNXJlbSAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBtYXgtd2lkdGg6IDE0LjM3NXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICYtLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm1hbmFnZS1zdGVyZW90eXBlcyB7XG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWxwdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDIuMTI1cmVtO1xuICAgIH1cblxuICAgICZfX2hlbHB0ZXh0LWFsdCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdmlnYXRpb24tbWVudS1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS13aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi12b3RlLXNlY3Rpb24ge1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzJSBhdXRvIDMlO1xuXG4gICAgICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbjogMi4yNXJlbSAwIDMuMTI1cmVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC4zNzVyZW0gMCAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAyLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNS4zNzVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDMuMjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0LjM3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYtLWdyZWVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1ncmF5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXJlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYmx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyb3VwaW5nIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZvdGVzLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzc1cmVtO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm90ZXMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAwLjQzOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZvdGVzLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDlEOUQ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm90ZXMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNDM4cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RlcmVvdHlwZXMtc2VjdGlvbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RlcmVvdHlwZXMtc2VjdGlvbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX25vLWdyb3VwcyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2Mi42JTtcbiAgICAgICAgcGFkZGluZzogOS42ODhyZW0gOC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxOC43NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUuNjI1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLnN0ZXJlb3R5cGUtY2FyZHMge1xuICAgIGZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2NhcmQtY29tbWVudHMge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1NDNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbSAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBwYWRkaW5nOiAxLjM3NXJlbSAxLjM3NXJlbSAxLjI1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MzhyZW07XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjMxM3JlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdm90ZS1idXR0b25zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDM4cmVtO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogM3JlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIGF1dG8pO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIGF1dG8pO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjY1NXJlbTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdy1nYXA6IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAuNGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzLjc3M3JlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZWxldGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg4cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taWNvbi0xLCAmLS1pY29uLS0xLCAmLS1pY29uLTAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pY29uLTEge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taWNvbi0wIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWljb24tLTEge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1jbGVhciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfVxufVxuXG4uYWdyZWUtMSwgLmRpc2FncmVlLS0xLCAuc2tpcC0wIHtcbiAgICB3aWR0aDogOHJlbTtcbiAgICBoZWlnaHQ6IDIuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICB3aWR0aDogNS4xODhyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMy4zMTNyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFncmVlLTEge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1hZ3JlZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzYWdyZWUtLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kaXNhZ3JlZSAhaW1wb3J0YW50O1xufVxuXG4uc2tpcC0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWUgIWltcG9ydGFudDtcbn1cblxuLnBvaW50ZXItMSB7XG4gICAgLnRhYnMtY29udGFpbmVyIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAjc2VlLWVkaXQtcGVyc29uYXMtdGFiIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLm1vZGFsIHtcblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNzUwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAmLmhpZGUge3Zpc2liaWxpdHk6IGhpZGRlbjt9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZSwgLjI1KTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAZXh0ZW5kIC5wYWQtNDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbW9kYWwtYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyOS4yNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTQuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAzLjI1cmVtIDUuMzEzcmVtO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzODBweCkge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpZ2h0ZXItYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1vZGFsLWJhY2tncm91bmQtbGlnaHRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLS10ZXh0LWFsaWduLXVuc2V0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtLWhlaWdodCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tb2RhbF9fY29udGFpbmVyO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtdHJhbnNpdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzB2aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zbSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tb2RhbF9fY29udGFpbmVyO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1vZGFsX19jb250YWluZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDM1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGcge1xuICAgICAgICAgICAgQGV4dGVuZCAubW9kYWxfX2NvbnRhaW5lcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1xdWljay1hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMS44NzVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTcuNDM4cmVtO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogNjdweDtcbiAgICAgICAgJi0tYWxlcnQge2NvbG9yOiAkY29sb3ItdGhlbWUtcmVkO31cbiAgICAgICAgJi0tc3VjY2VzcyB7Y29sb3I6ICRjb2xvci10aGVtZS1ncmVlbjt9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICY6aG92ZXIge2JveC1zaGFkb3c6IG5vbmU7fVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEuMzEzcmVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuIHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTM7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAuNXJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICAgIGhlaWdodDogMi44NzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWQge1xuICAgICAgICAgICAgQGV4dGVuZCAubW9kYWxfX2J0bjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQtbmVnYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ibHVlIHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1vZGFsX19idG47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbm8tZmlsbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tb2RhbF9fYnRuO1xuXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYmxhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J0bi1ib2FyZC1kZWxldGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMwcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxNy41NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMy4yNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2J0bi1hbHRlcm5hdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICBncmlkLWdhcDogMS44NzVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYtLXJlZCwgJi0tZ3JheSB7XG4gICAgICAgICAgICB3aWR0aDogNi4zMTNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNzVlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyYXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19idG4tYm9hcmQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXVlc3Rpb24ge1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLWZ1bGwtc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oaWRlLW92ZXJmbG93LXkge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxufVxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE9WRVJSSURFIE1FTkRFTEVFVi5DU1MgRUxFTUVOVFNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJbiB0aGUgZnV0dXJlLCBNZW5kZWxlZXYgc2hvdWxkIHN1cHBvcnQgdGhpcyBraW5kIG9mIHBlcnNvbmFsaXphdGlvbiBhbmQgdGhpc1xuLy8gbW9kdWxlIHdpbGwgZ28gYXdheS5cblxuLmNvbnRhaW5lci0xLCAuY29udGFpbmVyLTIsIC5jb250YWluZXItMywgLmNvbnRhaW5lci00IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDcwcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAwIHNpemUoMSk7XG4gICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG4uZm9ybS1jb250YWluZXIuaXMtd2lkZSB7XG4gICAgbWF4LXdpZHRoOiA2MHJlbTtcbn1cblxuLmZvcm0tbmFycm93IHtcbiAgICB3aWR0aDogMjFyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmxhYmVsIHtcbiAgICBAZXh0ZW5kIC50ZXh0LTY7XG4gICAgY29sb3I6IGNvbG9yKCdhY3Rpb24nKTtcbiAgICB0ZXh0LWluZGVudDogMS4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxubGVnZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogc2l6ZSgxKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHNpemUoMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG5cbmh0bWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xufVxuXG5hLmJ1dHRvbiB7XG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3NoYWRvdy0xJyk7XG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCdhY3Rpb24nKTtcbiAgICB9XG59XG5cbmEuYnV0dG9uLmlzLXByaW1hcnkge1xuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3IoJ2FjY2VudCcpO1xuICAgIH1cbn1cblxuLy8gTmVhdCB0cmljayBmcm9tIGh0dHBzOi8vYWNjZXNzaWJsZTM2MC5jb20vYWNjZXNzaWJsZTM2MC1ibG9nL3VzZS1hcmlhLWxhYmVsLXNjcmVlbi1yZWFkZXItdGV4dC9cbi5zY3JlZW4tcmVhZGVyIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDBweCAwcHgsIDBweCAwcHgsIDBweCAwcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB6LWluZGV4OiAtMTAwMDtcbn1cbiIsCgkJIi5sZHMtcmluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xufVxuLmxkcy1yaW5nIGRpdiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbjogOHB4O1xuICBib3JkZXI6IDhweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogbGRzLXJpbmcgMS4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjUsIDEpIGluZmluaXRlO1xuICBib3JkZXItY29sb3I6ICMzMEJGRDMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4ubGRzLXJpbmcgZGl2Om50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNDVzO1xufVxuLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjNzO1xufVxuLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjE1cztcbn1cbkBrZXlmcmFtZXMgbGRzLXJpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufSIsCgkJIi50b3VyIHtcbiAgICAmLWJhY2tkcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgfVxuICAgICYtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1saWdodGVyO1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICBoZWlnaHQ6IDQzLjc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA0My43NXJlbS8yKTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA1Ni4yNXJlbS8yKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTYuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJl9fc25hcHNob3Qge1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDR2aDtcbiAgICAgICAgICAgIGltZyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnViYmxlcyxcbiAgICAgICAgLnNlY29uZGFyeS1idWJibGVzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAuYnViYmxlcyB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAuc2Vjb25kYXJ5LWJ1YmJsZXMge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAud2VsY29tZSB7XG4gICAgICAgICAgICAmLS13aWR0aC0xMDAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzdmg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDR2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uLS1za2lwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbmFwc2hvdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXByb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktMjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDU2LjI1cmVtO1xuICAgICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuICAgICYtcHJvZ3Jlc3MtLTEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgfVxuICAgICYtcHJvZ3Jlc3MtLTIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGhlaWdodDogLjI1cmVtO1xuICAgIH1cbiAgICAmLXByb2dyZXNzLS0zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLnRvdXItcHJvZ3Jlc3Mge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxJSAxNCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXZoO1xuICAgIH1cbiAgICAudG91ci1jb250ZW50IC5sb2dvLmxvZ28tLW1pbm9yLW1hcmdpbi10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLndlbGNvbWUge1xuICAgICAgICB3aWR0aDogODB2dztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAudG91ci1jb250ZW50IC5idXR0b25zIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICB9XG4gICAgLnRvdXItY29udGVudCAuYnV0dG9ucyBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLmJ1YmJsZXMge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG4gICAgLnRvdXItZm9vdGVyX19zbmFwc2hvdCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgIC50b3VyLWNhcmQge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnRvdXItZm9vdGVyIHtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnRvdXItY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC50b3VyLWNhcmQge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpIHtcbiAgICAgICAgLnRvdXItY2FyZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSJAaW1wb3J0ICcxX3NldHRpbmdzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnMV9zZXR0aW5ncy9zcGFjaW5nJztcbkBpbXBvcnQgJzFfc2V0dGluZ3MvY29sb3JzJztcbkBpbXBvcnQgJzFfc2V0dGluZ3MvbGF5b3V0JztcbkBpbXBvcnQgJzZfY29tcG9uZW50cy9nZW5lcmljL3BhZ2UnO1xuQGltcG9ydCAnNl9jb21wb25lbnRzL2dlbmVyaWMvcGFnZS1tZW51JztcbkBpbXBvcnQgJzZfY29tcG9uZW50cy9jb252ZXJzYXRpb25zJztcbkBpbXBvcnQgJzZfY29tcG9uZW50cy9maWxlLWlucHV0JztcbiIsCgkJIi8qXG4gQ09MT1JTIFJPTEVTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vLy8gQmFja2dyb3VuZCBhbmQgdGV4dCBjb2xvcnNcbi8vJGNvbG9yLXJlZ3VsYXItdGV4dDogIzA1MkI0NyAhZGVmYXVsdDtcbi8vJGNvbG9yLWNvbnRlbnQtdGV4dDogd2hpdGUgIWRlZmF1bHQ7XG4vLyRjb2xvci1iYWNrZ3JvdW5kOiB3aGl0ZSAhZGVmYXVsdDtcbi8vJGNvbG9yLXRleHQ6ICRjb2xvci1yZWd1bGFyLXRleHQgIWRlZmF1bHQ7XG4vLyRjb2xvci1tdXRlZC10ZXh0OiBsaWdodGVuKCRjb2xvci1yZWd1bGFyLXRleHQsIDE1JSkgIWRlZmF1bHQ7XG4vL1xuLy8vLyBEaXNjcmVldGx5IGhpZ2hsaWdodGVkIGNvbnRlbnQuIFdlIHdhbnQgc29tZSBlbXBoYXNpcyBmcm9tIHRoZSBkZWZhdWx0IGNvbnRlbnRcbi8vLy8gYmFja2dyb3VuZCwgYnV0IGl0IHNob3VsZCBub3QgYmUgaGlnaGxpZ2h0ZWQgYXMgc3Ryb25nbHkgYXMgcHJpbWFyeSBjb250ZW50LlxuLy8kY29sb3ItaGludDogI0M0RjJGNCAhZGVmYXVsdDtcbi8vJGNvbG9yLWhpbnQtdGV4dDogJGNvbG9yLWNvbnRlbnQgIWRlZmF1bHQ7XG4vLyRjb2xvci1oaW50LXRleHQtdmFyaWFudDogI0EzRDhERCAhZGVmYXVsdDtcbi8vJGNvbG9yLWhpbnQtZmFkZWQ6ICNBM0Q4REQgIWRlZmF1bHQ7XG4iLAoJCSIvKlxuIFBBR0UgTEFZT1VUIEFORCBCUkVBS1BPSU5UU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICdzcGFjaW5nJztcblxuLy8gUGFnZSBoZWFkZXIgbGF5b3V0XG4kaGVhZGVyLWljb24tc2l6ZTogNDBweCAhZGVmYXVsdDtcbiRoZWFkZXItbG9nby1zaXplOiAkaGVhZGVyLWljb24tc2l6ZSAtIDE1ICFkZWZhdWx0O1xuJGhlYWRlci10b3AtbmF2LWhlaWdodDogJGhlYWRlci1pY29uLXNpemUgKyA1ICFkZWZhdWx0O1xuJHRvcC1oZWFkZXItaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbmF2LWhlaWdodDogJGhlYWRlci1pY29uLXNpemUgIWRlZmF1bHQ7XG4kaGVhZGVyLWhlaWdodC10YWJsZXQ6ICRoZWFkZXItdG9wLW5hdi1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSBwYWdlIGxheW91dFxuJHBhZ2UtY29udGVudC13aWR0aC1tYXg6IDcwMHB4ICFkZWZhdWx0O1xuJGNvbnRlbnQtd3JhcHBlci1tYXgtd2lkdGg6ICRwYWdlLWNvbnRlbnQtd2lkdGgtbWF4ICFkZWZhdWx0O1xuJGhlYWRlci13cmFwcGVyLW1heC13aWR0aDogJGNvbnRlbnQtd3JhcHBlci1tYXgtd2lkdGggKyAyICogJHNwYWNpbmctdW5pdC1sYXJnZSAhZGVmYXVsdDtcbiIsCgkJIi8qXG4gR0VORVJJQyBQQUdFIEVMRU1FTlRTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRwYWdlLXRpdGxlLWZvbnQtc2l6ZTogMS4xICogJGZvbnQtc2l6ZS1oMSAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBpbWFnZXNcbiRjYXJkLWJhY2tncm91bmQtaW1hZ2UtdXJsOiB1cmwoL3N0YXRpYy9pbWcvaWNvbnMvYmcucG5nKSAhZGVmYXVsdDtcbiRwYWdlLWJhY2tncm91bmQtaW1hZ2UtdXJsOiB1cmwoL3N0YXRpYy9pbWcvcGFnZS1iZy5zdmcpICFkZWZhdWx0O1xuXG5cbi5QYWdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6ICRoZWFkZXItdG9wLW5hdi1oZWlnaHQgMCAkaGVhZGVyLXRvcC1uYXYtaGVpZ2h0IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgcGFkZGluZzogKCRoZWFkZXItaGVpZ2h0LXRhYmxldCArICR0b3AtaGVhZGVyLWhlaWdodCkgMCAkaGVhZGVyLXRvcC1uYXYtaGVpZ2h0IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICYudGFsa3Mge1xuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci10b3AtbmF2LWhlaWdodCAwIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5OYXZNZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgJi1jb250ZW50LmxvZ2dlZC1pbiwgI2RvY3Mge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuTmF2TWVudS1maXhlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1tYWluQ29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYmFja2dyb3VuZC1pbWFnZS11cmwgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknLCBjb250cmFzdCk7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXVuaXQgMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmNvbnRhaW5lci0xO1xuXG4gICAgICAgICAgICBmb250LXNpemU6ICRwYWdlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtdGlueSAoJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueSk7XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJGhlYWRlci1ib3R0b20tbmF2LWhlaWdodCArICR0b3AtaGVhZGVyLWhlaWdodCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbiIsCgkJIi8qXG4gUEFHRSBTSURFQkFSXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIENvbG9yc1xuJG5hdi1tZW51LWNvbG9yOiBjb2xvcigncHJpbWFyeScpICFkZWZhdWx0O1xuJG5hdi1tZW51LWNvbG9yLXRleHQ6IGNvbG9yKCdwcmltYXJ5JywgY29udHJhc3QpICFkZWZhdWx0O1xuJG5hdi1tZW51LWJvcmRlci1jb2xvcjogcmdiYSgjRkZGLCAwLjI1KSAhZGVmYXVsdDtcbiRuYXYtbWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbmF2LW1lbnUtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBMYXlvdXRcbiRuYXYtbWVudS1mb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRuYXYtbWVudS1vcGFjaXR5OiAxLjAgIWRlZmF1bHQ7XG4kbmF2LW1lbnUtc2hhZG93OiAycHggMCA0cHggMCByZ2JhKDE4LCA0OCwgMTAyLCAwLjA4KSAgIWRlZmF1bHQ7XG4kbmF2LW1lbnUtd2lkdGg6IDc1dncgIWRlZmF1bHQ7XG4kbmF2LW1lbnUtbWF4LXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRuYXYtbWVudS11bC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLyBFbGVtZW50XG4uTmF2TWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiAkbmF2LW1lbnUtbWF4LXdpZHRoO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbWVudS1zaGFkb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRuYXYtbWVudS1mb250LXNpemU7XG4gICAgb3BhY2l0eTogJG5hdi1tZW51LW9wYWNpdHk7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTtcbiAgICAvL2JhY2tncm91bmQ6ICRuYXYtbWVudS1jb2xvcjtcbiAgICBjb2xvcjogJG5hdi1tZW51LWNvbG9yLXRleHQ7XG5cbiAgICBhLCBidXR0b257XG4gICAgICAgIGNvbG9yOiAkbmF2LW1lbnUtY29sb3ItdGV4dDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcbiAgICBlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICB9XG5cbiAgICBpbWcsXG4gICAgaSB7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgfVxuICAgIC5pY29uLXN0YWNre1xuICAgICAgICA6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGlueSAqIDAuNjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpICsgaXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10aW55O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2LW1lbnUtYm9yZGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIH1cblxuICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAkbmF2LW1lbnUtdWwtcGFkZGluZztcbiAgICB9XG5cbiAgICAmLURyb3BEb3duIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYtQW5nbGVEb3duSWNvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAmLVVzZXJNZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgPmxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1BY2Nlc3NpYmlsaXR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgPmxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLAoJCSIvKlxuQ09OVkVSU0FUSU9OU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb252ZXJzYXRpb24tdm90ZS1jaXJjbGUtc2l6ZTogMThweCAhZGVmYXVsdDtcbiRjb252ZXJzYXRpb24tdG9hc3QtaW1hZ2UtYm9yZGVyOiAkc3BhY2luZy11bml0LXRpbnkgLyAzO1xuJGNvbnZlcnNhdGlvbi1idXR0b24tc2l6ZTogJHNwYWNpbmctdW5pdC1zbWFsbCArICRzcGFjaW5nLXVuaXQtdGlueSAhZGVmYXVsdDtcbiRpY29uLWFycm93LWRvd246IHVybChcIi9zdGF0aWMvaW1nL2ljb25zL2Fycm93LWRvd24uc3ZnXCIpICFkZWZhdWx0O1xuJGNvbnZlcnNhdGlvbi1jYXJkLWZvbnQtc2l6ZS1zbWFsbDogMTJweCAhZGVmYXVsdDtcbiRjb252ZXJzYXRpb24tY2FyZC1ib3JkZXItYXJyb3ctc2l6ZTogJHNwYWNpbmctdW5pdDtcbiRwcm9maWxlLWxhYmVsLWNsZWFyLWNvbG9yOiAjMzBCRkQzICFkZWZhdWx0O1xuJG1vZGFsaXRpZXMtY29udGVudC13aWR0aC1tYXg6ICgkcGFnZS1jb250ZW50LXdpZHRoLW1heCAvIDIpIC0gMjkgIWRlZmF1bHQ7XG4kY29sb3ItZm9yLXVuZm9sZGluZzogcmdiYSgyLCAxNi45LCAyNy44LCAwLjYpO1xuJGNvbG9yLWJhY2tncm91bmQtYnV0dG9uLW1vZGFsaXRpZXM6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblxuLkNvbnZlcnNhdGlvbkxpc3Qge1xuICAgIEBleHRlbmQgLmNvbnRhaW5lci0xO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIHAge1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXVuaXQgLyAzO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXVuaXQ7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvcGljIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXVybHMge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGlueTtcbiAgICAgICAgYSwgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10aW55ICogMC44O1xuICAgICAgICB9XG4gICAgICAgIC5wdWJsaWMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICB9XG5cbiAgICAgICAgLm15LWNvbnZlcnNhdGlvbnMge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICB9XG5cbiAgICAmLWNhcmRMaXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0O1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXVuaXQtc21hbGw7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDI0NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbi5Db252ZXJzYXRpb25Gb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENEY3RjU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5Db252ZXJzYXRpb25UYWdzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbCArICRzcGFjaW5nLXVuaXQtdGlueSAkc3BhY2luZy11bml0LXNtYWxsICRzcGFjaW5nLXVuaXQtc21hbGwgJHNwYWNpbmctdW5pdC1zbWFsbDtcbn1cblxuLkNvbnZlcnNhdGlvbkNhcmQge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcm91bmQ7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogMzIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXBhcmFncmFwaDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJi1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgICYtbW9kZXJhdGlvbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGlueTtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0IC8gMiAwO1xuICAgIH1cblxuICAgICYtY292ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiA4NnB4O1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkbCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGlueTtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctdW5pdC10aW55IDA7XG5cbiAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY292ZXIgKyAuQ29udmVyc2F0aW9uQ2FyZC1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy11bml0LXNtYWxsICRzcGFjaW5nLXVuaXQtc21hbGwgJHNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy11bml0O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1hY3Rpb25zIHtcbiAgICAgICAgLmJ1dHRvbi5pcy1wcmltYXJ5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtc21hbGwgKyAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zdGF0aXN0aWNzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1oaW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0LXRpbnkgJHNwYWNpbmctdW5pdDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwICRzcGFjaW5nLXVuaXQgLyAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctdW5pdC10aW55O1xuICAgIH1cbn1cblxuLk1vZGFsaXRpZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWZvci11bmZvbGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vTW9kYWxpdGllcyBzbGlkZXJcblxuICAgIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJHNwYWNpbmctdW5pdC1odWdlICogNDtcbiAgICB9XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMCBhdXRvICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMCBhdXRvICRzcGFjaW5nLXVuaXQgKyAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdHlsZS1zbGlkZS1jZW50ZXIge1xuICAgICAgICBtYXJnaW46IGF1dG8gYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvICRzcGFjaW5nLXVuaXQtc21hbGwgKyAkc3BhY2luZy11bml0O1xuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IDBweCAkc3BhY2luZy11bml0ICsgJHNwYWNpbmctdW5pdC1zbWFsbCAwcHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHggJHNwYWNpbmctdW5pdC1sYXJnZSArICRzcGFjaW5nLXVuaXQgMHB4IDBweDtcbiAgICAgICAgfVxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogJHNwYWNpbmctdW5pdC1odWdlICogMyAtICRzcGFjaW5nLXVuaXQtc21hbGw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYWNjZW50O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXRpbnkgKiAyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAuYXBwZW5kLWJ1dHRvbnMge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbCArICRzcGFjaW5nLXVuaXQtdGlueSAwcHggJHNwYWNpbmctdW5pdC10aW55IDBweDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1kZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAwICRzcGFjaW5nLXVuaXQtdGlueSAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtc21hbGwgMCAkc3BhY2luZy11bml0IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stcmFsZXdheTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICAgICAgICBtYXJnaW46IDBweCAkZm9udC1zaXplLXRpbnktdGlueTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1oaW50O1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgIG1hcmdpbjogLSgkc3BhY2luZy11bml0LXNtYWxsICsgJHNwYWNpbmctdW5pdC10aW55KSAoLSRzcGFjaW5nLXVuaXQtc21hbGwgLSAkc3BhY2luZy11bml0LXRpbnkpIDBweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IC0oJHNwYWNpbmctdW5pdC1zbWFsbCArICRzcGFjaW5nLXVuaXQtdGlueSkgMHB4IDBweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgaGVpZ2h0OiAkc3BhY2luZy11bml0LWxhcmdlIC0gJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdC10aW55IDBweCAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1idXR0b24tbW9kYWxpdGllcztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0ICsgJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjaW5nLXVuaXQgKCRzcGFjaW5nLXVuaXQgKyAkc3BhY2luZy11bml0LXRpbnkpO1xuICAgIH1cbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW46IC0oJHNwYWNpbmctdW5pdC1zbWFsbCArICRzcGFjaW5nLXVuaXQtdGlueSkgJHNwYWNpbmctdW5pdC10aW55IDBweCAkc3BhY2luZy11bml0LXRpbnkgLSAkc3BhY2luZy11bml0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgbWFyZ2luOiAtKCRzcGFjaW5nLXVuaXQtc21hbGwgKyAkc3BhY2luZy11bml0LXRpbnkpICRzcGFjaW5nLXVuaXQtdGlueSAwcHggKC0kc3BhY2luZy11bml0LXRpbnkpO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiAkc3BhY2luZy11bml0O1xuICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgbGVmdDogJHNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGhlaWdodDogJHNwYWNpbmctdW5pdC1sYXJnZSAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQtdGlueSAwcHggJHNwYWNpbmctdW5pdC1zbWFsbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtYnV0dG9uLW1vZGFsaXRpZXM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLXVuaXQtbGFyZ2U7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCArICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2luZy11bml0ICRzcGFjaW5nLXVuaXQgKyAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgfVxuXG4gICAgLm1vZGFsaXRpZXMtc2xpZGVyLnNob3cge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkc3BhY2luZy11bml0LWh1Z2UgKiAzIC0gJHNwYWNpbmctdW5pdC1zbWFsbCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKCRzcGFjaW5nLXVuaXQtaHVnZSAqIDIpICsgJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgICAgIC5pbWdwYXJ0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmltZ3BvbnRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAkc3BhY2luZy11bml0IC0gJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmltZ29wbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQtc21hbGw7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXVuaXQgKyAkc3BhY2luZy11bml0LXRpbnkgMHB4ICRzcGFjaW5nLXVuaXQtdGlueSAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzBCRkQzO1xuICAgICAgICB9XG4gICAgICAgIC5mYS10aW1lcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIC5mYS1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICB9XG4gICAgICAgIC5mYS1jaGVjayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkc3BhY2luZy11bml0LWh1Z2UgKiA0O1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWxpdGllcy1jb250ZW50LXdpZHRoLW1heDtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgfVxuICAgICAgICAuaW1ncGFydCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzclO1xuICAgICAgICB9XG4gICAgICAgIC5pbWdwb250ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggJHNwYWNpbmctdW5pdCAtICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzclO1xuICAgICAgICB9XG4gICAgICAgIC5pbWdvcG4ge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc3JTtcbiAgICAgICAgfVxuICAgICAgICAuZmEtdGltZXMge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgfVxuICAgICAgICAuZmEtYXJyb3ctcmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgfVxuICAgICAgICAuZmEtY2hlY2sge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL01vZGFsaXRpZXMgc3RhdGljXG5cbiAgICAuc3R5bGUtc2xpZGUge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgd2lkdGg6ICRzcGFjaW5nLXVuaXQtaHVnZSAqIDM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtdGlueSAqIDI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5hcHBlbmQtYnV0dG9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXRpbnkgMHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXNtYWxsIDAgJHNwYWNpbmctdW5pdC10aW55IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXRpbnkgMCAkc3BhY2luZy11bml0LXNtYWxsIDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stcmFsZXdheTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi1jbG9zZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc3BhY2luZy11bml0LWxhcmdlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAuZmEtdGltZXMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEltYWdlbnMgZG8gbW9kYWwgY29tIGVzcGVjaWZpY2HDp8O1ZXMgZGlmZXJlbnRlc1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgIC5zdHlsZS1zbGlkZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRzcGFjaW5nLXVuaXQtaHVnZSAqIDIgLSAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICB9XG4gICAgICAgIC5pbWdwb250ZSB7XG4gICAgICAgICAgICBtYXJnaW46IC0oJHNwYWNpbmctdW5pdCAqIDIgKyAkc3BhY2luZy11bml0LXRpbnkpICgkc3BhY2luZy11bml0LWh1Z2UgLSAkc3BhY2luZy11bml0LXRpbnkpIDBweCAoLSRzcGFjaW5nLXVuaXQtaHVnZSArICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnkpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNiU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi1jbG9zZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHggMHB4ICgtJHNwYWNpbmctdW5pdC10aW55KSAoJHNwYWNpbmctdW5pdC1odWdlICogMiAtICRzcGFjaW5nLXVuaXQpO1xuICAgICAgICAgICAgLmZhLXRpbWVzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXRpbnkgJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgIC5zdHlsZS1zbGlkZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbGl0aWVzLWNvbnRlbnQtd2lkdGgtbWF4O1xuICAgICAgICB9XG4gICAgICAgIC5pbWdwb250ZSB7XG4gICAgICAgICAgICBtYXJnaW46IC0oJHNwYWNpbmctdW5pdCAqIDIgKyAkc3BhY2luZy11bml0LXRpbnkpICgkc3BhY2luZy11bml0LWh1Z2UgKiAyICsgJHNwYWNpbmctdW5pdC10aW55KSAwcHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24tY2xvc2VyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweCAoLSRzcGFjaW5nLXVuaXQpICRzcGFjaW5nLXVuaXQtaHVnZSAqIDIuNTtcbiAgICAgICAgICAgIC5mYS10aW1lcyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5Db252ZXJzYXRpb25EZXRhaWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLkNvbW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogJGhlYWRlci13cmFwcGVyLW1heC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLkNvbW1lbnRDYXJkIHtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgzO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkcGFnZS1jb250ZW50LXdpZHRoLW1heDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkc3BhY2luZy11bml0LWxhcmdlIC0gJHNwYWNpbmctdW5pdC10aW55KSAoJHNwYWNpbmctdW5pdC1sYXJnZSAtICRzcGFjaW5nLXVuaXQtc21hbGwpO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50LXRleHQ7XG5cbiAgICAgICAgICAgICYtY291bnRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKCdwcmltYXJ5JywgY29udHJhc3QpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpLmZhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcigncHJpbWFyeScsIGNvbnRyYXN0KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLXVuaXQtbGFyZ2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNjb21tZW50Zm9ybSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHBhZ2UtY29udGVudC13aWR0aC1tYXg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGNvbG9yLWhpbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgzICogJHNwYWNpbmctdW5pdC10aW55KSAoJHNwYWNpbmctdW5pdC1sYXJnZSAtICRzcGFjaW5nLXVuaXQtc21hbGwpO1xuICAgICAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0LXNtYWxsICgkc3BhY2luZy11bml0ICsgJHNwYWNpbmctdW5pdC10aW55KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMyAqICRmb250LXNpemU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkIGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWNvbnRlbnQtdGV4dDtcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAjMzMzO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjY2hhcmFjdGVycy1jb3VudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAoJHNwYWNpbmctdW5pdCArICRzcGFjaW5nLXVuaXQtdGlueSkgMHB4IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtZmFrZUJ1dHRvbixcbiAgICAgICAgICAgIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtc21hbGwgJHNwYWNpbmctdW5pdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLyAyO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICNjb21tZW50Zm9ybS5zaG93IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluVXAgNTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDUwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjY29tbWVudGZvcm0uaGlkZWFuaW1hdGlvbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVPdXREb3duIDUwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlT3V0RG93biA1MDBtcyBlYXNlLWluLW91dDtcblxuICAgICAgICB9XG4gICAgICAgICYtZmFrZUJ1dHRvbixcbiAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbCAkc3BhY2luZy11bml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0IC8gMjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICB9XG4gICAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG9hc3Qge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaW50O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwOyAvLyRoZWFkZXItdG9wLW5hdi1oZWlnaHQ7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC10aW55O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2luZy11bml0LXRpbnkgMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXRpbnkgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXJhbGV3YXk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkc3BhY2luZy11bml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0LXRpbnkgJHNwYWNpbmctdW5pdC1zbWFsbCBhdXRvIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAoJGJvcmRlci1yYWRpdXMtdGlueSAqIDQpIC8gMyBzb2xpZCBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHNwYWNpbmctdW5pdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0LXNtYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvICRzcGFjaW5nLXVuaXQtc21hbGwgYXV0byAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci1yYWRpdXMtdGlueSBzb2xpZCBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctdW5pdC1sYXJnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN0b2FzdC5zaG93IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAvLyAtd2Via2l0LWFuaW1hdGlvbjogZmFkZSA4cztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZSA4cyBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBmYWRlIHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDIwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBib3R0b206IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA3MCUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA5MCUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuQ29tbWVudC1jcmVhdGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAwcHggMHB4IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLkNpcmNsZUJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY29sb3IoJ2NvbnRlbnQnKTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDI7XG4gICAgaGVpZ2h0OiAkY29udmVyc2F0aW9uLWJ1dHRvbi1zaXplO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogJGNvbnZlcnNhdGlvbi1idXR0b24tc2l6ZTtcblxuICAgICYtbGVmdENvbnZlcnNhdGlvblNsaWRlcixcbiAgICAmLXJpZ2h0Q29udmVyc2F0aW9uU2xpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogKDggKiAkbGluZS1oZWlnaHQgKyAkY29udmVyc2F0aW9uLWJ1dHRvbi1zaXplKSAtICgkc3BhY2luZy11bml0LWxhcmdlIC0gJHNwYWNpbmctdW5pdC1zbWFsbCk7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxlZnRDb252ZXJzYXRpb25TbGlkZXIge1xuICAgICAgICBsZWZ0OiAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgJi1yaWdodENvbnZlcnNhdGlvblNsaWRlciB7XG4gICAgICAgIHJpZ2h0OiAkc3BhY2luZy11bml0LXRpbnk7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxufVxuXG4uTGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uTGluay1uZXcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAvIDI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1oaW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXNtYWxsIDA7XG4gICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgIH1cbn1cblxuLkxpbmstZWRpdCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItaGludDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC1zbWFsbCAwO1xuICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgIH1cbn1cblxuLnZpZXctYm9hcmQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtdGlueTtcbiAgICAvLyAjVE9ETzogYm94LXNoYWRvdzogJGhlYWRlci1ib3gtc2hhZG93LXVwcGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXNtYWxsIDA7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgkaWNvbi1hcnJvdy1kb3duKSBuby1yZXBlYXQgcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG59XG5cbi5Nb2RlcmF0ZSB7XG4gICAgLkNvbnZlcnNhdGlvbkRldGFpbC1iYW5uZXIgaDEge1xuICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgIH1cblxuICAgICYtY29tbWVudHMtdGFicyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1oaW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLyAyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbW1lbnRzIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7O1xuICAgICAgICB9XG5cbiAgICAgICAgLkNvbW1lbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0IC8gMjtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWhpbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0IC8gMjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLW1ldGFkYXRhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWhpbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0IC8gMjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5Db252ZXJzYXRpb25Db21tZW50LWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWVcXCA1IEZyZWUnO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRjb2xvci1ncmVlbi1kYXJrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuLWRhcms7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkgKyBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICAgICAgICAgIGNvbG9yOiAjOWMyNzE1O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjOWMyNzE1O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5Db21tZW50LXN0YXR1cy1hcHByb3ZlZCAuQ29udmVyc2F0aW9uQ29tbWVudC1hY3Rpb25zIGxpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuQ29tbWVudC1zdGF0dXMtYXBwcm92ZWQgLkNvbnZlcnNhdGlvbkNvbW1lbnQtYWN0aW9ucyBsaSArIGxpIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICAgIC5Db21tZW50LXN0YXR1cy1yZWplY3RlZCAuQ29udmVyc2F0aW9uQ29tbWVudC1hY3Rpb25zIGxpIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICAgIC5Db21tZW50LXN0YXR1cy1yZWplY3RlZCAuQ29udmVyc2F0aW9uQ29tbWVudC1hY3Rpb25zIGxpICsgbGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5Db21tZW50LXN0YXR1cy1hcHByb3ZlZCAuQ29udmVyc2F0aW9uQ29tbWVudC1hY3Rpb25zIGxpOmhvdmVyLFxuICAgIC5Db21tZW50LXN0YXR1cy1yZWplY3RlZCAuQ29udmVyc2F0aW9uQ29tbWVudC1hY3Rpb25zIGxpOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuQ29tbWVudC1zdGF0dXMtcmVqZWN0ZWQgLkNvbW1lbnRMaXN0SXRlbS1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLkNvbW1lbnQtcmVqZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhpbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItaGludDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1oaW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1oaW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLkNvbnZlcnNhdGlvbi1lZGl0LWZpZWxkIHtcbiAgICAgICAgQGV4dGVuZCAuY29udGFpbmVyLTE7XG5cbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLSAkc3BhY2luZy11bml0LXRpbnkgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGw7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5Db252ZXJzYXRpb25FZGl0LWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0IC8gMiAwO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1jb250ZW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDJweCAwIDJweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQgMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiArIHNwYW4gaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICYuY3JlYXRlLWNvbnZlcnNhdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5Db252ZXJzYXRpb25GaWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXVuaXQgKiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgIH1cblxuICAgIGlucHV0LCBzZWxlY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLyAyO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWNvbnRlbnQ7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0ICsgaSwgc2VsZWN0ICsgaSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uQ29udmVyc2F0aW9uRWRpdC1hdHRyaWJ1dGVzIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0O1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBmb250LXNpemU6ICRzcGFjaW5nLXVuaXQgLyAyO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLkNvbnZlcnNhdGlvbkVkaXQtcHJvbW90ZSB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcblxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItY29udGVudDtcbiAgICAgICAgZm9udC1zaXplOiAkc3BhY2luZy11bml0IC8gMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5Db252ZXJzYXRpb24tQWRkQ29tbWVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogJHNwYWNpbmctdW5pdCAvIDI7XG59XG4qL1xuIiwKCQkiXG5cbi5GaWxlSW5wdXQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLXJhbGV3YXk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRpbnk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgLlBpY2tGaWxlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGwgKyAkYm9yZGVyLXJhZGl1cy10aW55O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCArICRib3JkZXItcmFkaXVzLXRpbnk7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknLCBjb250cmFzdCk7XG4gICAgICAgIGlucHV0W3R5cGU9ZmlsZV0ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4OztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5GaWxlU3RhdHVzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cblxuXG5cbiIsCgkJIi8vIENyZWF0ZSB1dGlsaXRpZXMgZm9yIHRoZSB0aGVtZXNcbi8vIENvbG9yIHRoZW1lc1xuQGVhY2ggJGNvbG9yIGluICh0aGVtZS1icmFuZCB0aGVtZS1hY2NlbnQgdGhlbWUtZ3JlZW4gdGhlbWUtb3JhbmdlIHRoZW1lLXB1cnBsZSB0aGVtZS1ncmV5IHRoZW1lLWljZFxudGhlbWUtdm90b3JhbnRpbSB0aGVtZS1vc2YgdGhlbWUtYm9jYWRlbG9ibykge1xuICAgIC4jeyRjb2xvcn0ge1xuICAgICAgICAtLXRoZW1lLWNvbG9yOiAje2NvbG9yKCRjb2xvcil9O1xuICAgICAgICAtLXRoZW1lLWxpZ2h0LWNvbG9yOiAje2NvbG9yKCN7JGNvbG9yfS1saWdodCl9O1xuICAgIH1cbiAgICAuYmctI3skY29sb3J9IHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgLmJnLSN7JGNvbG9yfS1saWdodCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKCN7JGNvbG9yfS1saWdodCk7XG4gICAgfVxufVxuXG4udGhlbWUtYnJhbmQsIC50aGVtZS1hY2NlbnQsIC50aGVtZS1ncmVlbiwgLnRoZW1lLW9yYW5nZSwgLnRoZW1lLXB1cnBsZSwgLnRoZW1lLWdyZXksIC50aGVtZS1pY2QsIC50aGVtZS12b3RvcmFudGltLCAudGhlbWUtb3NmIHtcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRoZW1lLWNvbG9yKTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtY29sb3IpO1xuICAgIH1cbn1cblxuLy8gTGlua3NcbnAge1xuICAgIGE6aG92ZXIsIGE6Zm9jdXMsIGE6dmlzaXRlZCwgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuXG5ociB7XG5ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG5tYXJnaW46IDFyZW0gMXJlbSAwIDA7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgIH1cbn1cblxuIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIjtDeUNpQkssQUFBRCxJQUFLLENBQUM7RUFFRSxNQUFPLENBQUksSUFBQztFQUFaLE1BQU8sQ0FBSSx5QkFBQztFQUFaLE9BQU8sQ0FBSSxLQUFDO0VBQVosV0FBTyxDQUFJLFdBQUMsR0FFbkI7O0FBSUQsQUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0V2Q1pqQixVQUFRLEVBQU0sVUFBQztFQUNmLFVBQVEsRUFBTyxnQkFBdUM7RXVDZ0JsRCxVQUFVLEVBQ04sR0FBRyxDekI4RkMsS0FBSyxDQUNFLElBQUksRXlCOUZmLFNBQVMsQ0FBQyxFQUFFO0VBR3BCLGlCQUFpQixFQUFFLFNBQVMsR0FDL0I7O0FBR0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFdBQVcsQ0FBQSxZQUFDLEdBQ2Y7O0FBS0QsQUFBQSxJQUFJLENBQUM7RUFFRCxXQUFXLEV6QnlCSCxHQUFHO0V5QnhCWCx3QkFBd0IsRUFBRSxJQUFJLEdBQ2pDOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0QsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFdBQVcsRUFBQyxXQUFDLEdBRWhCOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLEtBQUssR0FDakI7O0FBTUQsQUFBQSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztFQUNQLGFBQWEsRWZ4Q0wsT0FBaUMsR2V5QzVD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UUFBeUIsR0xwRG5DOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLFVBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLFVBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFNBQUssRUtpRUUsU0FBeUIsR0xwRG5DOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLFVBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLFVBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFNBQUssRUtpRUUsU0FBeUIsR0xwRG5DOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLFVBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLFVBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLElBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLElBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFNBQUssRUtpRUUsR0FBeUIsR0xwRG5DOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLElBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLElBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFNBQUssRUtpRUUsR0FBeUIsR0xwRG5DOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLb0VlLElBQVUsR0x2RGpDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxTQUFLLEVLbUVlLElBQVUsR0x0RGpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStD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S1IsYUFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFVBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsYUFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRU1KVyxDQUFDO0VOSWpCLHVCQUFLLEVNSlcsQ0FBQyxHTkNaOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx1QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx1QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx1QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx1QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx1QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx1QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx1QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx1QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx1QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx1QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx1QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx1QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx1QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx1QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx1QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx1QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx1QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRU1KVyxDQUFDO0VOSWpCLDBCQUFLLEVNSlcsQ0FBQyxHTkNaOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsVUFBTztFZTFIUCwwQkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsVUFBTztFZTFIUCwwQkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IseUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRU1KVyxDQUFDO0VOSWpCLDBCQUFLLEVNSlcsQ0FBQyxHTkNaOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsVUFBTztFZTFIUCwwQkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsVUFBTztFZTFIUCwwQkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRU1KVyxDQUFDO0VOSWpCLHlCQUFLLEVNSlcsQ0FBQyxHTkNaOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx5QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx5QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx5QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx5QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx5QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx5QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx5QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx5QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx5QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx5QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQ1EsSUEvQ0osRThCaVJKLFVBQVUsRUE5T1YsS0FBSyxFQUFFLFdBQVcsQzlCWUM7RUFYUCxXQUFLLEVlSVksT0FBTztFZkp4QixPQUFLLEVlS1EsSUFBSTtFZkxqQixTQUFLLEVlTVUsR0FBRztFZk5sQixlQUFLLEVlT2dCLGFBQWEsR2ZNckM7RUFqRFQsQUErQmdCLElBL0JaLEdBQUYsQ0FBQyxFOEJpUkgsVUFBVSxHOUJqUlIsQ0FBQyxFOEJtQ0gsS0FBSyxHOUJuQ0gsQ0FBQyxFOEJtQ0ksV0FBVyxHOUJuQ2hCLENBQUMsQ0ErQmlCO0lBS1IsU0FBSyxFZVNjLENBQUMsR2ZaZjs7QUFqQ2pCLEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFZWFZLE9BQU87RWZieEIsT0FBSyxFZWNRLFdBQVc7RWZkeEIsU0FBSyxFZWVVLEdBQUc7RWZmbEIsZUFBSyxFZWdCZ0IsYUFBYSxHZkhyQzs7QUFqRFQsQUErQmdCLFdBL0JMLEdBQVQsQ0FBQyxDQStCaUI7RUFLUixJQUFLLEVlb0JTLENBQUMsR2Z2QlY7O0FBakNqQixBQStDUSxJQS9DSixFOEIrR0osZ0JBQU0sRUFBTixNQUFNLEM5QmhFYTtFQVhQLFdBQUssRWUwQlksT0FBTztFZjFCeEIsT0FBSyxFZTJCUSxJQUFJO0VmM0JqQixTQUFLLEVlNEJVLE1BQU07RWY1QnJCLGVBQUssRWU2QmdCLGFBQWEsR2ZoQnJDO0VBakRULEFBK0JnQixJQS9CWixHQUFGLENBQUMsRThCK0dILGdCQUFNLEc5Qi9HSixDQUFDLEU4QitHSCxNQUFNLEc5Qi9HSixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWUrQmMsQ0FBQyxHZmxDZjs7QUFqQ2pCLEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFZW1DWSxPQUFPO0VmbkN4QixPQUFLLEVlb0NRLFdBQVc7RWZwQ3hCLFNBQUssRWVxQ1UsTUFBTTtFZnJDckIsZUFBSyxFZXNDZ0IsYUFBYSxHZnpCckM7O0FBakRULEFBK0JnQixXQS9CTCxHQUFULENBQUMsQ0ErQmlCO0VBS1IsSUFBSyxFZTBDUyxDQUFDLEdmN0NWOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFZTVCRCxrQkFBdUMsR2Z5QnRDO0VBakNqQixBQStCZ0IsU0EvQlIsR0FBTixDQUFDLENBK0JpQjtJQUtSLE1BQUssRU9ORCxRQUFpQyxHUEdoQztFQWpDakIsQUErQmdCLFNBL0JSLEdBQVIsU0FBUSxDQStCWTtJQUtSLFVBQUssRU9ORCxTQUFpQyxHUEdoQzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRWU1QkQsZ0JBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsT0FBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsUUFBaUMsR1BHaEM7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVlNUJELGNBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsTUFBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsT0FBaUMsR1BHaEM7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVlNUJELFVBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsSUFBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsS0FBaUMsR1BHaEM7O0FBakNqQixBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRWV5RFEsR0FBRyxHZjVDbkI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLGNBQUssRWUwRGdCLFdBQVcsR2Y3Q25DOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGNBQUssRWUyRFcsTUFBTSxHZjlDekI7O0FBakRULEFBK0NRLG9CQS9DWSxDQStDRDtFQVhQLGNBQUssRWU0RG1CLGNBQWMsR2YvQ3pDOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLGVBQUssRWVrRVUsVUFBVSxHZnJENUI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsZUFBSyxFZW1FVyxNQUFNLEdmdER6Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxlQUFLLEVlb0VRLFFBQVEsR2Z2RHhCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGVBQUssRWVxRVksYUFBYSxHZnhEakM7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsZUFBSyxFZXNFVyxZQUFZLEdmekQvQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxlQUFLLEVldUVXLFlBQVksR2YxRC9COztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLFdBQUssRWU2RVksT0FBTyxHZmhFM0I7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsV0FBSyxFZThFVSxVQUFVLEdmakU1Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssRThCaVJiLFVBQVUsQzlCbE9TO0VBWFAsV0FBSyxFZStFVyxNQUFNLEdmbEV6Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVlZ0ZRLFFBQVEsR2ZuRXhCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFdBQUssRWVpRmEsUUFBUSxHZnBFN0I7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsYUFBSyxFZXVGVSxVQUFVLEdmMUU1Qjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVld0ZXLE1BQU0sR2YzRXpCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWV5RlEsUUFBUSxHZjVFeEI7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLGFBQUssRWUwRlksYUFBYSxHZjdFakM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsYUFBSyxFZTJGVyxZQUFZLEdmOUUvQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVlNEZXLFlBQVksR2YvRS9COztBQWpEVCxBQStDUSxLQS9DSCxFOEJpUkwsVUFBVSxDOUJsT1M7RUFYUCxTQUFLLEVla0dTLElBQUksR2ZyRnJCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLFNBQUssRWVtR1csTUFBTSxHZnRGekI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsU0FBSyxFZW9HaUIsWUFBWSxHZnZGckM7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsVUFBSyxFZXlHWSxPQUFPLEdmNUYzQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxVQUFLLEVlMEdVLFVBQVUsR2Y3RjVCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFVBQUssRWUyR1csTUFBTSxHZjlGekI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFZTRHUSxRQUFRLEdmL0Z4Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxVQUFLLEVlNkdhLFFBQVEsR2ZoRzdCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFdBQUssRWVtSFcsQ0FBQyxHZnRHcEI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsV0FBSyxFZW9IYSxDQUFDLEdmdkd0Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxTQUFLLEVld0hTLENBQUMsR2YzR2xCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFNBQUssRWV5SFcsQ0FBQyxHZjVHcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsSUFBSyxFZStIUyxJQUFJLEdmbEhyQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlZ0lRLENBQUMsR2ZuSGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWVpSVEsQ0FBQyxHZnBIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZWtJUSxDQUFDLEdmckhqQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlbUlRLENBQUMsR2Z0SGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWVvSVEsQ0FBQyxHZnZIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZXFJUSxDQUFDLEdmeEhqQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlc0lRLENBQUMsR2Z6SGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWV1SVEsQ0FBQyxHZjFIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZXdJUSxDQUFDLEdmM0hqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxJQUFLLEVleUlTLEVBQUUsR2Y1SG5COztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLElBQUssRWUwSVMsRUFBRSxHZjdIbkI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsSUFBSyxFZTJJUyxFQUFFLEdmOUhuQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVlaUpRLENBQUMsR2ZwSWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWVrSlEsQ0FBQyxHZnJJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZW1KUSxDQUFDLEdmdElqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVlb0pRLENBQUMsR2Z2SWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWVxSlEsQ0FBQyxHZnhJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZXNKUSxDQUFDLEdmeklqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVldUpRLENBQUMsR2YxSWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWV3SlEsQ0FBQyxHZjNJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZXlKUSxDQUFDLEdmNUlqQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxLQUFLLEVlMEpTLEVBQUUsR2Y3SW5COztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLEtBQUssRWUySlMsRUFBRSxHZjlJbkI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsS0FBSyxFZTRKUyxFQUFFLEdmL0luQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxjQUFLLEVnQnRCZSxLQUFLLEdoQm1DNUI7O0FBakRULEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTVlSLENBQUM7RU5aRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWFSLENBQUM7RU5iRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWNSLENBQUM7RU5kRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWVSLENBQUM7RU5mRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWdCUixDQUFDO0VOaEJFLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JoQmdCLENBQUM7RWhCZ0J0QixVQUFLLEVNaUJSLENBQUM7RU5qQkUsT0FBSyxFZ0JkWSxJQUFJO0VoQmNyQixxQkFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQmhCZ0IsQ0FBQztFaEJnQnRCLFVBQUssRU1rQlIsQ0FBQztFTmxCRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTW1CUixDQUFDO0VObkJFLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JoQmdCLENBQUM7RWhCZ0J0QixVQUFLLEVNb0JQLEVBQUU7RU5wQkEsT0FBSyxFZ0JkWSxJQUFJO0VoQmNyQixxQkFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQmhCZ0IsQ0FBQztFaEJnQnRCLFVBQUssRU1xQlAsRUFBRTtFTnJCQSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTXNCUCxFQUFFO0VOdEJBLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JKZ0IsQ0FBQztFaEJJdEIsVUFBSyxFTVlSLENBQUM7RU5aRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1hUixDQUFDO0VOYkUsT0FBSyxFZ0JGWSxJQUFJO0VoQkVyQixrQkFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQkpnQixDQUFDO0VoQkl0QixVQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCRlksSUFBSTtFaEJFckIsa0JBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JKZ0IsQ0FBQztFaEJJdEIsVUFBSyxFTWVSLENBQUM7RU5mRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1nQlIsQ0FBQztFTmhCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1rQlIsQ0FBQztFTmxCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1tQlIsQ0FBQztFTm5CRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1xQlAsRUFBRTtFTnJCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1zQlAsRUFBRTtFTnRCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixNQS9CWCxDQStCZTtFQUtSLFNBQUssRU15QlIsUUFBMkI7RU56QnhCLFFBQUssRU15QlIsUUFBMkI7RU56QnhCLEdBQUssRU15QlIsUUFBMkIsR041Qm5COztBQWpDakIsQUErQmdCLE1BL0JYLENBK0JlO0VBS1IsU0FBSyxFTTBCUixPQUEyQjtFTjFCeEIsUUFBSyxFTTBCUixPQUEyQjtFTjFCeEIsR0FBSyxFTTBCUixPQUEyQixHTjdCbkI7O0FBakNqQixBQStCZ0IsTUEvQlgsQ0ErQmU7RUFLUixTQUFLLEVNMkJSLE1BQTJCO0VOM0J4QixRQUFLLEVNMkJSLE1BQTJCO0VOM0J4QixHQUFLLEVNMkJSLE1BQTJCLEdOOUJuQjs7QUFqQ2pCLEFBK0JnQixNQS9CWCxDQStCZTtFQUtSLFNBQUssRU00QlIsSUFBMkI7RU41QnhCLFFBQUssRU00QlIsSUFBMkI7RU41QnhCLEdBQUssRU00QlIsSUFBMkIsR04vQm5COztBQWpDakIsQUErQ1EsS0EvQ0gsQ0ErQ2M7RUFYUCxPQUFLLEVnQm9CUyxJQUFJLEdoQlByQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxjQUFLLEVnQndCVSxLQUFLLEdoQlh2Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxXQUFLLEVnQjhCVyxNQUFNLEdoQmpCekI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsV0FBSyxFZ0IrQlksT0FBTyxHaEJsQjNCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWdCbUNVLEtBQUssR2hCdEJ2Qjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxhQUFLLEVnQm9DUyxJQUFJLEdoQnZCckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0JxQ1UsS0FBSyxHaEJ4QnZCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLGFBQUssRWdCc0NRLEdBQUcsR2hCekJuQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVnQnVDYSxNQUFNLEdoQjFCM0I7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLGFBQUssRWdCd0NjLE9BQU8sR2hCM0I3Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVnQjRDUSxLQUFLLEdoQi9CckI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsV0FBSyxFZ0I2Q1csR0FBRyxHaEJoQ3RCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFdBQUssRWdCOENhLE1BQU0sR2hCakMzQjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxXQUFLLEVnQitDVyxNQUFNLEdoQmxDekI7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLFdBQUssRWdCZ0RjLE9BQU8sR2hCbkM3Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxXQUFLLEVnQmlEWSxPQUFPLEdoQnBDM0I7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0J1RFcsTUFBTSxHaEIxQ3pCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGFBQUssRWdCd0RZLE9BQU8sR2hCM0MzQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxhQUFLLEVnQnlEVyxZQUFZLEdoQjVDL0I7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsYUFBSyxFZ0IwRFksYUFBYSxHaEI3Q2pDOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWdCMkRXLFlBQVksR2hCOUMvQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxlQUFLLEVnQitEVSxLQUFLLEdoQmxEdkI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsZUFBSyxFZ0JnRVMsSUFBSSxHaEJuRHJCOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLGVBQUssRWdCaUVVLEtBQUssR2hCcER2Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxlQUFLLEVnQmtFUSxHQUFHLEdoQnJEbkI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsZUFBSyxFZ0JtRWEsTUFBTSxHaEJ0RDNCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGVBQUssRWdCb0VjLE9BQU8sR2hCdkQ3Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxlQUFLLEVnQnFFYSxZQUFZLEdoQnhEakM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsZUFBSyxFZ0JzRWMsYUFBYSxHaEJ6RG5DOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLGVBQUssRWdCdUVhLFlBQVksR2hCMURqQzs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxhQUFLLEVnQjJFUSxLQUFLLEdoQjlEckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0I0RVcsR0FBRyxHaEIvRHRCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLGFBQUssRWdCNkVhLE1BQU0sR2hCaEUzQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVnQjhFYyxPQUFPLEdoQmpFN0I7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsYUFBSyxFZ0IrRWEsWUFBWSxHaEJsRWpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGFBQUssRWdCZ0ZjLGFBQWEsR2hCbkVuQzs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxhQUFLLEVnQmlGYSxZQUFZLEdoQnBFakM7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsVUFBSyxFZ0J1RlcsTUFBTSxHaEIxRXpCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLFVBQUssRWdCd0ZZLE9BQU8sR2hCM0UzQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxZQUFLLEVnQjRGVSxLQUFLLEdoQi9FdkI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsWUFBSyxFZ0I2RlMsSUFBSSxHaEJoRnJCOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFlBQUssRWdCOEZVLEtBQUssR2hCakZ2Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxZQUFLLEVnQitGUSxHQUFHLEdoQmxGbkI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsWUFBSyxFZ0JnR2EsTUFBTSxHaEJuRjNCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFlBQUssRWdCaUdjLE9BQU8sR2hCcEY3Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVnQnFHUSxLQUFLLEdoQnhGckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsVUFBSyxFZ0JzR1csR0FBRyxHaEJ6RnRCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLFVBQUssRWdCdUdhLE1BQU0sR2hCMUYzQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxVQUFLLEVnQndHYyxPQUFPLEdoQjNGN0I7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1ZUixDQUFDLEdOQ0Q7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1hUixDQUFDLEdOQUQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1jUixDQUFDLEdOREQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1lUixDQUFDLEdORkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1nQlIsQ0FBQyxHTkhEOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGlCQUFLLEVNaUJSLENBQUMsR05KRDs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxpQkFBSyxFTWtCUixDQUFDLEdOTEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1tQlIsQ0FBQyxHTk5EOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLGlCQUFLLEVNb0JQLEVBQUUsR05QSDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxpQkFBSyxFTXFCUCxFQUFFLEdOUkg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsaUJBQUssRU1zQlAsRUFBRSxHTlRIOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRU1ZUixDQUFDLEdOQ0Q7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWFSLENBQUMsR05BRDs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxjQUFLLEVNY1IsQ0FBQyxHTkREOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRU1lUixDQUFDLEdORkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWdCUixDQUFDLEdOSEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWlCUixDQUFDLEdOSkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWtCUixDQUFDLEdOTEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTW1CUixDQUFDLEdOTkQ7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTW9CUCxFQUFFLEdOUEg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTXFCUCxFQUFFLEdOUkg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTXNCUCxFQUFFLEdOVEg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTStCVixTQUFXLENBQUMsQ0FBQyxHTmxCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNZ0NWLFNBQVcsQ0FBQyxDQUFDLEdObkJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU1pQ1YsU0FBVyxDQUFDLENBQUMsR05wQlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTWtDVixTQUFXLENBQUMsQ0FBQyxHTnJCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNbUNWLFNBQVcsQ0FBQyxDQUFDLEdOdEJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU1vQ1YsU0FBVyxDQUFDLENBQUMsR052Qlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTXFDVixTQUFXLENBQUMsQ0FBQyxHTnhCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNc0NWLFNBQVcsQ0FBQyxDQUFDLEdOekJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU11Q1YsU0FBVyxDQUFDLENBQUMsR04xQlg7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFTXdDVCxTQUFXLENBQUMsRUFBRSxHTjNCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxXQUFLLEVNeUNULFNBQVcsQ0FBQyxFQUFFLEdONUJiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFdBQUssRU0wQ1QsU0FBVyxDQUFDLEVBQUUsR043QmI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFTTJDVCxTQUFXLENBQUMsRUFBRSxHTjlCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxXQUFLLEVNNENULFNBQVcsQ0FBQyxFQUFFLEdOL0JiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFdBQUssRU02Q1QsU0FBVyxDQUFDLEVBQUUsR05oQ2I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTStCVixTQUFXLENBQUMsQ0FBQyxHTmxCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNZ0NWLFNBQVcsQ0FBQyxDQUFDLEdObkJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU1pQ1YsU0FBVyxDQUFDLENBQUMsR05wQlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTWtDVixTQUFXLENBQUMsQ0FBQyxHTnJCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNbUNWLFNBQVcsQ0FBQyxDQUFDLEdOdEJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU1vQ1YsU0FBVyxDQUFDLENBQUMsR052Qlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTXFDVixTQUFXLENBQUMsQ0FBQyxHTnhCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNc0NWLFNBQVcsQ0FBQyxDQUFDLEdOekJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU11Q1YsU0FBVyxDQUFDLENBQUMsR04xQlg7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsUUFBSyxFTXdDVCxTQUFXLENBQUMsRUFBRSxHTjNCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxRQUFLLEVNeUNULFNBQVcsQ0FBQyxFQUFFLEdONUJiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFFBQUssRU0wQ1QsU0FBVyxDQUFDLEVBQUUsR043QmI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsUUFBSyxFTTJDVCxTQUFXLENBQUMsRUFBRSxHTjlCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxRQUFLLEVNNENULFNBQVcsQ0FBQyxFQUFFLEdOL0JiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFFBQUssRU02Q1QsU0FBVyxDQUFDLEVBQUUsR05oQ2I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFZ0JnSlEsSUFBSSxHaEJuSXBCOztBQWpEVCxBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNWVIsQ0FBQztFTlpFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsMkNBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNYVIsQ0FBQztFTmJFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsNENBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0Isc0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNZVIsQ0FBQztFTmZFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsNkNBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNZ0JSLENBQUM7RU5oQkUsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQiw0Q0FBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCOEhTLENBQUM7RWhCOUhmLFdBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQmdJSSxJQUFJO0VoQmhJYixxQkFBSyxFZ0JpSWtCLHNEQUF5RyxHaEJwSTNIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0I4SFMsQ0FBQztFaEI5SGYsV0FBSyxFTWtCUixDQUFDO0VObEJFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsZ0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNbUJSLENBQUM7RU5uQkUsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQixzREFBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixhQS9CTCxDQStCUztFQUtSLFVBQUssRWdCOEhTLENBQUM7RWhCOUhmLFdBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQmdJSSxJQUFJO0VoQmhJYixxQkFBSyxFZ0JpSWtCLDZDQUF5RyxHaEJwSTNIOztBQWpDakIsQUErQmdCLGFBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0I4SFMsQ0FBQztFaEI5SGYsV0FBSyxFTXFCUCxFQUFFO0VOckJBLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0Isc0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsYUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNc0JQLEVBQUU7RU50QkEsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQixzREFBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1ZUixDQUFDO0VOWkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLDJDQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTWFSLENBQUM7RU5iRSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsNENBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1lUixDQUFDO0VOZkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLDZDQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTWdCUixDQUFDO0VOaEJFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSw0Q0FBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsc0RBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNa0JSLENBQUM7RU5sQkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLGdEQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTW1CUixDQUFDO0VObkJFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixhQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsNkNBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsYUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNcUJQLEVBQUU7RU5yQkEsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLHNEQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLGFBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTXNCUCxFQUFFO0VOdEJBLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxpQkFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVDc0RPLGlCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sdUJBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sdUJBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyx1QkFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLHVCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsVUEvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixVQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFVBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsVUEvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CUCxDQStCVztFQUtSLFNBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsU0FBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQlAsQ0ErQlc7RUFLUixTQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CUCxDQStCVztFQUtSLFNBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxTQUFLLEVpQkpVLGNBQXlCLEdqQmlCM0M7O0FBakRULEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sU0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxTQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFlBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxZQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLFlBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZ0JBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sWUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxZQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxnQkFBSyxFaUJnRFcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQm5DbEM7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsZ0JBQUssRWlCaURRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHakJwQzVCOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxnQkFBSyxFaUJrRFcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQnJDbEM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsZ0JBQUssRWlCbURTLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHakJ0QzlCOztBQWpEVCxBQStDUSxnQkEvQ1EsQ0ErQ0c7RUFYUCxnQkFBSyxFaUJvRFUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQnZDaEM7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsZ0JBQUssRWlCcURPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHakJ4QzFCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGdCQUFLLEVpQnNETyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR2pCekN6Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxnQkFBSyxFaUJ1RE8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQjFDN0I7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsZ0JBQUssRWlCd0RPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHakIzQzVCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLFVBQUssRWtCMUJZLE9BQU8sR2xCdUMzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxVQUFLLEVrQnpCYyxNQUFNLEdsQnNDNUI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JyQlEsQ0FBSSxHbEJrQ3BCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLE9BQUssRWtCcEJRLElBQUksR2xCaUNwQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxPQUFLLEVrQm5CUSxHQUFJLEdsQmdDcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JsQlEsSUFBSSxHbEIrQnBCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLE9BQUssRWtCakJRLEdBQUksR2xCOEJwQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxPQUFLLEVrQmhCUSxJQUFJLEdsQjZCcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JmUSxHQUFJLEdsQjRCcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JkUSxJQUFJLEdsQjJCcEI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsT0FBSyxFa0JiUyxDQUFJLEdsQjBCckI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JUUSxDQUFDLEdsQnNCakI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JSUSxHQUFHLEdsQnFCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JQUSxHQUFHLEdsQm9CbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JOUSxHQUFHLEdsQm1CbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JMUSxHQUFHLEdsQmtCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JKUSxHQUFHLEdsQmlCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JIUSxHQUFHLEdsQmdCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JGUSxHQUFHLEdsQmVuQjs7QUFqRFQsQUErQ1EsSUEvQ0osQ0ErQ2U7RUFYUCxPQUFLLEVrQkRRLEdBQUcsR2xCY25COztBQWpEVCxBQStDUSxJQS9DSixDQStDZTtFQVhQLE9BQUssRWtCQVEsR0FBRyxHbEJhbkI7O0FBakRULEFBK0NRLEtBL0NILENBK0NjO0VBWFAsT0FBSyxFa0JDUyxJQUFJLEdsQllyQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxPQUFLLEVrQlNRLElBQUksR2xCSXBCOztDQWpEVCxBQUFBLEFBK0NRLE1BL0NQLEFBQUEsRUErQ2tCO0VBWFAsT0FBSyxFa0JZUSxJQUFJLEdsQkNwQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0FBQyxLQUFLLENBK0NJO0VBWFAsS0FBSyxFa0JlTSxJQUFJO0VsQmZmLE9BQUssRWtCZ0JRLEdBQUc7RWxCaEJoQixPQUFLLEVrQmlCUSxLQUFLLEdsQkpyQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxxQkFBSyxFbUJkVSxLQUFLLEduQjJCdkI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAscUJBQUssRW1CYlUsS0FBSyxHbkIwQnZCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLHFCQUFLLEVtQlpXLE1BQU0sR25CeUJ6Qjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxxQkFBSyxFbUJSUyxJQUFJLEduQnFCckI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAscUJBQUssRW1CUFUsS0FBSyxHbkJvQnZCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLHFCQUFLLEVtQk5hLE1BQU0sR25CbUIzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxxQkFBSyxFbUJGVyxNQUFNLEduQmV6Qjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxxQkFBSyxFbUJETyxHQUFHLEduQmNsQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxxQkFBSyxFbUJBYSxNQUFNLEduQmEzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxpQkFBSyxFbUJJVyxNQUFNLEduQlN6Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxpQkFBSyxFbUJLYyxTQUFTLEduQlEvQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxpQkFBSyxFbUJNYSxRQUFRLEduQk83Qjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxpQkFBSyxFbUJPYSxRQUFRLEduQk03Qjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxlQUFLLEVtQldTLElBQUksR25CRXJCOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGVBQUssRW1CWVUsS0FBSyxHbkJDdkI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsZUFBSyxFbUJhWSxPQUFPLEduQkEzQjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEJiSCxPQUFPLEdrQjBCWjs7QUFqRFQsQUErQ1EsZ0JBL0NRLENBK0NHO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCNUJGLE9BQU8sR2tCeUNiOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLEtBQUssRWxCVkgsS0FBSztFa0JVUCxnQkFBSyxFbEI3QkgsT0FBTyxHa0IwQ1o7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRUpWSCxPQUFPLEdJdUJaOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVKZEwsT0FBTyxHSTJCVjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFSlpGLE9BQU8sR0l5QmI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCVkgsS0FBSyxHa0J1QlY7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCYkgsT0FBTyxHa0IwQlo7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsS0FBSyxFbEJWSCxLQUFLO0VrQlVQLGdCQUFLLEVsQjdCSCxPQUFPLEdrQjBDWjs7QUFqRFQsQUErQ1Esb0JBL0NZLENBK0NEO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCbEJTLE9BQU8sR2tCK0J4Qjs7QUFqRFQsQUErQ1Esa0JBL0NVLENBK0NDO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCbkJPLE9BQU8sR2tCZ0N0Qjs7QUFqRFQsQUErQ1EsaUJBL0NTLENBK0NFO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLG1CQS9DVyxDQStDQTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVsQjVCRixPQUFPLEdrQnlDYjs7QUFqRFQsQUErQ1EscUJBL0NhLENBK0NGO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCNUJGLE9BQU8sR2tCeUNiOztBQWpEVCxBQStDUSxtQkEvQ1csQ0ErQ0E7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEI1QkYsT0FBTyxHa0J5Q2I7O0FBakRULEFBK0NRLGtCQS9DVSxDQStDQztFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxvQkEvQ1ksQ0ErQ0Q7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxnQkFBSyxFbEJiSCxPQUFPLEdrQjBCWjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxnQkFBSyxFbEI1QkYsT0FBTyxHa0J5Q2I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsZ0JBQUssRWxCN0JILE9BQU8sR2tCMENaOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGdCQUFLLEVKVkgsT0FBTyxHSXVCWjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxnQkFBSyxFSmRMLE9BQU8sR0kyQlY7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsZ0JBQUssRUpaRixPQUFPLEdJeUJiOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGdCQUFLLEVsQlZILEtBQUssR2tCdUJWOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGdCQUFLLEVsQmJILE9BQU8sR2tCMEJaOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGdCQUFLLEVsQjdCSCxPQUFPLEdrQjBDWjs7QUFqRFQsQUErQ1EsaUJBL0NTLENBK0NFO0VBWFAsZ0JBQUssRWxCbEJTLE9BQU8sR2tCK0J4Qjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxnQkFBSyxFbEJuQk8sT0FBTyxHa0JnQ3RCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLGdCQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxnQkEvQ1EsQ0ErQ0c7RUFYUCxnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxnQkFBSyxFbEI1QkYsT0FBTyxHa0J5Q2I7O0FBakRULEFBK0NRLGtCQS9DVSxDQStDQztFQVhQLGdCQUFLLEVsQjVCRixPQUFPLEdrQnlDYjs7QUFqRFQsQUErQ1EsZ0JBL0NRLENBK0NHO0VBWFAsZ0JBQUssRWxCNUJGLE9BQU8sR2tCeUNiOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGdCQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxLQUFLLEVsQmJILE9BQU8sR2tCMEJaOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLEtBQUssRWxCNUJGLE9BQU8sR2tCeUNiOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLEtBQUssRWxCN0JILE9BQU8sR2tCMENaOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLEtBQUssRUpWSCxPQUFPLEdJdUJaOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLEtBQUssRUpkTCxPQUFPLEdJMkJWOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLEtBQUssRUpaRixPQUFPLEdJeUJiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLEtBQUssRWxCVkgsS0FBSyxHa0J1QlY7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsS0FBSyxFbEJiSCxPQUFPLEdrQjBCWjs7QUFqRFQsQUErQ1EsV0EvQ0csRThCaVJYLFVBQVUsQ0FHTixFQUFFLENBSUUsRUFBRSxFQWhCVixZQUFZLENBQ1IsRUFBRSxDOUIxTmE7RUFYUCxLQUFLLEVsQjdCSCxPQUFPLEdrQjBDWjs7QUFqRFQsQUErQ1EsbUJBL0NXLENBK0NBO0VBWFAsS0FBSyxFbEJsQlMsT0FBTyxHa0IrQnhCOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxLQUFLLEVsQm5CTyxPQUFPLEdrQmdDdEI7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLEtBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLGtCQS9DVSxDQStDQztFQVhQLEtBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLFlBL0NJLEVxQ0FaLFNBQVMsQ0EwRkwsZ0JBQVEsRUpuRVoscUJBQXFCLENBd0JqQixFQUFFLEVIRk4sZUFBSyxFQWVLLEFBQUEsV0FBQyxBQUFBLEdBMUNYLE1BQU0sRUFJTixnQkFBZ0IsQ0FFWixFQUFFLEVBRk4sZ0JBQWdCLENBRVIsRUFBRSxFQUZWLGdCQUFnQixDQUVKLEVBQUUsRUFGZCxnQkFBZ0IsQ0FFQSxFQUFFLEVBRmxCLGdCQUFnQixDQUVJLEVBQUUsRUFGdEIsZ0JBQWdCLENBRVEsRUFBRSxFQUYxQixnQkFBZ0IsQ0FFWSxHQUFHLEVBRi9CLGdCQUFnQixDQUVpQixHQUFHLEVBRnBDLGdCQUFnQixDQUVzQixHQUFHLEVBRnpDLGdCQUFnQixDQUUyQixHQUFHLEVBRjlDLGdCQUFnQixDQUVnQyxHQUFHLEVBRm5ELGdCQUFnQixDQUVxQyxHQUFHLEM5QnVCckM7RUFYUCxLQUFLLEVsQjVCRixPQUFPLEdrQnlDYjs7QUFqRFQsQUErQ1Esb0JBL0NZLENBK0NEO0VBWFAsS0FBSyxFbEI1QkYsT0FBTyxHa0J5Q2I7O0FBakRULEFBK0NRLGtCQS9DVSxDQStDQztFQVhQLEtBQUssRWxCNUJGLE9BQU8sR2tCeUNiOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxLQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxtQkEvQ1csQ0ErQ0E7RUFYUCxLQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLE1BQUssRW1COERTLElBQUksR25CakRyQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxNQUFLLEVtQitEWSxPQUFPLEduQmxEM0I7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsTUFBSyxFbUJnRVksT0FBTyxHbkJuRDNCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLE1BQUssRW1CaUVTLElBQUksR25CcERyQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxNQUFLLEVtQmtFUyxJQUFJLEduQnJEckI7O0FBakRULEFBK0NRLG1CQS9DVyxDQStDQTtFQVhQLE1BQUssRW1CbUVnQixXQUFXLEduQnREbkM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsY0FBSyxFbUJ1RW1CLElBQUksR25CMUQvQjs7QUFqRFQsQUErQ1Esa0JBL0NVLENBK0NDO0VBWFAsY0FBSyxFbUJ3RXNCLElBQUksR25CM0RsQzs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxXQUFLLEVtQjRFVyxJQUFJLEduQi9EdkI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFbUI2RWMsSUFBSSxHbkJoRTFCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLFVBQUssRW1CNkdZLE9BQU8sR25CaEczQjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxVQUFLLEVtQjhHYSxRQUFRLEduQmpHN0I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsVUFBSyxFbUIrR1MsSUFBSSxHbkJsR3JCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFVBQUssRW1CZ0hXLE1BQU0sR25Cbkd6Qjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxVQUFLLEVtQmlIVSxLQUFLLEduQnBHdkI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFbUI2SFEsaUVBQTRFLEduQmhINUY7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFbUI4SFEsZ0VBQTJFLEduQmpIM0Y7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFbUIrSFEsaUVBQTRFLEduQmxINUY7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFbUJnSVEsbUVBQThFLEduQm5IOUY7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsVUFBSyxFbUJ1SVcscUNBQWdELEduQjFIbkU7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsVUFBSyxFbUIwSVcsSUFBSSxHbkI3SHZCOztBMkIvQ1QsQUFBQSxFQUFFO0FBQ0YsRUFBRSxDQUFDO0VBQ0MsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDQyxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNDLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsS0FBSyxHQUFHLEtBQUssR0FBRyxFQUFFO0FBQ2xCLEtBQUssR0FBRyxRQUFRLEdBQUcsRUFBRTtBQUNyQixLQUFLLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztFQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLEtBQUssRUFRTCxXQUFXLENBUkw7RUFDRixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLGVBQWUsRUFBRSxNQUFNLEdBQzFCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBRVIsU0FBUyxFQUFFLElBQUksR0FDbEI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxHQUFHLEVBQUUsSUFBSSxHQUNaOztBQUNELEFBQUEsS0FBSyxFRzJPTCxVQUFVLENIM09KO0VBQ0YsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsd0JBQXdCLEdBQzVDOztBQUNELEFBQUEsV0FBVyxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLFlBQVksQ0FBQztFQUNULEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsV0FBVyxHQUN2Qjs7QUFDRCxBQUFBLGFBQWEsQ0FBQztFQUNWLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ1osZUFBZSxFQUFFLE1BQU0sR0FDMUI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFHRyxNQUFNLG1DQURWO0VBQUEsQUFBQSxXQUFXLENBQUM7SUFFSixXQUFXLEVBQUUsZ0JBQWdCLEdBRXBDLEVBQUE7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsYUFBYSxFQUFFLElBQUksR0FDdEI7O0FBRUQsQUFBQSxLQUFLLEdBQUcsU0FBUztBQUNqQixRQUFRLEdBQUcsU0FBUztBQUNwQixNQUFNLEdBQUcsU0FBUztBQUNsQixLQUFLLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDdEIsUUFBUSxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3pCLE1BQU0sR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0VBRXBCLFVBQVUsRUFBRSxTQUEyQyxDQUFDLFVBQVU7RUFDbEUsYUFBYSxFcEJ2RUQsTUFBeUI7RW9Cd0VyQyxXQUFXLEVwQnhFQyxPQUF5QixHb0J5RXhDOztBQUVELEFBQUEsU0FBUyxDQUFDO0VBQ04sU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEU3QzdCc0IsT0FBTyxHNkNtQ3JDO0VBVEQsQUFJSSxnQkFKSyxDQUlJO0lBQ0wsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLEdBQUc7SUFDZCxNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUdMLEFBQUEsS0FBSyxHQUFHLEVBQUUsQUFBQSxVQUFVLENBQUM7RUFDakIsVUFBVSxFcEJ2RkUsUUFBeUI7RW9Cd0ZyQyxhQUFhLEVBQUUsQ0FBQyxHQUtuQjtFQVBELEFBSUksS0FKQyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBSVosRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUdMLEFBQUEsRUFBRSxBQUFBLFVBQVUsQ0FBQztFQUNULEtBQUssRS9CdkZHLE9BQU87RStCd0ZmLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRXBCcEdNLFFBQXlCO0VvQnFHckMsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFDSSxlQURFLENBQ1M7RUFDUCxNQUFNLEVBQUUsS0FBSztFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGFBQWEsRUFBRSxTQUFTO0VBQ3hCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLEtBQUssRTdDL0RrQixPQUFPLEc2Q2dFakM7O0FBUkwsQUFTSSxnQkFURSxDQVNVO0VBQ1IsU0FBUyxFQUFFLE1BQU0sR0FLcEI7RUFmTCxBQVlRLGdCQVpGLENBWUUsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLFFBQVEsR0FDMUI7O0FBZFQsQUFnQkksTUFoQkUsQ0FnQkYsS0FBSyxDQUFDO0VBQ0YsY0FBYyxFQUFFLEtBQUs7RUFDckIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLFFBQVE7RUFDbkIsS0FBSyxFN0NqR1csT0FBTyxHNkNrRzFCOztBQUdMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUksR0FpRWY7RUFuRUQsQUFJSSxjQUpVLENBSVYsSUFBSSxDQUFDO0lBQ0QsYUFBYSxFQUFFLGdCQUFnQixHQUNsQztFQU5MLEFBUUkscUJBUlUsQ0FRRDtJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUFmTCxBQWlCSSxxQkFqQlUsQ0FpQkQ7SUFDTCxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxNQUFNLEdBQ2pCO0VBcEJMLEFBc0JJLDZCQXRCVSxDQXNCTztJQUNiLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLE1BQU0sRUFBRSxnQkFBZ0IsR0FLM0I7SUFIRyxNQUFNLG1CQVBWO01BdEJKLEFBc0JJLDZCQXRCVSxDQXNCTztRQVFULGFBQWEsRUFBRSxpQkFBaUIsR0FFdkMsRUFBQTtFQWhDTCxBQWtDSSxxQkFsQ1UsQ0FrQ0Q7SUFDTCxTQUFTLEVBQUUsSUFBSTtJQUNmLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTdDM0lXLE9BQU8sRzZDNEkxQjtFQXZDTCxBQXlDSSw2QkF6Q1UsQ0F5Q087SUFDYixhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQTNDTCxBQTZDSSx1QkE3Q1UsQ0E2Q0M7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRUFBRSxLQUFLO0lBQ1osVUFBVSxFQUFFLE1BQU0sR0FVckI7SUFSRyxNQUFNLG1CQU5WO01BN0NKLEFBNkNJLHVCQTdDVSxDQTZDQztRQU9ILGNBQWMsRUFBRSxjQUFjO1FBQzlCLFdBQVcsRUFBRSxNQUFNLEdBTTFCO1FBM0RMLEFBdURZLHVCQXZERSxDQXVERiwwQkFBMEIsQ0FBQztVQUN2QixLQUFLLEVBQUUsT0FBTyxHQUNqQixFQUVSO0VBQ0QsTUFBTSxtQkE1RFY7SUFBQSxBQUFBLGNBQWMsQ0FBQztNQTZEUCxTQUFTLEVBQUUsZ0JBQWdCLEdBTWxDO01BbkVELEFBOERRLGNBOURNLENBOEROLEtBQUssQ0FBQztRQUNGLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGdCQUFnQixHQUM5QixFQUVSO0FBRUQsQUFHUSxxQkFITSxDQUdOLEtBQUs7QUFGYixrQkFBVyxDQUVILEtBQUssQ0FBQztFQUNGLGFBQWEsRUFBRSxtQkFBbUI7RUFDbEMsZ0JBQWdCLEU3Q3ZKZSxTQUFTO0U2Q3dKeEMsYUFBYSxFQUFFLFNBQVMsR0FDM0I7O0FBSVQsQUFDSSxpQkFETyxDQUNDO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixhQUFhLEVBQUUsU0FBUyxHQUMzQjs7QUFMTCxBQU9JLGtCQVBPLENBT0U7RUFDTCxjQUFjLEVBQUUsT0FBTyxHQUMxQjs7QUFUTCxBQVdJLDZCQVhPLENBV2E7RUFDaEIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDOztBQWhCTCxBQWtCSSwwQkFsQk8sQ0FrQlU7RUFDYixLQUFLLEVBQUUsVUFBVTtFQUNqQixNQUFNLEVBQUUsb0JBQW9CO0VBQzVCLGFBQWEsRUFBRSxnQkFBZ0I7RUFDL0IsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjs7QUF2QkwsQUF5QkksMkJBekJPLENBeUJXO0VBQ2QsS0FBSyxFN0NoUEUsT0FBTztFNkNpUGQsV0FBVyxFQUFFLHVCQUF1QixHQUN2Qzs7QUE1QkwsQUE2QkksMkJBN0JPLENBNkJXLEtBQUssQ0FBQztFQUNwQixLQUFLLEU3Q3BQRSxPQUFPLEM2Q29QTyxVQUFVLEdBQ2xDOztBQS9CTCxBQWlDSSwwQkFqQ08sQ0FpQ1U7RUFDYixLQUFLLEVBQUUsT0FBTztFQUNkLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3Q3RLTCxPQUFPO0U2Q3VLbkIsYUFBYSxFQUFFLFNBQVM7RUFDeEIsVUFBVSxFQUFFLGdCQUFnQjtFQUM1QixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdBNEJ0QjtFQXJFTCxBQTJDUSwwQkEzQ0csQ0EyQ0gsSUFBSSxDQUFDO0lBQ0QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFN0MzS0csT0FBTyxHNkMrS2xCO0lBakRULEFBOENZLDBCQTlDRCxDQTJDSCxJQUFJLENBR0EsSUFBSSxDQUFDO01BQ0QsY0FBYyxFQUFFLFVBQVUsR0FDN0I7RUFoRGIsQUFrRFEsMEJBbERHLENBa0RILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsd0dBTVAsQ0FDRCxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7SUFDMUMsdUJBQXVCLEVBQUUsZUFBZTtJQUN4QyxlQUFlLEVBQUUsZUFBZTtJQUNoQyxLQUFLLEVBQUUsc0JBQXNCO0lBQzdCLHVCQUF1QixFQUFFLHNCQUFzQjtJQUMvQyxTQUFTLEVBQUUsZUFBZSxHQUM3QjtFQWhFVCxBQWtFUSxtQ0FsRUcsQ0FrRVE7SUFDUCxPQUFPLEVBQUUsUUFBUSxHQUNwQjs7QUFJVCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsUUFBUSxHQXVDcEI7RUE3Q0QsQUFRSSx5QkFSaUIsQ0FRWDtJQUNGLE1BQU0sRUFBRSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLEdBQUcsR0FDYjtFQVhMLEFBYUkscUJBYmlCLENBYWpCLEdBQUcsQ0FBQztJQUNBLEtBQUssRUFBRSxTQUFTO0lBQ2hCLE1BQU0sRUFBRSxTQUFTLEdBQ3BCO0VBaEJMLEFBa0JJLDZCQWxCaUIsQ0FrQlA7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxNQUFNLEdBdUJ0QjtJQTVDTCxBQXVCUSw2QkF2QmEsQ0F1QmIsSUFBSSxDQUFDO01BQ0QsS0FBSyxFN0NyUk8sT0FBTztNNkNzUm5CLFdBQVcsRUFBRSx1QkFBdUI7TUFDcEMsYUFBYSxFQUFFLE9BQU8sR0FDekI7SUEzQlQsQUE2QlEsNkJBN0JhLENBNkJiLENBQUMsQ0FBQztNQUNFLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDN0MzUlYsT0FBTztNNkM0Um5CLGdCQUFnQixFQUFFLEtBQUs7TUFDdkIsS0FBSyxFN0M3Uk8sT0FBTztNNkM4Um5CLE1BQU0sRUFBRSxTQUFTO01BQ2pCLFdBQVcsRUFBRSxTQUFTO01BQ3RCLEtBQUssRUFBRSxLQUFLO01BQ1osYUFBYSxFQUFFLFNBQVM7TUFDeEIsYUFBYSxFQUFFLEtBQUssR0FDdkI7SUF0Q1QsQUF3Q1EsNkJBeENhLENBd0NiLENBQUMsQ0FBQyxLQUFLLENBQUM7TUFDSixnQkFBZ0IsRUFBRSxnQkFBZ0I7TUFDbEMsS0FBSyxFN0N2U08sT0FBTyxDNkN1U1csVUFBVSxHQUMzQzs7QUFLVCxBQUFBLE1BQU0sRU0vVE4scUJBQXFCLENBaURqQixRQUFRLEVBQUUsV0FBVyxFTkl6QixLQUFLLEdBQUcsU0FBUztBQUNqQixRQUFRLEdBQUcsU0FBUztBQUNwQixNQUFNLEdBQUcsU0FBUztBQUNsQixLQUFLLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDdEIsUUFBUSxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3pCLE1BQU0sR0FBRyxFQUFFLEdBQUcsU0FBUztBQXNRdkIsUUFBUTtBQUNSLEtBQUs7QUFDTCxLQUFLLENBQUM7RUFDRixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLFdBQVcsRUFBRSxnQkFBZ0IsR0FDaEM7O0FBQ0QsQUFBQSxLQUFLLENBQUEsR0FBSyxDQUFBLE9BQU8sRUFBRTtFQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDN0N2VlAsT0FBTztFNkN3VmpCLGFBQWEsRUFBRSxTQUFTLEdBQzNCOztBQUNELEFBQUEsTUFBTSxFTTFVTixxQkFBcUIsQ0FpRGpCLFFBQVEsRUFBRSxXQUFXLEVOSXpCLEtBQUssR0FBRyxTQUFTO0FBQ2pCLFFBQVEsR0FBRyxTQUFTO0FBQ3BCLE1BQU0sR0FBRyxTQUFTO0FBQ2xCLEtBQUssR0FBRyxFQUFFLEdBQUcsU0FBUztBQUN0QixRQUFRLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDekIsTUFBTSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBZ1JoQjtFQUNILE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsVUFBVSxFQUFFLGdCQUFnQixHQUMvQjs7QUFFRCxBQUFBLGFBQWEsRWMvVmIsTUFBTSxDZCtWUTtFQUNWLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLGdCQUd4RDtFQUNMLE9BQU8sRUFBRSxJQUFJLEdBbUJoQjtFQXhCRCxBQU9JLGFBUFMsR0FPTCxDQUFDLEVjdFdULE1BQU0sR2RzV0UsQ0FBQyxDQUFDO0lBQ0YsV0FBVyxFQUFFLENBQUMsR0FDakI7RUFUTCxBQVdJLHNCQVhTLEVjL1ZiLE1BQU0sQ2QwV1M7SUFDUCxPQUFPLEVBQUUsVUFBVSxHQUN0QjtFQUNELE1BQU0sbUNBQ0Y7SUFmUixBQWVRLGFBZkssRWMvVmIsTUFBTSxDZDhXSTtNQUNFLHFCQUFxQixFQUFFLFVBQVU7TUFDakMsa0JBQWtCLEVBQUUsU0FBUyxHQUNoQztJQWxCVCxBQW9CUSxzQkFwQkssRWMvVmIsTUFBTSxDZG1YYTtNQUNQLE9BQU8sRUFBRSxVQUFVLEdBQ3RCLEVBSkE7QUFRVCxBQUFBLGFBQWEsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ0osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDN0MvWE4sT0FBTztFNkNnWWxCLG1CQUFtQixFQUFFLFdBQVc7RUFDaEMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsVUFBVTtFQUN0QixTQUFTLEVBQUUsMkJBQTJCO0VBQ3RDLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0YsT0FBTyxFQUFFLGVBQWU7RUFDeEIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFFRCxBQUFBLGFBQWEsQ0FBQyxPQUFPLENBQUM7RUFDbEIsT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FBQ0QsQUFBQSxhQUFhLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQUVELFVBQVUsQ0FBVixRQUFVO0VBQ04sRUFBRTtJQUNFLFNBQVMsRUFBRSxZQUFZO0VBRTNCLElBQUk7SUFDQSxTQUFTLEVBQUUsY0FBYzs7QUFJakMsTUFBTSxtQkFFRTtFQURKLEFBQ0ksZUFERSxDQUNTO0lBQ1AsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUFITCxBQU1RLGdCQU5GLENBTUUsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLFFBQVEsR0FDMUI7RUFJVCxBQUNJLHFCQURVLENBQ0Q7SUFDTCxXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVBQUUsQ0FBQyxHQUtoQjtJQVZMLEFBT1EscUJBUE0sQ0FPTixFQUFFLENBQUM7TUFDQyxNQUFNLEVBQUUsbUJBQW1CLEdBQzlCO0VBVFQsQUFZSSxxQkFaVSxDQVlEO0lBQ0wsS0FBSyxFQUFFLFVBQVU7SUFDakIsTUFBTSxFQUFFLE9BQU87SUFDZixhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQUdMLEFBQUEscUJBQXFCLENBQUM7SUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FZekI7SUFiRCxBQUdJLHlCQUhpQixDQUdYO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsUUFBUSxHQUNwQjtJQU5MLEFBU1EsNkJBVGEsQ0FTYixJQUFJLENBQUM7TUFDRCxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQUlULEFBQ0ksa0JBRE8sQ0FDRSxZQUFZLENBQUM7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FDdEI7RUFITCxBQUtJLDZCQUxPLENBS2E7SUFDaEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsT0FBTyxFQUFFLE9BQU87SUFDaEIsYUFBYSxFQUFFLEtBQUssR0FDdkI7RUFUTCxBQVdJLGtCQVhPLENBV0U7SUFDTCxVQUFVLEVBQUUsaUJBQWlCLEdBQ2hDO0VBYkwsQUFlSSwwQkFmTyxDQWVVO0lBQ2IsS0FBSyxFQUFFLElBQUksR0FDZDtFQWpCTCxBQW1CSSwyQkFuQk8sQ0FtQlc7SUFDZCxhQUFhLEVBQUUsU0FBUyxHQUMzQjtFQXJCTCxBQXVCSSwwQkF2Qk8sQ0F1QlU7SUFDYixhQUFhLEVBQUUsaUJBQWlCLEdBQ25DLEVBcEVBOztBQXdFVCxNQUFNLDBDQUVFO0VBREosQUFDSSxlQURFLENBQ1M7SUFDUCxNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQUhMLEFBTVEsZ0JBTkYsQ0FNRSxLQUFLLENBQUM7SUFDRixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQUdULEFBQ0kscUJBRFUsQ0FDRDtJQUNMLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxDQUFDLEdBS2hCO0lBVkwsQUFPUSxxQkFQTSxDQU9OLEVBQUUsQ0FBQztNQUNDLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUI7RUFUVCxBQVdJLHFCQVhVLENBV0Q7SUFDTCxLQUFLLEVBQUUsVUFBVTtJQUNqQixNQUFNLEVBQUUsT0FBTztJQUNmLGFBQWEsRUFBRSxPQUFPLEdBQ3pCO0VBZkwsQUFrQlEsNkJBbEJNLENBa0JOLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxRQUFRLEdBQzFCO0VBcEJULEFBdUJJLHVCQXZCVSxDQXVCQztJQUNQLGNBQWMsRUFBRSxjQUFjO0lBQzlCLFdBQVcsRUFBRSxNQUFNLEdBS3RCO0lBOUJMLEFBMkJRLHVCQTNCTSxDQTJCTiwwQkFBMEIsQ0FBQztNQUN2QixLQUFLLEVBQUUsT0FBTyxHQUNqQjtFQTdCVCxBQWdDSSw2QkFoQ1UsQ0FnQ087SUFDYixhQUFhLEVBQUUsaUJBQWlCLEdBQ25DO0VBR0wsQUFBQSxxQkFBcUIsQ0FBQztJQUNsQixjQUFjLEVBQUUsTUFBTSxHQVl6QjtJQWJELEFBR0kseUJBSGlCLENBR1g7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0lBTkwsQUFTUSw2QkFUYSxDQVNiLElBQUksQ0FBQztNQUNELFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBSVQsQUFDSSxrQkFETyxDQUNFLFlBQVksQ0FBQztJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQUhMLEFBS0ksNkJBTE8sQ0FLYTtJQUNoQixjQUFjLEVBQUUsTUFBTTtJQUN0QixPQUFPLEVBQUUsT0FBTztJQUNoQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtFQVRMLEFBV0ksa0JBWE8sQ0FXRTtJQUNMLFVBQVUsRUFBRSxpQkFBaUIsR0FDaEM7RUFiTCxBQWVJLDBCQWZPLENBZVU7SUFDYixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBakJMLEFBbUJJLDJCQW5CTyxDQW1CVztJQUNkLGFBQWEsRUFBRSxTQUFTLEdBQzNCO0VBckJMLEFBdUJJLDBCQXZCTyxDQXVCVTtJQUNiLGFBQWEsRUFBRSxpQkFBaUIsR0FDbkMsRUFyRkE7O0FFaGZULEFBQUEsSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTSxHQUN6Qjs7QUFLRCxBQUFBLGVBQWUsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLGVBQWU7RUFDM0IsTUFBTSxFQUFFLGNBQWMsR0FLekI7RUFSRCxBQUtJLCtCQUxXLENBS087SUFDZCxNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCOztBQUdMLEFBQUEsWUFBWSxDQUFDO0U3QlFELFdBQUssRWUrRVcsTUFBTTtFZi9FdEIsT0FBSyxFZUtRLElBQUk7RWZMakIsU0FBSyxFZU1VLEdBQUc7RWZObEIsZUFBSyxFZU9nQixhQUFhO0VmUGxDLFVBQUssRVd3Q1csTUFBTTtFWHhDdEIsUUFBSyxFYWlFVyxNQUFNO0ViakV0QixHQUFLLEVhd0JJLENBQUM7RWJ4QlYsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCVkgsS0FBSztFK0NNZixPQUFPLEVBQUUsSUFBSTtFQW1CYixVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtFQUMzQyxNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEtBQUssRUFBRSxFQUFFO0VBQ1QsS0FBSyxFQUFFLElBQUksR0FjZDtFQXpDRCxBN0JHZ0IsWTZCSEosRzdCNUJWLENBQUMsQ0ErQmlCO0lBS1IsU0FBSyxFZVNjLENBQUMsR2ZaZjtFNkJMakIsQUFNSSxZQU5RLEdBTU4sQ0FBQyxDQUFDO0k3QkVJLFlBQUssRU1KYyxRQUF5QjtJTkk1QyxhQUFLLEVNSmMsUUFBeUI7SXVCSWhELE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFWTCxBQVdJLFlBWFEsR0FXTixDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBRW5CLEtBQUssRS9DcEJDLE9BQU87SStDcUJiLE1BQU0sRXRCL0JFLElBQXlCLEdzQm9DcEM7SUFyQkwsQUFrQlEsWUFsQkksR0FXTixDQUFDLENBT0MsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFL0N2Q0YsT0FBTyxHK0N3Q2I7RUFwQlQsQUE2Qkksa0JBN0JRLENBNkJBLEdBQUcsQ0FBQztJQUNSLE1BQU0sRUFBRSxNQUF3QjtJQUNoQyxRQUFRLEVBQUUsUUFBUSxHQUNyQjtFQWhDTCxBQWtDSSxvQkFsQ1EsRUl5WFosNEJBQVksQ0E4R1MsR0FBRyxDSnJjVjtJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQXhETCxHQUFHO0lBeURYLEtBQUssRUExREcsSUFBSTtJQTJEWixNQUFNLEVBM0RFLElBQUk7SUE0RFosVUFBVSxFQUFFLEtBQUssR0FDcEI7O0E3QjFERyxNQUFNLDhCNkIrRFY7RUFBQSxBQUFBLG9CQUFvQixDQUFDO0lBQ2pCLFNBQVMsRUFBRSxlQUFlO0lBQzFCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU07SUFDbEIsTUFBTSxFQUFFLE1BQU07SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBRUQsQUFBQSxhQUFhLENBQUM7SUFDVixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQUVELEFBQUEsWUFBWSxDQUFDO0lBQ1QsV0FBVyxFQUFFLE1BQU07SUFDbkIsR0FBRyxFQUFFLENBQUMsR0FPVCxFQWZBO0U3QnRFRyxNQUFNLHFENkJpRkY7SUFMUixBQUtRLFlBTEksR0FLRixDQUFDLENBQUM7TUFDQSxPQUFPLEVBQUUsQ0FBQyxDdEIvRVYsT0FBeUIsR3NCZ0Y1QixFQUFBO0E3Qm5GTCxNQUFNLDhCNkJzRlY7RUFBQSxBQUFBLFlBQVksQ0FBQztJQUNULFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxhQUFhLEdBdUJqQztJQXpCRCxBQUlJLFlBSlEsR0FJTixDQUFDLENBQUM7TUFDQSxVQUFVLEVBQUUsSUFBSTtNQUNoQixXQUFXLEV0QnpGUCxPQUF5QixHc0I4RmhDO01BWEwsQUFRUSxZQVJJLEdBSU4sQ0FBQyxDQUlHLFNBQVUsQ0FBQSxDQUFDLEVBQUU7UUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQVZULEFBY1Esa0JBZEksR0FjRixDQUFDLENBQUM7TUFDQSxPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0lBakJULEFBbUJRLGtCQW5CSSxDQW1CRixLQUFLLENBQUMsbUJBQW1CLENBQUM7TUFDeEIsT0FBTyxFQUFFLFlBQVk7TUFDckIsVUFBVSxFQUFFLGtCQUFrQjtNQUM5QixLQUFLLEVBQUUsSUFBSSxHQUNkLEVBRVI7O0FBTUwsQUFBQSxZQUFZLENBQUM7RUFDVCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9DbEJDLE9BQU87RStDbUI3QixNQUFNLEVBQUUsVUFBVSxHQUtyQjtFQVBELEFBSUksb0JBSlEsQ0FJRTtJQUNOLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDL0N2RUgsT0FBTyxHK0N3RTVCOztBQUdMLEFBQUEsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFQUFFLEtBQUs7RUFDakIsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxLQUFLO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsZ0JBQWdCLEUvQzdCZSxPQUFPO0UrQzhCdEMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CO0VBQzNDLFFBQVEsRUFBRSxXQUFXLEdBa0x4QjtFQWhMRyxNQUFNLG1DQVZWO0lBQUEsQUFBQSxVQUFVLENBQUM7TUFXSCxLQUFLLEVBQUUsR0FBRztNQUNWLFNBQVMsRUFBRSxHQUFHO01BQ2QsU0FBUyxFQUFFLEdBQUcsR0E2S3JCLEVBQUE7RUExS0csTUFBTSwyREFoQlY7SUFBQSxBQUFBLFVBQVUsQ0FBQztNQWlCSCxVQUFVLEVBQUUsS0FBSyxHQXlLeEIsRUFBQTtFQTFMRCxBQW9CSSw0QkFwQk0sQ0FvQmM7SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsTUFBTSxHQUNuQjtFQXZCTCxBQXlCSSxVQXpCTSxDQXlCTixFQUFFLENBQUM7SUFDQyxXQUFXLEVBQUUseUJBQXlCLEdBQ3pDO0VBM0JMLEFBNkJJLGlCQTdCTSxDQTZCRztJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLFFBQVE7SUFDYixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDL0N6RVosT0FBTyxHK0MwRnRCO0lBbERMLEFBbUNRLGlCQW5DRSxDQW1DRixDQUFDLENBQUM7TUFDRSxXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsTUFBTTtNQUNqQixjQUFjLEVBQUUsQ0FBQztNQUNqQixXQUFXLEVBQUUsQ0FBQztNQUNkLEtBQUssRS9DakdVLE9BQU87TStDa0d0QixjQUFjLEVBQUUsU0FBUztNQUN6QixPQUFPLEVBQUUsSUFBSTtNQUNiLFdBQVcsRUFBRSxNQUFNLEdBTXRCO01BakRULEFBNkNZLGlCQTdDRixDQW1DRixDQUFDLENBVUcsQ0FBQyxDQUFDO1FBQ0UsU0FBUyxFQUFFLE9BQU87UUFDbEIsV0FBVyxFQUFFLENBQUMsR0FDakI7RUFoRGIsQUFvREksVUFwRE0sQ0FvRE4sZUFBZSxDQUFDO0lBQ1osV0FBVyxFQUFFLGtCQUFrQixHQVdsQztJQWhFTCxBQXNEUSxVQXRERSxDQW9ETixlQUFlLENBRVgsRUFBRSxDQUFDO01BQ0MsU0FBUyxFQUFFLElBQUk7TUFDZixjQUFjLEVBQUUsQ0FBQyxHQUNwQjtJQXpEVCxBQTBEUSxVQTFERSxDQW9ETixlQUFlLENBTVgsRUFBRSxDQUFDO01BQ0MsV0FBVyxFQUFFLFFBQVEsR0FDeEI7SUE1RFQsQUE2RFEsVUE3REUsQ0FvRE4sZUFBZSxDQVNYLENBQUMsQ0FBQztNQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCO0VBL0RULEFBa0VJLFVBbEVNLENBa0VOLGFBQWEsQ0FBQztJQUlWLE9BQU8sRUFBRSxpQkFBaUIsR0FDN0I7SUF2RUwsQUFtRVEsVUFuRUUsQ0FrRU4sYUFBYSxDQUNQLFdBQVcsQ0FBQztNQUNWLFdBQVcsRUFBRSxPQUFPLEdBQ3ZCO0VBckVULEFBeUVJLFVBekVNLENBeUVOLGVBQWUsQ0FBQztJQUNaLFVBQVUsRUFBRSxRQUFRLEdBQ3ZCO0VBM0VMLEFBNkVJLFVBN0VNLENBNkVMLEFBQUEsT0FBQyxDQUFRLEVBQUUsQUFBVixFQUFZO0lBQ1YsS0FBSyxFQUFFLEtBQUssR0FDZjtFQS9FTCxBQWlGSSxVQWpGTSxDQWlGTCxBQUFBLE9BQUMsQUFBQSxFQUFTO0lBQ1AsS0FBSyxFQUFFLEtBQUs7SUFDWixVQUFVLEVBQUUsTUFBTTtJQUNsQixJQUFJLEVBQUUsS0FBSyxHQUNkO0VBckZMLEFBdUZJLFVBdkZNLENBdUZMLEFBQUEsT0FBQyxBQUFBLEVBQVM7SUFDUCxVQUFVLEVBQUUsT0FBTztJQUNuQixJQUFJLEVBQUUsQ0FBQztJQUNQLEdBQUcsRUFBRSxJQUFJO0lBQ1QsT0FBTyxFQUFFLEdBQUcsR0FDZjtFQTVGTCxBQStGUSxVQS9GRSxDQThGTixHQUFHLENBQ0MsRUFBRTtFQS9GVixVQUFVLENBOEZOLEdBQUcsQ0FFQyxFQUFFO0VBaEdWLFVBQVUsQ0E4Rk4sR0FBRyxDQUdDLEVBQUUsQ0FBQztJQUNDLE1BQU0sRUFBRSxDQUFDO0lBQ1QsYUFBYSxFQUFFLE9BQU8sR0FDekI7RUFwR1QsQUFzR1EsVUF0R0UsQ0E4Rk4sR0FBRyxDQVFDLEVBQUUsQ0FBQztJN0IxTUMsT0FBSyxFbUJpR1EsQ0FBQztJbkJqR2QsTUFBSyxFbUJrR08sQ0FBQztJbkJsR2IsVUFBSyxFbUJtR1csSUFBSSxHVXlHdkI7RUF4R1QsQUEwR0ksVUExR00sQ0EwR04sR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBNUdMLEFBNkdJLFVBN0dNLENBNkdOLFdBQVcsQ0FBQztJQUNSLEtBQUssRS9DL09DLE9BQU8sRytDZ1BoQjtFQS9HTCxBQWlISSxVQWpITSxDQWlITixjQUFjLENBQUM7SUFDWCxjQUFjLEVBQUUsTUFBTTtJQUN0QixVQUFVLEVBQUUsT0FBTyxHQWdCdEI7SUFuSUwsQUFxSFEsVUFySEUsQ0FpSE4sa0NBQWMsQ0FJWTtNQUNsQixTQUFTLEVBQUUsY0FBYyxHQUM1QjtJQXZIVCxBQXlIUSxVQXpIRSxDQWlITiw4QkFBYyxDQVFRO01BQ2QsT0FBTyxFQUFFLGVBQWU7TUFDeEIsZUFBZSxFQUFFLGFBQWE7TUFDOUIsTUFBTSxFQUFFLE9BQU8sR0FDbEI7SUE3SFQsQUErSFEsVUEvSEUsQ0FpSE4sY0FBYyxDQWNWLG1CQUFtQixDQUFDO01BQ2hCLEtBQUssRS9DeEtHLE9BQU87TStDeUtmLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUFsSVQsQUFzSVEsVUF0SUUsQ0FxSU4sV0FBVyxDQUNQLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRS9DM1BILE9BQU8sRytDZ1FaO0lBL0lULEFBMklZLFVBM0lGLENBcUlOLFdBQVcsQ0FDUCxFQUFFLENBS0UsQ0FBQyxDQUFDO01BQ0UsWUFBWSxFQUFFLE1BQU07TUFDcEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUE5SWIsQUFnSlEsVUFoSkUsQ0FxSU4sV0FBVyxDQVdQLEVBQUUsQUFBQSxlQUFlLENBQUM7SUFDZCxnQkFBZ0IsRS9DM0tGLE9BQU87SStDNEtyQixNQUFNLEVBQUUscUJBQXFCO0lBQzdCLE9BQU8sRUFBRSxtQkFBbUIsR0FDL0I7RUFwSlQsQUF3SlEsVUF4SkUsQ0F1Sk4sZUFBZSxDQUNYLGdCQUFnQixDQUFDO0lBQ2IsS0FBSyxFL0MxUUgsT0FBTyxHK0NpUlo7SUFoS1QsQUEwSlksVUExSkYsQ0F1Sk4sZUFBZSxDQUNYLGdCQUFnQixDQUVaLEtBQUssQ0FBQztNQUNGLE1BQU0sRUFBRSxPQUFPO01BQ2YsS0FBSyxFQUFFLEtBQUs7TUFDWixXQUFXLEVBQUUsS0FBSztNQUNsQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtFQS9KYixBQWlLUSxVQWpLRSxDQXVKTixlQUFlLENBVVgsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFuS1QsQUFxS1ksVUFyS0YsQ0F1Sk4sZUFBZSxDQWFYLEtBQUssQ0FDRCxDQUFDLENBQUM7SUFDRSxXQUFXLEVBQUUsS0FBSyxHQUNyQjtFQXZLYixBQXlLUSxVQXpLRSxDQXVKTixlQUFlLENBa0JYLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLFFBQVEsR0FJckI7SUEvS1QsQUE0S1ksVUE1S0YsQ0F1Sk4sZUFBZSxDQWtCWCxFQUFFLENBR0UsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUNELFdBQVcsRUFBRSxLQUFLLEdBQ3JCO0VBOUtiLEFBZ0xRLFVBaExFLENBdUpOLGVBQWUsQ0F5QlgsU0FBUyxDQUFDO0lBQ04sVUFBVSxFL0MzTUksT0FBTyxHK0M0TXhCO0VBbExULEFBbUxRLFVBbkxFLENBdUpOLGVBQWUsQ0E0QlgsS0FBSyxDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFyTFQsQUFzTFEsVUF0TEUsQ0F1Sk4sZUFBZSxDQStCWCxLQUFLLENBQUM7SUFDRixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJVCxBQUFBLFlBQVk7QUFDWiw0QkFBNEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsZUFBZSxHQUMzQjs7QUFFRCxBQUNJLHNDQUR3QixDQUNaO0VBQ1IsUUFBUSxFQUFFLGFBQWE7RUFDdkIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBR0wsQUFBQSxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDO0FBQ2hDLDRCQUE0QixDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQzdDLFNBQVMsRUFBRSxjQUFjLEdBQzVCOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsR0FBRyxFQUFFLElBQUk7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQU9uQjtFQVRELEFBSUksbUJBSmUsQUFJZCxLQUFLLENBQUM7SUFDSCxLQUFLLEVBQUUsTUFBTTtJQUNiLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBR0wsQUFBQSxlQUFlLENBQUM7RUFDWixhQUFhLEVBQUUsTUFBTTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osWUFBWSxFQUFFLE9BQU87RUFDckIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLENBQUM7RUFDUixVQUFVLEUvQ2xWQSxLQUFLO0UrQ21WZixVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBbUZwRDtFQXhGRCxBQU9JLGNBUFUsQ0FPVixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQVRMLEFBVUksY0FWVSxDQVVWLENBQUM7RUFWTCxjQUFjLENBV1YsQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFFLEdBQUc7SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEUvQy9WQyxPQUFPLEcrQ2dXaEI7RUFFRCxNQUFNLG1CQWpCVjtJQUFBLEFBQUEsY0FBYyxDQUFDO01Ba0JQLEtBQUssRUFBRSxPQUFPLEdBc0VyQixFQUFBO0VBeEZELEFBcUJJLHVCQXJCVSxDQXFCQztJN0J6VkgsT0FBSyxFTUpjLE9BQXlCLEd1QndYbkQ7SUFoREwsQUF3QlEsdUJBeEJNLENBd0JOLEVBQUUsQ0FBQztNQUNDLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBMUJULEFBNEJRLHVCQTVCTSxDQTRCTixFQUFFLENBQUM7TUFDQyxXQUFXLEVBQUUsU0FBUztNQUN0QixhQUFhLEVBQUUsQ0FBQztNQUNoQixVQUFVLEVBQUUsSUFBSTtNQUNoQixlQUFlLEVBQUUsSUFBSTtNN0JwV3JCLFdBQUssRU1KYyxPQUF5QjtNTkk1QyxjQUFLLEVNSmMsT0FBeUIsR3VCMlcvQztJQW5DVCxBQXFDUSx1QkFyQ00sQ0FxQ04sRUFBRSxDQUFDO01BQ0MsT0FBTyxFQUFFLElBQUksR0FDaEI7SUF2Q1QsQUF5Q1EsdUJBekNNLENBeUNKLFdBQVcsQ0FBQztNN0I3V1YsV0FBSyxFTUpjLE1BQXlCO01OSTVDLGNBQUssRU1KYyxNQUF5QjtNdUJtWDVDLFVBQVUsRUFBRSxDQUFDO01BQ2IsTUFBTSxFQUFFLE9BQU87TUFDZixPQUFPLEVBQUUsU0FBUztNQUNsQixVQUFVLEUvQ3JTYSxPQUFPLEcrQ3NTakM7RUEvQ1QsQUFrREksd0JBbERVLENBa0RFO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxJQUFJLEdBWW5CO0lBbEVMLEFBd0RRLHdCQXhETSxDQXdETixHQUFHLENBQUM7TUFDQSxRQUFRLEVBQUUsTUFBTSxHQUNuQjtJQTFEVCxBQTREUSx3QkE1RE0sQ0E0RE4sQ0FBQyxDQUFDO01BQ0UsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsSUFBSTtNQUNoQixRQUFRLEVBQUUsTUFBTTtNQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQWpFVCxBQXNFUSx1QkF0RU0sQ0FzRU4sQ0FBQyxFQXRFVCwyQkFBYyxDQXNFTixDQUFDLENBQUM7SUFDRSxLQUFLLEUvQy9VRyxPQUFPLEcrQ2dWbEI7RUF4RVQsQUEyRUksc0JBM0VVLENBMkVBO0lBQ04sVUFBVSxFQUFFLElBQUk7SUFDaEIsZ0JBQWdCLEUvQ3JWSixPQUFPO0krQ3NWbkIsS0FBSyxFL0M1WkMsS0FBSyxHK0NxYWQ7SUF2RkwsQUFnRlEsc0JBaEZNLENBZ0ZOLElBQUksQ0FBQztNQUNELGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBbEZULEFBb0ZRLHNCQXBGTSxDQW9GTixDQUFDLENBQUM7TUFDRSxLQUFLLEUvQ25hSCxLQUFLLEcrQ29hVjs7QUFJVCxBQUNJLG9CQURTLENBQ0E7RUFDTCxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLEtBQUssRS9DN2JFLE9BQU87RStDOGJkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQU5MLEFBUUksZ0NBUlMsQ0FRWTtFQUNqQixVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsV0FBVztFQUNwQixrQkFBa0IsRUFBRSxDQUFDO0VBQ3JCLGtCQUFrQixFQUFFLFFBQVE7RUFDNUIsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLFFBQVEsR0FRMUI7RUF0QkwsQUFnQlEsZ0NBaEJLLENBZ0JMLElBQUksQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLEtBQUssRS9DNWFPLE9BQU87SStDNmFuQixXQUFXLEVBQUUsT0FBTyxHQUN2Qjs7QUFJVCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxvQkFBb0IsR0E2SDlDO0VBM0hHLE1BQU0sbUNBSlY7SUFBQSxBQUFBLGtCQUFrQixDQUFDO01BS1gscUJBQXFCLEVBQUUsVUFBVSxHQTBIeEMsRUFBQTtFQS9IRCxBQVFJLDJCQVJjLENBUUg7SUFDUCxVQUFVLEVBQUUsTUFBTTtJQUNsQixHQUFHLEVBQUUsT0FBTztJQUNaLGVBQWUsRUFBRSxhQUFhLEdBQ2pDO0VBWkwsQUFjSSwrQkFkYyxDQWNDLENBQUMsRUFkcEIsaUNBQWtCLENBZUcsQ0FBQyxDQUFDO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixXQUFXLEVBQUUsTUFBTTtJQUNuQixhQUFhLEVBQUUsUUFBUTtJQUN2QixNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBckJMLEFBd0JRLGlDQXhCVSxDQXdCVixDQUFDLENBQUM7SUFDRSxLQUFLLEVBQUUsUUFBUTtJQUNmLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLGdCQUFnQixFL0NuYVAsT0FBTztJK0NvYWhCLE1BQU0sRS9DcGFHLE9BQU8sRytDcWFuQjtFQTdCVCxBQWdDSSwrQkFoQ2MsQ0FnQ0M7SUFDWCxTQUFTLEVBQUUsQ0FBQyxHQWFmO0lBOUNMLEFBa0NRLCtCQWxDVSxDQWtDVixDQUFDLENBQUM7TUFDRSxLQUFLLEUvQ3BlSCxLQUFLO00rQ3FlUCxnQkFBZ0IsRS9DeGVkLE9BQU87TStDeWVULE1BQU0sRS9DemVKLE9BQU87TStDMGVULE1BQU0sRUFBRSxRQUFRO01BQ2hCLGNBQWMsRUFBRSxJQUFJO01BQ3BCLGNBQWMsRUFBRSxDQUFDO01BQ2pCLFNBQVMsRUFBRSxHQUFHO01BQ2QsV0FBVyxFQUFFLE9BQU87TUFDcEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUE3Q1QsQUFpRFEsaUNBakRVLENBaURWLENBQUMsQ0FBQztJQUNFLGdCQUFnQixFL0MxYlAsT0FBTztJK0MyYmhCLE1BQU0sRS9DM2JHLE9BQU87SStDNGJoQixTQUFTLEVBQUUsR0FBRyxHQU1qQjtJQTFEVCxBQXNEWSxpQ0F0RE0sQ0FpRFYsQ0FBQyxDQUtHLENBQUMsQ0FBQztNQUNFLFNBQVMsRUFBRSxPQUFPO01BQ2xCLEtBQUssRS9DemZQLEtBQUssRytDMGZOO0VBekRiLEFBNkRJLHlCQTdEYyxDQTZETDtJQUNMLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvQzVhTixPQUFPLEcrQzZhNUI7RUFoRUwsQUFrRUksMEJBbEVjLENBa0VKO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsS0FBSztJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQTNFTCxBQTZFSSw0QkE3RWMsQ0E2RUY7SUFDUixTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRS9DMWNPLE9BQU87SStDMmNuQixXQUFXLEVBQUUsT0FBTztJQUNwQixhQUFhLEVBQUUsUUFBUTtJQUN2QixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQW5GTCxBQXFGSSxxQ0FyRmMsQ0FxRk87SUFDakIsU0FBUyxFQUFFLE1BQU07SUFDakIsS0FBSyxFL0N6Z0JXLE9BQU87SStDMGdCdkIsV0FBVyxFQUFFLE9BQU87SUFDcEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLFFBQVE7SUFDcEIsYUFBYSxFQUFFLFFBQVEsR0FDMUI7RUE3RkwsQUErRkksc0NBL0ZjLENBK0ZRO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLEdBU2xCO0lBekdMLEFBaUdRLHNDQWpHVSxDQWlHVixDQUFDLENBQUM7TUFDRSxLQUFLLEUvQ3BoQk8sT0FBTyxHK0NxaEJ0QjtJQW5HVCxBQW9HUSxzQ0FwR1UsQ0FvR1YsSUFBSSxDQUFDO01BQ0QsS0FBSyxFL0N2aEJPLE9BQU87TStDd2hCbkIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLFFBQVEsR0FDeEI7RUF4R1QsQUEyR0kscUNBM0djLENBMkdPO0lBQ2pCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLFdBQVcsRUFBRSxPQUFPLEdBVXZCO0lBdkhMLEFBK0dRLHFDQS9HVSxDQStHVixDQUFDLENBQUM7TUFDRSxLQUFLLEUvQzNlRyxPQUFPLEcrQzRlbEI7SUFqSFQsQUFrSFEscUNBbEhVLENBa0hWLElBQUksQ0FBQztNQUNELGNBQWMsRUFBRSxTQUFTO01BQ3pCLEtBQUssRS9DL2VHLE9BQU87TStDZ2ZmLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0VBdEhULEFBeUhJLGdDQXpIYyxDQXlIRTtJQUNaLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUI7O0FBTUwsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsa0JBQWtCLEdBNEI1QztFQTlCRCxBQUlJLDBCQUphLENBSUY7SUFDUCxNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsZ0JBQWdCLEdBaUI1QjtJQXZCTCxBQVFRLDBCQVJTLENBUVAsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7TUFDbEIsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjtJQVZULEFBWVEsMEJBWlMsQ0FZVCxNQUFNLENBQUM7TUFDSCxLQUFLLEVBQUUsSUFBSTtNQUNYLGFBQWEsRUFBRSxTQUFTO01BQ3hCLE1BQU0sRUFBRSxRQUFRO01BQ2hCLGNBQWMsRUFBRSxJQUFJO01BQ3BCLGdCQUFnQixFL0Nwa0JKLE9BQU87TStDcWtCbkIsWUFBWSxFL0Nya0JBLE9BQU87TStDc2tCbkIsU0FBUyxFQUFFLEdBQUc7TUFDZCxXQUFXLEVBQUUsR0FBRztNQUNoQixNQUFNLEVBQUUsY0FBYyxHQUN6QjtFQXRCVCxBQTBCUSx1QkExQlMsQ0EwQlQsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjs7QUFJVCxBQUVJLHVCQUZhO0FBQ2pCLHdCQUFrQixDQUNOO0VBQ0osUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsV0FBVyxFQUFFLENBQUM7RUFDZCxTQUFTLEVBQUUsR0FBRztFQUNkLE9BQU8sRUFBRSxTQUFTLEdBZ0NyQjtFQXZDTCxBQVNRLHVCQVRTLENBU1QsQ0FBQztFQVJULHdCQUFrQixDQVFWLENBQUMsQ0FBQztJQUNFLEtBQUssRS9DeGtCYyxPQUFPLEcrQ3lrQjdCO0VBWFQsQUFZUSx1QkFaUyxDQVlULEVBQUU7RUFYVix3QkFBa0IsQ0FXVixFQUFFLENBQUM7SUFDQyxPQUFPLEVBQUUsTUFBTTtJQUNmLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLE1BQU0sRUFBRSxLQUFLLEdBQ2hCO0VBaEJULEFBa0JRLGlDQWxCUztFQUNqQixrQ0FBa0IsQ0FpQkU7SUFDUixnQkFBZ0IsRS9DaGlCVyxTQUFTO0krQ2lpQnBDLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLE1BQU0sRUFBRSxPQUFPLEdBQ2xCO0VBdEJULEFBd0JRLGlDQXhCUztFQUNqQixrQ0FBa0IsQ0F1QkU7SUFDUixXQUFXLEVBQUUsR0FBRztJQUNoQixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0VBNUJULEFBOEJRLCtCQTlCUztFQUNqQixnQ0FBa0IsQ0E2QkE7SUFDTixVQUFVLEVBQUUsa0JBQWtCLEdBT2pDO0lBSk8sTUFBTSxvQ0FEVjtNQWpDWixBQWlDWSwrQkFqQ0ssQ0FpQ0gsVUFBVTtNQWhDeEIsZ0NBQWtCLENBZ0NKLFVBQVUsQ0FBQztRQUVMLGFBQWEsRUFBRSxJQUFJLEdBRTFCLEVBQUE7QUFyQ2IsQUF5Q0ksZ0NBekNhO0FBQ2pCLGlDQUFrQixDQXdDRztFQUNiLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsV0FBVyxFQUFFLGlCQUFpQjtFQUM5QixLQUFLLEUvQ2pwQkMsT0FBTztFK0NrcEJiLGFBQWEsRUFBRSxnQkFBZ0I7RUFDL0IsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixXQUFXLEVBQUUsR0FBRztFQUNoQixRQUFRLEVBQUUsTUFBTTtFQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjs7QUFsREwsQUFvREksK0JBcERhO0FBQ2pCLGdDQUFrQixDQW1ERTtFQUNaLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDL0NqbEJaLE9BQU87RStDa2xCbkIsV0FBVyxFQUFFLENBQUMsR0FLakI7RUEzREwsQUF3RFEsd0NBeERTO0VBQ2pCLHlDQUFrQixDQXVEQztJQUNQLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDL0N2a0JWLE9BQU8sRytDd2tCeEI7O0FBMURULEFBNkRJLCtCQTdEYTtBQUNqQixnQ0FBa0IsQ0E0REU7RUFDWixhQUFhLEVBQUUsaUJBQWlCLEdBQ25DOztBQS9ETCxBQWlFSSxpQkFqRWEsQ0FpRWIsWUFBWTtBQWhFaEIsa0JBQWtCLENBZ0VkLFlBQVksQ0FBQztFQUNULE1BQU0sRUFBRSxtQ0FBbUM7RUFDM0MsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0E3QnRyQkcsTUFBTSw4QjZCMHJCVjtFQUFBLEFBQUEsVUFBVSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEdBQUc7SUFPWixnQkFBZ0IsRS9DM2xCVyxPQUFPO0krQzRsQmxDLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLElBQUksRUFBRSxDQUFDO0lBQ1AsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixTQUFTLEVBQUUsUUFBUTtJQUNuQixTQUFTLEVBQUUsUUFBUSxHQTJCdEI7SUF4Q0QsQUFHSSxVQUhNLENBR04sRUFBRSxDQUFDO01BQ0MsVUFBVSxFQUFFLEtBQUs7TUFDakIsYUFBYSxFQUFFLEtBQUssR0FDdkI7SUFOTCxBQWVJLFVBZk0sRUFBVixVQUFVLENBZ0JMLEFBQUEsT0FBQyxBQUFBLEdBaEJOLFVBQVUsQ0FpQkwsQUFBQSxPQUFDLEFBQUEsRUFBUSxBQUFBLE9BQUMsQUFBQSxFQUFTO01BQ2hCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsS0FBSztNQUNiLFVBQVUsRUFBRSxPQUFPO01BQ25CLElBQUksRUFBRSxDQUFDLEdBQ1Y7SUF2QkwsQUF3QkksVUF4Qk0sQ0F3Qk4sR0FBRyxDQUFDO01BQ0EsTUFBTSxFQUFFLElBQUk7TUFDWixXQUFXLEVBQUUsQ0FBQyxHQVNqQjtNQW5DTCxBQTRCUSxVQTVCRSxDQXdCTixHQUFHLENBSUMsRUFBRTtNQTVCVixVQUFVLENBd0JOLEdBQUcsQ0FLQyxFQUFFO01BN0JWLFVBQVUsQ0F3Qk4sR0FBRyxDQU1DLEVBQUUsQ0FBQztRQUNDLE9BQU8sRUFBRSxLQUFLO1FBQ2QsV0FBVyxFQUFFLFFBQVE7UUFDckIsVUFBVSxFQUFFLENBQUMsR0FDaEI7SUFsQ1QsQUFxQ0ksVUFyQ00sQ0FxQ04sR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7TUFDbEIsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFHTCxBQUFBLGFBQWEsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE9BQU8sR0FDdkI7RUFFRCxBQUFBLGFBQWEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzFCLElBQUksRUFBRSxDQUFDLEdBQ1Y7RUFFRCxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDWCxJQUFJLEVBQUUsQ0FBQyxHQUNWLEVBYkE7O0FBZ0JMLEFBQUEsV0FBVyxDQUFDO0VBRVIsU0FBUyxFQUFFLENBQUMsR0FTZjtFQVhELEFBR0ksV0FITyxFQUdOLEtBQUssQ0FBQztJQUNILFVBQVUsRUFBRSxDQUFDO0lBQ2IsTUFBTSxFdEJwdkJFLE9BQXlCO0lzQnF2QmpDLE9BQU8sRXRCcnZCQyxRQUF5QjtJc0JzdkJqQyxRQUFRLEVBQUUsS0FBSztJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUdMLEFBQUEsS0FBSyxDQUFDO0VBQ0YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxRQUFRLEdBS3BCO0VBUkQsQUFJSSxLQUpDLENBSUQsTUFBTSxDQUFDO0lBQ0gsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUdMLE1BQU0sbUJBRUU7RUFESixBQUNJLEtBREMsQ0FDRCxNQUFNLENBQUM7SUFDSCxNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJLEdBQ2QsRUFBQTs7QUFJVCxBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDLEdBWWI7RUFWRyxNQUFNLDhCQUhWO0lBQUEsQUFBQSxTQUFTLENBQUM7TUFJRixVQUFVLEUvQ3h3QlEsT0FBTztNK0N5d0J6QixRQUFRLEVBQUUsS0FBSztNQUNmLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BRVosT0FBTyxFQUFFLElBQUksR0FFcEIsRUFBQTtBQUVELE1BQU0sOEJBQ0Y7RUFBQSxBQUFBLGVBQWUsQ0FBQztJQUNaLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxLQUFLLEdBQ2hCLEVBQUE7O0FDMXlCTCxBQUFBLENBQUMsQUFBQSxHQUFHLEVBQUUsQ0FBQyxBQUFBLElBQUksRUFBRSxDQUFDLEFBQUEsSUFBSSxFQUFFLENBQUMsQUFBQSxJQUFJLENBQUM7RUFDdEIsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDRixhQUFhLEVBQUUsZUFBZSxHQUlqQztFOUJKTyxNQUFNLDhCOEJEZDtJQUFBLEFBQUEsS0FBSyxDQUFDO01BR0UsYUFBYSxFQUFFLFlBQVksR0FFbEMsRUFBQTtBQVFELEFBS0ksZ0JBTFksQ0FLWixDQUFDLENBQUM7RUFDRSxZQUFZLEV2QmZKLE1BQXlCO0V1QmdCakMsYUFBYSxFdkJoQkwsTUFBeUIsR3VCaUJwQzs7QUFLTCxBQUdJLEtBSEMsQ0FHRCxHQUFHLEVBSFAsS0FBSyxDQUdHLENBQUMsRUFIRixXQUFXLENBR2QsR0FBRyxFQUhBLFdBQVcsQ0FHVixDQUFDLENBQUM7RUFDRixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVoRHdFa0IsSUFBSTtFZ0R2RTNCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUdMLEFBQUEsS0FBSyxDQUFDO0VBRUYsZUFBZSxFQUFFLFVBQVU7RUFDM0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRFlJLE9BQU87RWdEVm5DLGVBQWUsRUFBRSxJQUFJLEdBMkN4QjtFQWhERCxBQU1JLEtBTkMsRUFNRSxpQkFBaUIsQ0FBQztJQUNqQixPQUFPLEVBQUUsSUFBSTtJQUFHLHVCQUF1QixFQUMxQztFQVJMLEFBVUksZUFWQyxDQVVXO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLGFBQWEsRUFBRSxnQkFBZ0IsR0FNbEM7SUFuQkwsQUFlUSxlQWZILEVBZUssQUFBQSxXQUFDLEFBQUEsRUFBYTtNQUVaLG1CQUFtQixFaER0RGhCLE9BQU8sR2dEdURiO0VBbEJULEFBcUJJLEtBckJDLENBcUJELENBQUMsQ0FBQztJQUNFLFlBQVksRUFBRSxRQUFRO0lBQ3RCLGNBQWMsRUFBRSxRQUFRO0lBQ3hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUseUJBQXlCLEdBQzNDO0VBNUJMLEFBOEJJLGNBOUJDLENBOEJVO0lBQ1AsU0FBUyxFQUFFLE1BQU0sR0FLcEI7SUFwQ0wsQUFnQ1EsY0FoQ0gsQ0FnQ0csQ0FBQyxDQUFDO01BQ0UsY0FBYyxFQUFFLFFBQVE7TUFDeEIsWUFBWSxFQUFFLElBQUksR0FDckI7RUFuQ1QsQUFzQ0ksZUF0Q0MsQ0FzQ1c7SUFDUixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQXhDTCxBQXlDSSxrQkF6Q0MsQ0F5Q2M7SUFDWCxPQUFPLEVBQUUsZUFBZSxHQUszQjtJQS9DTCxBQTRDUSx3QkE1Q0gsQ0E0Q1c7TUFDSixPQUFPLEVBQUUsa0JBQWtCLEdBQzlCOztBQUlULEFBQUEsV0FBVyxDQUFDO0U5QjNEQSxLQUFLLEVsQmJILE9BQU87RWtCYVQsZ0JBQUssRThCNERFLE9BQTJDO0U5QjVEbEQsWUFBSyxFOEI0REUsT0FBMkM7RUFFMUQsU0FBUyxFQUFFLElBQUksR0FTbEI7RUFaRCxBQUtJLFdBTE8sQ0FLUCxDQUFDLENBQUM7SUFFRSxLQUFLLEVoRC9GQyxPQUFPLEdnRGdHaEI7RUFSTCxBQVNJLFdBVE8sQ0FTUCxDQUFDLENBQUMsS0FBSyxDQUFBLEdBQUssRUFBQSxBQUFBLFdBQUMsQUFBQSxHQUFjO0lBQ3ZCLG1CQUFtQixFaERsR2IsdUJBQU8sR2dEbUdoQjs7QUFLTCxBQUFBLE1BQU0sQ0FBQztFQUVILGdCQUFnQixFaER2Rk4sS0FBSztFZ0R3RmYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRDFHTixPQUFPO0VnRDJHbEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLElBQUksR0FZbkI7RUFsQkQsQUFRSSxnQkFSRSxDQVFVO0lBRVIsU0FBUyxFQUFFLENBQUM7SUFDWixNQUFNLEVBQUUsSUFBSSxHQUNmO0VBWkwsQUFjSSxhQWRFLENBY087SUFFTCxLQUFLLEVoRHhHQyxPQUFPLEdnRHlHaEI7O0FBR0wsQUFBQSxRQUFRLENBQUM7RUFFTCxnQkFBZ0IsRUFBRSxrQkFBa0I7RUFDcEMsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxHQUFHLEdBUWY7RUFiRCxBQU9JLFFBUEksR0FPRixDQUFDLENBQUM7SUFDQSxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsR0FBRyxHQUNqQjs7QUFLTCw4RUFBOEU7QUFDOUUsQUFBQSxTQUFTLENBQUM7RUFDTixVQUFVLEVBQUUsTUFBTTtFQUFFLHlDQUF5QztFQUM3RCxTQUFTLEVBQUUsS0FBSztFQUFFLGlDQUFpQztFQUNuRCxXQUFXLEVBQUUsTUFBTTtFQUFFLG9DQUFvQztFQUN6RCxnQkFBZ0IsRUFBRSxJQUFJO0VBQUUsNEJBQTRCO0VBQ3BELEtBQUssRUFBRSxJQUFJO0VBQUUsc0JBQXNCO0VBQ25DLFVBQVUsRUFBRSxNQUFNO0VBQUUsbUJBQW1CO0VBQ3ZDLGFBQWEsRUFBRSxHQUFHO0VBQUUscUJBQXFCO0VBQ3pDLE9BQU8sRUFBRSxJQUFJO0VBQUUsYUFBYTtFQUM1QixRQUFRLEVBQUUsS0FBSztFQUFFLDhCQUE4QjtFQUMvQyxPQUFPLEVBQUUsQ0FBQztFQUFFLDZCQUE2QjtFQUN6QyxJQUFJLEVBQUUsR0FBRztFQUFFLHlCQUF5QjtFQUNwQyxNQUFNLEVBQUUsSUFBSTtFQUFFLDBCQUEwQixFQUMzQzs7QUFFRCxBQUFBLFNBQVMsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsNEJBQTRCO0VBQ3BDLFVBQVUsRUFBRSxDQUFDO0VBQ2IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENoRHRFaEIsT0FBTztFZ0R1RXJCLFNBQVMsRUFBRSxjQUFjLEdBUzVCO0VBZkQsQUFRSSxjQVJLLENBUUU7SUFDSCxTQUFTLEVBQUUsS0FBSyxHQUNuQjtFQVZMLEFBWUksZ0JBWkssQ0FZSTtJQUNMLG1CQUFtQixFaERoS0gsT0FBTyxHZ0RpSzFCOztBQUlMLGdEQUFnRDtBQUloRCxVQUFVLENBQVYsVUFBVTtFQUNOLElBQUk7SUFDQSxHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0VBRWQsRUFBRTtJQUNFLEdBQUcsRXZCbkxLLE9BQXlCO0l1Qm9MakMsT0FBTyxFQVRDLElBQUk7O0FBYXBCLFVBQVUsQ0FBVixVQUFVO0VBQ04sSUFBSTtJQUNBLEdBQUcsRXZCMUxLLE9BQXlCO0l1QjJMakMsT0FBTyxFQWhCQyxJQUFJO0VBa0JoQixFQUFFO0lBQ0UsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQzs7QUFJbEIsQUFBQSxNQUFNLENBQUM7RTlCNUtLLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVsQmxCUyxPQUFPO0VrQmtCckIsT0FBSyxFTUpjLE1BQXlCO0VOSTVDLFVBQUssRW1COEhRLGdFQUEyRTtFbkI5SHhGLFdBQUssRVdBYyxHQUFHO0VtQjhLOUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLDZEQUE2RDtFQUN4RSxhQUFhLEV2QnZNRCxPQUF5QjtFdUJ3TXJDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLGVBQWU7RUFDdkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsSUFBSSxFQUFFLENBQUM7RUFDUCxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFuQ0ssSUFBSTtFQW9DaEIsUUFBUSxFQUFFLEtBQUs7RUFDZixLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRXZCak5TLE9BQXlCO0V1QmtOckMsS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxHQUFHLEdBcUJuQjtFQXRDRCxBQW1CSSxZQW5CRSxDQW1CTTtJOUIvTEEsS0FBSyxFbEI3QkgsT0FBTztJa0I2QlQsZ0JBQUssRWxCVkgsS0FBSztJZ0Q0TVgsTUFBTSxFQUFFLFNBQVM7SUFDakIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUE3QkwsQUErQlEsZUEvQkYsR0ErQkksQ0FBQyxDQUFDO0lBQ0EsTUFBTSxFQUFFLFlBQVksR0FDdkI7RUFqQ1QsQUFrQ1EsZUFsQ0YsQ0FrQ0UsRUFBRSxDQUFDO0k5QjlNQyxTQUFLLEVTMkZFLFFBQStCO0lUM0Z0QyxjQUFLLEVXbUJjLFNBQVM7SVhuQjVCLFdBQUssRVdDUyxHQUFHO0lYRGpCLEtBQUssRWxCN0JILE9BQU8sR2dENk9aO0k5QnpOTyxNQUFNLDhCOEJ1TmQ7TUFsQ1IsQUFrQ1EsZUFsQ0YsQ0FrQ0UsRUFBRSxDQUFDO1E5QjlNQyxTQUFLLEVTMkZFLFFBQStCLEdxQnFIekMsRUFBQTtJOUJ6Tk8sTUFBTSw4QjhCdU5kO01BbENSLEFBa0NRLGVBbENGLENBa0NFLEVBQUUsQ0FBQztROUI5TUMsU0FBSyxFUzJGRSxRQUErQixHcUJxSHpDLEVBQUE7STlCek5PLE1BQU0sOEI4QnVOZDtNQWxDUixBQWtDUSxlQWxDRixDQWtDRSxFQUFFLENBQUM7UTlCOU1DLFNBQUssRVMyRkUsU0FBK0IsR3FCcUh6QyxFQUFBO0FBR1QsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsZUFBZSxHQUMzQjs7QUFDRCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxlQUFlLEdBQzNCOztBQUNELEFBQUEsTUFBTSxBQUFBLFlBQVksQ0FBQztFQUNmLE1BQU0sRUFBRSxLQUFLLEdBQ2hCOztBQUVELE1BQU0sb0NBQ0Y7RUFBQSxBQUFBLE1BQU0sQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFJLEdBQ3BCLEVBQUE7O0FBSUwsQUFJSSxZQUpRLENBSVIsRUFBRSxDQUFDO0VBQ0MsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBR0wsQUFHSSxVQUhNLENBR04sRUFBRSxDQUFDO0VBRUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEN2QnpRSCxNQUF5QixDdUJ5UWIsQ0FBQyxHQWlCeEI7RUF0QkwsQUFPUSxVQVBFLENBR04sRUFBRSxDQUlFLEVBQUUsQ0FBQztJQUVDLEtBQUssRXZCN1FELE9BQXlCLEd1QjhRaEM7RUFWVCxBQVlRLFVBWkUsQ0FHTixFQUFFLENBU0UsRUFBRSxDQUFDO0lBRUMsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEV2Qm5SUCxNQUF5QjtJdUJvUjdCLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRXZCdFJDLE9BQXlCO0l1QnVSN0IsS0FBSyxFdkJ2UkQsTUFBeUI7SXVCd1I3QixLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUlULEFBQUEsT0FBTyxDQUFDO0VBQ0osYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBSUQsQUFBQSxRQUFRLENBQUM7RUFFTCxPQUFPLEVBQUUsUUFBUTtFQUNqQixTQUFTLEVBQUUsUUFBUTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLFVBQVUsRUFBRSxHQUFHLEdBNEJsQjtFQWxDRCxBQVFJLGlCQVJJLENBUU87SUFFUCxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSx1Q0FBdUM7SUFDbkQsU0FBUyxFQUFFLEdBQUc7SUFDZCxnQkFBZ0IsRWhEeFRULE9BQU87SWdEeVRkLEtBQUssRWhEelNhLE9BQU87SWdEMlN6QixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxPQUNmLEdBQUM7RUF2QkwsQUF5QkksY0F6QkksQ0F5Qkk7SUFDSixLQUFLLEVoRDNOa0IsSUFBSTtJZ0Q0TjNCLFdBQVcsRUFBRSxlQUFlLEdBQy9CO0VBNUJMLEFBOEJJLFFBOUJJLENBOEJGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUN0QixVQUFVLEVBQUUsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUlMLEFBQUEsYUFBYSxFRytEYiwwQkFBWSxDSC9ERTtFOUJsVEYsV0FBSyxFZStFVyxNQUFNO0VmL0V0QixPQUFLLEVlS1EsSUFBSTtFZkxqQixTQUFLLEVlTVUsR0FBRztFZk5sQixlQUFLLEVlbUVXLE1BQU07RWZuRXRCLFVBQUssRU1KYyxRQUF5QjtFTkk1QyxhQUFLLEVNSmMsUUFBeUI7RXdCeVRwRCxNQUFNLEVBQUUsTUFBTTtFQUNkLFNBQVMsRUFBRSxJQUFJLEdBbUNsQjtFQXZDRCxBOUJ2VGdCLGE4QnVUSCxHOUJ0VlgsQ0FBQyxFaUNxWkgsMEJBQVksR2pDclpWLENBQUMsQ0ErQmlCO0lBS1IsU0FBSyxFZVNjLENBQUMsR2ZaZjtFOEJxVGpCLEFBTUksdUJBTlMsRUcrRGIsOEJBQVksRUFBWixvQ0FBWSxDSHpESTtJOUJ4VEosV0FBSyxFT05ELFFBQWlDO0lQTXJDLFlBQUssRU9ORCxRQUFpQztJdUJpVXpDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRHpWWCxPQUFPO0lnRDBWYixhQUFhLEVBQUUsS0FBSztJQUNwQixNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFkTCxBQWdCSSxxQkFoQlMsQ0FnQkM7SUFDTixNQUFNLEVBQUUsQ0FBQztJQUNULGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEtBQUssRWhEelJNLE9BQU87SWdEMFJsQixTQUFTLEVBQUUsTUFBTTtJQUNqQixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsT0FBTztJQUNwQixTQUFTLEVBQUUsV0FBVyxHQWN6QjtJQXRDTCxBQTBCUSxxQkExQkssQ0EwQkwsTUFBTSxDQUFDO01BQUMsV0FBVyxFQUFDLE1BQU0sR0FBRztJQTFCckMsQUE0QlEscUJBNUJLLENBNEJMLHVCQUF1QixFQTVCL0IscUJBQWEsQ0crRGIsOEJBQVksRUgvRFoscUJBQWEsQ0crRGIsb0NBQVksQ0huQ29CO01BQ3BCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDaERuU1YsT0FBTztNZ0RvU2QsYUFBYSxFQUFFLE9BQU87TUFDdEIsS0FBSyxFQUFFLFFBQVE7TUFDZixXQUFXLEVBQUUsQ0FBQztNQUNkLFlBQVksRUFBRSxNQUFNLEdBSXZCO01BckNULEFBa0NZLHFCQWxDQyxDQTRCTCx1QkFBdUIsRUFNbEIsV0FBVyxFQWxDeEIscUJBQWEsQ0crRGIsOEJBQVksRUg3QkMsV0FBVyxFQWxDeEIscUJBQWEsQ0crRGIsb0NBQVksRUg3QkMsV0FBVyxDQUFBO1FBQ1IsZ0JBQWdCLEVoRHpTYixPQUFPLENnRHlTMEIsVUFBVSxHQUNqRDs7QUFLYixBQUNJLHNCQURrQixDQUNsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLEVBQVU7RUFDWixhQUFhLEVBQUUsb0JBQW9CLEdBQ3RDOztBQUhMLEFBSUksOEJBSmtCLENBSVQ7RUFDTCxnQkFBZ0IsRWhEcFNKLE9BQU8sQ2dEb1NrQixVQUFVLEdBQ2xEOztBQU5MLEFBT0ksNEJBUGtCLENBT1Y7RUFDSixnQkFBZ0IsRWhEOVZBLE9BQU8sQ2dEOFZrQixVQUFVLEdBQ3REOztBQ3hZTCxBQUFBLE9BQU8sQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakRpRUssT0FBTztFaURoRTdCLEtBQUssRWpEZ0VpQixPQUFPO0VpRC9EN0IsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLElBQUksR0FhZjtFQW5CRCxBQVFJLHlCQVJXLENBUUM7SUFDUixLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0VBWkwsQUFjSSx5QkFkVyxDQWNDO0lBQ1IsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsS0FBSyxHQUN2Qjs7QUFHTCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVqRGlDc0IsT0FBTztFaURoQ2xDLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsdUJBQXVCLENBQUM7RUFDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUksR0FTaEI7RUFWRCxBQUVJLGFBRlMsQ0FFVCxDQUFDLENBQUM7SUFDRSxLQUFLLEVqRG1CYSxPQUFPO0lpRGxCekIsTUFBTSxFQUFFLEtBQUssR0FDaEI7RUFMTCxBQU1JLGFBTlMsQ0FNVCxXQUFXLENBQUM7SUFDUixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsT0FBTyxHQUNmOztBQUdMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTSxHQWdCdEI7RUFwQkQsQUFLSSxjQUxVLENBS1YsS0FBSyxDQUFDO0lBQ0YsWUFBWSxFQUFFLE1BQU07SUFDcEIsTUFBTSxFQUFFLEtBQUssR0FDaEI7RUFSTCxBQVVRLG9CQVZNLENBVU4sS0FBSyxDQUFDO0lBQ0YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pER0csT0FBTztJaURGM0IsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFmVCxBQWdCUSxvQkFoQk0sQ0FnQk4sQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFakREZSxPQUFPLEdpREU5Qjs7QUFJVCxBQUFBLGNBQWMsQ0FBQztFQUNYLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRWpEZGlCLE9BQU87RWlEZTdCLE1BQU0sRUFBRSxpQkFBaUIsR0FDNUI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDUixLQUFLLEVqRFBpQixPQUFPLENpRE9HLFVBQVUsR0FDN0M7O0FBRUQsTUFBTSxtQkFDRjtFQUFBLEFBQUEsY0FBYyxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFFRCxBQUFBLE9BQU8sQ0FBQztJQUNKLE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0VBRUQsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLGFBQWEsRUFBRSxNQUFNLEdBQ3hCLEVBUkE7O0NDOUVKLEFBQUQsSUFBSyxDQUFDO0VBQ0YsYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RWhDdUJQLFVBQUssRVd3Q1csTUFBTTtFWHhDdEIsU0FBSyxFUzJGRSxRQUErQjtFVDNGdEMsV0FBSyxFZStFVyxNQUFNO0VmL0V0QixPQUFLLEVlMkJRLElBQUk7RWYzQmpCLFNBQUssRWU0QlUsTUFBTTtFZjVCckIsZUFBSyxFZTZCZ0IsYUFBYTtFaUJqRDFDLGdCQUFnQixFdEJNTSwyQkFBa0Q7RXNCTHhFLGFBQWEsRWxEd09nQixHQUFHO0VrRHZPaEMsS0FBSyxFdEJJaUIsaUNBQWtEO0VzQkh4RSxLQUFLLEVBZEssSUFBSTtFQWVkLE1BQU0sRUFBRSxLQUFLO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTSxHQXdGbkI7RWhDbkZlLE1BQU0sOEJnQ2R0QjtJQUFBLEFBQUEsa0JBQWtCLENBQUM7TWhDdUJQLFNBQUssRVMyRkUsUUFBK0IsR3VCakJqRCxFQUFBO0VoQ25GZSxNQUFNLDhCZ0NkdEI7SUFBQSxBQUFBLGtCQUFrQixDQUFDO01oQ3VCUCxTQUFLLEVTMkZFLFFBQStCLEd1QmpCakQsRUFBQTtFaENuRmUsTUFBTSw4QmdDZHRCO0lBQUEsQUFBQSxrQkFBa0IsQ0FBQztNaEN1QlAsU0FBSyxFUzJGRSxRQUErQixHdUJqQmpELEVBQUE7RUFqR0QsQWhDa0JnQixrQmdDbEJFLEdoQ2JoQixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWUrQmMsQ0FBQyxHZmxDZjtFZ0NUYixNQUFNLDhCQVhWO0lBQUEsQUFBQSxrQkFBa0IsQ0FBQztNQVlYLEtBQUssRUFBRSxLQUFLO01BQ1osYUFBYSxFQUFFLFFBQVEsR0FvRjlCLEVBQUE7RUFqR0QsQUFnQkksd0JBaEJjLENBZ0JOO0loQ09BLFNBQUssRVMyRkUsUUFBK0I7SVQzRnRDLFdBQUssRVdDUyxHQUFHO0lxQkpqQixnQkFBZ0IsRXRCWEYsaUNBQWtEO0lzQlloRSxLQUFLLEV0QlpTLDJCQUFrRDtJc0JjcEUsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsTUFBTSxHQVlsQjtJaEN0QlcsTUFBTSw4QmdDRWxCO01BaEJKLEFBZ0JJLHdCQWhCYyxDQWdCTjtRaENPQSxTQUFLLEVTMkZFLFFBQStCLEd1QjlFN0MsRUFBQTtJaEN0QlcsTUFBTSw4QmdDRWxCO01BaEJKLEFBZ0JJLHdCQWhCYyxDQWdCTjtRaENPQSxTQUFLLEVTMkZFLFFBQStCLEd1QjlFN0MsRUFBQTtJaEN0QlcsTUFBTSw4QmdDRWxCO01BaEJKLEFBZ0JJLHdCQWhCYyxDQWdCTjtRaENPQSxTQUFLLEVTMkZFLFFBQStCLEd1QjlFN0MsRUFBQTtJQVZHLE1BQU0sOEJBVlY7TUFoQkosQUFnQkksd0JBaEJjLENBZ0JOO1FBV0EsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsSUFBSSxHQU9uQjtRQXBDTCxBQStCWSx3QkEvQk0sQ0ErQk4sVUFBVSxDQUFDO1VBQ1AsT0FBTyxFQUFFLElBQUk7VUFDYixNQUFNLEVBQUUsTUFBTSxHQUNqQixFQUVSO0VBcENMLEFBcUNJLDhCQXJDYyxDQXFDQTtJaENkTixPQUFLLEVtQnlGUSxDQUFDO0luQnpGZCxNQUFLLEVtQjBGTyxDQUFDO0luQjFGYixVQUFLLEVtQjJGVyxJQUFJO0luQjNGcEIsV0FBSyxFTUpjLFFBQXlCO0lOSTVDLGNBQUssRU1KYyxRQUF5QixHMEJ3Qm5EO0lBM0NMLEFoQ2tCZ0IsOEJnQ2xCRSxHaENiaEIsRUFBRSxDQStCZ0I7TUFLUixPQUFLLEVtQjZGWSxNQUFNLEduQmhHbEI7SWdDcEJqQixBQXdDUSw4QkF4Q1UsR0F3Q1IsRUFBRSxDQUFDO01oQ2pCRCxZQUFLLEVNSmMsUUFBeUI7TU5JNUMsYUFBSyxFTUpjLFFBQXlCLEcwQnVCL0M7RUExQ1QsQUE0Q0ksd0JBNUNjLENBNENOO0loQ3JCQSxXQUFLLEVlMEJZLE9BQU87SWYxQnhCLE9BQUssRWUyQlEsSUFBSTtJZjNCakIsU0FBSyxFZTRCVSxNQUFNO0lmNUJyQixlQUFLLEVlbUVXLE1BQU07SWZuRXRCLE9BQUssRU1KYyxNQUF5QjtJMEI0QmhELFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUksR0FrQmhCO0lBbEVMLEFoQ2tCZ0Isd0JnQ2xCRSxHaENiaEIsQ0FBQyxDQStCaUI7TUFLUixTQUFLLEVlK0JjLENBQUMsR2ZsQ2Y7SWdDcEJqQixBQWtEUSx3QkFsRFUsQ0FrRFYsQ0FBQyxDQUFDO01oQzNCRSxTQUFLLEVTMkZFLFFBQStCO01UM0Z0QyxXQUFLLEVsQjhJTSxXQUFXO01rRGhIdEIsS0FBSyxFbER4Q0gsS0FBSztNa0R5Q1AsV0FBVyxFQUFFLEdBQUc7TUFDaEIsUUFBUSxFQUFFLE1BQU07TUFDaEIsYUFBYSxFQUFFLFFBQVE7TUFDdkIsT0FBTyxFQUFFLFdBQVc7TUFDcEIsa0JBQWtCLEVBQUUsQ0FBQztNQUNyQixrQkFBa0IsRUFBRSxRQUFRO01BQzVCLE9BQU8sRUFBRSxtQkFBbUIsR0FDL0I7TWhDL0NPLE1BQU0sOEJnQ29DZDtRQWxEUixBQWtEUSx3QkFsRFUsQ0FrRFYsQ0FBQyxDQUFDO1VoQzNCRSxTQUFLLEVTMkZFLFFBQStCLEd1QnJEekMsRUFBQTtNaEMvQ08sTUFBTSw4QmdDb0NkO1FBbERSLEFBa0RRLHdCQWxEVSxDQWtEVixDQUFDLENBQUM7VWhDM0JFLFNBQUssRVMyRkUsUUFBK0IsR3VCckR6QyxFQUFBO01oQy9DTyxNQUFNLDhCZ0NvQ2Q7UUFsRFIsQUFrRFEsd0JBbERVLENBa0RWLENBQUMsQ0FBQztVaEMzQkUsU0FBSyxFUzJGRSxTQUErQixHdUJyRHpDLEVBQUE7SUFFRCxNQUFNLG1DQW5CVjtNQTVDSixBQTRDSSx3QkE1Q2MsQ0E0Q047UUFvQkEsT0FBTyxFQUFFLEtBQUssR0FFckIsRUFBQTtFQWxFTCxBQW1FSSw0QkFuRWMsQ0FtRUY7SWhDNUNKLGNBQUssRVdtQmMsU0FBUztJWG5CNUIsU0FBSyxFUzJGRSxRQUErQjtJVDNGdEMsTUFBSyxFTUpjLE9BQXlCO0lOSTVDLFdBQUssRVdDUyxHQUFHO0lxQjhDckIsS0FBSyxFbEQ1REMsT0FBTztJa0Q2RGIsT0FBTyxFQUFFLEtBQUssR0FDakI7SWhDMURXLE1BQU0sOEJnQ3FEbEI7TUFuRUosQUFtRUksNEJBbkVjLENBbUVGO1FoQzVDSixTQUFLLEVTMkZFLFFBQStCLEd1QjFDN0MsRUFBQTtJaEMxRFcsTUFBTSw4QmdDcURsQjtNQW5FSixBQW1FSSw0QkFuRWMsQ0FtRUY7UWhDNUNKLFNBQUssRVMyRkUsUUFBK0IsR3VCMUM3QyxFQUFBO0loQzFEVyxNQUFNLDhCZ0NxRGxCO01BbkVKLEFBbUVJLDRCQW5FYyxDQW1FRjtRaEM1Q0osU0FBSyxFUzJGRSxRQUErQixHdUIxQzdDLEVBQUE7RUF4RUwsQUF5RUksMEJBekVjLENBeUVKO0loQ2xERixXQUFLLEVNSmMsUUFBeUI7SU5JNUMsVUFBSyxFTUpjLFFBQXlCO0kwQndEaEQsV0FBVyxFQUFFLE1BQU07SUFHZixVQUFVLEV0QnJFSSwyQkFBa0QsQ3NCcUViLDJDQUE0QixDQUFDLE1BQU07SUFFMUYscUJBQXFCLEVBQUUsVUFBVTtJQUNqQyxLQUFLLEVBQUUsSUFBSSxHQU9kO0lBTEcsTUFBTSxtQ0FDRjtNQXBGWixBQW9GWSwwQkFwRk0sQ0FvRk4sQ0FBQyxDQUFDO1FBQ0UsYUFBYSxFQUFFLE1BQU0sR0FDeEIsRUFBQTtFQXRGYixBQTBGSSxrQkExRmMsQ0EwRmQsYUFBYSxFQTFGakIsa0JBQWtCLENDd1lsQiwwQkFBWSxDRDlTTTtJQUNWLEtBQUssRUFBRSxLQUFLLEdBS2Y7SUFoR0wsQUE2RlEsa0JBN0ZVLENBMEZkLHVCQUFhLEVBMUZqQixrQkFBa0IsQ0N3WWxCLDhCQUFZLEVEeFlaLGtCQUFrQixDQ3dZbEIsb0NBQVksQ0QzU1E7TUFDUixZQUFZLEVsRGpGVixLQUFLLEdrRGtGVjs7QWhDbEdELE1BQU0sOEJnQ3NHZDtFQUFBLEFBQUEsZ0JBQWdCLENBQUM7SUFFVCxXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRXpCdkdBLE9BQXlCO0l5QndHakMscUJBQXFCLEVBQUUscUNBQXFDLEdBa0JuRTtJQXZCRCxBQU9RLGdCQVBRLEdBT04sQ0FBQyxDQUFDO01BQ0EsWUFBWSxFQUFFLE1BQU07TUFDcEIsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsSUFBSSxHQUtoQixFQVFSO0lBWFcsTUFBTSx1REFMVjtNQVBSLEFBT1EsZ0JBUFEsR0FPTixDQUFDLENBQUM7UUFLd0MsU0FBUyxFQUFFLEtBQUssR0FHM0QsRUFBQTtBaENySEQsTUFBTSw4QmdDb0hGO01BZFosQUFjWSxnQkFkSSxHQU9OLENBQUMsR0FPRyxDQUFDLENBQUM7UUFBQyxhQUFhLEV6QmpIZCxPQUF5QixHeUJpSEcsRUFBRDs7QUFJdkMsTUFBTSwrQkFsQlY7RUFBQSxBQUFBLGdCQUFnQixDQUFDO0lBbUJULFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxDQUFDO0lBQ2QscUJBQXFCLEVBQUUsaURBQWlELEdBRS9FLEVBQUE7O0FBRUQsQUFDSSwwQkFEWSxDQUNBO0VBQ1IsS0FBSyxFQUFFLFNBQVM7RUFDaEIsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVsRDNIUSxPQUFPO0VrRDRIekIsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CO0VBQ3BELGFBQWEsRUFBRSxTQUFTO0VBQ3hCLFlBQVksRUFBRSxRQUFRLEdBQ3pCOztBQVRMLEFBVUksc0JBVlksQ0FVSjtFQUNKLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGNBQWMsRUFBRSxRQUFRO0VBQ3hCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQWZMLEFBZ0JJLHNCQWhCWSxDQWdCSjtFQUNKLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUlMLEFBQ0ksY0FEVSxDQUNWLG1CQUFtQixDQUFDO0VBQ2hCLFVBQVUsRWxEMUlKLEtBQUs7RWtEMklYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxTQUFTO0VBRXhCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQVhMLEFBYUksY0FiVSxDQWFWLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsZ0JBQWdCO0VBRXpCLGNBQWMsRUFBRSxNQUFNLEdBYXpCO0VBL0JMLEFBb0JRLGNBcEJNLENBYVYscUJBQXFCLENBT2pCLFVBQVUsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLFFBQVE7SUFDekIsT0FBTyxFQUFFLEtBQUssR0FDakI7RUF4QlQsQUEwQlEsY0ExQk0sQ0FhVixxQkFBcUIsQ0FhakIsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFbERyTEYsT0FBTztJa0RzTFYsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBR0wsTUFBTSw4QkFqQ1Y7RUFBQSxBQUFBLGNBQWMsQ0FBQztJQWtDUCxjQUFjLEVBQUUsTUFBTTtJQUN0QixNQUFNLEVBQUUsQ0FBQztJQUVULFVBQVUsRUFBRSxJQUFJO0lBRWhCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsTUFBTSxFQUFFLEtBQUs7SUFDYixJQUFJLEVBQUUsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBRWIsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxnQkFBZ0IsRWxEckxWLEtBQUs7SWtEc0xYLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEdBQUcsR0F1QnRCO0lBdEVELEFBaURRLGNBakRNLENBaUROLG1CQUFtQixDQUFDO01BQ2hCLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUFFLE1BQU07TUFDdkIsVUFBVSxFQUFFLElBQUk7TUFDaEIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsU0FBUyxHQUNyQjtJQXZEVCxBQTBEUSxjQTFETSxDQTBETixDQUFDLENBQUM7TUFDRSxVQUFVLEVBQUUsTUFBTSxHQUNyQjtJQTVEVCxBQThEUSxjQTlETSxDQThETiwwQkFBMEIsQ0FBQztNQUN2QixPQUFPLEVBQUUsQ0FBQyxHQUNiO0lBaEVULEFBa0VRLGNBbEVNLENBa0VOLHFCQUFxQixDQUFDO01BQ2xCLE9BQU8sRUFBRSxLQUFLLEdBQ2pCLEVBRVI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixTQUFTLEVBQUUsR0FBRztFQUNkLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxTQUFTLEdBQ3pCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ1osV0FBVyxFQUFFLFNBQVM7RUFDdEIsZUFBZSxFQUFFLFNBQVMsR0FDN0I7O0FHcFBELEFBQUEsT0FBTyxDQUFDO0VBQ0osbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixNQUFNLEVBQUUsS0FBSztFQUNiLFFBQVEsRUFBRSxRQUFRLEdBT3JCO0VBTEcsTUFBTSwwQ0FDRjtJQU5SLEFBTVEsT0FORCxDQU1HO01BQ0UsTUFBTSxFQUFFLEtBQUssR0FDaEIsRUFBQTtBQUlULEFBQUEsb0JBQW9CLENBQUM7RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxPQUFPO0VBQ2YsVUFBVSxFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLHVCQUF1QjtFQUNuQyxpQkFBaUIsRUFBRSxNQUFNLEdBMks1QjtFQXpLRyxNQUFNLG1DQUNGO0lBVFIsQUFTUSxvQkFUWSxDQVNWO01BQ0UsT0FBTyxFQUFFLCtCQUErQixHQUMzQyxFQUFBO0VBR0wsTUFBTSwwQ0FDRjtJQWZSLEFBZVEsb0JBZlksQ0FlVjtNQUNFLE9BQU8sRUFBRSwrQkFBK0IsR0FDM0MsRUFBQTtFQWpCVCxBQW9CSSxpQ0FwQmdCLENBb0JEO0lBQ1gsZ0JBQWdCLEVBQUUseURBQXlEO0lBQzNFLE1BQU0sRUFBRSxLQUFLLEdBT2hCO0lBTEcsTUFBTSwwQ0FDRjtNQXpCWixBQXlCWSxpQ0F6QlEsQ0F5Qk47UUFDRSxNQUFNLEVBQUUsS0FBSyxHQUNoQixFQUFBO0VBM0JiLEFBK0JJLDhCQS9CZ0IsQ0ErQko7SUFDUixnQkFBZ0IsRUFBRSx3REFBZ0U7SUFDbEYsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLE9BQU87SUFDZixVQUFVLEVBQUUsVUFBVSxHQUN6QjtFQXBDTCxBQXNDSSx5QkF0Q2dCLENBc0NUO0lBQ0gsT0FBTyxFQUFFLElBQUk7SUFDYixrQkFBa0IsRUFBRSxrQkFBa0I7SUFDdEMsUUFBUSxFQUFFLFFBQVEsR0FLckI7SUFIRyxNQUFNLG1CQUxWO01BdENKLEFBc0NJLHlCQXRDZ0IsQ0FzQ1Q7UUFNQyxrQkFBa0IsRUFBRSxjQUFjLEdBRXpDLEVBQUE7RUE5Q0wsQUFnREksNEJBaERnQixDQWdETjtJQUNOLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxLQUFLO0lBQ2QsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUF2REwsQUF5REksOEJBekRnQixFQUFwQixpQ0FBb0IsQ0F5RFk7SUFDeEIsS0FBSyxFQUFFLElBQUk7SUFDWCxlQUFlLEVBQUUsS0FBSyxHQUN6QjtFQTVETCxBQThESSwyQkE5RGdCLEVBQXBCLGlDQUFvQixDQThEUDtJQUNMLEtBQUssRXJEakRDLEtBQUs7SXFEa0RYLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxXQUNqQixHQUFDO0VBcEVMLEFBc0VJLGlDQXRFZ0IsQ0FzRUQ7SUFFWCxLQUFLLEVyRDVEYSxPQUFPLEdxRDZENUI7RUF6RUwsQUEyRUksMEJBM0VnQixDQTJFUjtJQUNKLEtBQUssRXJEakVDLE9BQU87SXFEa0ViLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGNBQWMsRUFBRSxLQUFLLEdBYXhCO0lBWEcsTUFBTSxtQ0FDRjtNQW5GWixBQW1GWSwwQkFuRlEsQ0FtRk47UUFDRSxVQUFVLEVBQUUsSUFBSTtRQUNoQixVQUFVLEVBQUUsTUFBTSxHQUNyQixFQUFBO0lBdEZiLEFBMEZRLGlDQTFGWSxDQTBGSDtNQUNMLEtBQUssRXJEN0VILEtBQUssR3FEOEVWO0VBNUZULEFBK0ZJLDBCQS9GZ0IsQ0ErRlI7SUFDSixLQUFLLEVyRHJHQyxPQUFPLEdxRHNHaEI7RUFqR0wsQUFtR0ksNkJBbkdnQixDQW1HTDtJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsZ0JBQWdCLEVyRDVGVixLQUFLO0lxRDZGWCxLQUFLLEVyRGhHQyxPQUFPO0lxRGlHYixhQUFhLEVBQUUsTUFBTTtJQUNyQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLE9BQU8sR0FtQmxCO0lBcElMLEFBbUhRLDZCQW5IWSxDQW1IWixDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsTUFBTSxHQUNwQjtJQXJIVCxBQXVIUSw2QkF2SFksQ0F1SFosR0FBRyxDQUFDO01BQ0EsT0FBTyxFQUFFLElBQUk7TUFDYixXQUFXLEVBQUUsTUFBTSxHQUN0QjtJQUVELE1BQU0sbUJBQ0Y7TUE3SFosQUE2SFksNkJBN0hRLENBNkhOO1FBQ0UsR0FBRyxFQUFFLENBQUM7UUFDTixLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLElBQUksR0FDbEIsRUFBQTtFQWxJYixBQXNJSSw2QkF0SWdCLENBc0lMO0lBQ1AsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsTUFBTTtJQUNqQixHQUFHLEVBQUUsTUFBTTtJQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLE9BQU8sR0FrQmxCO0lBOUpMLEFBOElRLDZCQTlJWSxDQThJWixHQUFHLENBQUMsV0FBVyxDQUFDO01BQ1osYUFBYSxFQUFFLEtBQUssR0FDdkI7SUFoSlQsQUFrSlEsNkJBbEpZLENBa0paLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO01BQ2IsT0FBTyxFQUFFLFVBQVU7TUFDbkIsYUFBYSxFQUFFLEtBQUs7TUFDcEIsZ0JBQWdCLEVyRC9JRixPQUFPO01xRGdKckIsS0FBSyxFckQzSUgsT0FBTyxHcUQ0SVo7SUFFRCxNQUFNLG1CQUNGO01BMUpaLEFBMEpZLDZCQTFKUSxDQTBKTjtRQUNFLEdBQUcsRUFBRSxJQUFJLEdBQ1osRUFBQTtFQTVKYixBQWdLSSxvQkFoS2dCLENBZ0toQix3QkFBd0IsQ0FBQztJQUNyQixnQkFBZ0IsRXJEbkpWLEtBQUs7SXFEb0pYLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEVBQUUsR0FBRztJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxPQUFPLEdBQ2xCO0VBektMLEFBMktJLG9CQTNLZ0IsQ0EyS2hCLHVCQUF1QixDQUFDLEdBQUcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQTdLTCxBQThLSSxvQkE5S2dCLENBOEtoQix1QkFBdUIsQ0FBQyxHQUFHLENBQUM7SUFDeEIsS0FBSyxFckRwS0MsT0FBTyxHcURxS2hCOztBQzVMTCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLGdCQUFnQixFdERFTixPQUFPO0VzRERqQixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE1BQU0sRUFBRSxPQUFPLEdBNkRsQjtFQXRFRCxBQVdJLGlDQVhpQixDQVdIO0lBQ1YsS0FBSyxFQUFFLElBQUksR0FDZDtFQWJMLEFBZUksNkJBZmlCLENBZVA7SUFDTixLQUFLLEV0RFVDLEtBQUs7SXNEVFgsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsT0FBTyxHQWtDZjtJQXBETCxBQW9CUSxtQ0FwQmEsQ0FvQkw7TUFDSixPQUFPLEVBQUUsSUFBSTtNQUNiLEdBQUcsRUFBRSxJQUFJLEdBbUJaO01BekNULEFBd0JZLG1DQXhCUyxDQXdCVCxHQUFHLENBQUM7UUFDQSxPQUFPLEVBQUUsSUFBSTtRQUNiLGdCQUFnQixFdERBbEIsS0FBSztRc0RDSCxhQUFhLEVBQUUsR0FBRztRQUNsQixLQUFLLEVBQUUsTUFBTTtRQUNiLE1BQU0sRUFBRSxNQUFNO1FBQ2QsZUFBZSxFQUFFLE1BQU0sR0FLMUI7UUFuQ2IsQUFnQ2dCLG1DQWhDSyxDQXdCVCxHQUFHLENBUUMsQ0FBQyxDQUFFO1VBQ0MsS0FBSyxFdEQxQlgsT0FBTyxHc0QyQko7TUFsQ2pCLEFBcUNZLG1DQXJDUyxDQXFDVCxJQUFJLENBQUM7UUFDRCxjQUFjLEVBQUUsU0FBUztRQUN6QixXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQUdMLE1BQU0sbUJBQ0Y7TUE1Q1osQUE0Q1ksNkJBNUNTLENBNENQO1FBQ0UsU0FBUyxFQUFFLE1BQU0sR0FLcEI7UUFsRGIsQUErQ2dCLG1DQS9DSyxDQStDRztVQUNKLGVBQWUsRUFBRSxNQUFNLEdBQzFCLEVBQ0o7RUFJVCxNQUFNLHdDQUNGO0lBdkRSLEFBdURRLHFCQXZEYSxDQXVEWDtNQUNFLFFBQVEsRUFBRSxDQUFDO01BQ1gsV0FBVyxFQUFFLEtBQUs7TUFDbEIsUUFBUSxFQUFFLGdCQUFnQjtNQUMxQixLQUFLLEVBQUUsS0FBSztNQUNaLFNBQVMsRUFBRSxJQUFJO01BQ2YsTUFBTSxFQUFFLFFBQVE7TUFDaEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLElBQUksR0FLaEI7TUFwRVQsQUFpRVksNkJBakVTLENBaUVDO1FBQ04sR0FBRyxFQUFFLEtBQUssR0FDYixFQUNKO0FIakRULEFBQUEsYUFBYSxBQUFBLFVBQVUsRUFBVixVQUFVLEFRWnZCLE1BQU0sQ1JZa0I7RUFDcEIsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBRUQsQUFHSSxxQkFIaUIsQ0FHakIsYUFBYSxFQUhqQixxQkFBcUIsQ1FoQnJCLE1BQU0sQ1JtQlk7RUFDVixxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FPakY7RUFMRyxNQUFNLG1CQUNGO0lBUFosQUFPWSxxQkFQUyxDQUdqQixhQUFhLEVBSGpCLHFCQUFxQixDUWhCckIsTUFBTSxDUnVCUTtNQUNFLHFCQUFxQixFQUFFLFVBQVUsR0FDcEMsRUFBQTtBQVRiLEFBYUkscUJBYmlCLENBYWpCLE9BQU8sQ0FBQztFQXZCSixVQUFRLEVBSmdCLHdCQUF3QjtFQThCaEQsVUFBVSxFQUFFLElBQUksR0FPbkI7RUF2QkwsQUFrQlEscUJBbEJhLENBYWpCLE9BQU8sQ0FLSCxrQkFBa0IsQ0FBQztJQUNmLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRW5EbkNGLE9BQU8sQ21EbUNXLFVBQVU7SUFDL0IsY0FBYyxFQUFFLE9BQU8sR0FDMUI7O0FBdEJULEFBd0JJLHFCQXhCaUIsQ0F3QmpCLEVBQUUsQ0FBQztFQUVDLFdBQVcsRUFBRSx1QkFBdUIsR0FDdkM7O0FBM0JMLEFBNEJJLDZCQTVCaUIsQ0E0QlA7RWpDZkYsV0FBSyxFZUlZLE9BQU87RWZKeEIsT0FBSyxFZUtRLElBQUk7RWZMakIsU0FBSyxFZU1VLEdBQUc7RWZObEIsZUFBSyxFZU9nQixhQUFhO0VmUGxDLFlBQUssRU1KYyxJQUF5QjtFTkk1QyxhQUFLLEVNSmMsSUFBeUI7RTJCc0JoRCxNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxRQUFRLEdBSXJCO0VBcENMLEFqQ1FnQiw2QmlDUkssR2pDdkJuQixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWVTYyxDQUFDLEdmWmY7RWlDVmpCLEFBaUNRLDZCQWpDYSxDQWlDYixDQUFDLENBQUM7SUFDRSxLQUFLLEVuRGpERixPQUFPLEdtRGtEYjs7QUFuQ1QsQUF1Q0kscUJBdkNpQixDQXVDakIsS0FBSztBQXZDVCxxQkFBcUIsQ0F3Q2pCLFFBQVEsQ0FBQztFQUNMLFVBQVUsRW5EdENKLEtBQUs7RW1EdUNYLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQTVDTCxBQTZDSSxxQkE3Q2lCLENBNkNqQixRQUFRLENBQUM7RUFDTCxNQUFNLEVBQUUsTUFBTTtFQUNkLFNBQVMsRUFBRSxNQUFNLEdBQ3BCOztBQWhETCxBQXFESSwyQkFyRGlCLENBcURUO0VBQ0osVUFBVSxFQUFFLE1BQU0sR0FJckI7RUExREwsQUF1RFEsMkJBdkRhLENBdURiLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQXpEVCxBQTZEUSw0QkE3RGEsQ0E2RGIsS0FBSyxDQUFDO0VBQ0YsYUFBYSxFQUFFLEtBQUssR0FDdkI7O0FBL0RULEFBZ0VRLDRCQWhFYSxDQWdFYixLQUFLLENBQUM7RUFDRixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFsRVQsQUFxRUksK0JBckVpQixDQXFFTDtFQUNSLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQXZFTCxBQXlFSSxxQkF6RWlCLENBeUVqQixTQUFTLENBQUM7RUFDTixLQUFLLEVBQUUsR0FBRztFQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQTVFTCxBQThFSSxxQkE5RWlCLENBOEVqQixVQUFVLENBQUM7RUFDUCxVQUFVLEVBQUUsUUFBUSxHQUN2Qjs7QUFHTCxBQUFBLHFCQUFxQixDQUFDLEtBQUs7QUFDM0Isa0JBQWtCLENBQUMsS0FBSztBQUN4QixXQUFXLENBQUMsS0FBSyxDQUNqQjtFQUNJLEtBQUssRW5EckVlLE9BQU87RW1Ec0UzQixXQUFXLEVBQUUsdUJBQXVCO0VBQ3BDLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUVELEFBQUEscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztFQUM3QixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFDRCxBQUFBLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDO0VBQzNDLGNBQWMsRUFBRSxVQUFVLEdBQzdCOztBQUVELEFBQUEscUJBQXFCLENBQUMsS0FBSyxDQUFDLFlBQVk7QUFDeEMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7RUFDdEMsY0FBYyxFQUFFLHFCQUFxQixHQUN4Qzs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsUUFBUTtFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixHQWdLakY7RUE5SkcsTUFBTSxtQ0FDRjtJQVBSLEFBT1Esa0JBUFUsQ0FPUjtNQUNFLHFCQUFxQixFQUFFLFVBQVU7TUFDakMsT0FBTyxFQUFFLE1BQU0sR0FDbEIsRUFBQTtFQVZULEFBYUksc0JBYmMsQ0FhUjtJQUNGLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBZkwsQUFnQkksc0JBaEJjLENBZ0JSO0lBQ0YsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxTQUFTLEVBQUUsUUFBUTtJQUNuQixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQXJCTCxBQXNCSSw0QkF0QmMsQ0FzQkY7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsU0FBUyxFQUFFLElBQUksR0FFbEI7SUEzQkwsQUEwQlEsNEJBMUJVLENBMEJWLEtBQUssQ0FBQztNQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUc7RUExQmxDLEFBNkJJLG1DQTdCYyxDQTZCSztJQUlmLFVBQVUsRUFBRSxPQUFPLEdBSXRCO0lBckNMLEFBOEJRLHlDQTlCVSxDQThCRjtNQUNKLFVBQVUsRUFBRSxRQUFRLEdBQ3ZCO0lBaENULEFBa0NRLG1DQWxDVSxDQWtDVix1QkFBdUIsQ0FBQztNQUNwQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBcENULEFBdUNJLGtCQXZDYyxDQXVDZCxTQUFTLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsV0FBVyxFQUFFLFFBQVE7SUFDckIsWUFBWSxFQUFFLE1BQU0sR0FDdkI7RUE1Q0wsQUErQ0ksa0JBL0NjLENBK0NkLEtBQUssQ0FBQztJQUNGLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBakRMLEFBbURJLGtCQW5EYyxDQW1EZCxTQUFTLENBQUM7SUFDTixLQUFLLEVBQUUsR0FBRztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBdERMLEFBeURRLGtCQXpEVSxDQXdEZCxNQUFNLENBQ0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0lBQ2pCLE1BQU0sRUFBRSxxQkFBcUIsR0FDaEM7RUEzRFQsQUE4REksaUNBOURjLENBOERHO0lBQ2IsS0FBSyxFQUFFLEtBQUssR0FZZjtJQVZHLE1BQU0sbUJBQ0Y7TUFsRVosQUFrRVksaUNBbEVNLENBa0VKO1FBQ0UsVUFBVSxFQUFFLE1BQU07UUFDbEIsS0FBSyxFQUFFLElBQUksR0FDZCxFQUFBO0lBckViLEFBd0VRLGlDQXhFVSxDQXdFVixXQUFXLEFBQUEsT0FBTyxDQUFDO01BQ2YsT0FBTyxFQUFFLFVBQVUsR0FDdEI7RUExRVQsQUE2RUksa0JBN0VjLENBNkVkLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxnQkFBZ0IsR0FDbEM7RUEvRUwsQUFpRkksa0JBakZjLENBaUZkLEtBQUssQ0FBQztJQUNGLE1BQU0sRUFBRSxxQkFBcUIsR0FDaEM7RUFuRkwsQUFzRlEsa0JBdEZVLENBcUZkLHlCQUFlLENBQ0M7SUFDUixNQUFNLEVBQUUsVUFBVTtJQUNsQixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDbkRwS2IsT0FBTztJbURxS1osVUFBVSxFbkRwS04sT0FBTztJbURxS1gsVUFBVSxFQUFFLE1BQU07SUFDbEIsTUFBTSxFQUFFLEtBQUs7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLEdBQUcsRUFBRSxRQUFRLEdBT2hCO0lBTEcsTUFBTSxtQ0FDRjtNQXBHaEIsQUFvR2dCLGtCQXBHRSxDQXFGZCx5QkFBZSxDQWVEO1FBQ0UsT0FBTyxFQUFFLGFBQWEsR0FDekIsRUFBQTtFQXRHakIsQUEwR1Esa0JBMUdVLENBcUZkLHlCQUFlLENBcUJDLFNBQVUsQ0FBQSxDQUFDLEVBQUU7SUFDekIsVUFBVSxFQUFFLE9BQU8sR0FDbEI7RUE1R1QsQUE4R1Esa0JBOUdVLENBcUZkLHNCQUFlLENBeUJGO0lBQ0wsS0FBSyxFbkQ1S2UsT0FBTztJbUQ2SzNCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0VBbEhULEFBb0hRLGtCQXBIVSxDQXFGZCwyQkFBZSxDQStCRztJQUNWLEtBQUssRW5EN0xBLE9BQU87SW1EOExaLFNBQVMsRUFBRSxPQUFPLEdBQ3JCO0VBdkhULEFBeUhRLGtCQXpIVSxDQXFGZCx3QkFBZSxDQW9DQTtJQUNQLFVBQVUsRUFBRSxRQUFRLEdBV3ZCO0lBcklULEFBNEhZLGtCQTVITSxDQXFGZCwrQkFBZSxDQXVDRTtNQUNMLGFBQWEsRUFBRSxNQUFNO01BQ3JCLEtBQUssRW5Eck5HLE9BQU87TW1Ec05mLFNBQVMsRUFBRSxHQUFHO01BQ2QsVUFBVSxFQUFFLE1BQU07TUFDbEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsY0FBYyxFQUFFLE9BQU8sR0FDMUI7RUFwSWIsQUF1SVEsa0JBdklVLENBcUZkLCtCQUFlLENBa0RPO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixHQUFHLEVBQUUsUUFBUSxHQVloQjtJQXRKVCxBQTRJWSxrQkE1SU0sQ0FxRmQsdUNBQWUsRUFyRm5CLGtCQUFrQixDQXFGZCxxQ0FBZSxDQXVEWTtNQUNqQixjQUFjLEVBQUUsU0FBUyxHQUMxQjtJQTlJYixBQStJWSxrQkEvSU0sQ0FxRmQsdUNBQWUsQ0EwREc7TUFDUixLQUFLLEVuRHhRSixPQUFPLEdtRDBRVDtJQWxKYixBQW1KWSxrQkFuSk0sQ0FxRmQscUNBQWUsQ0E4REM7TUFDTixLQUFLLEVuRHJNUSxPQUFPLEdtRHNNckI7RUFySmIsQUF3SlEsa0JBeEpVLENBcUZkLHlCQUFlLENBbUVDO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixHQUFHLEVBQUUsUUFBUSxHQU9oQjtJQUxHLE1BQU0sbUNBQ0Y7TUE5SmhCLEFBOEpnQixrQkE5SkUsQ0FxRmQseUJBQWUsQ0F5RUQ7UUFDRSxLQUFLLEVBQUUsR0FBRyxHQUNiLEVBQUE7QUFPakIsQUFDSSxTQURLLENBQ0wsT0FBTyxDQUFDO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTTtFQUNuQixHQUFHLEVBQUUsS0FBSztFQUNWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRW5ENU9jLE9BQU87RW1ENk8vQixNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsY0FBYyxFQUFFLE9BQU8sR0FDMUI7O0FBWkwsQUFjSSxTQWRLLENBY0wsS0FBSyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU07RUFDbEIsYUFBYSxFQUFFLGVBQWU7RUFDOUIsY0FBYyxFQUFFLE9BQU8sR0FDMUI7O0FBbEJMLEFBb0JJLG9CQXBCSyxDQW9CUTtFQUNULEtBQUssRW5EcFFJLE9BQU8sQ21Eb1FPLFVBQVU7RUFDakMsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFQUFFLE1BQU07RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBM0JMLEFBNkJJLHlCQTdCSyxDQTZCYTtFQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQS9CTCxBQWlDSSw4QkFqQ0ssQ0FpQ2tCO0VBQ25CLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEtBQUssRW5EdFJJLE9BQU8sR21Eb1NuQjtFQXJETCxBQXlDUSwyQ0F6Q0MsQ0F5Q2M7SUFDWCxLQUFLLEVuRHpSQSxPQUFPO0ltRDBSWixVQUFVLEVBQUUsTUFBTTtJQUNsQixTQUFTLEVBQUUsR0FBRztJQUNkLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBaERULEFBa0RRLG9DQWxEQyxDQWtETztJQUNMLFdBQVcsRUFBRSxHQUFHLEdBQ2xCOztBQUtULEFBQUEsYUFBYSxDQUFDO0VqQzVURixPQUFLLEVNSmMsT0FBeUI7RU5JNUMsV0FBSyxFTUpjLE9BQXlCO0VOSTVDLFlBQUssRU1KYyxPQUF5QjtFTkk1QyxLQUFLLEVLaUVFLElBQXlCO0U0QjhQeEMsYUFBYSxFbkQ3R2dCLE9BQU0sR21EOEd0Qzs7QUFHRCxBQUFBLGFBQWEsQ0FBQztFakNuVUYsVUFBSyxFV3dDVyxNQUFNO0VYeEN0QixLQUFLLEVsQmJILE9BQU87RW1EVmIsVUFBUSxFQUpnQix3QkFBd0IsR0ErWHZEO0VBakNELEFBSUksYUFKUyxDQUlULEtBQUssQ0FBQztJakN2VUUsV0FBSyxFV0ZZLEdBQUc7SVhFcEIsYUFBSyxFTUpjLE9BQXlCO0lOSTVDLEtBQUssRWxCYkgsT0FBTztJbURzVmIsY0FBYyxFQUFFLElBQUksR0FDdkI7RUFQTCxBQVNJLGFBVFMsQ0FTVCxRQUFRLENBQUM7SUFFTCxNQUFNLEUxQnJXRSxNQUF5QixDMEJxV2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBZEwsQUFlSSxhQWZTLENBZVQsSUFBSSxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsR0FDWjtFQWpCTCxBQWtCSSxvQkFsQlMsQ0FrQkE7SWpDclZELFNBQUssRVMyRkUsT0FBK0I7SXdCNlAxQyxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRW5EdFdDLG9CQUFPO0ltRHVXYixLQUFLLEVBQUUsS0FBSztJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ2hCO0lqQ3RXVyxNQUFNLDhCaUM4VmxCO01BbEJKLEFBa0JJLG9CQWxCUyxDQWtCQTtRakNyVkQsU0FBSyxFUzJGRSxPQUErQixHd0JrUTdDLEVBQUE7SWpDdFdXLE1BQU0sOEJpQzhWbEI7TUFsQkosQUFrQkksb0JBbEJTLENBa0JBO1FqQ3JWRCxTQUFLLEVTMkZFLE9BQStCLEd3QmtRN0MsRUFBQTtJakN0V1csTUFBTSw4QmlDOFZsQjtNQWxCSixBQWtCSSxvQkFsQlMsQ0FrQkE7UWpDclZELFNBQUssRVMyRkUsT0FBK0IsR3dCa1E3QyxFQUFBO0VBMUJMLEFBMkJJLGFBM0JTLENBMkJULEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsRUFBYTtJQW5YZixVQUFRLEVuRFJGLE9BQU87SW1EOFhiLFlBQVksRXZCL1dNLDJCQUFrRDtJdUJnWHBFLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUdMLEFBQUEsY0FBYyxDQUFDO0VqQ3RXSCxVQUFLLEVXd0NXLE1BQU07RXNCaVU5QixNQUFNLEVBQUUsU0FBUztFQUNqQixLQUFLLEVBQUUsR0FBRyxHQUtiO0VBVEQsQUFNSSxjQU5VLENBTVYsRUFBRSxDQUFDO0lqQzVXSyxTQUFLLEVTMkZFLFFBQStCO0lUM0Z0QyxjQUFLLEVXbUJjLFNBQVM7SVhuQjVCLEtBQUssRWxCN0JILE9BQU87SWtCNkJULFdBQUssRWxCOElNLFdBQVc7SWtCOUl0QixXQUFLLEVXQ1MsR0FBRyxHc0I2V3hCO0lqQ3ZYVyxNQUFNLDhCaUNxWGxCO01BTkosQUFNSSxjQU5VLENBTVYsRUFBRSxDQUFDO1FqQzVXSyxTQUFLLEVTMkZFLFFBQStCLEd3Qm1SN0MsRUFBQTtJakN2WFcsTUFBTSw4QmlDcVhsQjtNQU5KLEFBTUksY0FOVSxDQU1WLEVBQUUsQ0FBQztRakM1V0ssU0FBSyxFUzJGRSxRQUErQixHd0JtUjdDLEVBQUE7SWpDdlhXLE1BQU0sOEJpQ3FYbEI7TUFOSixBQU1JLGNBTlUsQ0FNVixFQUFFLENBQUM7UWpDNVdLLFNBQUssRVMyRkUsU0FBK0IsR3dCbVI3QyxFQUFBO0FBR0wsQUFBQSxZQUFZLENBQUM7RUFDVCxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsd0JBQXdCO0VBQ3BDLE9BQU8sRUFBRSwrQkFBK0I7RUFDeEMsUUFBUSxFQUFFLENBQUMsR0E4UGQ7RUE1UEcsTUFBTSxtQkFDRjtJQVBSLEFBT1EsWUFQSSxDQU9GO01BQ0UsTUFBTSxFQUFFLGdCQUFnQixHQUMzQixFQUFBO0VBVFQsQUFZUSxvQkFaSSxDQVlNO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsR0FBRyxFQUFFLElBQUk7SUFDVCxXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQWxCVCxBQW9CUSxzQkFwQkksQ0FvQlE7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxNQUFNLEdBK0JwQjtJQXJEVCxBQXVCWSwwQkF2QkEsQ0F1Qk07TUFFRixNQUFNLEVBQUUsS0FBSztNQUNiLEtBQUssRUFBRSxTQUFTO01BQ2hCLFFBQVEsRUFBRSxRQUFRLEdBZXJCO01BMUNiLEFBNEJnQixvQ0E1QkosRUFBWiw4QkFBWSxDQTZCVTtRQUNGLFlBQVksRW5EM1pOLE9BQU8sR21ENFpoQjtNQS9CakIsQUFnQ2dCLG9DQWhDSixDQWdDZ0I7UUFFUixnQkFBZ0IsRW5EN1p0QixLQUFLLEdtRDhaRjtNQW5DakIsQUFvQ2dCLDhCQXBDSixDQW9DVTtRQUVGLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGdCQUFnQixFbkRwYVYsT0FBTztRbURxYWIsSUFBSSxFQUFFLENBQUMsR0FDVjtJQXpDakIsQUEyQ1ksOEJBM0NBLENBMkNVO01BQ04sS0FBSyxFbkR6YUssT0FBTztNbUQwYWpCLFdBQVcsRUFBRSxTQUFTO01BQ3RCLFNBQVMsRUFBRSxPQUFPO01BQ2xCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxPQUFPO01BQ3BCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLEtBQUssRUFBRSxXQUFXLEdBQ3JCO0VBcERiLEFBdURRLG1CQXZESSxDQXVESztJQUNMLEtBQUssRW5EOVhVLE9BQU87SW1EK1h0QixXQUFXLEVBQUUsU0FBUztJQUN0QixjQUFjLEVBQUUsU0FBUztJQUN6QixTQUFTLEVBQUUsT0FBTztJQUNsQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsT0FBTyxHQUN2QjtFQS9EVCxBQWlFUSx5QkFqRUksQ0FpRVc7SUFDWCxXQUFXLEVBQUUsY0FBYyxHQUM5QjtFQW5FVCxBQXFFUSw4QkFyRUksQ0FxRWdCO0lBQ2hCLGVBQWUsRUFBRSxTQUFTLEdBQzdCO0VBdkVULEFBeUVRLHlCQXpFSSxDQXlFVztJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLFdBQVc7SUFDbEIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixhQUFhLEVBQUUsU0FBUztJQUN4QixPQUFPLEVBQUUsUUFBUSxHQWNwQjtJQTVGVCxBQWdGWSxrQ0FoRkEsQ0FnRlc7TUFDUCxPQUFPLEVBQUMsTUFBTTtNQUNkLFlBQVksRUFBRSxRQUFRLEdBQ3pCO0lBbkZiLEFBcUZZLHlCQXJGQSxDQXFGQSxDQUFDLENBQUM7TUFDRSxXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQXZGYixBQXlGWSx5QkF6RkEsQ0F5RkUsS0FBSyxDQUFDO01BQ0osS0FBSyxFbkRoYU0sT0FBTyxHbURpYXJCO0VBM0ZiLEFBOEZRLFlBOUZJLENBOEZKLEVBQUUsQ0FBQztJQUNDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDbkQxZGYsS0FBSyxHbUQyZFY7RUFoR1QsQUFrR1EscUJBbEdJLENBa0dPO0lBQ1AsS0FBSyxFbkRqZUgsT0FBTztJbURrZVQsV0FBVyxFQUFFLFdBQVc7SUFDeEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLElBQUk7SUFDakIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUN0QixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsVUFBVSxFQUFFLE1BQU0sR0FZckI7SUF4SFQsQUE4R1ksNEJBOUdBLENBOEdTLEdBQUcsQ0FBQztNQUVULEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCO0lBbkhiLEFBcUhZLDJCQXJIQSxDQXFIUTtNQUNKLE9BQU8sRUFBRSxZQUFZLEdBQ3hCO0VBdkhiLEFBMEhRLFlBMUhJLENBMEhKLFFBQVEsQ0FBQztJQUNMLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxzQkFBc0I7SUFDcEMsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsYUFBYTtJQUN0QixNQUFNLEVBQUUsa0JBQWtCLEdBQzdCO0VBaElULEFBa0lRLFlBbElJLENBa0lKLGlCQUFpQixDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsT0FBTztJQUNaLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLElBQUksR0ErQmxCO0lBN0JHLE1BQU0sbUJBQ0Y7TUF6SWhCLEFBeUlnQixZQXpJSixDQWtJSixpQkFBaUIsQ0FPUDtRQUNFLE1BQU0sRUFBRSxVQUFVLEdBQ3JCLEVBQUE7SUEzSWpCLEFBOElZLFlBOUlBLENBa0lKLHdCQUFpQixFQWxJekIsWUFBWSxDQWtJSix1QkFBaUIsRUFsSXpCLFlBQVksQ0FrSUosdUJBQWlCLENBWWM7TUFDdkIsT0FBTyxFQUFFLElBQUk7TUFDYixPQUFPLEVBQUUsZUFBZTtNQUN4QixXQUFXLEVBQUUsTUFBTTtNQUNuQixlQUFlLEVBQUUsTUFBTTtNQUN2QixhQUFhLEVBQUUsSUFBSTtNQUNuQixZQUFZLEVBQUUsV0FBVyxHQUM1QjtJQXJKYixBQXVKWSxZQXZKQSxDQWtJSix3QkFBaUIsQ0FxQko7TUFDTCxVQUFVLEVuRG5oQlosS0FBSztNbURvaEJILEtBQUssRW5ENWVLLE9BQU8sR21ENmVwQjtJQTFKYixBQTRKWSxZQTVKQSxDQWtJSix1QkFBaUIsQ0EwQkw7TUFDSixVQUFVLEVuRGhmQSxPQUFPO01tRGlmakIsS0FBSyxFbkR6aEJQLEtBQUssR21EMGhCTjtJQS9KYixBQWlLWSxZQWpLQSxDQWtJSix1QkFBaUIsQ0ErQkw7TUFDSixVQUFVLEVuRDNkTixPQUFPO01tRDRkWCxLQUFLLEVuRHplTSxPQUFPLEdtRDBlckI7RUFwS2IsQUF3S0kseUJBeEtRLENBd0tPO0lBQ1gsYUFBYSxFQUFFLENBQUMsR0EyRG5CO0lBcE9MLEFBMktRLCtCQTNLSSxDQTJLSTtNQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBN0tULEFBK0tRLGtDQS9LSSxDQStLTztNQUNQLE9BQU8sRUFBRSxJQUFJO01BQ2IsR0FBRyxFQUFFLE9BQU87TUFDWixTQUFTLEVBQUUsSUFBSTtNQUNmLGVBQWUsRUFBRSxNQUFNLEdBK0MxQjtNQWxPVCxBQXFMWSx5Q0FyTEEsRUFBWiw0Q0FBWSxFQUFaLHdDQUFZLENBcUwrQjtRQUMzQixPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsZUFBZSxFQUFFLE1BQU07UUFDdkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEdBQUc7UUFDbEIsU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVLEVBQUUsTUFBTTtRQUNsQixXQUFXLEVBQUUsTUFBTTtRQUNuQixjQUFjLEVBQUUsU0FBUztRQUN6QixPQUFPLEVBQUUsQ0FBQztRQUNWLGNBQWMsRUFBRSxHQUFHLEdBS3RCO1FBdE1iLEFBbU1nQix5Q0FuTUosQ0FtTUksQ0FBQyxFQW5NakIsNENBQVksQ0FtTUksQ0FBQyxFQW5NakIsd0NBQVksQ0FtTUksQ0FBQyxDQUFDO1VBQ0UsS0FBSyxFbkQvakJYLEtBQUssR21EZ2tCRjtNQXJNakIsQUF3TVkseUNBeE1BLENBd01TO1FBQ0wsZ0JBQWdCLEVuRHBoQkwsT0FBTztRbURxaEJsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ25EcmhCTixPQUFPLEdtRHNoQnJCO01BM01iLEFBNk1ZLDRDQTdNQSxDQTZNWTtRQUNSLGdCQUFnQixFbkRqZ0JmLE9BQU87UW1Ea2dCUixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ25EbGdCaEIsT0FBTyxHbURtZ0JYO01BaE5iLEFBa05ZLHdDQWxOQSxDQWtOUTtRQUNKLGdCQUFnQixFQUFDLFdBQVc7UUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuRGpsQlAsT0FBTztRbURrbEJqQixLQUFLLEVuRGxsQkssT0FBTyxHbUR3bEJwQjtRQTNOYixBQXVOZ0Isd0NBdk5KLENBdU5JLENBQUMsQ0FBQztVQUNFLEtBQUssRW5EcmxCQyxPQUFPO1VtRHNsQmIsU0FBUyxFQUFFLGFBQWEsR0FDM0I7TUFHTCxNQUFNLG1CQUNGO1FBOU5oQixBQThOZ0Isa0NBOU5KLENBOE5NO1VBQ0UsR0FBRyxFQUFFLElBQUksR0FDWixFQUFBO0VBaE9qQixBQXNPSSxxQkF0T1EsQ0FzT0c7SUFDUCxPQUFPLEVBQUUsYUFBYTtJQUN0QixLQUFLLEVuRHJtQmEsT0FBTztJbURzbUJ6QixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsS0FBSztJQUNoQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSSxHQUtwQjtJQWxQTCxBQStPUSxxQkEvT0ksQ0ErT0osQ0FBQyxDQUFDO01BQ0UsTUFBTSxFQUFFLENBQUMsR0FDWjtFQUdMLE1BQU0sbUJBQ0Y7SUFyUFIsQUFxUFEsWUFyUEksQ0FxUEY7TUFDRSxPQUFPLEVBQUUsK0JBQStCO01BQ3hDLFdBQVcsRUFBRSxLQUFLLEdBQ3JCO0lBeFBULEFBeVBRLFlBelBJLENBeVBGLFFBQVEsQ0FBQztNQUNQLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7SUEzUFQsQUE2UFEsNEJBN1BJLENBNlBjO01BQ2QsT0FBTyxFQUFFLElBQUksR0FDaEIsRUFQQTtBQVlULEFBQUEsYUFBYSxDQUFDO0VBQ1YsVUFBVSxFQUFFLEtBQUssR0FxQ3BCO0VBbkNHLE1BQU0sbUJBQ0Y7SUFKUixBQUlRLGFBSkssQ0FJSDtNQUNFLFVBQVUsRUFBRSxLQUFLLEdBQ3BCLEVBQUE7RUFOVCxBQVNJLDRCQVRTLENBU1E7SUFDYixLQUFLLEVuRHpvQkMsS0FBSztJbUQwb0JYLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsVUFBVSxFbkR4bEJDLE9BQU87SW1EeWxCbEIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsYUFBYSxFQUFFLElBQUksR0FhdEI7SUEvQkwsQUFvQlEsbUNBcEJLLENBb0JJO01BQ0wsS0FBSyxFbkQ5bEJFLE9BQU87TW1EK2xCZCxLQUFLLEVBQUUsQ0FBQztNQUNSLE1BQU0sRUFBRSxDQUFDO01BQ1QsV0FBVyxFQUFFLHNCQUFzQjtNQUNuQyxZQUFZLEVBQUUsc0JBQXNCO01BQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDbkRubUJmLE9BQU87TW1Eb21CZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsR0FBRztNQUNULEdBQUcsRUFBRSxJQUFJLEdBQ1o7RUE5QlQsQUFpQ0ksK0JBakNTLENBaUNXO0lBQ2hCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQUFFLEdBQUcsR0FDckI7O0FBR0wsQUFBQSxVQUFVLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQyxHQUNaOztBQUVELEFBQUEsNENBQTRDLENBQUMsT0FBTztBQUNwRCx5Q0FBeUMsQ0FBQyxPQUFPLENBQUM7RUFDOUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuRDdxQlAsS0FBSyxDbUQ2cUJnQixVQUFVLEdBQzVDOztBQUNELEFBQUEsd0NBQXdDLENBQUMsT0FBTyxDQUFDO0VBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDbkRsckJLLE9BQU8sQ21Ea3JCYyxVQUFVLEdBQ3hEOztBQUNELEFBQUEsNENBQTRDLENBQUMsT0FBTztBQUNwRCx5Q0FBeUMsQ0FBQyxPQUFPO0FBQ2pELHdDQUF3QyxDQUFDLE9BQU8sQ0FBQztFQUM3QyxVQUFVLEVBQUUsZ0JBQWdCO0VBQzVCLG1CQUFtQixFQUFFLHNCQUFzQixHQUM5Qzs7QUFFRCxNQUFNLG1CQUNGO0VBQUEsQUFBQSxLQUFLLENBQUM7SUFDRixNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCLEVBQUE7O0FJdHRCTCxBQUNJLFNBREssQ0FDTCxLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxDQUFDO0VBQ2QsUUFBUSxFQUFFLEtBQUssR0FDbEI7O0FBTEwsQUFPSSxTQVBLLENBT0wsS0FBSyxDQUFDO0VBQUMsT0FBTyxFQUFFLElBQUksR0FBRzs7QUFQM0IsQUFTSSxTQVRLLENBU0wsUUFBUSxDQUFDO0VBQ0wsU0FBUyxFQUFFLEtBQUs7RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsYUFBYSxFQUFFLGtCQUFrQixHQUNwQzs7QUFiTCxBQWdCUSxTQWhCQyxDQWVMLGlDQUFrQixDQUNHO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsTUFBTTtFQUNsQixLQUFLLEV2RHNCQyxPQUFPLEd1RHJCaEI7O0FBckJULEFBd0JZLFNBeEJILENBZUwsa0JBQWtCLEFBUWIsT0FBTyxDQUNKLFFBQVEsQ0FBQztFQUNMLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0Isa0JBQWtCLEVBQUUsRUFBRTtFQUN0Qix5QkFBeUIsRUFBRSxRQUFRLEdBQ3RDOztBQTVCYixBQThCWSxTQTlCSCxDQWVMLGtCQUFrQixBQVFiLE9BQU8sQ0FPSixpQ0FBaUMsQ0FBQztFQUM5QixVQUFVLEVBQUUsT0FBTztFQUNuQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFqQ2IsQUFxQ0ksU0FyQ0ssQ0FxQ0wsZUFBZSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLGtCQUFrQixFQUFFLFNBQVM7RUFDN0IscUJBQXFCLEVBQUUsT0FBTztFQUM5QixTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSxhQUFhO0VBQzlCLEdBQUcsRUFBRSxLQUFLLEdBZ0NiO0VBNUVMLEFBOENRLFNBOUNDLENBcUNMLHdCQUFlLENBU0E7SUFDUCxjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsS0FBSztJQUNuQixRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEVBQUUsUUFBUSxHQUN4QjtFQXBEVCxBQXNEUSxTQXREQyxDQXFDTCx5QkFBZSxFQXJDbkIsU0FBUyxDQThFTCw2QkFBbUIsQ0F4Qkg7SUFDUixnQkFBZ0IsRXZEZEosT0FBTztJdURlbkIsWUFBWSxFdkRmQSxPQUFPO0l1RGdCbkIsWUFBWSxFQUFFLEdBQUc7SUFDakIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsV0FBVyxFQUFFLFFBQVEsR0FDeEI7RUE1RFQsQUE4RFEsU0E5REMsQ0FxQ0wsZ0NBQWUsQ0F5QlE7SUFDZixVQUFVLEVBQUUsNkNBQTZDO0lBQ3pELEtBQUssRXZEdEJDLE9BQU87SXVEdUJiLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsTUFBTTtJQUNqQixVQUFVLEVBQUUsS0FBSztJQUNqQixjQUFjLEVBQUUsSUFBSSxHQU12QjtJQTNFVCxBQXVFWSxTQXZFSCxDQXFDTCxnQ0FBZSxBQWtDTixLQUFLLENBQUM7TUFDSCxPQUFPLEVBQUUsQ0FBQztNQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBMUViLEFBaUZRLFNBakZDLENBOEVMLDRCQUFtQixDQUdKO0VBQUMsS0FBSyxFdkQrQk0sSUFBSSxHdUQvQndCOztBQWpGM0QsQUFtRlEsU0FuRkMsQ0E4RUwsNkJBQW1CLENBS0g7RUFHUixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQXZGVCxBQTBGSSxTQTFGSyxDQTBGTCxRQUFRLENBQUM7RUFFTCxnQkFBZ0IsRXZEaENRLE9BQU87RXVEaUMvQixhQUFhLEVBQUUsUUFBUSxHQWtEMUI7RUEvSUwsQUErRlEsU0EvRkMsQ0EwRkwsY0FBUSxDQUtJO0lBQUMsU0FBUyxFQUFFLFFBQVEsR0FBRztFQS9GdkMsQUFpR1EsU0FqR0MsQ0EwRkwsaUJBQVEsQ0FPTztJQUNQLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLGFBQWEsRUFBRSxLQUFLLEdBR3ZCO0lBdkdULEFBc0dZLFNBdEdILENBMEZMLGlCQUFRLEdBWUUsQ0FBQyxDQUFDO01BQUMsV0FBVyxFQUFFLElBQUksR0FBRTtFQXRHcEMsQUEyR1EsU0EzR0MsQ0EwRkwsY0FBUSxDQWlCSTtJQUFDLEtBQUssRXZES1MsSUFBSSxHdURMcUI7RUEzR3hELEFBNkdRLFNBN0dDLENBMEZMLGlCQUFRLENBbUJPO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsVUFBVTtJQUMzQixXQUFXLEVBQUUsTUFBTTtJQUNuQixHQUFHLEVBQUUsTUFBTSxHQUNkO0VBbEhULEFBb0hRLFNBcEhDLENBMEZMLGdCQUFRLENBMEJNO0lBQ04sVUFBVSxFQUFFLElBQUk7SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixjQUFjLEVBQUUsS0FBSztJQUNyQixXQUFXLEVBQUUsS0FBSztJQUNsQixNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDO0lBRVQsYUFBYSxFQUFFLFFBQVE7SUFDdkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRXZEekdTLE9BQU8sR3VEZ0h4QjtJQXhJVCxBQW1JWSxTQW5JSCxDQTBGTCxnQkFBUSxHQXlDSSxDQUFDLENBQUM7TUFBQyxVQUFVLEVBQUUsRUFBRSxHQUFHO0lBbklwQyxBQXFJWSxTQXJJSCxDQTBGTCxnQkFBUSxDQTJDQSxDQUFDLENBQUM7TUFBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHO0lBckloQyxBQXVJWSxTQXZJSCxDQTBGTCxnQkFBUSxDQTZDRSxLQUFLLENBQUM7TUFBQyxVQUFVLEVBQUUsS0FBSyxHQUFFO0VBdkl4QyxBQTBJUSxTQTFJQyxDQTBGTCxRQUFRLEFBZ0RILFNBQVMsQ0FBQyxnQkFBZ0IsQUFBQSxXQUFXLEVBMUk5QyxTQUFTLENBMEZMLFFBQVEsQUFpREgsU0FBUyxDQUFDLGdCQUFnQixBQUFBLFlBQVksQ0FBQztJQUNwQyxLQUFLLEV2RGxISCxLQUFLO0l1RG1IUCxVQUFVLEV2RHJISSxPQUFPLEd1RHNIeEI7O0FBSVQsVUFBVSxDQUFWLGdCQUFVO0VBQ04sRUFBRSxFQUFFLElBQUk7SUFBRSxnQkFBZ0IsRXZEekdaLHFCQUFPO0V1RDBHckIsR0FBRztJQUFFLGdCQUFnQixFdkQxR1AscUJBQU87O0F3RDFDekIsQUFBQSxxQkFBcUIsQ0FBQztFQWlCbEIsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSTtFQUNwRCxrQkFBa0IsRUFBRSxhQUFhLEdBOEZwQztFQWpIRyxNQUFNLG1DQURWO0lBQUEsQUFBQSxxQkFBcUIsQ0FBQztNQUVkLFNBQVMsRUFBRSxJQUFJO01BQ2YscUJBQXFCLEVBQUUsVUFBVTtNQUNqQyxrQkFBa0IsRUFBRSxZQUFZLEdBOEd2QyxFQUFBO0VBNUdHLE1BQU0sbUNBTlY7SUFBQSxBQUFBLHFCQUFxQixDQUFDO01BT2QsU0FBUyxFQUFFLElBQUk7TUFDZixxQkFBcUIsRUFBRSxVQUFVLEdBMEd4QztNQWxIRCxBQVNRLDZCQVRhLENBU0g7UUFDTixTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCLEVBdUdSO0VBckdHLE1BQU0sbUNBYlY7SUFBQSxBQUFBLHFCQUFxQixDQUFDO01BY2QsU0FBUyxFQUFFLElBQUksR0FvR3RCLEVBQUE7RUFsSEQsQUFzQkksMkJBdEJpQixDQXNCVDtJQUNKLFdBQVcsRUFBRSxDQUFDO0lBQ2QsUUFBUSxFQUFFLENBQUMsR0FDZDtFQXpCTCxBQTJCSSw0QkEzQmlCLENBMkJSO0lBQ0wsU0FBUyxFQUFFLE1BQU07SUFDakIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsV0FBVyxFQUFFLEdBQUcsR0FRbkI7SUFORyxNQUFNLG1DQUNGO01BakNaLEFBaUNZLDRCQWpDUyxDQWlDUDtRQUNFLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLE1BQU0sRUFBRSx1QkFBdUIsR0FDbEMsRUFBQTtFQXBDYixBQXVDSSw4QkF2Q2lCLENBdUNOO0lBQ1AsU0FBUyxFQUFFLE1BQU07SUFDakIsS0FBSyxFeERBVyxPQUFPLEd3RG1CMUI7SUFqQkcsTUFBTSxtQ0FKVjtNQXZDSixBQXVDSSw4QkF2Q2lCLENBdUNOO1FBS0gsU0FBUyxFQUFFLE9BQU8sR0FnQnpCLEVBQUE7SUE1REwsQUErQ1EsNkNBL0NhLENBK0NJO01BQ2IsTUFBTSxFQUFFLFlBQVksR0FDdkI7SUFqRFQsQUFtRFEsd0NBbkRhLENBbUREO01BQ1IsY0FBYyxFQUFFLFNBQVM7TUFDekIsU0FBUyxFQUFFLE1BQU07TUFDakIsS0FBSyxFeERiTyxPQUFPLEd3RGtCdEI7TUFIRyxNQUFNLG1DQUxWO1FBbkRSLEFBbURRLHdDQW5EYSxDQW1ERDtVQU1KLFNBQVMsRUFBRSxNQUFNLEdBRXhCLEVBQUE7RUEzRFQsQUE4REksNkJBOURpQixFQUFyQiw2QkFBcUIsQ0E4REksS0FBSyxDQUFDO0lBQ3ZCLGdCQUFnQixFeER2RFQsT0FBTyxDd0R1RGtCLFVBQVU7SUFDMUMsYUFBYSxFQUFFLEtBQUs7SUFDcEIsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVBQUUsS0FBSztJQUNaLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsTUFBTSxFQUFFLENBQUM7SUFDVCxjQUFjLEVBQUUsQ0FBQztJQUNqQixLQUFLLEV4RDlDQyxLQUFLO0l3RCtDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixXQUFXLEVBQUUsTUFBTSxHQU90QjtJQUxHLE1BQU0sbUNBQ0Y7TUFqRlosQUFpRlksNkJBakZTLEVBQXJCLDZCQUFxQixDQThESSxLQUFLLENBbUJoQjtRQUNFLFNBQVMsRUFBRSxPQUFPLEdBQ3JCLEVBQUE7RUFuRmIsQUF1RkksMkJBdkZpQixDQXVGVDtJQUNKLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLE9BQU87SUFDbkIsYUFBYSxFQUFFLFFBQVEsR0FxQjFCO0lBbkJHLE1BQU0sbUNBQ0Y7TUEvRlosQUErRlksMkJBL0ZTLENBK0ZQO1FBQ0UsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLGNBQWM7UUFDOUIsR0FBRyxFQUFFLFFBQVE7UUFDYixhQUFhLEVBQUUsTUFBTTtRQUNyQixVQUFVLEVBQUUsTUFBTSxHQUNyQixFQUFBO0lBckdiLEFBd0dRLHFDQXhHYSxDQXdHRDtNQUNSLE9BQU8sRUFBRSxJQUFJO01BQ2IsZUFBZSxFQUFFLEdBQUcsR0FDdkI7SUEzR1QsQUE2R1EsMkJBN0dhLENBNkdiLEdBQUcsQ0FBQztNQUNBLFNBQVMsRUFBRSxLQUFLO01BQ2hCLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQ2hIVCxBQUNJLGFBRFMsQ0FDVCxpQkFBaUIsQ0FBQztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLFNBQVM7RUFDZCxVQUFVLEVBQUUsTUFBTSxHQVNyQjtFQWJMLEFBTVEsYUFOSyxDQUNULDhCQUFpQixFQURyQixhQUFhLENBQ1QsZ0NBQWlCLENBS29CO0lBQzdCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBUlQsQUFVUSxhQVZLLENBQ1QsZ0NBQWlCLENBU0k7SUFDYixLQUFLLEV6RHdFSSxPQUFPLEd5RHZFbkI7O0FBWlQsQUFlSSwwQkFmUyxDQWVNO0VBQ1gsS0FBSyxFekRnRk8sT0FBTyxHeUQvRXRCOztBQWpCTCxBQW1CSSxtQ0FuQlMsQ0FtQmU7RUFDcEIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBSU8sTUFBTSw4QkFEVjtFQXhCUixBQXdCUSxxQ0F4QkssQ0F3Qkc7SUFFQSxPQUFPLEVBQUUsSUFBSSxHQUVwQixFQUFBOztBQUlPLE1BQU0sOEJBRFY7RUEvQlosQUErQlkscUNBL0JDLENBK0JELHFCQUFxQixDQUFDO0lBRWQsT0FBTyxFQUFFLElBQUksR0FFcEIsRUFBQTs7QUFuQ2IsQUF1Q0ksb0JBdkNTLENBdUNBO0VBQ0wsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsUUFBUTtFQUNyQixlQUFlLEVBQUUsYUFBYTtFQUM5QixjQUFjLEVBQUUsSUFBSSxHQW9DdkI7RUEvRUwsQUE2Q1EsK0JBN0NLLENBNkNRO0lBQ1QsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsUUFBUSxHQVl4QjtJQTNEVCxBQWlEWSwrQkFqREMsQ0FpREQsRUFBRSxDQUFDO01BQ0MsYUFBYSxFQUFFLE1BQU07TUFDckIsS0FBSyxFekQ1QlAsT0FBTyxDeUQ0QmUsVUFBVTtNQUM5QixXQUFXLEVBQUUsR0FBRyxHQUNuQjtJQXJEYixBQXVEWSwrQkF2REMsQ0F1REQsQ0FBQyxDQUFDO01BQ0UsU0FBUyxFQUFFLEdBQUc7TUFDZCxjQUFjLEVBQUUsU0FBUyxHQUM1QjtFQTFEYixBQTZEUSxnQ0E3REssQ0E2RFM7SUFDVixPQUFPLEVBQUUsSUFBSSxHQWdCaEI7SUFkRyxNQUFNLDhCQUhWO01BN0RSLEFBNkRRLGdDQTdESyxDQTZEUztRQUlOLE9BQU8sRUFBRSxJQUFJO1FBQ2IsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsVUFBVSxFekQvQ1osT0FBTztReURnREwsYUFBYSxFQUFFLEdBQUcsR0FPekI7UUE5RVQsQUF5RWdCLGdDQXpFSCxDQXlFRyxDQUFDLENBQUM7VUFDRSxLQUFLLEV6RGhEWCxLQUFLLEd5RGlERixFQUdSO0FBS0wsTUFBTSw4QkFEVjtFQUFBLEFBQUEsY0FBYyxBQUFBLHFDQUFxQyxDQUFDO0lBRTVDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLENBQUMsR0FFaEIsRUFBQTs7QUFFRCxBQUFBLFNBQVMsQUFBQSxxQ0FBcUMsQ0FBQztFQUMzQyxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxFQUFFLEdBQ1o7O0FHNUZIOzsrRUFFK0U7QUNGL0U7O2tFQUVrRTtBREZsRTs7K0VBRStFO0FESy9FLEFBQUEsTUFBTSxDQUFDO0VBR0gsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsTUFBTSxHQThDbEI7RUFsREQsQUFNSSxNQU5FLENBTUYsS0FBSyxDQUFDO0lBQ0YsV0FBVyxFQUFFLEtBQUs7SUFDbEIsS0FBSyxFM0RRQyxPQUFPLEcyRFBoQjtFQVRMLEFBVUksTUFWRSxDQVVGLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxNQUFNLEdBQ3hCO0VBWkwsQUFhSSxNQWJFLENBYUYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixHQUFlLEtBQUssQ0FBQztJQUN2QixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFoQkwsQUFpQkksTUFqQkUsQ0FpQkYsTUFBTSxDQUFDO0lBQ0gsYUFBYSxFQUFFLE1BQU0sR0FDeEI7RUFuQkwsQUFvQkksTUFwQkUsQ0FvQkYsR0FBRyxFQXBCUCxNQUFNLENYV04sTUFBTSxFV1hOLE1BQU0sQ1hlTixnQkFBZ0IsQ0FFWixFQUFFLEVBRk4sZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQkYsRUFBRSxFV2pCTixNQUFNLENYZU4sZ0JBQWdCLENBRVIsRUFBRSxFQUZWLGdCQUFnQixDV2ZoQixNQUFNLENYaUJFLEVBQUUsRVdqQlYsTUFBTSxDWGVOLGdCQUFnQixDQUVKLEVBQUUsRUFGZCxnQkFBZ0IsQ1dmaEIsTUFBTSxDWGlCTSxFQUFFLEVXakJkLE1BQU0sQ1hlTixnQkFBZ0IsQ0FFQSxFQUFFLEVBRmxCLGdCQUFnQixDV2ZoQixNQUFNLENYaUJVLEVBQUUsRVdqQmxCLE1BQU0sQ1hlTixnQkFBZ0IsQ0FFSSxFQUFFLEVBRnRCLGdCQUFnQixDV2ZoQixNQUFNLENYaUJjLEVBQUUsRVdqQnRCLE1BQU0sQ1hlTixnQkFBZ0IsQ0FFUSxFQUFFLEVBRjFCLGdCQUFnQixDV2ZoQixNQUFNLENYaUJrQixFQUFFLEVXakIxQixNQUFNLENYZU4sZ0JBQWdCLENBRVksR0FBRyxFQUYvQixnQkFBZ0IsQ1dmaEIsTUFBTSxDWGlCc0IsR0FBRyxFV2pCL0IsTUFBTSxDWGVOLGdCQUFnQixDQUUyQixHQUFHLEVBRjlDLGdCQUFnQixDV2ZoQixNQUFNLENYaUJxQyxHQUFHLEVXakI5QyxNQUFNLENYZU4sZ0JBQWdCLENBRWdDLEdBQUcsRUFGbkQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQjBDLEdBQUcsRVdqQm5ELE1BQU0sQ1hlTixnQkFBZ0IsQ0FFcUMsR0FBRyxFQUZ4RCxnQkFBZ0IsQ1dmaEIsTUFBTSxDWGlCK0MsR0FBRyxFV2pCeEQsTUFBTSxDQW9CRyxHQUFHLENBQUM7SUFDTCxNQUFNLEVBQUUsS0FBSyxHQUtoQjtJQTFCTCxBQXNCUSxNQXRCRixDQW9CRixHQUFHLENBRUMsQ0FBQyxFQXRCVCxNQUFNLENYV04sTUFBTSxDV1dFLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVaLEVBQUUsQ1dLRSxDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQkYsRUFBRSxDV0tFLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVSLEVBQUUsQ1dLRixDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQkUsRUFBRSxDV0tGLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVKLEVBQUUsQ1dLTixDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQk0sRUFBRSxDV0tOLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVBLEVBQUUsQ1dLVixDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQlUsRUFBRSxDV0tWLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVJLEVBQUUsQ1dLZCxDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQmMsRUFBRSxDV0tkLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVRLEVBQUUsQ1dLbEIsQ0FBQyxFWFBULGdCQUFnQixDV2ZoQixNQUFNLENYaUJrQixFQUFFLENXS2xCLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUVZLEdBQUcsQ1dLdkIsQ0FBQyxFWFBULGdCQUFnQixDV2ZoQixNQUFNLENYaUJzQixHQUFHLENXS3ZCLENBQUMsRUF0QlQsTUFBTSxDWGVOLGdCQUFnQixDQUUyQixHQUFHLENXS3RDLENBQUMsRVhQVCxnQkFBZ0IsQ1dmaEIsTUFBTSxDWGlCcUMsR0FBRyxDV0t0QyxDQUFDLEVBdEJULE1BQU0sQ1hlTixnQkFBZ0IsQ0FFZ0MsR0FBRyxDV0szQyxDQUFDLEVYUFQsZ0JBQWdCLENXZmhCLE1BQU0sQ1hpQjBDLEdBQUcsQ1dLM0MsQ0FBQyxFQXRCVCxNQUFNLENYZU4sZ0JBQWdCLENBRXFDLEdBQUcsQ1dLaEQsQ0FBQyxFWFBULGdCQUFnQixDV2ZoQixNQUFNLENYaUIrQyxHQUFHLENXS2hELENBQUMsRUF0QlQsTUFBTSxDQW9CRyxHQUFHLENBRUosQ0FBQyxDQUFDO01BQ0UsS0FBSyxFM0RrREUsT0FBTztNMkRqRGQsZUFBZSxFQUFDLFNBQVMsR0FDNUI7RUF6QlQsQUE0QkksTUE1QkUsQ0E0QkYsR0FBRyxDQUFDO0lBQ0EsS0FBSyxFM0RiQyxPQUFPLEcyRGNoQjtFQTlCTCxBQWdDSSwyQkFoQ0UsQ0FnQ3FCO0lBQ25CLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJLEdBQ3JCO0VBbkNMLEFBcUNJLFlBckNFLENBcUNNO0lBQ0osYUFBYSxFQUFFLE1BQU0sR0FJeEI7SUExQ0wsQUF1Q1EsWUF2Q0YsQ0F1Q0UsSUFBSSxDQUFDO01BQ0QsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUF6Q1QsQUEyQ0ksWUEzQ0UsQ0EyQ00sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNULGVBQWUsRUFBRSxTQUFTLEdBQzdCO0VBN0NMLEFBK0NJLFlBL0NFLENBK0NNLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBR0wsQUFBQSxjQUFjO0FBQ2QsZ0JBQWdCLENBQUM7RUFDYixZQUFZLEVBQUUsR0FBRztFQUNqQixZQUFZLEUzREtnQixPQUFPO0UyREpuQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsR0FBRyxHQUNmOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixZQUFZLEVBQUUsS0FBSyxHQUN0Qjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxNQUFNO0FBQ3JCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFDRCxBQUFBLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVc7QUFDckMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7RUFDcEMsU0FBUyxFQUFFLENBQUM7RUFDWixLQUFLLEUzRFh1QixPQUFPO0UyRFluQyxXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxjQUFjLENBQUM7RUFDMUIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLGVBQWUsR0FDOUI7O0FBRUQsVUFBVSxDQUFWLE1BQVU7RUFDTixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFZCxFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7O0FBR2xCLGVBQWUsQ0FBZixNQUFlO0VBQ1gsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0VBRWQsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDOztBQUlsQixrQkFBa0IsQ0FBbEIsTUFBa0I7RUFDZCxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFZCxFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7O0FBS2xCLE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLE1BQU0sQ0FBQztJQUNILFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2YsRUFBQTs7QUFHTCxNQUFNLG1CQUNGO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDVixTQUFTLEVBQUUsQ0FBQyxHQUNmO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDVCxTQUFTLEVBQUUsQ0FBQyxHQUNmLEVBSEE7O0FBTUwsTUFBTSwyQ0FDRjtFQUFBLEFBQUEsYUFBYSxDQUFDO0lBQ1YsS0FBSyxFQUFFLGdCQUFnQixHQUMxQixFQUFBOztBQUdMLE1BQU0sb0JBQ0Y7RUFBQSxBQUFBLGFBQWEsQ0FBQztJQUNWLFNBQVMsRUFBRSxDQUFDLEdBQ2YsRUFBQTs7QUFHTCxNQUFNLG9CQUNGO0VBQUEsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLEtBQUssRUFBRSxlQUFlLEdBQ3pCLEVBQUE7O0FBR0wsd0JBQXdCO0FBQ3hCLE1BQU0sOEJBQ0Y7RUFBQSxBQUFBLE9BQU8sQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUN0QixFQUFBOztBRzFKTCxBQUFBLFFBQVEsQ0FBQztFQUNMLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQjtFQUM1QyxjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsS0FBSyxHQUNuQjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSx1QkFBdUI7RUFDbkMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDM0MsU0FBUyxFQUFFLEtBQUssR0FJbkI7RUFYRCxBQVFJLFVBUk0sQ0FRTixDQUFDLENBQUM7SUFDRSxTQUFTLEVBQUMsT0FBTyxHQUNwQjs7QUFHTCxBQUVJLHVCQUZtQixDQUVuQixRQUFRO0FBRFosaUJBQWlCLENBQ2IsUUFBUSxDQUFDO0VBQ0wsT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FBSkwsQUFLSSx1QkFMbUIsQ0FLbkIsUUFBUSxDQUFDLFlBQVk7QUFKekIsaUJBQWlCLENBSWIsUUFBUSxDQUFDLFlBQVksQ0FBQztFQUNsQixVQUFVLEVBQUUsTUFBTTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsT0FBTyxFQUFFLEdBQUc7RUFDWixLQUFLLEU5REhDLEtBQUs7RThESVgsVUFBVSxFQUFFLE1BQU07RUFDbEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixTQUFTLEVBQUUsS0FBSztFQUVoQiwwQkFBMEI7RUFDMUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFwQkwsQUFzQkksdUJBdEJtQixDQXNCbkIsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZO0FBckIvQixpQkFBaUIsQ0FxQmIsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7RUFDeEIsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBeEJMLEFBMEJJLHVCQTFCbUIsQ0EwQm5CLEtBQUs7QUF6QlQsaUJBQWlCLENBeUJiLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGdCQUFnQixFQUFFLFNBQVM7RUFDM0IsT0FBTyxFQUFFLFNBQVM7RUFDbEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlEZ0JPLE9BQU87RThEZi9CLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQWxDTCxBQW9DSSx1QkFwQ21CLENBb0NuQixLQUFLLENBQUMsS0FBSztBQW5DZixpQkFBaUIsQ0FtQ2IsS0FBSyxDQUFDLEtBQUssQ0FBQztFQUNSLGdCQUFnQixFOUR2Q0EsT0FBTyxHOER3QzFCOztBQXRDTCxBQXdDSSx1QkF4Q21CLENBd0NuQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWMsT0FBTyxHQUFHLEtBQUs7QUF2Q3ZDLGlCQUFpQixDQXVDYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWMsT0FBTyxHQUFHLEtBQUssQ0FBQztFQUNoQyxnQkFBZ0IsRTlEekNJLE9BQU87RThEMEMzQixLQUFLLEU5RHRDQyxPQUFPLEc4RHVDaEI7O0FBM0NMLEFBNkNJLHVCQTdDbUIsQ0E2Q25CLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYyxLQUFLLEdBQUcsS0FBSztBQTVDckMsaUJBQWlCLENBNENiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYyxLQUFLLEdBQUcsS0FBSyxDQUFDO0VBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDOUQ5Q0UsT0FBTyxHOEQrQzlCOztBQS9DTCxBQWdESSx1QkFoRG1CLENBZ0RuQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0FBL0NWLGlCQUFpQixDQStDYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7RUFDaEIsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxDQUFDLEdBQ1g7O0FBcERMLEFBcURJLHVCQXJEbUIsQ0FxRG5CLEVBQUU7QUFwRE4saUJBQWlCLENBb0RiLEVBQUUsQ0FBQztFQUNDLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFlBQVksRUFBRSxNQUFNLEdBQ3ZCOztBQUdMLEFBQUEsYUFBYSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLE1BQU07RUFDWCxNQUFNLEVBQUUsTUFBTTtFQUNkLEtBQUssRUFBRSxNQUFNLEdBQ2hCOztBQUVELHFDQUFxQztBQUNyQyxBQUFBLE9BQU8sQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsTUFBTSxHQUNsQjs7QUFFRCxvQ0FBb0M7QUFDcEMsQUFBQSxJQUFJLENBQUMsS0FBSyxFZDVEVixLQUFLLENjNERBLEtBQUssRWQ1REgsV0FBVyxDYzREYixLQUFLLEVka0xWLFVBQVUsQ2NsTEwsS0FBSyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsR0FBRyxFQUFFLFFBQVE7RUFDYixXQUFXLEVBQUUsS0FBSztFQUNsQixNQUFNLEVBQUUsY0FBYyxHQUN6Qjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsTUFBTSxFQUFFLE9BQU8sR0FJbEI7RUFMRCxBQUVJLGlCQUZhLENBRWIsR0FBRyxDQUFDO0lBQ0EsTUFBTSxFQUFFLFFBQVEsR0FDbkI7O0FBR0wsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZ0JBQWdCLEU5RHJETyxLQUFLO0U4RHNENUIsS0FBSyxFOURoR0ssS0FBSztFOERpR2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLE9BQU87RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGFBQWE7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDakIsVUFBVSxFQUFFLGtCQUFrQixHQUNqQzs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1IsV0FBVyxFQUFFLElBQUksR0FDcEI7O0FBQ0QsQUFBQSxLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsZUFBZTtFQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUNELEFBQUEsS0FBSyxDQUFDO0VBQ0YsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RDFDSyxPQUFPO0U4RDJDN0IsWUFBWSxFQUFFLEdBQUc7RUFDakIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDOURuQ1AsbUJBQW1CO0U4RG9DbkMsTUFBTSxFQUFFLFVBQVU7RUFDbEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsSUFBSTtFQUNoQixhQUFhLEVBQUUsS0FBSztFQUNwQixRQUFRLEVBQUUsSUFBSSxHQU1qQjtFQWhCRCxBQVlJLHFCQVppQixDQVlqQixNQUFNLENBQUM7SUFDSCxXQUFXLEVBQUUsV0FBVztJQUN4QixXQUFXLEVBQUUsQ0FBQyxHQUNqQjs7QUFJTCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE1BQU0sRUFBRSxVQUFVO0VBQ2xCLE9BQU8sRUFBRSxVQUFVLEdBWXRCO0VBZEQsQUFJSSxtQkFKZSxDQUlmLFlBQVksQ0FBQztJQUNULEtBQUssRTlEdEptQixrQkFBa0I7SThEdUoxQyxTQUFTLEVBQUUsUUFBUTtJQUNuQixNQUFNLEVBQUUsc0JBQXNCLEdBQ2pDO0VBUkwsQUFVSSxtQkFWZSxDQVVmLENBQUMsQ0FBQztJQUNFLE1BQU0sRUFBRSx5QkFBeUI7SUFDakMsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBR0wsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRTlEdEtLLE9BQU8sRzhEdUtwQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsYUFBYSxHQWlCeEI7RUFuQkQsQUFLUSxvQkFMUSxDQUtSLEdBQUcsQ0FBQztJQUNBLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFQVCxBQVVJLHdCQVZZLENBVUY7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxnQkFBZ0IsR0FLM0I7SUFqQkwsQUFhUSx3QkFiUSxDQWFSLElBQUksQ0FBQztNQUNELE1BQU0sRUFBRSxlQUFlO01BQ3ZCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCOztBQUtULEFBQUEsa0JBQWtCLENBQUM7RUFDZixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxtQkFBbUI7RUFDM0IsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsS0FBSyxHQTJCYjtFQS9CRCxBQUtJLGtCQUxjLENBS2QsTUFBTSxBQUFBLEtBQUssRUFMZixrQkFBa0IsQ0FLRCxNQUFNLEFBQUEsS0FBSyxDQUFDO0lBQ3JCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsVUFBVTtJQUMxQixNQUFNLEVBQUUsWUFBWSxHQUN2QjtFQVpMLEFBY0ksa0JBZGMsQ0FjZCxNQUFNLEFBQUEsS0FBSyxDQUFDO0lBQ1IsZ0JBQWdCLEU5RHZLRSxPQUFPO0k4RHdLekIsWUFBWSxFOUR4S00sT0FBTztJOER5S3pCLEtBQUssRTlEcEthLE9BQU87SThEcUt6QixTQUFTLEVBQUUsTUFBTSxHQUNwQjtFQW5CTCxBQXFCSSxrQkFyQmMsQ0FxQmQsTUFBTSxBQUFBLEtBQUssQ0FBQztJQUNSLGdCQUFnQixFOUR6S0UsT0FBTztJOEQwS3pCLEtBQUssRTlEbE5DLEtBQUs7SThEbU5YLFlBQVksRTlEbk5OLEtBQUs7SThEb05YLFNBQVMsRUFBRSxPQUFPLEdBS3JCO0lBOUJMLEFBMEJRLGtCQTFCVSxDQXFCZCxNQUFNLEFBQUEsS0FBSyxDQUtQLENBQUMsQ0FBQztNQUNFLFdBQVcsRUFBRSxJQUFJO01BQ2pCLEtBQUssRTlEdk5ILEtBQUssRzhEd05WOztBQUlULEFBQUEsaUJBQWlCLENBQUM7RUFDZCxTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEU5RGxPSyxPQUFPLEc4RG1PcEI7O0FBRUQsQUFBQSxNQUFNLEFBQUEsS0FBSyxFQUFFLE1BQU0sQUFBQSxLQUFLLENBQUM7RUFDckIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxVQUFVO0VBQzFCLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCOztBQUVELEFBQUEsTUFBTSxBQUFBLEtBQUssQ0FBQztFQUNSLGdCQUFnQixFOUR6TU0sT0FBTztFOEQwTTdCLFlBQVksRTlEMU1VLE9BQU87RThEMk03QixLQUFLLEU5RHRNaUIsT0FBTztFOER1TTdCLFNBQVMsRUFBRSxNQUFNLEdBTXBCO0VBVkQsQUFLSSxNQUxFLEFBQUEsS0FBSyxDQUtQLENBQUMsQ0FBQztJQUNFLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUksR0FDcEI7O0FBR0wsQUFBQSxNQUFNLEFBQUEsS0FBSyxDQUFDO0VBQ1IsZ0JBQWdCLEU5RGhOTSxPQUFPO0U4RGlON0IsS0FBSyxFOUR6UEssS0FBSztFOEQwUGYsWUFBWSxFOUQxUEYsS0FBSztFOEQyUGYsU0FBUyxFQUFFLE9BQU8sR0FPckI7RUFYRCxBQUtJLE1BTEUsQUFBQSxLQUFLLENBS1AsQ0FBQyxDQUFDO0lBQ0UsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFOUQ5UEMsS0FBSztJOEQrUFgsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFHTCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxRQUFRLEdBaUUxQjtFQW5FRCxBQUdJLG9CQUhnQixDQUdoQixFQUFFLENBQUM7SUFDQyxrQkFBa0IsRUFBRSxDQUFDLEdBQ3hCO0VBTEwsQUFNSSxvQkFOZ0IsQ0FNaEIsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFOURsUmUsT0FBTyxHOERtUjlCO0VBUkwsQUFTSSxvQkFUZ0IsQ0FTaEIsRUFBRSxDQUFDO0lBQ0MsZUFBZSxFQUFFLElBQUk7SUFDckIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsZUFBZSxFQUFFLE1BQU0sR0FJMUI7SUFoQkwsQUFhUSxvQkFiWSxDQVNoQixFQUFFLENBSUUsRUFBRSxDQUFDO01BQ0MsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFmVCxBQWlCSSxvQkFqQmdCLENBaUJoQixPQUFPLENBQUM7SUFDSixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQXBCTCxBQXFCSSxvQkFyQmdCLENBcUJoQixlQUFlLENBQUM7SUFDWixTQUFTLEVBQUUsR0FBRyxHQUtqQjtJQTNCTCxBQXVCUSxvQkF2QlksQ0FxQmhCLGVBQWUsQ0FFWCxFQUFFLENBQUM7TUFDQyxPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxhQUFhLEdBQ2pDO0VBMUJULEFBNkJJLGdDQTdCZ0IsQ0E2QkY7SUFDVixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQS9CTCxBQWtDUSxrQ0FsQ1ksQ0FrQ1osRUFBRSxDQUFDO0lBQ0Msa0JBQWtCLEVBQUUsQ0FBQyxHQUN4QjtFQXBDVCxBQXFDUSxrQ0FyQ1ksQ0FxQ1osRUFBRSxDQUFDO0lBQ0MsS0FBSyxFQUFFLG1CQUFtQixHQUM3QjtFQXZDVCxBQXdDUSxrQ0F4Q1ksQ0F3Q1osT0FBTyxDQUFDO0lBQ0osTUFBTSxFQUFFLGlCQUFpQixHQUk1QjtJQUhHLE1BQU0sbUNBRlY7TUF4Q1IsQUF3Q1Esa0NBeENZLENBd0NaLE9BQU8sQ0FBQztRQUdBLElBQUksRUFBRSxNQUFNLEdBRW5CLEVBQUE7RUE3Q1QsQUE4Q1Esa0NBOUNZLENBOENaLEVBQUUsQ0FBQztJQUNDLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBakRULEFBa0RRLGtDQWxEWSxDQWtEWixFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ0wsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUF0RFQsQUF1RFEsa0NBdkRZLENBdURaLEVBQUUsQ0FBQztJQUNDLEtBQUssRUFBRSxJQUFJO0lBQ1gsWUFBWSxFQUFFLEVBQUU7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBN0RULEFBZ0VJLGtDQWhFZ0IsQ0FnRUE7SUFDWixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUdMLEFBQUEsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsYUFBYSxFQUFFLFFBQVEsR0FvQzFCO0VBckNELEFBRUksWUFGUSxDQUVSLE9BQU8sQ0FBQztJQUNKLEtBQUssRUFBRSxRQUFRO0lBQ2YsVUFBVSxFQUFFLFFBQVE7SUFDcEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsV0FBVyxFQUFFLFFBQVEsR0FDeEI7RUFQTCxBQVFJLFlBUlEsQ0FRUixFQUFFLENBQUM7SUFDQyxLQUFLLEVBQUUsR0FBRztJQUNWLFVBQVUsRUFBRSxPQUFPO0lBQ25CLEtBQUssRTlEN1ZDLE9BQU87SThEOFZiLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUksR0FDcEI7RUFqQkwsQUFrQkksWUFsQlEsQ0FrQlIsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFOURyV0MsT0FBTztJOERzV2IsV0FBVyxFQUFFLFdBQVc7SUFDeEIsV0FBVyxFQUFFLElBQUk7SUFDakIsV0FBVyxFQUFFLElBQUk7SUFDakIsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjtFQUNELE1BQU0sbUNBQ0Y7SUExQlIsQUEwQlEsWUExQkksQ0EwQkosRUFBRSxDQUFDO01BQ0MsV0FBVyxFQUFFLElBQUk7TUFDakIsYUFBYSxFQUFFLE1BQU0sR0FDeEI7SUE3QlQsQUE4QlEsWUE5QkksQ0E4QkosRUFBRSxDQUFDO01BQ0MsSUFBSSxFQUFFLElBQUksR0FDYjtJQWhDVCxBQWlDUSxZQWpDSSxDQWlDSixJQUFJLENBQUM7TUFDRCxJQUFJLEVBQUUsSUFBSSxHQUNiLEVBTkE7QUFVVCxBQUFBLG9CQUFvQixDQUFBO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsU0FBUyxFQUFFLE1BQU07RUFDakIsVUFBVSxFOUQxWEEsS0FBSztFOEQyWGYsYUFBYSxFQUFFLEdBQUc7RUFFbEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixHQUFHLEVBQUUsTUFBTSxHQTRCZDtFQXZDRCxBQWFJLG9CQWJnQixDQWFoQixNQUFNLENBQUM7SUFDSCxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFOUR6WUosT0FBTztJOEQwWWIsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLElBQUksR0FXcEI7SUE3QkwsQUFvQlEsb0JBcEJZLENBYWhCLE1BQU0sQ0FPRixJQUFJLENBQUM7TUFDRCxjQUFjLEVBQUUsVUFBVTtNQUMxQixLQUFLLEU5RDVZSCxLQUFLO004RDZZUCxXQUFXLEVBQUUsV0FBVztNQUN4QixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsSUFBSTtNQUNqQixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBR0wsTUFBTSxtQ0EvQlY7SUFBQSxBQUFBLG9CQUFvQixDQUFBO01BZ0NaLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixTQUFTLEVBQUUsSUFBSTtNQUNmLGFBQWEsRUFBRSxHQUFHO01BRWxCLGVBQWUsRUFBRSxVQUFVLEdBRWxDLEVBQUE7QUFFRCxBQUFBLGtCQUFrQixDQUFBO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsS0FBSztFQUNmLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFQUNWLEdBQUcsRUFBRSxHQUFHO0VBQ1IsVUFBVSxFQUFFLEtBQUs7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixZQUFZLEVBQUUsSUFBSTtFQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLGdCQUFnQixFQUFFLGtCQUFlO0VBQ2pDLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNLEdBQzFCOztBQUVELE1BQU0sbUJBRUU7RUFESixBQUNJLGFBRFMsQ0FDVCxNQUFNLENBQUM7SUFDSCxLQUFLLEVBQUUsS0FBSztJQUNaLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLFFBQVEsR0FDbkI7RUFFTCxBQUFBLE1BQU0sQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJLEdBS2Q7SUFORCxBQUVJLGdCQUZFLENBRVU7TUFDUixLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2YsRUFQQTs7QUFXVCxBQUNJLEVBREYsQUFBQSxZQUFZLENBQ1YsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFOURoYU0sT0FBTyxHOERrYXJCOztBQ2xmTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFFakIsNkJBQTZCLEVBNEJoQztFQWhDRCxBQUtJLGdCQUxZLENBS1osS0FBSyxDQUFDO0lBQ0YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUMzQyxPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsYUFBYSxFQUFFLElBQUk7SUFDbkIsTUFBTSxFQUFFLE9BQU87SUFDZixTQUFTLEVBQUUsS0FBSyxHQU9uQjtJQWxCTCxBQVlRLGdCQVpRLENBS1osS0FBSyxDQU9ELEVBQUUsQ0FBQztNQUNDLFVBQVUsRUFBRSxJQUFJO01BQ2hCLGFBQWEsRUFBRSxJQUFJO01BQ25CLEtBQUssRUFBRSxPQUFPO01BQ2QsU0FBUyxFQUFFLElBQUksR0FDbEI7RUFqQlQsQUFvQkksZ0JBcEJZLENBb0JaLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDUixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUM5QztFQXRCTCxBQXdCSSxnQkF4QlksQ0F3QlosUUFBUSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNmO0VBM0JMLEFBNEJJLGdCQTVCWSxDQTRCWixzQkFBc0IsQ0FBQztJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBS0wsQUFBQSxhQUFhLEFBQUEsY0FBYyxDQUFDO0VBQ3hCLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLG1CQUFtQixHQUM5Qjs7QUFFQSxBQUNHLGFBRFUsQ0FDVixNQUFNLENBQUM7RUFDSCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFQUFFLE1BQU07RUFDakIsY0FBYyxFQUFFLFVBQVU7RUFDMUIsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FBUkosQUFVRyxhQVZVLENBVVYsTUFBTSxBQUFBLEtBQUssQ0FBQztFQUNSLGdCQUFnQixFL0RTRSxPQUFPLEMrRFRrQixVQUFVO0VBQ3JELFlBQVksRS9EUU0sT0FBTyxDK0RSYyxVQUFVO0VBQ2pELEtBQUssRS9EWWEsT0FBTyxDK0RaTyxVQUFVLEdBQzdDOztBQWRKLEFBZ0JHLGFBaEJVLENBZ0JWLE1BQU0sQ0FBQyxVQUFVLENBQUM7RUFDZCxnQkFBZ0IsRS9ER0UsT0FBTztFK0RGekIsWUFBWSxFL0RFTSxPQUFPO0UrRER6QixLQUFLLEUvRE1hLE9BQU8sRytETDVCOztBQXBCSixBQXNCRyxhQXRCVSxDQXNCVixNQUFNLEFBQUEsS0FBSyxDQUFDO0VBQ1IsZ0JBQWdCLEUvRFpBLE9BQU8sQytEWWtCLFVBQVU7RUFDbkQsS0FBSyxFL0R2Q0MsS0FBSyxDK0R1Q1MsVUFBVTtFQUM5QixZQUFZLEUvRHhDTixLQUFLLEMrRHdDZ0IsVUFBVSxHQUN4Qzs7QUExQkosQUE0QkcsYUE1QlUsQ0E0QlYsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUNmLGdCQUFnQixFL0RsQkEsT0FBTztFK0RtQnZCLEtBQUssRS9EN0NDLEtBQUs7RStEOENYLFlBQVksRS9EOUNOLEtBQUssRytEK0NkOztBQUdMLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUksR0FLZjtFQVBELEFBR0ksc0JBSGtCLENBR2xCLEVBQUUsQ0FBQztJQUNDLEtBQUssRS9EdkRtQixrQkFBa0I7SStEd0QxQyxNQUFNLEVBQUUsWUFBWSxHQUN2Qjs7QUFJTCxBQUFBLGlCQUFpQixDQUFBO0VBQ2IsT0FBTyxFQUFFLFlBQVk7RUFDckIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FDekZELEFBQUEsb0JBQW9CLENBQUM7RUFDakIsYUFBYSxFQUFFLE1BQU07RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsR0FBRztFQUNWLGNBQWMsRUFBRSxLQUFLLEdBQ3hCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBSWQ7RUFSRCxBQUtJLGlCQUxhLENBS2IsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsZUFBZSxHQUM5Qjs7QUFHTCxBQUFBLGFBQWEsQ0FBQztFQUNWLE1BQU0sRUFBRSxVQUFVLEdBQ3JCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsWUFBWSxFQUFFLElBQUk7RUFDbEIsTUFBTSxFQUFFLE9BQU8sR0FZbEI7RUFkRCxBQUdJLGFBSFMsQ0FHVCxLQUFLLENBQUM7SUFDRixNQUFNLEVBQUUsT0FBTztJQUNmLEtBQUssRUFBRSxLQUFLO0lBQ1osYUFBYSxFQUFFLEtBQUs7SUFDcEIsU0FBUyxFQUFFLE1BQU07SUFDakIsVUFBVSxFQUFFLFlBQVksR0FDM0I7RUFUTCxBQVVJLGFBVlMsQ0FVVCxZQUFZO0VBVmhCLGFBQWEsQ0FXVCxZQUFZLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLE1BQU0sRUFBRSxVQUFVLEdBQ3JCOztBQUVELEFBQUEsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQzdCLFNBQVMsRUFBRSxjQUFjLEdBQzVCOztBQUVELEFBQUEsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQzdCLFNBQVMsRUFBRSxjQUFjLEdBQzVCOztBQUVELEFBQUEscUJBQXFCO0FBQ3JCLGdCQUFnQixDQUFDO0VBQ2IsU0FBUyxFQUFFLFdBQVc7RUFDdEIsaUJBQWlCLEVBQUUsV0FBVztFQUM5QixjQUFjLEVBQUUsV0FBVyxHQUM5Qjs7QUFFRCxBQUNJLHFCQURpQixDQUNqQixLQUFLLENBQUMsWUFBWSxDQUFDO0VBQ2YsY0FBYyxFQUFFLFNBQVMsR0FDNUI7O0FBR0wsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUVELEFBQUEsb0JBQW9CLEFBQUEsUUFBUSxDQUFDO0VBQ3pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLE1BQU0sRUFBRSxJQUFJLEdBSWY7RUFQRCxBQUlJLG9CQUpnQixBQUFBLFFBQVEsQ0FJeEIsWUFBWSxDQUFDO0lBQ1QsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFHTCxBQUFBLG1CQUFtQixBQUFBLFFBQVEsQ0FBQztFQUN4QixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUFBLGtCQUFrQixBQUFBLFFBQVEsQ0FBQztFQUN2QixNQUFNLEVBQUUsQ0FBQyxHQUNaOztBQ3hGRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakVrQ0ksT0FBTztFaUVqQzVCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDM0MsYUFBYSxFQUFFLEdBQUcsR0FTckI7RUFqQkQsQUFVSSx1QkFWbUIsQ0FVbkIsTUFBTSxDQUFDO0lBQ0gsT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBQUUsTUFBTTtJQUNyQixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsWUFBWTtJQUM3QixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUdMLEFBQUEsNEJBQTRCLENBQUM7RUFDekIsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQUVELEFBQ0ksVUFERCxDQUNVO0VBQ1QsTUFBTSxFQUFFLHdCQUF3QixHQUMvQjs7QUFHTCxBQUFBLFdBQVcsQ0FBQztFQUNSLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQUVELEFBQUEsY0FBYyxBQUFBLGdCQUFnQixDQUFDO0VBQzNCLFVBQVUsRUFBRSxRQUFRLEdBQ3ZCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsUUFBUSxHQWVoQjtFQWpCRCxBQUdJLG9CQUhVLENBR0Y7SUFDSixLQUFLLEVBQUUsR0FBRyxHQUNiO0VBTEwsQUFNSSxjQU5VLENBTVYsb0JBQW9CLENBQUMsR0FBRyxDQUFBO0lBQ3BCLE1BQU0sRUFBRSxRQUFRLEdBQ25CO0VBUkwsQUFTSSxjQVRVLENBU1YsU0FBUyxBQUFBLGlCQUFpQixDQUFDO0lBQ3ZCLEtBQUssRWpFR00sa0JBQW1CO0lpRUY5QixTQUFTLEVBQUUsT0FBTztJQUNsQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFHTCxBQUNJLHdCQURVLENBQ0U7RUFDUixLQUFLLEVqRVJNLGtCQUFtQjtFaUVTOUIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFQTCxBQVFJLG9CQVJVLENBUUY7RUFDSixLQUFLLEVqRVlNLE9BQU87RWlFWGxCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQVhMLEFBYUksNkJBYlUsQ0FhTztFQUNiLEtBQUssRUFBRSxrQkFBbUI7RUFDMUIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFuQkwsQUFzQlEsY0F0Qk0sQ0FxQlYsd0JBQWUsQ0FDQTtFQUNQLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGNBQWMsRUFBRSxVQUFVLEdBTTdCO0VBOUJULEFBMEJZLGNBMUJFLENBcUJWLCtCQUFlLENBS0U7SUFDTCxjQUFjLEVBQUUsVUFBVTtJQUMxQixhQUFhLEVBQUUsTUFBTSxHQUN4Qjs7QUE3QmIsQUErQlEsY0EvQk0sQ0FxQlYsZUFBZSxDQVVYLGtCQUFrQixBQUFBLGtCQUFrQixDQUFDO0VBQ2pDLE1BQU0sRUFBRSx1QkFBdUI7RUFDL0IsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixLQUFLLEVBQUUsS0FBSyxHQXNCZjtFQXhEVCxBQXFDZ0IsY0FyQ0YsQ0FxQlYsZUFBZSxDQVVYLGtCQUFrQixBQUFBLGtCQUFrQixDQUtoQyxvQ0FBaUIsQ0FDUTtJQUNqQixhQUFhLEVBQUUsR0FBRztJQUNsQixnQkFBZ0IsRWpFbEJqQixPQUFPO0lpRW1CTixZQUFZLEVqRW5CYixPQUFPLEdpRWlDVDtJQXREakIsQUEwQ29CLGNBMUNOLENBcUJWLGVBQWUsQ0FVWCxrQkFBa0IsQUFBQSxrQkFBa0IsQ0FLaEMsb0NBQWlCLENBTVQsR0FBRyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNmO0lBN0NyQixBQThDb0IsY0E5Q04sQ0FxQlYsZUFBZSxDQVVYLGtCQUFrQixBQUFBLGtCQUFrQixDQUtoQyxvQ0FBaUIsQ0FVVCxDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsTUFBTTtNQUNqQixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsTUFBTTtNQUNuQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEVqRXJGZixLQUFLLEdpRXNGRTs7QUFyRHJCLEFBMkRJLGNBM0RVLENBMkRWLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsUUFBUTtFQUNoQixPQUFPLEVBQUUsZUFBZTtFQUN4QixXQUFXLEVBQUUsVUFBVTtFQUN2QixhQUFhLEVBQUUsZUFBZTtFQUM5QixZQUFZLEVqRXBFSCxPQUFPO0VpRXFFaEIsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLEtBQUssRWpFeEVJLE9BQU87RWlFeUVoQixXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBMUVMLEFBNEVJLDJCQTVFVSxDQTRFSztFQUNYLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRWpFM0VjLE9BQU87RWlFNEUvQixHQUFHLEVBQUUsT0FBTyxHQUNmOztBQXJGTCxBQXVGSSx1QkF2RlUsQ0F1RkM7RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLE1BQU07RUFDZixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRWpFMUVDLE9BQU87RWlFMkVsQixTQUFTLEVBQUUsU0FBUztFQUNwQixNQUFNLEVBQUUsT0FBTztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHLEdBV1g7RUE5R0wsQUFxR1EsOEJBckdNLENBcUdHO0lBQ0wsS0FBSyxFakVqRkUsT0FBTztJaUVrRmQsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxhQUFhLEVBQUUsc0JBQXNCO0lBQ3JDLFlBQVksRUFBQyxJQUFJLENBQUMsS0FBSyxDakVwRmhCLE9BQU87SWlFcUZkLFdBQVcsRUFBRSxDQUFDO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLE9BQU8sR0FDakI7O0FBN0dULEFBZ0hJLGNBaEhVLENBZ0hWLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUdMLEFBQUEsUUFBUSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FDbExELEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsSUFBSSxHQWdCdEI7RUFuQkQsQUFJSSxZQUpRLENBSVIsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNkLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGtCQUFrQixFQUFFLFdBQVc7SUFDL0IsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFaTCxBQWFJLFlBYlEsQ0FhUixjQUFjLENBQUM7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGtCQUFrQixFQUFFLFdBQVcsR0FDbEM7O0FBR0wsQUFBQSxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDM0MsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEdBQUc7RUFDZixPQUFPLEVBQUUsVUFBVSxHQW1CdEI7RUExQkQsQUFTSSwwQkFUUyxDQVNNO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsS0FBSyxHQUNuQjtFQVpMLEFBY0ksc0JBZFMsQ0FjRTtJQUNQLE9BQU8sRUFBRSxJQUFJLEdBSWhCO0lBbkJMLEFBZ0JRLDhCQWhCSyxDQWdCSztNQUNOLEtBQUssRUFBRSxHQUFHLEdBQ2I7RUFsQlQsQUFxQkksc0JBckJTLENBcUJFO0lBQ1AsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxhQUFhLEVBQUUsTUFBTTtJQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUdMLEFBQ0ksNEJBRGlCLENBQ1I7RUFDTCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLEtBQUssRWxFN0JtQixrQkFBa0IsR2tFOEI3Qzs7QUFOTCxBQVFJLDRCQVJpQixDQVFSO0VBQ0wsVUFBVSxFQUFFLE1BQU07RUFDbEIsYUFBYSxFQUFFLE1BQU0sR0F1QnhCO0VBakNMLEFBV1EsNEJBWGEsQ0FXYixLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ0wsVUFBVSxFQUFFLGVBQWUsR0FDOUI7RUFiVCxBQWNRLGdDQWRhLENBY1A7SUFDRixTQUFTLEVBQUUsS0FBSztJQUNoQixRQUFRLEVBQUUsTUFBTSxHQUluQjtJQXBCVCxBQWlCWSxnQ0FqQlMsQ0FpQlQsQ0FBQyxDQUFDO01BQ0UsZUFBZSxFQUFFLFNBQVMsR0FDN0I7RUFuQmIsQUFxQlEsbUNBckJhLENBcUJKO0lBQ0wsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLE1BQU07SUFDakIsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsR0FBRztJQUNaLGdCQUFnQixFQUFFLElBQUksR0FJekI7SUFoQ1QsQUE2QlksbUNBN0JTLENBNkJULEVBQUUsQ0FBQztNQUNDLGFBQWEsRUFBRSxpQkFBaUIsR0FDbkM7O0FBS2IsQUFBQSxPQUFPLENBQUM7RUFDSixJQUFJLEVBQUUsSUFBSTtFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLEtBQUssRUFBQyxJQUFJO0VBQ1YsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLGFBQWEsRUFBRSxZQUFZLEdBQzlCOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsSUFBSTtFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUtELEFBQUEsa0JBQWtCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxJQUFJO0VBQ1QsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsT0FBTyxHQUNoQjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNWLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLGNBQWMsRUFBRSxVQUFVLEdBQzdCOztBQUVELEFBQUEsb0JBQW9CLENBQUM7RUFDakIsYUFBYSxFQUFFLE9BQU87RUFDdEIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxLQUFLLEdBQ2pCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFQUFFLEdBQUcsR0FDbEI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxVQUFVLEVBQUUsR0FBRyxHQUNsQjs7QU5qSkQ7OytFQUUrRTtBQ0YvRTs7a0VBRWtFO0FERmxFOzsrRUFFK0U7QU9HL0UsQUFBQSxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsaUJBQWlCLENBQUE7RUFDZixLQUFLLEVuRUZRLE9BQU8sR21FR3JCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLEtBQUs7RUFBRSxtQkFBbUI7RUFDcEMsT0FBTyxFQUFFLElBQUk7RUFBRSxnQkFBZ0I7RUFDL0IsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQUUsZ0JBQWdCO0VBQzdCLE1BQU0sRUFBRSxLQUFLO0VBQUUsaUJBQWlCO0VBQ2hDLFFBQVEsRUFBRSxLQUFLO0VBQUUsNkJBQTZCO0VBQzlDLGdCQUFnQixFbkVtRVksa0JBQWtCO0VtRW5FRSxzQkFBc0IsRUFDdkU7O0FBRUQsTUFBTSxtQkFFSjtFQUFBLEFBQUEsdUJBQXVCLENBQUM7SUFDcEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsTUFBTSxFQUFFLEtBQUssR0FDZCxFQUFBOztBQUdMLGdDQUFnQztBQUNoQyxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRW5FcURHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RW1FcEQ1QyxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLE1BQU0sRUFBRSxRQUFRO0VBQUUsbUNBQW1DO0VBQ3JELFVBQVUsRUFBRSxHQUFHO0VBQ2YsT0FBTyxFQUFFLE1BQU07RUFDZixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLEtBQUssRUFBRSxHQUFHO0VBQUUscURBQXFEO0VBQ2pFLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLE1BQU0sR0FzR25CO0VBbEhELEFBY0UsdUJBZHFCLENBY3JCLEtBQUssQ0FBQztJQUNKLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsZUFBZSxFQUFFLFFBQVE7SUFDekIsWUFBWSxFQUFDLEtBQUs7SUFDbEIsTUFBTSxFQUFFLGlCQUFpQixHQUMxQjtFQW5CSCxBQXFCRSx1QkFyQnFCLENBcUJyQixFQUFFLEVBckJKLHVCQUF1QixDQXFCakIsRUFBRSxDQUFDO0lBQ0wsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxPQUFPLEVBQUUsTUFBTTtJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFNBQVMsRU45Q0ssSUFBMEI7SU0rQ3hDLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsY0FBYyxFQUFFLGlCQUFpQixHQUNsQztFQS9CSCxBQWlDRSx1QkFqQ3FCLENBaUNyQixFQUFFLENBQUE7SUFDQSxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGdCQUFnQixFQUFFLEtBQUssR0FDeEI7RUFwQ0gsQUFzQ0UsdUJBdENxQixDQXNDckIsRUFBRSxDQUFDLFNBQVUsQ0FBQSxHQUFHLEVBQUU7SUFDaEIsZ0JBQWdCLEVBQUUsS0FBSyxHQUN4QjtFQXhDSCxBQTBDRSx1QkExQ3FCLENBMENyQixFQUFFLENBQUMsS0FBSyxFQTFDVix1QkFBdUIsQ0EwQ1gsRUFBRSxDQUFDLEtBQUssQ0FBQTtJQUNoQixnQkFBZ0IsRUFBRSxLQUFLLEdBQ3hCO0VBNUNILEFBOENFLHVCQTlDcUIsQ0E4Q3JCLE1BQU0sQ0FBQTtJQUNGLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBdERILEFBd0RFLHVCQXhEcUIsQ0F3RHJCLGVBQWUsQ0FBQTtJQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBMURILEFBNERFLHVCQTVEcUIsQ0E0RHJCLGVBQWUsQ0FBQTtJQUNYLGtCQUFrQixFQUFFLGVBQWU7SUFDbkMsS0FBSyxFQUFFLE1BQU07SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixZQUFZLEVBQUUsS0FBSztJQUNuQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsSUFBSSxHQXlCaEI7SUE5RkgsQUFzRU0sdUJBdEVpQixDQTREckIsZUFBZSxFQVVSLEtBQUssRUF0RWQsdUJBQXVCLENBNERyQixlQUFlLEVBVUUsTUFBTSxDQUFBO01BQ2YsVUFBVSxFQUFFLHFCQUFxQixHQUNwQztJQXhFUCxBQXlFTSx1QkF6RWlCLENBNERyQixlQUFlLENBYVQsTUFBTSxDQUFBO01BRUosWUFBWSxFQUFFLHNCQUFzQixDQUFDLFVBQVUsR0FDbEQ7SUE1RVAsQUE2RU0sdUJBN0VpQixDQTREckIsZUFBZSxDQWlCVCxLQUFLLENBQUM7TUFDSixPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFDWixRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsQ0FBQztNQUNQLEdBQUcsRUFBRSxDQUFDO01BQ04sT0FBTyxFQUFFLElBQUksR0FDaEI7SUFyRlAsQUFzRk0sdUJBdEZpQixDQTREckIsZUFBZSxDQTBCVCxPQUFPLENBQUM7TUFDTixNQUFNLEVBQUUsZUFBZTtNQUN2QixnQkFBZ0IsRUFBRSxPQUN0QixHQUFDO0lBekZQLEFBMkZNLHVCQTNGaUIsQ0E0RHJCLGVBQWUsQ0ErQlgsU0FBUyxDQUFBO01BQ0wsT0FBTyxFQUFFLElBQUksR0FDaEI7RUE3RlAsQUFnR0UsdUJBaEdxQixDQWdHckIsV0FBVyxDQUFBO0lBQ1AsVUFBVSxFQUFDLFVBQVUsR0FDeEI7RUFsR0gsQUFvR0UsdUJBcEdxQixDQW9HckIsT0FBTyxDQUFBO0lBQ0wsU0FBUyxFQUFFLE1BQU07SUFDakIsV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFQUFFLFFBQVE7SUFDcEIsTUFBTSxFQUFFLElBQUk7SUFDWixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSxpQkFBaUIsR0FFbEM7RUE3R0gsQUE4R0UsdUJBOUdxQixDQThHckIsUUFBUSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBSUgsQUFBQSxvQkFBb0IsQ0FBQTtFQUNsQixRQUFRLEVBQUUsUUFBUSxHQUNuQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFBO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFHRCxBQUFBLHVCQUF1QixDQUFBO0VBQ3JCLFVBQVUsRUFBRSxpQkFBaUI7RUFDN0IsWUFBWSxFQUFFLE9BQU87RUFDckIsV0FBVyxFQUFFLE9BQU87RUFDcEIsS0FBSyxFQUFFLGNBQWM7RUFDckIsYUFBYSxFQUFFLE1BQU0sR0FDdEI7O0FBRUQsQUFBQSxVQUFVLENBQUE7RUFDUixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsZUFBZTtFQUM1QixLQUFLLEVBQUUsdUJBQXNCO0VBQzdCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFVBQVUsRUFBRSxNQUFNLEdBQ25COztBQUdELEFBQUEsYUFBYSxDQUFDO0VBQ1YsS0FBSyxFbkU1SkssT0FBTztFbUU2SmpCLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQyxLQUFLO0FBQ25CLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDaEIsS0FBSyxFbkV4SGtCLEtBQUs7RW1FeUg1QixlQUFlLEVBQUUsSUFBSTtFQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUMvTEQsQUFDSSxrQkFEYyxDQUNkLEVBQUUsQ0FBQztFQUNDLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFcEVpRWMsS0FBSztFb0VoRXhCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsY0FBYyxFQUFFLFNBQVMsR0FDNUI7O0FBWkwsQUFjSSxrQkFkYyxDQWNkLElBQUksQ0FBQztFQUNELE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLE1BQU07RUFDZixXQUFXLEVBQUUsV0FBVztFQUN4QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELE1BQU0sbUNBekJWO0VBQUEsQUFBQSxrQkFBa0IsQ0FBQztJQTBCWCxVQUFVLEVBQUUsSUFBSSxHQUt2QjtJQS9CRCxBQTJCUSxrQkEzQlUsQ0EyQlYsSUFBSSxDQUFDO01BQ0QsT0FBTyxFQUFFLEtBQUssR0FDakIsRUFFUjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsR0FBRyxHQTBFYjtFQTdFRCxBQUtJLGlCQUxhLENBS2IsT0FBTyxDQUFDO0lBQ0osS0FBSyxFQUFFLElBQUksR0FDZDtFQVBMLEFBU0ksaUJBVGEsQ0FTYixLQUFLLENBQUM7SUFDRixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0lBQzNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixNQUFNLEVBQUUsT0FBTztJQUVmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE9BQU8sR0FrQzNCO0lBbkRMLEFBbUJRLGlCQW5CUyxDQVNiLEtBQUssQ0FVRCxVQUFVLENBQUM7TUFDUCxPQUFPLEVBQUUsSUFBSTtNQUNiLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxVQUFVLEdBa0IxQjtNQXhDVCxBQXdCWSxpQkF4QkssQ0FTYixLQUFLLENBVUQsVUFBVSxDQUtOLEVBQUUsQ0FBQztRQUNDLEtBQUssRXBFVU0sS0FBSztRb0VUaEIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSTtRQUNqQixlQUFlLEVBQUUsU0FBUyxHQUM3QjtNQWhDYixBQWlDWSxpQkFqQ0ssQ0FTYixLQUFLLENBVUQsVUFBVSxDQWNOLENBQUMsQ0FBQztRQUNFLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUksR0FDcEI7SUF2Q2IsQUF5Q1EsaUJBekNTLENBU2IsS0FBSyxDQWdDRCxVQUFVLENBQUM7TUFDSCxZQUFZLEVBQUUsTUFBTSxHQU8zQjtNQWpEVCxBQTRDZ0IsaUJBNUNDLENBU2IsS0FBSyxDQWdDRCxVQUFVLENBR0YsUUFBUSxDQUFDO1FBQ0wsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBaERqQixBQXFESSxpQkFyRGEsQ0FxRGIsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNSLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQzlDO0VBdkRMLEFBeURJLGlCQXpEYSxDQXlEYixzQkFBc0IsQ0FBQztJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUFDRCxNQUFNLG1DQTdEVjtJQUFBLEFBQUEsaUJBQWlCLENBQUM7TUE4RFYsS0FBSyxFQUFFLEdBQUcsR0FlakI7TUE3RUQsQUErRFEsaUJBL0RTLENBK0RULEtBQUssQ0FBQztRQUNGLGVBQWUsRUFBRSxNQUFNLEdBVzFCO1FBM0VULEFBa0VnQixpQkFsRUMsQ0ErRFQsS0FBSyxDQUVELFVBQVUsQ0FDTixFQUFFLENBQUM7VUFDQyxTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO1FBckVqQixBQXVFWSxpQkF2RUssQ0ErRFQsS0FBSyxDQVFELFVBQVUsQ0FBQztVQUNQLFdBQVcsRUFBRSxLQUFLO1VBQ2xCLFlBQVksRUFBRSxJQUFJLEdBQ3JCLEVBR1o7QUFFRCxBQUNJLG1CQURlLENBQ2YsQ0FBQyxDQUFDO0VBQ0UsV0FBVyxFQUFFLFdBQVc7RUFDeEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixvQkFBb0IsRUFBRSxTQUFTLEdBQ2xDOztBQ3pITCxxQkFBcUI7QUFDckIsQUFBQSxZQUFZLENBQUM7RUFDVCxXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUVRLHNDQUZlLENBRU47RUFDTCxNQUFNLEVBQUUsUUFBUTtFQUNoQixhQUFhLEVBQUUsUUFBUTtFQUN2QixjQUFjLEVBQUUsVUFBVSxHQUM3Qjs7QUFJVCxBQUNJLDZCQURjLENBQ0Q7RUFDVCxNQUFNLEVBQUUsZUFBZSxHQUMxQjs7QUFITCxBQUtJLHlCQUxjLENBS0w7RUFDTCxLQUFLLEVyRW9CVyxPQUFPO0VxRW5CdkIsV0FBVyxFQUFFLFFBQVE7RUFDckIsVUFBVSxFQUFFLEdBQUc7RUFDZixhQUFhLEVBQUUsR0FBRyxHQUNyQjs7QUFWTCxBQVdJLHlCQVhjLENBV0w7RUFDTCxLQUFLLEVyRXdDbUIsT0FBTztFcUV2Qy9CLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQWRMLEFBZUkseUJBZmMsRUFBbEIseUJBQWtCLENBZ0JMO0VBQ0wsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBR0wsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7RUFDbkQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyRTZCVyxPQUFPO0VxRTVCbkMsYUFBYSxFQUFFLE1BQU07RUFDckIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsc0JBQXNCO0VBQy9CLFVBQVUsRUFBRSxTQUFTO0VBQ3JCLGdCQUFnQixFckV3QlksT0FBTztFcUV2Qm5DLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsU0FBUyxFQUFFLElBQUksR0FtQmxCO0VBNUJELEFBV0ksaUJBWGEsQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBWSxDQVd6QztJQUNMLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFckVnQmEsT0FBTyxHcUVmNUI7RUFkTCxBQWdCSSxpQkFoQmEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBWSxDQWdCeEM7SUFDTixPQUFPLEVBQUUsVUFBVSxHQUN0QjtFQWxCTCxBQW9CSSxpQkFwQmEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBWSxDQW9CckM7SUFDVCxhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQXRCTCxBQXdCSSxpQkF4QmEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBWSxDQXdCckM7SUFDVCxhQUFhLEVBQUUsT0FBTyxHQUN6Qjs7QUFLTCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUk7RUFDVCxlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsUUFBUSxHQXNJMUI7RUExSUQsQUFNSSxzQkFOVyxDQU1GO0lBQ0wsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsTUFBTSxFQUFFLEtBQUs7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxVQUFVO0lBQzFCLEtBQUssRXJFdkNXLE9BQU87SXFFd0N2QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxDQUFDLEdBQ2Y7RUFoQkwsQUFrQkksZUFsQlcsQ0FrQlgsa0JBQWtCLENBQUM7SUFDZixNQUFNLEVBQUUsS0FBSyxHQUloQjtJQXZCTCxBQW9CUSxlQXBCTyxDQWtCWCxrQkFBa0IsQ0FFZCxHQUFHLENBQUMsV0FBVyxDQUFDO01BQ1osS0FBSyxFQUFFLGVBQWUsR0FDekI7RUF0QlQsQUF5QkksZUF6QlcsQ0F5QlgsV0FBVyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUksR0FvRGQ7SUE5RUwsQUEyQlEsZUEzQk8sQ0F5QlgsV0FBVyxDQUVQLEdBQUcsQ0FBQztNQUNBLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUI7SUE3QlQsQUErQlEsZUEvQk8sQ0F5QlgsV0FBVyxDQU1QLFlBQVksQ0FBQztNQUNULE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsSUFBSSxHQTZCWjtNQS9EVCxBQW9DWSxlQXBDRyxDQXlCWCxXQUFXLENBTVAsbUJBQVksQ0FLQztRQUNMLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLEtBQUs7UUFDVixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JFN0NGLE9BQU87UXFFOEN0QixhQUFhLEVBQUUsU0FBUztRQUN4QixPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUsT0FBTztRQUNmLEtBQUssRXJFakRVLE9BQU8sR3FFb0V6QjtRQTlEYixBQTRDZ0IsZUE1Q0QsQ0F5QlgsV0FBVyxDQU1QLG1CQUFZLENBYUosS0FBSyxDQUFDO1VBQ0YsU0FBUyxFQUFFLGdCQUFnQjtVQUMzQixTQUFTLEVBQUUsaUJBQWlCO1VBQzVCLE9BQU8sRUFBRSxLQUFLO1VBQ2QsTUFBTSxFQUFFLE9BQU87VUFDZixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osTUFBTSxFQUFFLElBQUk7VUFDWixNQUFNLEVBQUUsZ0JBQWdCO1VBQ3hCLGFBQWEsRUFBRSxnQkFBZ0I7VUFDL0IsU0FBUyxFQUFFLFFBQVE7VUFDbkIsV0FBVyxFQUFFLEdBQUc7VUFDaEIsVUFBVSxFQUFFLE1BQU07VUFDbEIsS0FBSyxFckUvRE0sT0FBTyxHcUVnRXJCO1FBMURqQixBQTJEZ0IsZUEzREQsQ0F5QlgsV0FBVyxDQU1QLG1CQUFZLENBNEJKLEtBQUssQ0FBQyxLQUFLLENBQUM7VUFDUixVQUFVLEVBQUUsZ0JBQWdCLEdBQy9CO0lBN0RqQixBQWlFUSxlQWpFTyxDQXlCWCxzQkFBVyxDQXdDTTtNQUNULFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0lBbkVULEFBcUVRLGVBckVPLENBeUJYLDBCQUFXLENBNENVO01BQ2IsS0FBSyxFckVwRVEsR0FBRztNcUVxRWhCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBeEVULEFBMEVRLGVBMUVPLENBeUJYLG9CQUFXLENBaURJO01BQ1AsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLElBQUksR0FDaEI7RUE3RVQsQUFnRkksZUFoRlcsQ0FnRlgsZUFBZSxDQUFDO0lBQ1osS0FBSyxFQUFFLElBQUksR0E2Q2Q7SUE5SEwsQUFrRlEsZUFsRk8sQ0FnRlgsdUJBQWUsQ0FFRDtNQUNOLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsTUFBTTtNQUNYLGVBQWUsRUFBRSxhQUFhLEdBQ2pDO0lBdkZULEFBeUZRLGVBekZPLENBZ0ZYLGVBQWUsQ0FTWCxtQkFBbUIsQ0FBQztNQUNoQixPQUFPLEVBQUUsSUFBSTtNQUNiLEdBQUcsRUFBRSxLQUFLLEdBa0NiO01BN0hULEFBNkZZLGVBN0ZHLENBZ0ZYLGVBQWUsQ0FTWCw0QkFBbUIsQ0FJSjtRQUNQLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLEtBQUssR0FDYjtNQWhHYixBQWtHWSxlQWxHRyxDQWdGWCxlQUFlLENBU1gsMkJBQW1CLENBU0w7UUFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JFekdGLE9BQU87UXFFMEd0QixhQUFhLEVBQUUsU0FBUztRQUN4QixLQUFLLEVyRTNHVSxPQUFPO1FxRTRHdEIsZ0JBQWdCLEVyRWhKbEIsS0FBSztRcUVpSkgsV0FBVyxFQUFFLElBQUk7UUFDakIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsT0FBTyxFQUFFLFFBQVE7UUFDakIsWUFBWSxFQUFFLFNBQVM7UUFDdkIsY0FBYyxFQUFFLFNBQVM7UUFDekIsTUFBTSxFQUFFLE9BQU87UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsSUFBSSxHQU1sQjtRQXBIYixBQWdIZ0IsZUFoSEQsQ0FnRlgsZUFBZSxDQVNYLHFDQUFtQixDQXVCQztVQUNSLGdCQUFnQixFckV2SEwsT0FBTztVcUV3SGxCLEtBQUssRXJFNUpYLEtBQUssR3FFNkpGO01BbkhqQixBQXNIWSxlQXRIRyxDQWdGWCxlQUFlLENBU1gsMkJBQW1CLENBNkJMLEtBQUssQ0FBQztRQUNaLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO01BeEhiLEFBeUhZLGVBekhHLENBZ0ZYLGVBQWUsQ0FTWCwyQkFBbUIsQ0FnQ0wsTUFBTSxDQUFDO1FBQ2IsVUFBVSxFQUFFLEtBQUssR0FDcEI7RUFLVCxNQUFNLG9CQUNGO0lBaklSLEFBaUlRLGVBaklPLENBaUlMO01BQ0UsU0FBUyxFQUFFLElBQUksR0FNbEI7TUF4SVQsQUFvSVksZUFwSUcsQ0FvSUgsV0FBVztNQXBJdkIsZUFBZSxDQXFJSCxlQUFlLENBQUM7UUFDWixLQUFLLEVBQUUsZUFBZSxHQUN6QixFQUNKO0FBSVQsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLHNCQUFlLENBQzVDO0VBQ0wsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLFFBQVE7RUFDaEIsYUFBYSxFQUFFLE9BQU8sR0FLekI7RUFUTCxBQU1RLGlCQU5TLENBQUMsdUJBQXVCLENBQUMsc0JBQWUsQ0FNakQsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FBUlQsQUFXSSxpQkFYYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBV3hDO0VBQ1QsYUFBYSxFQUFFLE9BQU8sR0FDekI7O0FBSUwsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7RUFDdEQsSUFBSSxFQUFFLEtBQUs7RUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JFaEtXLE9BQU87RXFFaUtuQyxhQUFhLEVBQUUsU0FBUztFQUN4QixPQUFPLEVBQUUsdUNBQXVDLEdBa0NuRDtFQXRDRCxBQU1JLGlCQU5hLENBQUMsdUJBQXVCLENBQUMsNEJBQWUsQ0FNdEM7SUFDWCxJQUFJLEVBQUUsa0JBQWtCLEdBQzNCO0VBUkwsQUFVSSxpQkFWYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBVXhDO0lBQ1QsR0FBRyxFQUFFLE9BQU87SUFDWixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQWJMLEFBZUksaUJBZmEsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBZSxDQWU1QztJQUNMLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsS0FBSyxFckVqTGEsT0FBTyxHcUVrTDVCO0VBbkJMLEFBcUJJLGlCQXJCYSxDQUFDLHVCQUF1QixDQUFDLHNCQUFlLENBcUI1QztJQUNMLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRXJFdExtQixPQUFPLEdxRTJMbEM7SUE3QkwsQUEwQlEsaUJBMUJTLENBQUMsdUJBQXVCLENBQUMsNkJBQWUsQ0EwQnhDO01BQ0wsS0FBSyxFckVsT0gsS0FBSyxHcUVtT1Y7RUE1QlQsQUErQkksaUJBL0JhLENBQUMsdUJBQXVCLENBQUMscUJBQWUsQ0ErQjdDO0lBQ0osZ0JBQWdCLEVyRTlMUSxPQUFPLEdxRW1NbEM7SUFyQ0wsQUFrQ1EsaUJBbENTLENBQUMsdUJBQXVCLENBQUMscUJBQWUsQ0FrQ2pELHNCQUFzQixDQUFDO01BQ25CLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBSVQsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztFQUN4RCxhQUFhLEVBQUUsT0FBTyxHQUt6QjtFQU5ELEFBR0ksaUJBSGEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0FHOUM7SUFDTCxhQUFhLEVBQUUsT0FBTyxHQUN6Qjs7QUFHTCxBQUNJLGlCQURhLENBQ2IsYUFBYSxHQUFHLENBQUMsRUFEckIsaUJBQWlCLENWMVFqQixNQUFNLEdVMlFjLENBQUMsQ0FBQztFQUNkLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUhMLEFBS0ksNEJBTGEsQ0FLQTtFQUNULE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsVUFBVTtFQUNuQixlQUFlLEVBQUUsTUFBTSxHQU8xQjtFQWhCTCxBQVdRLHlDQVhTLENBV007SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsTUFBTTtJQUNmLGVBQWUsRUFBRSxpQkFBaUIsR0FDckM7O0FBSVQsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztFQUMzRSxnQkFBZ0IsRXJFck9XLE9BQU87RXFFc09sQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsR0FBRyxHQTZEbkI7RUFoRUQsQUFPWSxpQkFQSyxDQUFDLHVCQUF1QixDQUFDLHdCQUFpQixDQU1uRCxHQUFHLENBQ0MsSUFBSSxFQVA2Qyx3QkFBaUIsQ0FNdEUsR0FBRyxDQUNDLElBQUksQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUFYYixBQWVJLGlCQWZhLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLEVBQUUsd0JBQWlCLENBZWpFO0lBQ0wsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUFqQkwsQUFvQlEsaUJBcEJTLENBQUMsdUJBQXVCLENBQUMseUJBQWlCLENBb0JuRCxFQUFFLEVBcEJWLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLHlCQUFpQixDQW9CL0MsQ0FBQyxFQXBCZ0QseUJBQWlCLENBb0J0RSxFQUFFLEVBcEJtRCx5QkFBaUIsQ0FvQmxFLENBQUMsQ0FBQztJQUNGLEtBQUssRXJFbFNILE9BQU8sR3FFbVNaO0VBdEJULEFBd0JRLGlCQXhCUyxDQUFDLHVCQUF1QixDQUFDLHlCQUFpQixDQXdCbkQsQ0FBQyxFQXhCVCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBaUIsQ0F3QmhELE1BQU0sRUF4QjRDLHlCQUFpQixDQXdCdEUsQ0FBQyxFQXhCb0QseUJBQWlCLENBd0JuRSxNQUFNLENBQUM7SUFDTixXQUFXLEVBQUUsV0FBVyxHQUMzQjtFQTFCVCxBQTRCUSxpQkE1QlMsQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBaUIsQ0E0Qm5ELE1BQU0sRUE1QitDLHlCQUFpQixDQTRCdEUsTUFBTSxDQUFDO0lBQ0gsYUFBYSxFQUFFLE1BQU07SUFDckIsZ0JBQWdCLEVyRTNTZCxPQUFPO0lxRTRTVCxLQUFLLEVyRXpTSCxLQUFLO0lxRTBTUCxNQUFNLEVBQUUsUUFBUTtJQUNoQixjQUFjLEVBQUUsVUFBVTtJQUMxQixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQW5DVCxBQXFDUSxpQkFyQ1MsQ0FBQyx1QkFBdUIsQ0FBQyxpQ0FBaUIsRUFBRSxpQ0FBaUIsQ0FxQzVEO0lBTU4sU0FBUyxFQUFFLEtBQUssR0FDbkI7SUE1Q1QsQUFzQ1ksaUJBdENLLENBQUMsdUJBQXVCLENBQUMsaUNBQWlCLENBc0MvQyxFQUFFLEVBdEMrQyxpQ0FBaUIsQ0FzQ2xFLEVBQUUsQ0FBQztNQUNDLFNBQVMsRUFBRSxLQUFLO01BQ2hCLFVBQVUsRUFBRSxLQUFLO01BQ2pCLGNBQWMsRUFBRSxVQUFVLEdBQzdCO0VBMUNiLEFBOENRLGlCQTlDUyxDQUFDLHVCQUF1QixDQUFDLCtCQUFpQixFQUFFLCtCQUFpQixDQThDOUQ7SUFDSixTQUFTLEVBQUUsT0FBTyxHQUNyQjtFQWhEVCxBQWlEUSxpQkFqRFMsQ0FBQyx1QkFBdUIsQ0FBQyxvQ0FBaUIsRUFBRSxvQ0FBaUIsQ0FpRHpEO0lBQ1QsYUFBYSxFQUFFLGdCQUFnQixHQUNsQztFQW5EVCxBQW9EUSxpQkFwRFMsQ0FBQyx1QkFBdUIsQ0FBQyxrQ0FBaUIsRUFBRSxrQ0FBaUIsQ0FvRDNEO0lBQ1AsZUFBZSxFQUFFLEtBQUssR0FDekI7RUF0RFQsQUF3REksaUJBeERhLENBQUMsdUJBQXVCLENBQUMscUNBQWlCLEVBQUUscUNBQWlCLENBd0RwRDtJQUNsQixTQUFTLEVBQUUsTUFBTSxHQUNwQjtFQTFETCxBQTRESSxpQkE1RGEsQ0FBQyx1QkFBdUIsQ0FBQywrQkFBaUIsRUFBRSwrQkFBaUIsQ0E0RDFEO0lBQ1osU0FBUyxFQUFFLEdBQUc7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUN0Qjs7QUFHTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxrQkFBa0I7RUFDekMsa0JBQWtCLEVBQUUsS0FBSyxHQXNDNUI7RUFyQ0csTUFBTSxtQkFDRjtJQUxSLEFBS1EsZ0JBTFEsQ0FLTjtNQUNFLHFCQUFxQixFQUFFLElBQUk7TUFDM0Isa0JBQWtCLEVBQUUsU0FBUyxHQUNoQyxFQUFBO0VBUlQsQUFXSSx5QkFYWSxDQVdEO0lBQ1AsV0FBVyxFQUFFLEtBQUs7SUFDbEIsUUFBUSxFQUFFLENBQUM7SUFDWCxPQUFPLEVBQUUsZ0JBQWdCLEdBWTVCO0lBVkcsTUFBTSxtQkFDRjtNQWpCWixBQWlCWSx5QkFqQkksQ0FpQkY7UUFDRSxXQUFXLEVBQUUsQ0FBQztRQUNkLFFBQVEsRUFBRSxDQUFDLEdBQ2QsRUFBQTtFQXBCYixBQTRCSSx1QkE1QlksQ0E0Qkg7SUFDTCxXQUFXLEVBQUUsS0FBSztJQUNsQixRQUFRLEVBQUUsQ0FBQztJQUNYLE1BQU0sRUFBRSxLQUFLLEdBU2hCO0lBUEcsTUFBTSxtQkFDRjtNQWxDWixBQWtDWSx1QkFsQ0ksQ0FrQ0Y7UUFDRSxXQUFXLEVBQUUsQ0FBQztRQUNkLFFBQVEsRUFBRSxDQUFDLEdBQ2QsRUFBQTtBQU1iLEFBQUEsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUM7RUFDdkQsR0FBRyxFQUFFLE1BQU07RUFDWCxhQUFhLEVBQUUsSUFBSSxHQXNCdEI7RUF4QkQsQUFJSSxpQkFKYSxDQUFDLHVCQUF1QixDQUFDLHVCQUFnQixDQUk3QztJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsSUFBSSxHQVNuQjtJQWhCTCxBQVFRLGlCQVJTLENBQUMsdUJBQXVCLENBQUMsdUJBQWdCLENBUWxELEVBQUUsQ0FBQztNQUNDLEtBQUssRUFBRSxJQUFJLEdBQ2Q7SUFWVCxBQVdRLGlCQVhTLENBQUMsdUJBQXVCLENBQUMsdUJBQWdCLENBV2xELENBQUMsQ0FBQztNQUNFLEtBQUssRXJFdFlILE9BQU87TXFFdVlULFdBQVcsRUFBRSxXQUFXO01BQ3hCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCO0VBZlQsQUFrQkksaUJBbEJhLENBQUMsdUJBQXVCLENBQUMsMkJBQWdCLENBa0J6QztJQUNULFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FBR0wsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLGlDQUFlLENBQ2pDO0VBQ2hCLEtBQUssRXJFL1drQixPQUFPLENxRStXTyxVQUFVO0VBQy9DLGdCQUFnQixFQUFFLGdCQUFnQixHQUNyQzs7QUFKTCxBQU1JLGlCQU5hLENBQUMsdUJBQXVCLENBQUMsK0JBQWUsQ0FNbkM7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRXJFclhrQixPQUFPLEdxRXNYakM7O0FBVEwsQUFXSSxpQkFYYSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FXckQsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFckU3WkMsS0FBSztFcUU4WlgsZ0JBQWdCLEVyRTFYTyxPQUFPO0VxRTJYOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyRTNYTSxPQUFPO0VxRTRYOUIsYUFBYSxFQUFFLE1BQU07RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLFFBQVE7RUFDakIsWUFBWSxFQUFFLFNBQVM7RUFDdkIsY0FBYyxFQUFFLFNBQVM7RUFDekIsTUFBTSxFQUFFLE9BQU87RUFDZixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUF0QkwsQUF3QkksaUJBeEJhLENBQUMsdUJBQXVCLENBQUMsMkJBQWUsQ0F3QnZDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsU0FBUztFQUNwQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxVQUFVLEdBQ3JCOztBQTdCTCxBQStCSSxpQkEvQmEsQ0FBQyx1QkFBdUIsQ0FBQyw4QkFBZSxDQStCcEM7RUFDYixnQkFBZ0IsRXJFcGFMLE9BQU87RXFFcWFsQixLQUFLLEVBQUUsVUFBVTtFQUNqQixhQUFhLEVBQUUsTUFBTTtFQUNyQixPQUFPLEVBQUUsZ0NBQWdDLEdBTzVDO0VBMUNMLEFBb0NRLGlCQXBDUyxDQUFDLHVCQUF1QixDQUFDLDhCQUFlLENBb0NqRCxJQUFJLENBQUM7SUFDRCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEVyRXZiSCxLQUFLO0lxRXdiUCxTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsV0FBVyxHQUMzQjs7QUFJVCxBQUNJLGlCQURhLENBQUMsdUJBQXVCLENBQUMsMkJBQW9CLENBQ2pEO0VBQ0wsYUFBYSxFQUFFLE9BQU8sR0FDekI7O0FBSEwsQUFJSSxpQkFKYSxDQUFDLHVCQUF1QixDQUFDLCtCQUFvQixDQUk3QztFQUNULFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDckVqYUMsT0FBTztFcUVrYXpCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLFFBQVE7RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsUUFBUSxFQUFFLFFBQVEsR0FRckI7RUFsQkwsQUFXUSxpQkFYUyxDQUFDLHVCQUF1QixDQUFDLCtCQUFvQixDQVd0RCxDQUFDLENBQUM7SUFDRSxRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxJQUFJO0lBQ1QsU0FBUyxFQUFFLFFBQVE7SUFDbkIsV0FBVyxFQUFFLFNBQVMsR0FDekI7O0FBS1QsQUFDSSxpQkFEYSxDQUFDLCtCQUF1QixDQUMzQjtFQUNOLFdBQVcsRUFBRSxJQUFJLEdBUXBCO0VBVkwsQUFHUSxpQkFIUyxDQUFDLCtCQUF1QixDQUdqQyxDQUFDLENBQUM7SUFDRSxhQUFhLEVBQUUsUUFBUTtJQUN2QixjQUFjLEVBQUUsVUFBVTtJQUMxQixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFVBQVUsRUFBRSxXQUFXLEdBQzFCOztBQVRULEFBWUksaUJBWmEsQ0FBQyx1QkFBdUIsQ0FZckMsTUFBTSxFQVpWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVaLEVBQUUsRUFGTixnQkFBZ0IsQ3FCd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCdGRyQyxFQUFFLEVxQnNkTixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFUixFQUFFLEVBRlYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkakMsRUFBRSxFcUJzZFYsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRUosRUFBRSxFQUZkLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZDdCLEVBQUUsRXFCc2RkLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVBLEVBQUUsRUFGbEIsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkekIsRUFBRSxFcUJzZGxCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVJLEVBQUUsRUFGdEIsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkckIsRUFBRSxFcUJzZHRCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVRLEVBQUUsRUFGMUIsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkakIsRUFBRSxFcUJzZDFCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVZLEdBQUcsRUFGL0IsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkYixHQUFHLEVxQnNkL0IsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRWlCLEdBQUcsRUFGcEMsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkUixHQUFHLEVxQnNkcEMsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRXNCLEdBQUcsRUFGekMsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkSCxHQUFHLEVxQnNkekMsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRTJCLEdBQUcsRUFGOUMsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkRSxHQUFHLEVxQnNkOUMsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRWdDLEdBQUcsRUFGbkQsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkTyxHQUFHLEVxQnNkbkQsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRXFDLEdBQUcsRUFGeEQsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkWSxHQUFHLENxQmtlN0M7RUFDSCxXQUFXLEVBQUUsUUFBUSxHQU94QjtFQXBCTCxBQWNRLGlCQWRTLENBQUMsdUJBQXVCLENBWXJDLE1BQU0sQ0FFRixFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRVosRUFBRSxDcUJvZUUsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkckMsRUFBRSxDcUJvZUUsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVSLEVBQUUsQ3FCb2VGLEVBQUUsRXJCdGVWLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZGpDLEVBQUUsQ3FCb2VGLEVBQUUsRUFkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFSixFQUFFLENxQm9lTixFQUFFLEVyQnRlVixnQkFBZ0IsQ3FCd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCdGQ3QixFQUFFLENxQm9lTixFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRUEsRUFBRSxDcUJvZVYsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkekIsRUFBRSxDcUJvZVYsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVJLEVBQUUsQ3FCb2VkLEVBQUUsRXJCdGVWLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZHJCLEVBQUUsQ3FCb2VkLEVBQUUsRUFkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFUSxFQUFFLENxQm9lbEIsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkakIsRUFBRSxDcUJvZWxCLEVBQUUsRUFkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFWSxHQUFHLENxQm9ldkIsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkYixHQUFHLENxQm9ldkIsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVpQixHQUFHLENxQm9lNUIsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkUixHQUFHLENxQm9lNUIsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVzQixHQUFHLENxQm9lakMsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkSCxHQUFHLENxQm9lakMsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUUyQixHQUFHLENxQm9ldEMsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkRSxHQUFHLENxQm9ldEMsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVnQyxHQUFHLENxQm9lM0MsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkTyxHQUFHLENxQm9lM0MsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVxQyxHQUFHLENxQm9laEQsRUFBRSxFckJ0ZVYsZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkWSxHQUFHLENxQm9laEQsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLEtBQUssR0FDaEI7RUFoQlQsQUFpQlEsaUJBakJTLENBQUMsdUJBQXVCLENBWXJDLE1BQU0sQ0FLRixJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVaLEVBQUUsQ3FCdWVFLElBQUksRXJCemVaLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZHJDLEVBQUUsQ3FCdWVFLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRVIsRUFBRSxDcUJ1ZUYsSUFBSSxFckJ6ZVosZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkakMsRUFBRSxDcUJ1ZUYsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFSixFQUFFLENxQnVlTixJQUFJLEVyQnplWixnQkFBZ0IsQ3FCd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCdGQ3QixFQUFFLENxQnVlTixJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVBLEVBQUUsQ3FCdWVWLElBQUksRXJCemVaLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZHpCLEVBQUUsQ3FCdWVWLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRUksRUFBRSxDcUJ1ZWQsSUFBSSxFckJ6ZVosZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkckIsRUFBRSxDcUJ1ZWQsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFUSxFQUFFLENxQnVlbEIsSUFBSSxFckJ6ZVosZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkakIsRUFBRSxDcUJ1ZWxCLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRVksR0FBRyxDcUJ1ZXZCLElBQUksRXJCemVaLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZGIsR0FBRyxDcUJ1ZXZCLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRWlCLEdBQUcsQ3FCdWU1QixJQUFJLEVyQnplWixnQkFBZ0IsQ3FCd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCdGRSLEdBQUcsQ3FCdWU1QixJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVzQixHQUFHLENxQnVlakMsSUFBSSxFckJ6ZVosZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkSCxHQUFHLENxQnVlakMsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCeGR6QyxnQkFBZ0IsQ0FFMkIsR0FBRyxDcUJ1ZXRDLElBQUksRXJCemVaLGdCQUFnQixDcUJ3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDckJ0ZEUsR0FBRyxDcUJ1ZXRDLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLENyQnhkekMsZ0JBQWdCLENBRWdDLEdBQUcsQ3FCdWUzQyxJQUFJLEVyQnplWixnQkFBZ0IsQ3FCd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQ3JCdGRPLEdBQUcsQ3FCdWUzQyxJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDckJ4ZHpDLGdCQUFnQixDQUVxQyxHQUFHLENxQnVlaEQsSUFBSSxFckJ6ZVosZ0JBQWdCLENxQndkaEIsaUJBQWlCLENBQUMsdUJBQXVCLENyQnRkWSxHQUFHLENxQnVlaEQsSUFBSSxDQUFDO0lBQ0QsV0FBVyxFQUFFLFdBQVcsR0FDM0I7O0FBbkJULEFBc0JJLGlCQXRCYSxDQUFDLHVCQUF1QixDQXNCckMsV0FBVyxDQUFDO0VBQ1IsR0FBRyxFQUFFLE9BQU87RUFDWixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDO0VBQzNELE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU0sR0ErQ3RCO0VBakRELEFBSUksaUJBSmEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FJMUQsQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFFLFFBQVE7SUFDbkIsS0FBSyxFckU3YUssT0FBTyxHcUU4YXBCO0VBUEwsQUFTSSxpQkFUYSxDQUFDLHVCQUF1QixDQUFDLGdDQUFvQixDQVM1QztJQUNWLE9BQU8sRUFBRSxlQUFlLEdBQzNCO0VBWEwsQUFhSSxpQkFiYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFvQixDQWFsRDtJQUNKLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFQUFFLFdBQVcsR0FDckI7RUFqQkwsQUFtQkksaUJBbkJhLENBQUMsdUJBQXVCLENBQUMsNkJBQW9CLENBbUIvQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsZ0JBQWdCLEVyRTdiTixPQUFPO0lxRThiakIsS0FBSyxFQUFFLEtBQUs7SUFDWixhQUFhLEVBQUUsT0FBTztJQUN0QixhQUFhLEVBQUUsT0FBTztJQUN0QixZQUFZLEVBQUUsT0FBTztJQUNyQixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsTUFBTTtJQUN2QixNQUFNLEVBQUUsUUFBUSxHQVVuQjtJQXZDTCxBQStCUSxpQkEvQlMsQ0FBQyx1QkFBdUIsQ0FBQyw2QkFBb0IsQ0ErQnRELElBQUksQ0FBQztNQUNELFNBQVMsRUFBRSxJQUFJLEdBQ2xCO0lBakNULEFBa0NRLGlCQWxDUyxDQUFDLHVCQUF1QixDQUFDLDZCQUFvQixDQWtDdEQsQ0FBQyxDQUFDO01BQ0UsV0FBVyxFQUFFLElBQUk7TUFDakIsS0FBSyxFQUFFLEtBQUs7TUFDWixlQUFlLEVBQUUsU0FBUyxHQUM3QjtFQXRDVCxBQXlDSSxpQkF6Q2EsQ0FBQyx1QkFBdUIsQ0FBQyw4QkFBb0IsQ0F5QzlDO0lBQ1IsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSw0QkFBNEI7SUFDcEMsVUFBVSxFQUFFLENBQUM7SUFDYixhQUFhLEVBQUUsU0FBUyxDQUFDLEtBQUssQ3JFcmRwQixPQUFPO0lxRXNkakIsU0FBUyxFQUFFLGNBQWMsR0FDNUI7O0FBR0wsTUFBTSxtQkFDRjtFQUFBLEFBQUEsV0FBVztFQUNYLGVBQWUsQ0FBQztJQUNaLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsU0FBUyxFQUFFLGdCQUFnQixHQUM5QjtFQUVELEFBQUEsY0FBYyxDQUFDO0lBQ1gsS0FBSyxFQUFFLHFCQUFxQixHQUMvQixFQUpBOztBQU9MLE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQztJQUNuRCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBUXJCO0lBWEQsQUFLSSxpQkFMYSxDQUFDLHVCQUF1QixDQUFDLHNCQUFZLENBS3RDO01BQ1IsZ0JBQWdCLEVyRTdnQkksT0FBTztNcUU4Z0IzQixXQUFXLEVBQUUsR0FBRztNQUNoQixPQUFPLEVBQUUsSUFBSTtNQUNiLHFCQUFxQixFQUFFLFVBQVUsR0FDcEM7RUFHTCxBQUNJLGlCQURhLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUNyRCxlQUFlLENBQUM7SUFDWixJQUFJLEVBQUUsR0FBRyxHQUNaO0VBSEwsQUFJSSxpQkFKYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBSXhDO0lBQ1QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsV0FBVyxFQUFFLFNBQVMsR0FDekI7RUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDO0lBQ3hELFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLFdBQVcsRUFBRSxTQUFTLEdBS3pCO0lBUkQsQUFLSSxpQkFMYSxDQUFDLHVCQUF1QixDQUFDLHdCQUFpQixDQUs5QztNQUNMLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBSUwsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLDRCQUFpQixDQUMxQztJQUNULE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsU0FBUyxFQUFFLGdCQUFnQixHQUM5QjtFQUpMLEFBTUksaUJBTmEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0FNOUM7SUFDTCxVQUFVLEVBQUUsT0FBTyxHQVV0QjtJQWpCTCxBQVFRLGlCQVJTLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLENBUW5ELEdBQUcsQ0FBQztNQUNBLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUI7SUFWVCxBQVdRLGlCQVhTLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLENBV25ELElBQUksQ0FBQztNQUNELEtBQUssRUFBRSxlQUFlO01BQ3RCLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFdBQVcsRUFBRSx5QkFBeUI7TUFDdEMsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUFoQlQsQUFtQkksaUJBbkJhLENBQUMsdUJBQXVCLENBQUMsaUNBQWlCLENBbUJyQztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLElBQUksR0FDZDtFQXZCTCxBQXlCSSxpQkF6QmEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0F5QjlDO0lBQ0wsTUFBTSxFQUFFLGVBQWU7SUFDdkIsS0FBSyxFQUFFLGdCQUFnQixHQUMxQjtFQTVCTCxBQThCSSxpQkE5QmEsQ0FBQyx1QkFBdUIsQ0FBQyxxQ0FBaUIsQ0E4QmpDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBaENMLEFBa0NJLGlCQWxDYSxDQUFDLHVCQUF1QixDQUFDLCtCQUFpQjtFQUEzRCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FtQ3ZELFNBQVMsQ0FBQztJQUNOLFNBQVMsRUFBRSxRQUFRO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBSUwsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLHVCQUFnQixDQUM3QztJQUNMLFNBQVMsRUFBRSxJQUFJLEdBS2xCO0lBUEwsQUFJUSxpQkFKUyxDQUFDLHVCQUF1QixDQUFDLHVCQUFnQixDQUlsRCxFQUFFLENBQUM7TUFDQyxNQUFNLEVBQUUsYUFBYSxHQUN4QjtFQU5ULEFBU1EsaUJBVFMsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FRdEQsMkJBQWUsQ0FDRztJQUNWLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsS0FBSyxFQUFFLGVBQWUsR0FDekI7RUFaVCxBQWNRLGlCQWRTLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBUXRELHVCQUFlLENBTUQ7SUFDTixTQUFTLEVBQUUsaUJBQWlCLEdBQy9CO0VBS1QsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLDJCQUFvQixDQUNqRDtJQUNMLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO0VBSUwsQUFBQSx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDaEMsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxHQUFHLEVBQUUsY0FBYyxHQUN0QjtFQUVELEFBQ0ksK0JBRDJCLENBQzNCLENBQUMsQ0FBQztJQUNFLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixBQUFBLE1BQU0sRUFBL0MsaUJBQWlCLENyQnpxQnJCLGdCQUFnQixDQUVaLEVBQUUsQXFCdXFCZ0IsdUJBQXVCLEVyQnpxQjdDLGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDckJ2cUJqQixFQUFFLEFxQnVxQmdCLHVCQUF1QixFQUF6QyxpQkFBaUIsQ3JCenFCckIsZ0JBQWdCLENBRVIsRUFBRSxBcUJ1cUJZLHVCQUF1QixFckJ6cUI3QyxnQkFBZ0IsQ3FCeXFCWixpQkFBaUIsQ3JCdnFCYixFQUFFLEFxQnVxQlksdUJBQXVCLEVBQXpDLGlCQUFpQixDckJ6cUJyQixnQkFBZ0IsQ0FFSixFQUFFLEFxQnVxQlEsdUJBQXVCLEVyQnpxQjdDLGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDckJ2cUJULEVBQUUsQXFCdXFCUSx1QkFBdUIsRUFBekMsaUJBQWlCLENyQnpxQnJCLGdCQUFnQixDQUVBLEVBQUUsQXFCdXFCSSx1QkFBdUIsRXJCenFCN0MsZ0JBQWdCLENxQnlxQlosaUJBQWlCLENyQnZxQkwsRUFBRSxBcUJ1cUJJLHVCQUF1QixFQUF6QyxpQkFBaUIsQ3JCenFCckIsZ0JBQWdCLENBRUksRUFBRSxBcUJ1cUJBLHVCQUF1QixFckJ6cUI3QyxnQkFBZ0IsQ3FCeXFCWixpQkFBaUIsQ3JCdnFCRCxFQUFFLEFxQnVxQkEsdUJBQXVCLEVBQXpDLGlCQUFpQixDckJ6cUJyQixnQkFBZ0IsQ0FFUSxFQUFFLEFxQnVxQkosdUJBQXVCLEVyQnpxQjdDLGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDckJ2cUJHLEVBQUUsQXFCdXFCSix1QkFBdUIsRUFBekMsaUJBQWlCLENyQnpxQnJCLGdCQUFnQixDcUJ5cUJNLHVCQUF1QixBckJ2cUJqQixHQUFHLEVBRi9CLGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBckJ2cUJqQixHQUFHLEVxQnVxQjNCLGlCQUFpQixDckJ6cUJyQixnQkFBZ0IsQ3FCeXFCTSx1QkFBdUIsQXJCdnFCWixHQUFHLEVBRnBDLGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBckJ2cUJaLEdBQUcsRXFCdXFCaEMsaUJBQWlCLENyQnpxQnJCLGdCQUFnQixDcUJ5cUJNLHVCQUF1QixBckJ2cUJQLEdBQUcsRUFGekMsZ0JBQWdCLENxQnlxQlosaUJBQWlCLENBQUMsdUJBQXVCLEFyQnZxQlAsR0FBRyxFcUJ1cUJyQyxpQkFBaUIsQ3JCenFCckIsZ0JBQWdCLENxQnlxQk0sdUJBQXVCLEFyQnZxQkYsR0FBRyxFQUY5QyxnQkFBZ0IsQ3FCeXFCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQXJCdnFCRixHQUFHLEVxQnVxQjFDLGlCQUFpQixDckJ6cUJyQixnQkFBZ0IsQ3FCeXFCTSx1QkFBdUIsQXJCdnFCRyxHQUFHLEVBRm5ELGdCQUFnQixDcUJ5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBckJ2cUJHLEdBQUcsRXFCdXFCL0MsaUJBQWlCLENyQnpxQnJCLGdCQUFnQixDcUJ5cUJNLHVCQUF1QixBckJ2cUJRLEdBQUcsRUFGeEQsZ0JBQWdCLENxQnlxQlosaUJBQWlCLENBQUMsdUJBQXVCLEFyQnZxQlEsR0FBRyxDcUJ1cUJKO0lBQzVDLEtBQUssRUFBRSxjQUFjO0lBQ3JCLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUIsRUE3R0E7O0FDcmxCTCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRXRFTUssT0FBTyxHc0V5RHBCO0VBaEVELEFBR0ksY0FIVSxDQUdSLEtBQUssQ0FBQztJQUNKLEtBQUssRXRFR0MsT0FBTyxDc0VITyxVQUFVLEdBQ2pDO0VBTEwsQUFPSSxxQkFQVSxDQU9EO0lBQ0wsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLEdBQUcsR0FLakI7SUFIRyxNQUFNLG1CQUxWO01BUEosQUFPSSxxQkFQVSxDQU9EO1FBTUQsT0FBTyxFQUFFLElBQUksR0FFcEIsRUFBQTtFQWZMLEFBaUJJLHNCQWpCVSxDQWlCQTtJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLFFBQVEsR0FDckI7RUF0QkwsQUF3Qkksb0JBeEJVLENBd0JGO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLEdBQUcsR0FpQm5CO0lBL0NMLEFBZ0NRLG9CQWhDTSxDQWdDTixDQUFDLENBQUM7TUFDRSxLQUFLLEV0RVBILEtBQUs7TXNFUVAsZUFBZSxFQUFFLFNBQVM7TUFDMUIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLFNBQVMsR0FDNUI7SUFyQ1QsQUF1Q1EsOEJBdkNNLENBdUNNO01BQ1IsS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsQ0FBQztNQUNULE1BQU0sRUFBRSwwQkFBMEI7TUFDbEMsVUFBVSxFQUFFLENBQUM7TUFDYixhQUFhLEVBQUUsT0FBTyxDQUFDLEtBQUssQ3RFcEN6QixPQUFPO01zRXFDVixZQUFZLEVBQUUsUUFBUSxHQUN6QjtFQTlDVCxBQWlESSw0QkFqRFUsQ0FpRE07SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGdCQUFnQixFdEUvQ1QsT0FBTztJc0VnRGQsYUFBYSxFQUFFLFNBQVM7SUFDeEIsV0FBVyxFQUFFLE9BQU87SUFDcEIsS0FBSyxFdEVoQ0MsS0FBSyxHc0VpQ2Q7RUEzREwsQUE2REksY0E3RFUsQ0E2RFYsQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFFLE1BQU0sR0FDcEI7O0FFL0RMLEFBQUEsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsUUFBUTtFQUNiLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLFFBQVEsR0F3RnZCO0VBdEZHLE1BQU0sbUNBUFY7SUFBQSxBQUFBLFdBQVcsQ0FBQztNQVFKLGNBQWMsRUFBRSxjQUFjO01BQzlCLEtBQUssRUFBRSxJQUFJO01BQ1gsR0FBRyxFQUFFLFFBQVE7TUFDYixnQkFBZ0IsRXhFcURPLE9BQU87TXdFcEQ5QixPQUFPLEVBQUUsVUFBVTtNQUNuQixVQUFVLEVBQUUsQ0FBQyxHQWdGcEIsRUFBQTtFQTdGRCxBQWdCSSxzQkFoQk8sQ0FnQk07SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNLEdBbUV0QjtJQXJGTCxBQW9CUSwyQkFwQkcsQ0FvQkk7TUFDSCxLQUFLLEV4RW9CTyxPQUFPO013RW5CbkIsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsZ0JBQWdCO01BQ3pCLGVBQWUsRUFBRSxJQUFJO01BQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDeEVnQkwsT0FBTztNd0VmbkIsU0FBUyxFQUFFLE9BQU87TUFDbEIsV0FBVyxFQUFFLEdBQUcsR0E0Qm5CO01BMUJHLE1BQU0sbUNBVFY7UUFwQlIsQUFvQlEsMkJBcEJHLENBb0JJO1VBVUMsTUFBTSxFQUFFLElBQUk7VUFDWixPQUFPLEVBQUUsSUFBSTtVQUNiLFdBQVcsRUFBRSxNQUFNO1VBQ25CLGVBQWUsRUFBRSxNQUFNO1VBQ3ZCLEtBQUssRUFBRSxNQUFNO1VBQ2IsTUFBTSxFQUFFLE1BQU0sR0FvQnJCLEVBQUE7TUF2RFQsQUFzQ1ksb0NBdENELENBc0NZO1FBQ1AsZ0JBQWdCLEV4RUVSLE9BQU87UXdFRGYsS0FBSyxFQUFFLEtBQUs7UUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hFQVQsT0FBTyxHd0VLbEI7UUFIRyxNQUFNLG1DQUxWO1VBdENaLEFBc0NZLG9DQXRDRCxDQXNDWTtZQU1ILGFBQWEsRUFBRSxHQUFHLEdBRXpCLEVBQUE7TUFHRyxNQUFNLG1DQURWO1FBaERaLEFBZ0RZLHlDQWhERCxDQWdEaUI7VUFFUixZQUFZLEVBQUUsQ0FBQztVQUNmLGFBQWEsRUFBRSxDQUFDO1VBQ2hCLEtBQUssRUFBRSxLQUFLLEdBRW5CLEVBQUE7SUFJRCxNQUFNLG1DQURWO01BekRSLEFBeURRLDRCQXpERyxDQXlESztRQUVBLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLE1BQU0sR0FFbEIsRUFBQTtJQTlEVCxBQWlFWSxtQ0FqRUQsQ0FpRVU7TUFDTCxzQkFBc0IsRUFBRSxHQUFHO01BQzNCLHlCQUF5QixFQUFFLEdBQUcsR0FNakM7TUFKRyxNQUFNLG1DQUpWO1FBakVaLEFBaUVZLG1DQWpFRCxDQWlFVTtVQUtELFlBQVksRUFBRSxDQUFDO1VBQ2YsYUFBYSxFQUFFLFFBQVEsR0FFOUIsRUFBQTtJQXpFYixBQTJFWSxrQ0EzRUQsQ0EyRVM7TUFDSix1QkFBdUIsRUFBRSxHQUFHO01BQzVCLDBCQUEwQixFQUFFLEdBQUcsR0FNbEM7TUFKRyxNQUFNLG1DQUpWO1FBM0VaLEFBMkVZLGtDQTNFRCxDQTJFUztVQUtBLGFBQWEsRUFBRSxDQUFDO1VBQ2hCLFlBQVksRUFBRSxRQUFRLEdBRTdCLEVBQUE7RUFuRmIsQUF3RlEsaUJBeEZHLENBd0ZILElBQUksQ0FBQztJQUNELEtBQUssRXhFbEVILE9BQU87SXdFbUVULFNBQVMsRUFBRSxNQUFNLEdBQ3BCOztFRHpGUCxBQUFGLGlDQUFtQyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxJQUFJO0VBQ2Isa0JBQWtCLEVBQUUsSUFBSSxHQUMzQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJLEdBMEJoQjtFQXhCRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxXQUFXLENBQUM7TUFJSixPQUFPLEVBQUUsSUFBSTtNQUNiLGdCQUFnQixFdkVzREUsT0FBTztNdUVyRHpCLE9BQU8sRUFBRSxtQkFBbUI7TUFDNUIsZUFBZSxFQUFFLE1BQU07TUFDdkIsV0FBVyxFQUFFLE1BQU07TUFDbkIsR0FBRyxFQUFFLFFBQVEsR0FrQnBCLEVBQUE7RUEzQkQsQUFZSSxXQVpPLENBWVAsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFdkVNQyxLQUFLO0l1RUxYLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUFmTCxBQWlCSSxXQWpCTyxDQWlCUCxDQUFDLENBQUM7SUFDRSxLQUFLLEV2RUNDLEtBQUs7SXVFQVgsY0FBYyxFQUFFLFNBQVM7SUFDekIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQXRCTCxBQXdCSSx1QkF4Qk8sQ0F3Qk87SUFDVixXQUFXLEVBQUUsS0FBSyxHQUNyQjs7QUFHTCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsbUJBQW1CLEdBQ2xDOztBQUVELEFBQUEsdUJBQXVCLEVBQUUsaUJBQWlCLENBQUM7RUFDdkMsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBRUQsQUFFUSx1QkFGRCxFQUFQLG9CQUFPLENBRVM7RUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFKVCxBQU1ZLGlCQU5MLENBS0MsS0FBSyxDQUNELEtBQUssRUFOakIsY0FBTyxDQUtDLEtBQUssQ0FDRCxLQUFLLENBQUM7RUFDRixRQUFRLEVBQUUsTUFBTTtFQUNoQixHQUFHLEVBQUUsQ0FBQyxHQUNUOztBQVRiLEFBVVksaUJBVkwsQ0FLQyxLQUFLLENBS0QsS0FBSyxDQUFDLEVBQUUsRUFWcEIsY0FBTyxDQUtDLEtBQUssQ0FLRCxLQUFLLENBQUMsRUFBRSxDQUFDO0VBQ0wsZ0JBQWdCLEV2RXRDbEIsT0FBTztFdUV1Q0wsS0FBSyxFdkVwQ1AsS0FBSyxHdUVxQ047O0FBYmIsQUFjWSxpQkFkTCxDQUtDLEtBQUssQ0FTRCxLQUFLLENBQUMsRUFBRSxFQWRwQixjQUFPLENBS0MsS0FBSyxDQVNELEtBQUssQ0FBQyxFQUFFLENBQUM7RUFDTCxPQUFPLEVBQUUsZUFBZTtFQUN4QixjQUFjLEVBQUUsU0FBUyxHQUk1QjtFQXBCYixBQWlCZ0IsaUJBakJULENBS0MsS0FBSyxDQVNELEtBQUssQ0FBQyxFQUFFLENBR0osQ0FBQyxFQWpCakIsY0FBTyxDQUtDLEtBQUssQ0FTRCxLQUFLLENBQUMsRUFBRSxDQUdKLENBQUMsQ0FBQztJQUNFLFNBQVMsRUFBRSxNQUFNLEdBQ3BCOztBQW5CakIsQUFxQlksaUJBckJMLENBS0MsS0FBSyxDQWdCRCxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVUsQ0FBQSxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFyQmxELGNBQU8sQ0FLQyxLQUFLLENBZ0JELEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBVSxDQUFBLEdBQUcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDO0VBQ25DLGdCQUFnQixFdkV0RE4sT0FBTyxHdUV1RHBCOztBQXZCYixBQTRCUSxnQkE1QkQsQ0E0QkMsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDO0FBNUJ2QixnQkFBTyxDQTZCQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUM7QUE3QnZCLGdCQUFPLENBOEJDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxHQTlCdkIsYUFBTyxDQTRCQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUM7QUE1QnZCLGFBQU8sQ0E2QkMsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDO0FBN0J2QixhQUFPLENBOEJDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUNmO0VBQ0ksU0FBUyxFQUFFLElBQUksR0FDbEI7O0FBakNULEFBbUNRLGdCQW5DRCxDQW1DQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsR0FuQ3ZCLGFBQU8sQ0FtQ0MsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDLEVBQUU7RUFDYixLQUFLLEV2RTlFRixPQUFPO0V1RStFVixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUF0Q1QsQUF5Q0ksZ0JBekNHLEVBQVAsYUFBTyxDQXlDaUI7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsV0FBVyxHQVMxQjtFQXBETCxBQTRDUSxnQkE1Q0QsQ0E0Q0MsR0FBRyxDQUFDLFdBQVcsRUE1Q3ZCLGFBQU8sQ0E0Q0MsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUNaLEtBQUssRXZFeEVILE9BQU87SXVFeUVULGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBL0NULEFBZ0RRLGdCQWhERCxDQWdEQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsR0FoRHZCLGFBQU8sQ0FnREMsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDLEVBQUU7SUFDYixLQUFLLEV2RTVGSCxPQUFPO0l1RTZGVCxXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFuRFQsQUF1RFEsZ0JBdkRELENBdURDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ2IsS0FBSyxFdkVsR0YsT0FBTztFdUVtR1YsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBMURULEFBNERRLHVCQTVERCxDQTREVTtFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLFVBQVU7RUFDdkIsR0FBRyxFQUFFLFFBQVE7RUFDYixlQUFlLEVBQUUsYUFBYSxHQU9qQztFQXZFVCxBQWtFWSx1QkFsRUwsQ0FrRUssR0FBRyxDQUFDO0lBQ0EsZ0JBQWdCLEV2RWxEQSxPQUFPO0l1RW1EdkIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLGVBQWUsR0FDM0I7O0FBdEViLEFBMkVRLGFBM0VELENBMkVDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ2IsS0FBSyxFdkV2SEgsT0FBTztFdUV3SFQsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBOUVULEFBaUZJLG9CQWpGRyxDQWlGWTtFQUNYLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRXZFOUdDLE9BQU8sR3VFK0doQjs7QUFwRkwsQUFzRkksZ0JBdEZHLENBc0ZRO0VBQ1AsZ0JBQWdCLEV2RXhERixPQUFPO0V1RXlEckIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsVUFBVSxFQUFFLFdBQVcsR0ErSDFCO0VBeE5MLEFBMkZRLGdCQTNGRCxDQTJGQyxLQUFLLEVBM0ZiLGdCQUFPLENBMkZRLE1BQU0sRUEzRnJCLGdCQUFPLENBMkZnQixTQUFTLENBQUMsSUFBSSxFQTNGckMsZ0JBQU8sQ0EyRmdDLG1CQUFtQixDQUFDLElBQUksRUEzRi9ELGdCQUFPLENBMkYwRCxTQUFTLENBQUM7SUFDL0QsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUE3RlQsQUErRlEsdUJBL0ZELENBK0ZVO0lBQ0wsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxhQUFhO0lBQzlCLFdBQVcsRUFBRSxNQUFNLEdBT3RCO0lBTEcsTUFBTSxvQkFDRjtNQXRHaEIsQUFzR2dCLHVCQXRHVCxDQXNHVztRQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7RUF4R2pCLEFBNEdRLGdCQTVHRCxDQTRHQyxPQUFPLENBQUM7SUFDSixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLEtBQUssRUFBRSxJQUFJLEdBcUJkO0lBbklULEFBK0dZLGdCQS9HTCxDQTRHQyxPQUFPLENBR0gsS0FBSyxDQUFDO01BQ0UsTUFBTSxFQUFFLEtBQUs7TUFDYixnQkFBZ0IsRUFBRSx3Q0FBd0M7TUFDMUQsZUFBZSxFQUFFLE1BQU07TUFDdkIsbUJBQW1CLEVBQUUsT0FBTztNQUM1QixPQUFPLEVBQUUsWUFBWTtNQUNyQixZQUFZLEV2RXRGVixPQUFPLEN1RXNGMEIsVUFBVTtNQUM3QyxhQUFhLEVBQUUsZUFBZTtNQUM5QixTQUFTLEVBQUUsZ0JBQWdCO01BQzNCLEtBQUssRUFBRSxJQUFJLEdBQ2xCO0lBQ0QsTUFBTSxvQkFDRjtNQTNIaEIsQUEySGdCLGdCQTNIVCxDQTRHQyxPQUFPLENBZUc7UUFDRSxTQUFTLEVBQUUsZ0JBQWdCLEdBSzlCO1FBaklqQixBQThIb0IsZ0JBOUhiLENBNEdDLE9BQU8sQ0FrQkssS0FBSyxDQUFDO1VBQ0YsU0FBUyxFQUFFLGdCQUFnQixHQUM5QixFQUNKO0VBaklqQixBQXVJWSxnQkF2SUwsQ0FxSUMsU0FBUyxDQUVMLElBQUk7RUF2SWhCLGdCQUFPLENBc0lDLG1CQUFtQixDQUNmLElBQUksQ0FBQztJQUNELE1BQU0sRUFBRSxPQUFPO0lBQ2YsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUExSWIsQUE0SVksZ0JBNUlMLENBcUlDLFNBQVMsQ0FPTCxJQUFJLEVBNUloQixnQkFBTyxDQXFJQyxTQUFTLENBT0MsQ0FBQztFQTVJbkIsZ0JBQU8sQ0FzSUMsbUJBQW1CLENBTWYsSUFBSTtFQTVJaEIsZ0JBQU8sQ0FzSUMsbUJBQW1CLENBTVQsQ0FBQyxDQUFDO0lBQ0osY0FBYyxFQUFFLFNBQVM7SUFDekIsS0FBSyxFdkV6S1AsT0FBTztJdUUwS0wsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUFoSmIsQUFtSlEsZ0JBbkpELENBbUpDLFNBQVMsQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLFFBQVE7SUFDckIsR0FBRyxFQUFFLElBQUksR0FnQlo7SUF0S1QsQUF3SlksZ0JBeEpMLENBbUpDLFNBQVMsQ0FLTCxNQUFNLENBQUM7TUFDSCxNQUFNLEVBQUUsT0FBTztNQUNmLE1BQU0sRUFBRSxXQUFXO01BQ25CLGFBQWEsRUFBRSxLQUFLO01BQ3BCLE1BQU0sRUFBRSxLQUFLO01BQ2IsU0FBUyxFQUFFLElBQUk7TUFDZixnQkFBZ0IsRXZFdExsQixLQUFLO011RXVMSCxhQUFhLEVBQUUsSUFBSTtNQUNuQixZQUFZLEVBQUUscUJBQXFCLEdBS3RDO01BSEcsTUFBTSxtQkFWVjtRQXhKWixBQXdKWSxnQkF4SkwsQ0FtSkMsU0FBUyxDQUtMLE1BQU0sQ0FBQztVQVdDLFNBQVMsRUFBRSxLQUFLLEdBRXZCLEVBQUE7RUFyS2IsQUF3S1EsZ0JBeEtELENBd0tDLG1CQUFtQixDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBMUtULEFBNEtRLGdCQTVLRCxDQTRLQyxTQUFTLENBQUM7SUFDTixHQUFHLEVBQUUsSUFBSTtJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsSUFBSSxHQW9CbkI7SUFwTVQsQUFrTFksZ0JBbExMLENBNEtDLFNBQVMsQ0FNTCxRQUFRLENBQUM7TUFDTCxPQUFPLEVBQUUsS0FBSztNQUNkLEtBQUssRXZFdElELE9BQU87TXVFdUlYLGdCQUFnQixFdkU3TWxCLEtBQUs7TXVFOE1ILFdBQVcsRUFBRSxHQUFHO01BQ2hCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGFBQWEsRUFBRSxLQUFLO01BQ3BCLE1BQU0sRUFBRSxPQUFPO01BQ2YsY0FBYyxFQUFFLENBQUMsR0FNcEI7TUFoTWIsQUE0TGdCLGdCQTVMVCxDQTRLQyxTQUFTLENBTUwsZ0JBQVEsQ0FVTTtRQUNOLGdCQUFnQixFdkV2T3JCLE9BQU87UXVFd09GLEtBQUssRXZFdE5YLEtBQUssR3VFdU5GO0lBL0xqQixBQWlNWSxnQkFqTUwsQ0E0S0MsU0FBUyxDQXFCTCxNQUFNLENBQUM7TUFDSCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQW5NYixBQXNNUSxnQkF0TUQsQ0FzTUMsUUFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsTUFBTSxHQWNwQjtJQXZOVCxBQTJNWSxnQkEzTUwsQ0FzTUMsUUFBUSxDQUtKLGFBQWEsQ0FBQztNQUNWLEdBQUcsRUFBRSxPQUFPO01BQ1osS0FBSyxFQUFFLFFBQVEsR0FDbEI7SUE5TWIsQUFnTlksZ0JBaE5MLENBc01DLFFBQVEsQ0FVSixlQUFlLENBQUM7TUFDWixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQWxOYixBQW9OWSxnQkFwTkwsQ0FzTUMsUUFBUSxDQWNKLFdBQVcsQ0FBQztNQUNSLEtBQUssRXZFOU5HLE9BQU8sQ3VFOE5lLFVBQVUsR0FDM0M7O0FFeFFiLEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixrQkFBa0IsRUFBRSwyQ0FBMkM7RUFDL0QsS0FBSyxFekVvQkssT0FBTyxHeUUwRXBCO0VBNUZHLE1BQU0sbUNBTFY7SUFBQSxBQUFBLGVBQWUsQ0FBQztNQU1SLGtCQUFrQixFQUFFLG9DQUFvQyxHQTJGL0QsRUFBQTtFQWpHRCxBQVNJLDZCQVRXLENBU0s7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxRQUFRO0lBQ2IsYUFBYSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLFFBQVEsR0FTdkI7SUF0QkwsQUFlUSw2QkFmTyxDQWVQLENBQUMsQ0FBQztNQUNFLFNBQVMsRUFBRSxLQUFLO01BQ2hCLEtBQUssRXpFK0VHLE9BQU87TXlFOUVmLGNBQWMsRUFBRSxDQUFDO01BQ2pCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUFyQlQsQUF3QkksOEJBeEJXLENBd0JNO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSSxHQU1aO0lBSkcsTUFBTSxtQ0FKVjtNQXhCSixBQXdCSSw4QkF4QlcsQ0F3Qk07UUFLVCxjQUFjLEVBQUUsTUFBTTtRQUN0QixHQUFHLEVBQUUsTUFBTSxHQUVsQixFQUFBO0VBaENMLEFBa0NJLHFCQWxDVyxDQWtDSDtJQUNKLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGNBQWMsRUFBRSxTQUFTLEdBcUI1QjtJQTNETCxBQXdDUSw2QkF4Q08sQ0F3Q0c7TUFDTixTQUFTLEVBQUUsbUJBQW1CO01BQzlCLGNBQWMsRUFBRSxDQUFDO01BQ2pCLGNBQWMsRUFBRSxJQUFJO01BQ3BCLFdBQVcsRUFBRSxjQUFjLEdBQzlCO0lBN0NULEFBK0NRLHFCQS9DTyxDQStDUCxDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsTUFBTTtNQUNqQixXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsQ0FBQztNQUNqQixNQUFNLEVBQUUsV0FBVyxHQUN0QjtJQXBEVCxBQXNEUSw0QkF0RE8sQ0FzREU7TUFDTCxjQUFjLEVBQUUsU0FBUztNQUN6QixLQUFLLEV6RWhERixPQUFPO015RWlEVixlQUFlLEVBQUUsU0FBUyxHQUM3QjtFQTFEVCxBQTZESSwyQkE3RFcsQ0E2REc7SUFDVixPQUFPLEVBQUUsSUFBSTtJQUNiLHFCQUFxQixFQUFFLGNBQWM7SUFDckMsa0JBQWtCLEVBQUUsSUFBSSxHQU8zQjtJQUxHLE1BQU0sbUNBTFY7TUE3REosQUE2REksMkJBN0RXLENBNkRHO1FBTU4scUJBQXFCLEVBQUUsSUFBSTtRQUMzQixrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLE9BQU8sRUFBRSxNQUFNLEdBRXRCLEVBQUE7RUF2RUwsQUF5RUksd0JBekVXLENBeUVBO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixNQUFNLEVBQUUsUUFBUSxHQW9CbkI7SUFsQkcsTUFBTSxtQ0FMVjtNQXpFSixBQXlFSSx3QkF6RVcsQ0F5RUE7UUFNSCxNQUFNLEVBQUUsVUFBVSxHQWlCekIsRUFBQTtJQWRHLE1BQU0sMkRBVFY7TUF6RUosQUF5RUksd0JBekVXLENBeUVBO1FBVUgsTUFBTSxFQUFFLFdBQVcsR0FhMUIsRUFBQTtJQWhHTCxBQXNGUSw2QkF0Rk8sQ0FzRkE7TUFDSCxXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsTUFBTTtNQUNqQixjQUFjLEVBQUUsQ0FBQztNQUNqQixjQUFjLEVBQUUsU0FBUyxHQUs1QjtNQS9GVCxBQTRGWSxtQ0E1RkcsQ0E0Rks7UUFDSixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUM5RmIsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsR0FBRyxFQUFFLElBQUk7RUFDVCxhQUFhLEVBQUUsS0FBSyxHQUt2QjtFQVRELEFBTUksMEJBTlEsQ0FNUTtJQUNaLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQUdMLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFFdURXLE9BQU87RTBFdERuQyxhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsTUFBTTtFQUN2QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTSxHQXNCdEI7RUEvQkQsQUFXSSx3QkFYYSxDQVdKO0lBQ0wsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsU0FBUztJQUN0QixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQWpCTCxBQW1CSSx3QkFuQmEsQ0FtQko7SUFDTCxLQUFLLEVBQUUsR0FBRztJQUNWLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBekJMLEFBMkJJLHdCQTNCYSxFQUFqQixxQ0FBaUIsQ0EyQm1CO0lBQzVCLEtBQUssRTFFaEJDLE9BQU87STBFaUJiLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQUdMLEFBQUEsd0JBQXdCLENBQUM7RUFDckIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxRXNCVyxPQUFPO0UwRXJCbkMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsWUFBWSxFQUFFLElBQUksR0FDckI7O0FBR0QsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixhQUFhLEVBQUUsTUFBTSxHQVF4QjtFQVRELEFBR0ksOEJBSG1CLENBR1Y7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxLQUFLO0lBQ1YsU0FBUyxFQUFFLElBQUk7SUFDZixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFHTCxBQUNJLHNCQURVLENBQ0E7RUFDTixPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUxMLEFBTUkscUJBTlUsQ0FNRDtFQUNMLE9BQU8sRUFBRSxnQkFBZ0IsR0FDNUI7O0FBUkwsQUFTSSxvQkFUVSxDQVNGO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixVQUFVLEVBQUUsS0FBSyxHQWdCcEI7RUE1QkwsQUFjUSxvQkFkTSxDQWNOLElBQUksQ0FBQztJQUNELEtBQUssRTFFM0RILE9BQU8sRzBFNERaO0VBaEJULEFBa0JRLG9CQWxCTSxDQWtCTixJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2IsU0FBUyxFQUFFLFFBQVE7SUFDbkIsV0FBVyxFQUFFLElBQUk7SUFDakIsV0FBVyxFQUFFLFNBQVMsR0FDekI7RUF0QlQsQUF3QlEsb0JBeEJNLENBd0JOLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDWixTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsT0FBTyxHQUN2Qjs7QUFJVCxBQUNJLCtCQURZLENBQ0s7RUFDYixTQUFTLEVBQUUsQ0FBQyxHQVNmO0VBWEwsQUFHUSwrQkFIUSxDQUdSLEtBQUssQ0FBQztJQUNGLFVBQVUsRTFFNUVSLEtBQUs7STBFNkVQLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7SUFDM0MsYUFBYSxFQUFFLGNBQWM7SUFDN0IsWUFBWSxFMUUvRVYsS0FBSyxDMEUrRW1CLFVBQVU7SUFDcEMsTUFBTSxFQUFFLGVBQWU7SUFDdkIsU0FBUyxFQUFFLElBQUksR0FDbEI7O0FBVlQsQUFZSSx3QkFaWSxDQVlGO0VBQ04sWUFBWSxFQUFFLElBQUksR0FDckI7O0FBZEwsQUFlSSx1QkFmWSxDQWVIO0VBQ0wsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGVBQWUsRUFBRSxhQUFhO0VBQzlCLGFBQWEsRUFBRSxJQUFJLEdBS3RCO0VBekJMLEFBc0JRLHVCQXRCUSxDQXNCUixFQUFFLEVBdEJWLHVCQUFnQixDQXNCSixPQUFPLENBQUM7SUFDUixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFJVCxBQUFBLGFBQWEsQ0FBQztFQUNWLGFBQWEsRUFBRSxJQUFJLEdBc0V0QjtFQXZFRCxBQUdJLHdCQUhTLENBR0k7SUFDVCxVQUFVLEVBQUUsS0FBSyxHQUNwQjtFQUxMLEFBT0kscUJBUFMsQ0FPQztJQUNOLE1BQU0sRUFBRSxJQUFJLEdBY2Y7SUF0QkwsQUFVUSxxQkFWSyxDQVVMLEVBQUUsQ0FBQztNQUNDLFVBQVUsRTFFdEVVLE9BQU8sQzBFc0VnQixVQUFVO01BQ3JELE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0lBYlQsQUFjUSxxQkFkSyxDQWNMLEVBQUUsQ0FBQyxXQUFXLENBQUM7TUFDWCxzQkFBc0IsRUFBRSxHQUFHO01BQzNCLHlCQUF5QixFQUFFLEdBQUcsR0FDakM7SUFqQlQsQUFrQlEscUJBbEJLLENBa0JMLEVBQUUsQ0FBQyxVQUFVLENBQUM7TUFDViwwQkFBMEIsRUFBRSxHQUFHO01BQy9CLHVCQUF1QixFQUFFLEdBQUcsR0FDL0I7RUFyQlQsQUF3Qkksa0JBeEJTLENBd0JGO0lBQ0gsVUFBVSxFMUU3SEosS0FBSyxDMEU2SGMsVUFBVSxHQWV0QztJQXhDTCxBQTJCUSxrQkEzQkssQ0EyQkwsRUFBRSxDQUFDO01BQ0MsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxRTlGSixPQUFPO00wRStGM0IsU0FBUyxFQUFFLE9BQU87TUFDbEIsTUFBTSxFQUFFLElBQUk7TUFDWixPQUFPLEVBQUUsUUFBUSxHQUNwQjtJQWhDVCxBQWlDUSxrQkFqQ0ssQ0FpQ0wsQ0FBQyxDQUFDO01BQ0UsZUFBZSxFQUFFLFNBQVM7TUFDMUIsS0FBSyxFMUV6SVMsT0FBTyxHMEUwSXhCO0lBcENULEFBcUNRLGtCQXJDSyxDQXFDTCxDQUFDLENBQUMsS0FBSyxDQUFDO01BQ0osZUFBZSxFQUFFLE9BQU8sR0FDM0I7RUF2Q1QsQUEwQ0ksb0JBMUNTLENBMENBO0lBQ0wsU0FBUyxFQUFFLFFBQVE7SUFDbkIsS0FBSyxFMUVoSkMsS0FBSztJMEVpSlgsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLFNBQVMsR0FRekI7SUF0REwsQUFnRFEsOEJBaERLLENBZ0RPO01BQ1IsS0FBSyxFQUFFLEtBQUssR0FDZjtJQWxEVCxBQW1EUSw4QkFuREssQ0FtRE87TUFDUixLQUFLLEVBQUUsS0FBSyxHQUNmO0VBckRULEFBd0RJLDBCQXhEUyxDQXdETTtJQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBMURMLEFBNERJLDRCQTVEUyxDQTREUTtJQUNiLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLGtCQUFrQixFQUFFLENBQUM7SUFDckIsVUFBVSxFQUFFLENBQUM7SUFDYixrQkFBa0IsRUFBRSxRQUFRLEdBQy9CO0VBbkVMLEFBb0VJLDRCQXBFUyxDQW9FUTtJQUNiLFdBQVcsRUFBRSxLQUFLLEdBQ3JCOztBQUdMLEFBQUEsMEJBQTBCLENBQUM7RUFDdkIsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBRUQsQUFBQSxpQkFBaUI7QUFDakIsd0JBQXdCLENBQUM7RUFDckIsS0FBSyxFQUFFLEtBQUssR0FJZjtFQU5ELEFBR0ksaUJBSGEsQ0FHYixDQUFDO0VBRkwsd0JBQXdCLENBRXBCLENBQUMsQ0FBQztJQUNFLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQUdMLEFBQ0ksd0JBRG9CLENBQ3BCLENBQUMsQ0FBQztFQUNFLEtBQUssRUFBRSxPQUFxQixHQUMvQjs7QUFITCxBQUlJLHdCQUpvQixDQUlwQixPQUFPLENBQUM7RUFDSixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLEtBQUssRUFBRSxPQUFxQixHQUMvQjs7QUFQTCxBQVFJLHdCQVJvQixDQVFwQixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBR0wsQUFBQSwyQkFBMkIsQ0FBQztFQUN4QixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxPQUFPO0VBQ2pCLGtCQUFrQixFQUFFLGNBQWM7RUFDbEMsVUFBVSxFQUFFLE1BQU07RUFDbEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsY0FBYyxFQUFFLElBQUksR0FDdkI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixXQUFXLEVBQUUsV0FBVyxHQUMzQjs7QUFFRCxNQUFNLG9CQUNGO0VBQUEsQUFBQSxZQUFZLENBQUM7SUFDVCxTQUFTLEVBQUUsS0FBSyxHQUNuQixFQUFBOztBQUdMLE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLHdCQUF3QixDQUFDO0lBQ3JCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFFRCxBQUFBLDJCQUEyQixDQUFDO0lBQ3hCLGtCQUFrQixFQUFFLGNBQWMsR0FDckMsRUFKQTs7QUN0UEwsQUFBQSxtQkFBbUIsRUFBRSxlQUFlLENBQUM7RUFDbkMsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLHFCQUFxQixFQUFFLGlCQUFpQixDQUFDO0VBQ3ZDLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFQUFFLGNBQWMsR0FDMUI7O0FBRUQsQUFBQSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7RUFDckQsT0FBTyxFQUFFLGVBQWU7RUFDeEIsV0FBVyxFQUFFLFFBQVE7RUFDckIsZ0JBQWdCLEUzRW1FQSxPQUFPO0UyRWxFdkIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBZ0h0QjtFQXZIRCxBQVNJLGtCQVRjLENBU2QsTUFBTSxFQVRVLGNBQWMsQ0FTOUIsTUFBTSxFQVQwQixvQkFBb0IsQ0FTcEQsTUFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLGdCQUFnQixHQUNoQztFQVhMLEFBYUksa0JBYmMsQ0FhZCxrQkFBa0IsRUFiRixjQUFjLENBYTlCLGtCQUFrQixFQWJjLG9CQUFvQixDQWFwRCxrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLGFBQWEsR0FDdEI7RUFuQkwsQUFxQkksa0JBckJjLENBcUJkLGNBQWMsRUFyQmxCLGtCQUFrQixDQXFCRSxZQUFZLEVBckJoQyxrQkFBa0IsQ0FxQmdCLG1CQUFtQixFQXJCakMsY0FBYyxDQXFCOUIsY0FBYyxFQXJCRSxjQUFjLENBcUJkLFlBQVksRUFyQlosY0FBYyxDQXFCQSxtQkFBbUIsRUFyQmpCLG9CQUFvQixDQXFCcEQsY0FBYyxFQXJCa0Isb0JBQW9CLENBcUJwQyxZQUFZLEVBckJJLG9CQUFvQixDQXFCdEIsbUJBQW1CLENBQUM7SUFDaEQsT0FBTyxFQUFFLElBQUksR0FDZDtFQXZCTCxBQTBCSSxrQkExQmMsQ0EwQmQsb0NBQW9DLEVBMUJwQixjQUFjLENBMEI5QixvQ0FBb0MsRUExQkosb0JBQW9CLENBMEJwRCxvQ0FBb0MsQ0FBQztJQUNuQyxNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQTVCTCxBQThCSSx1QkE5QmMsRUFBRSxtQkFBYyxFQUFFLHlCQUFvQixDQThCN0M7SUFDTCxLQUFLLEUzRWpCRyxLQUFLO0kyRWtCYixVQUFVLEUzRXVCZ0IsT0FBTztJMkV0QmpDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0VzQlMsT0FBTztJMkVyQmpDLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxZQUFZLEdBS3JCO0lBNUNMLEFBeUNNLHVCQXpDWSxDQXlDWixDQUFDLEVBekNhLG1CQUFjLENBeUM1QixDQUFDLEVBekM2Qix5QkFBb0IsQ0F5Q2xELENBQUMsQ0FBQztNQUNBLE1BQU0sRUFBRSxVQUFVLEdBQ25CO0VBM0NQLEFBOENJLHdCQTlDYyxFQUFFLG9CQUFjLEVBQUUsMEJBQW9CLENBOEM1QztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLE1BQU07SUFDWCxTQUFTLEVBQUUsSUFBSSxHQXNCaEI7SUF2RUwsQUFtRE0sa0NBbkRZLEVBQUUsOEJBQWMsRUFBRSxvQ0FBb0IsQ0FtRHRDO01BQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzRWdCTixPQUFPO00yRWZsQixnQkFBZ0IsRTNFZUwsT0FBTztNMkVkbEIsS0FBSyxFM0V4Q0MsS0FBSyxHMkV5Q1o7SUF2RFAsQUF5RE0sb0NBekRZLEVBQUUsZ0NBQWMsRUFBRSxzQ0FBb0IsQ0F5RHBDO01BQ1osZ0JBQWdCLEUzRTVDVixLQUFLO00yRTZDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNFN0NYLEtBQUs7TTJFOENYLEtBQUssRTNFL0JXLE9BQU8sRzJFZ0N4QjtJQTdEUCxBQStETSxrQ0EvRFksRUFBbEIsb0NBQWtCLEVBQUUsOEJBQWMsRUFBZCxnQ0FBYyxFQUFFLG9DQUFvQixFQUFwQixzQ0FBb0IsQ0ErRHZCO01BQ3pCLGFBQWEsRUFBRSxHQUFHO01BQ2xCLFNBQVMsRUFBRSxPQUFPO01BQ2xCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE9BQU8sRUFBRSxRQUFRO01BQ2pCLE1BQU0sRUFBRSxNQUFNO01BQ2QsV0FBVyxFQUFFLENBQUMsR0FDZjtFQXRFUCxBQXlFSSxtQ0F6RWMsRUFBRSwrQkFBYyxFQUFFLHFDQUFvQixDQXlFakM7SUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzRTVEVCxLQUFLO0kyRTZEYixnQkFBZ0IsRTNFN0RSLEtBQUs7STJFOERiLEtBQUssRTNFUlEsT0FBTyxHMkVTckI7RUE3RUwsQUErRUksaUNBL0VjLEVBQUUsNkJBQWMsRUFBRSxtQ0FBb0IsQ0ErRWxDO0lBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDM0VaSixPQUFPO0kyRWFwQixnQkFBZ0IsRTNFYkgsT0FBTztJMkVjcEIsS0FBSyxFM0VwRUcsS0FBSyxHMkVzRWQ7RUFwRkwsQUFzRkksbUNBdEZjLEVBQWxCLGlDQUFrQixFQUFFLCtCQUFjLEVBQWQsNkJBQWMsRUFBRSxxQ0FBb0IsRUFBcEIsbUNBQW9CLENBc0ZiO0lBQ3JDLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsV0FBVyxFQUFFLENBQUMsR0FDZjtFQTVGTCxBQThGSSwyQkE5RmMsRUFBRSx1QkFBYyxFQUFFLDZCQUFvQixDQThGekM7SUFDVCxLQUFLLEUzRWpGRyxLQUFLO0kyRWtGYixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRUFBRSxNQUFNO0lBQ2YsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEUzRWxDRyxPQUFPO0kyRW1DcEIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLFlBQVksRUFBRSxRQUFRLEdBV3ZCO0lBdEhMLEFBNkdNLGtDQTdHWSxFQUFFLDhCQUFjLEVBQUUsb0NBQW9CLENBNkd6QztNQUNQLEtBQUssRTNFMUNNLE9BQU87TTJFMkNsQixVQUFVLEVBQUUsc0JBQXNCO01BQ2xDLGFBQWEsRUFBRSxzQkFBc0I7TUFDckMsWUFBWSxFQUFDLElBQUksQ0FBQyxLQUFLLEMzRTdDWixPQUFPO00yRThDbEIsV0FBVyxFQUFFLENBQUM7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsT0FBTyxHQUNmOztBQUlQLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsZ0JBQWdCLEVBQUUsZ0JBQWdCO0VBQ2xDLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxPQUFPO0VBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBU1g7RUFiRCxBQU1FLCtCQU5rQixDQU1MO0lBQ1gsV0FBVyxFQUFFLENBQUMsR0FDZjtFQVJILEFBVUUsb0JBVmtCLENBVWxCLHdCQUF3QixDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxRQUFRLEdBQ2xCOztBQUdILEFBQ0UsaUJBRFUsQ0FDSDtFQUNMLEtBQUssRTNFbkZ1QixPQUFPLEMyRW1GRyxVQUFVO0VBQ2hELFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUdILEFBQUEsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7RUFDOUQsYUFBYSxFQUFFLE1BQU0sR0FldEI7RUFoQkQsQUFHRSwwQkFIZSxFQUFFLGdDQUF1QixFQUFFLDRCQUFtQixDQUdsRDtJQUNULE1BQU0sRUFBRSxPQUFPO0lBQ2YsS0FBSyxFM0VsR3NCLE9BQU87STJFbUdsQyxTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDLEdBS2Y7SUFmSCxBQVlJLHlDQVphLEVBQUUsK0NBQXVCLEVBQUUsMkNBQW1CLENBWTFDO01BQ2YsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFJTCxBQUNFLGNBRFksQ0FDWixFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsUUFBUSxHQUNyQjs7QUFHSCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxlQUFlLEVBQUUsUUFBUTtFQUN6QixZQUFZLEVBQUUsTUFBTTtFQUNwQixLQUFLLEUzRS9JaUIsT0FBTztFMkVnSjdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQ0UseUJBRGlCLENBQ1Q7RUFDTixNQUFNLEVBQUUsYUFBYTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLFNBQVM7RUFDaEMsZUFBZSxFQUFFLFFBQVE7RUFDekIsWUFBWSxFQUFFLE9BQU8sR0FDdEI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxPQUFPLEdBaUJ2QjtFQW5CRCxBQUlFLDRCQUptQixDQUlWO0lBQ1AsS0FBSyxFM0VsS2UsT0FBTztJMkVtSzNCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFWRCxBQVlFLHFCQVptQixDQVluQixVQUFVLENBQUM7SUFDUCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRTNFcEpxQixPQUFPLEcyRXFKcEM7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxpQkFBaUI7RUFDMUIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFM0VsS29CLE9BQU87RTJFbUtyQyxTQUFTLEVBQUUsUUFBUSxHQTJCcEI7RUEvQkQsQUFNRSx3QkFOYyxDQU1KO0lBQ1IsS0FBSyxFM0VsSlUsT0FBTztJMkVtSnRCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUFaSCxBQWNFLHNCQWRjLENBY047SUFDTixLQUFLLEUzRTVLc0IsT0FBTztJMkU2S2xDLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0VBdkJILEFBeUJFLHVCQXpCYyxDQXlCTDtJQUNQLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBR0gsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsUUFBUSxFQUFFLEtBQUs7RUFDZixVQUFVLEVBQUUsTUFBTSxHQTBCbkI7RUE5QkQsQUFNRSxlQU5RLENBTUQ7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxRQUFRO0lBQ3RCLGNBQWMsRUFBRSxNQUFNLEdBZXZCO0lBMUJILEFBYUksZUFiTSxDQWFOLENBQUMsQ0FBQztNQUNBLEtBQUssRTNFdk1xQixPQUFPO00yRXdNakMsTUFBTSxFQUFFLGNBQWMsR0FDdkI7SUFoQkwsQUFrQkksZUFsQk0sQ0FrQk4sQ0FBQyxDQUFDO01BQ0EsS0FBSyxFM0U1TXFCLE9BQU87TTJFNk1qQyxTQUFTLEVBQUUsSUFBSTtNQUNmLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxNQUFNO01BQ25CLGNBQWMsRUFBRSxTQUFTLEdBQzFCO0VBekJMLEFBMkJFLFVBM0JRLENBMkJSLEtBQUssQ0FBQztJQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdILEFBQUEsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRTNFNU1JLE9BQU87RTJFNk0zQixlQUFlLEVBQUUsYUFBYTtFQUM5QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLEdBQUcsRUFBRSxRQUFRO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FrRGQ7RUF4REQsQUFRRSw4QkFSYyxFQUFoQiw4QkFBZ0IsQ0FRbUIsS0FBSyxDQUFDO0lBQ3JDLEtBQUssRTNFalBlLE9BQU87STJFa1AzQixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsT0FBTztJQUNsQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsU0FBUztJQUN6QixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBakJILEFBbUJFLHdCQW5CYyxDQW1CSjtJQUNSLGFBQWEsRUFBRSxjQUFjO0lBQzdCLE1BQU0sRUFBRSwwQkFBMEI7SUFDbEMsTUFBTSxFQUFFLGtCQUFrQjtJQUMxQixVQUFVLEVBQUUsVUFBVTtJQUN0QixtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxpQkFBaUIsRUFBRSxvQkFBb0I7SUFDdkMsT0FBTyxFQUFFLDRDQUE0QztJQUNyRCxVQUFVLEVBQUUsd0NBQXdDO0lBQ3BELEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsS0FBSyxFM0VuU0ssT0FBTztJMkVvU2pCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLFNBQVMsRUFBRSxrQkFBa0IsR0FLOUI7SUFyQ0gsQUFrQ0ksd0JBbENZLEVBa0NULFdBQVcsQ0FBQztNQUNYLEtBQUssRTNFaFBjLE9BQU8sRzJFaVA3QjtFQXBDTCxBQXVDRSw4QkF2Q2MsQ0F1Q0U7SUFDZCxLQUFLLEUzRWpQWSxPQUFPO0kyRWtQeEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQUNDLE1BQU0sbUJBQ0Y7SUEvQ1IsQUErQ1EsZ0JBL0NRLENBK0NOO01BQ0UsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsQ0FBQyxHQUNUO0lBbERULEFBbURRLHdCQW5EUSxDQW1ERTtNQUNOLFNBQVMsRUFBRSxlQUFlO01BQzFCLE1BQU0sRUFBRSxxQkFBcUIsR0FDaEMsRUFKQTtBQVFULEFBQUEsd0JBQXdCLENBQUM7RUFDdkIsYUFBYSxFQUFFLE1BQU0sR0FNdEI7RUFKQyxNQUFNLG1CQUhSO0lBQUEsQUFBQSx3QkFBd0IsQ0FBQztNQUlyQixhQUFhLEVBQUUsSUFBSTtNQUNuQixXQUFXLEVBQUUsR0FBRyxHQUVuQixFQUFBO0FBRUQsTUFBTSxtQ0FHRjtFQUZGLEFBRUUsa0JBRmdCLENBRWhCLGtCQUFrQixFQUZBLGNBQWMsQ0FFaEMsa0JBQWtCLEVBRmdCLG9CQUFvQixDQUV0RCxrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxhQUFhLEdBQ3RCO0VBTEgsQUFPRSx1QkFQZ0IsRUFBRSxtQkFBYyxFQUFFLHlCQUFvQixDQU8vQztJQUNMLE1BQU0sRUFBRSxjQUFjLEdBQ3ZCO0VBR0gsQUFDRSxvQkFEa0IsQ0FDbEIsb0JBQW9CLENBQUM7SUFDbkIsV0FBVyxFQUFFLENBQUMsR0FDZjtFQUdILEFBQUEsZ0JBQWdCLENBQUM7SUFDZixTQUFTLEVBQUUsTUFBTSxHQUNsQjtFQUVELEFBQUEsdUJBQXVCLENBQUM7SUFDdEIscUJBQXFCLEVBQUUsSUFBSSxHQUM1QjtFQUVELEFBQ0UseUJBRGlCLENBQ1Q7SUFDTixxQkFBcUIsRUFBRSxJQUFJLEdBQzVCO0VBR0gsQUFBQSxVQUFVLENBQUM7SUFDVCxRQUFRLEVBQUUsYUFBYSxHQUt4QjtJQU5ELEFBR0UsZUFIUSxDQUdEO01BQ0wsY0FBYyxFQUFFLE1BQU0sR0FDdkIsRUFoQ0E7O0FBb0NMLE1BQU0sMENBSUE7RUFISixBQUdJLGtDQUhjLEVBQUUsOEJBQWMsRUFBRSxvQ0FBb0IsQ0FHM0M7SUFDUCxNQUFNLEVBQUUsTUFBTTtJQUNkLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLElBQUksRUFBRSxJQUFJLEdBQ1g7RUFJTCxBQUFBLFVBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxhQUFhO0lBSXZCLGVBQWUsRUFBRSxJQUFJLEdBSXRCO0lBVEQsQUFFRSxlQUZRLENBRUQ7TUFDTCxjQUFjLEVBQUUsTUFBTSxHQUN2QjtJQUpILEFBTUUsVUFOUSxFQU1MLGlCQUFpQixDQUFDO01BQ2pCLE9BQU8sRUFBRSxJQUFJO01BQUcsdUJBQXVCLEVBQzFDO0VBR0gsQUFBQSx1QkFBdUIsQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxJQUFJLEdBQzVCO0VBRUQsQUFBQSxnQkFBZ0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0VBRUQsQUFDRSx5QkFEaUIsQ0FDVDtJQUNOLHFCQUFxQixFQUFFLElBQUksR0FDNUIsRUExQkU7O0FDalpQLEFBQUEsUUFBUSxDQUFDO0VBQ0wsVUFBVSxFQUFFLGtCQUFrQixHQUNqQzs7QUFFRCxBQUNFLGdCQURjLENBQ2QsS0FBSyxFQURQLGdCQUFnQixDQUNQLFFBQVEsRUFEakIsZ0JBQWdCLENBQ0csTUFBTSxDQUFBO0VBQ3JCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLFFBQVEsR0EwQnBCO0VBM0JELEFBRUksb0JBRlUsQ0FFRjtJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsTUFBTTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxPQUFPLEdBTWxCO0lBZEwsQUFVUSxvQkFWTSxDQVVOLElBQUksQ0FBQztNQUNELEtBQUssRTVFRUgsT0FBTztNNEVEVCxXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQWJULEFBZUksb0JBZlUsQ0FlRjtJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBakJMLEFBa0JJLHlCQWxCVSxDQWtCRztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsZ0JBQWdCLEVBQUUsd0JBQXlCO0lBQzNDLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEtBQUs7SUFDYixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFBQSxlQUFlLENBQUE7RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBNkN2QjtFQW5ERCxBQVFFLHNCQVJhLENBUUo7SUFDTCxRQUFRLEVBQUUsUUFBUSxHQU9yQjtJQWhCSCxBQVVNLCtCQVZTLENBVUU7TUFDUCxhQUFhLEVBQUcsR0FBRyxHQUN0QjtJQVpQLEFBYUksc0JBYlcsQ0FhWCxHQUFHLENBQUE7TUFDQyxVQUFVLEVBQUUsS0FBSyxHQUNwQjtFQWZMLEFBa0JFLGVBbEJhLENBa0JiLEVBQUUsQ0FBQTtJQUNBLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLEtBQUssRTVFb0NTLE9BQU87STRFbkNyQixXQUFXLEVBQUUsV0FBVztJQUN4QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQXZCSCxBQXdCRSxlQXhCYSxDQXdCYixFQUFFLENBQUE7SUFDQSxTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRTVFMkJXLE9BQU87STRFMUJ2QixXQUFXLEVBQUUsV0FBVztJQUN4QixXQUFXLEVBQUUsR0FBRztJQUNoQixNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQTlCSCxBQStCRSxxQkEvQmEsQ0ErQk47SUFDTCxRQUFRLEVBQUUsUUFBUSxHQWlCbkI7SUFqREgsQUFpQ0kscUJBakNXLENBaUNYLEdBQUcsQ0FBQTtNQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUc7SUFqQ3ZCLEFBa0NJLDhCQWxDVyxDQWtDQTtNQUNULFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxHQUFHO01BQ1QsR0FBRyxFQUFFLEdBQUc7TUFDUixPQUFPLEVBQUUsQ0FBQztNQUNWLE9BQU8sRUFBRSxDQUFDLEdBUVg7TUEvQ0wsQUF3Q00sOEJBeENTLENBd0NULEtBQUssQ0FBQTtRQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUc7TUF4QzVCLEFBeUNNLDhCQXpDUyxDQXlDVCxLQUFLLENBQUE7UUFDSCxLQUFLLEU1RTVDVyxPQUFPLEc0RTZDeEI7TUEzQ1AsQUE0Q00sOEJBNUNTLENBNENULElBQUksQ0FBQTtRQUNGLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBT1AsQUFBQSxhQUFhLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsNkJBQTZCLENBQUE7RUFDM0IsWUFBWSxFQUFFLE9BQU87RUFDckIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxrQkFBa0IsRUFBRSxjQUFjO0VBQ2xDLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBaUhuQjtFQXRIRCxBQU9FLGFBUFcsQ0FPWCxJQUFJLENBQUE7SUFDRixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTVFMUJXLE9BQU8sRzRFMkJ4QjtFQVpILEFBYUUsbUJBYlcsQ0FhSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBRXpCO0VBaEJILEFBaUJFLG9CQWpCVyxDQWlCRjtJQUNQLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBbkJILEFBb0JFLG1CQXBCVyxDQW9CSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBdEJILEFBdUJFLG9CQXZCVyxDQXVCRjtJQUNQLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBekJILEFBMkJFLHNCQTNCVyxDQTJCQTtJQUNULFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBN0JILEFBK0JFLHlCQS9CVyxDQStCRztJQUNaLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBakNILEFBbUNFLHlCQW5DVyxDQW1DRztJQUNaLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBckNILEFBdUNFLHdCQXZDVyxDQXVDRTtJQUNYLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBekNILEFBMkNFLGdDQTNDVyxDQTJDVTtJQUNuQixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQTdDSCxBQStDRSx3QkEvQ1csQ0ErQ0U7SUFDWCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQWpESCxBQW1ERSwyQkFuRFcsQ0FtREs7SUFDZCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXJESCxBQXVERSxpQ0F2RFcsQ0F1RFc7SUFDcEIsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUF6REgsQUEyREUseUNBM0RXLENBMkRrQjtJQUMzQixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQTdESCxBQStERSx3QkEvRFcsQ0ErREU7SUFDWCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQWpFSCxBQW1FRSxnQ0FuRVcsQ0FtRVU7SUFDbkIsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUFyRUgsQUF1RUUsK0JBdkVXLENBdUVTO0lBQ2xCLFNBQVMsRUFBRSxhQUFhLEdBRXpCO0lBMUVILEFBeUVJLCtCQXpFUyxDQXlFVCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO01BQUMsTUFBTSxFQUFFLGtCQUFrQixHQUFHO0VBekV6RCxBQTRFRSwyQkE1RVcsQ0E0RUs7SUFDZCxTQUFTLEVBQUUsYUFBYSxHQUV6QjtJQS9FSCxBQThFSSwyQkE5RVMsQ0E4RVQsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtNQUFDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRztFQTlFekQsQUFpRkUsK0JBakZXLENBaUZTO0lBQ2xCLFNBQVMsRUFBRSxDQUFDLEdBQ2I7RUFuRkgsQUFxRkUsbUJBckZXLENBcUZIO0lBQ04sU0FBUyxFQUFFLENBQUM7SUFDWixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSSxHQUtkO0lBN0ZILEFBeUZJLG1CQXpGUyxDQXlGVCxLQUFLLENBQUM7TUFDSixNQUFNLEVBQUUsQ0FBQztNQUNULEtBQUssRUFBRSxXQUFXLEdBQ25CO0VBNUZMLEFBK0ZFLG1CQS9GVyxDQStGSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBakdILEFBbUdFLGFBbkdXLENBbUdYLE1BQU0sRUFuR1IsYUFBYSxDQW1HSCxRQUFRLENBQUE7SUFDZCxhQUFhLEVBQUUsb0JBQW9CLEdBQ3BDO0VBckdILEFBdUdFLHNCQXZHVyxDQXVHRDtJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLEdBQUc7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsVUFBVSxFQUFFLElBQUksR0FRakI7SUFwSEgsQUE2R0ksc0JBN0dTLENBNkdULEtBQUssRUE3R1Qsc0JBQWEsQ0E2R0YsQ0FBQyxDQUFDO01BQ1AsTUFBTSxFQUFFLGVBQWU7TUFDdkIsYUFBYSxFQUFFLG9CQUFvQixHQUNwQztJQWhITCxBQWlISSxzQkFqSFMsQ0FpSFQsQ0FBQyxDQUFDO01BQ0EsZ0JBQWdCLEU1RTlISixPQUFPLEM0RThIZ0IsVUFBVSxHQUM5Qzs7QUFNTCxNQUFNLG1CQUVKO0VBQUEsQUFBQSxlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsV0FBVyxHQUNyQjtFQUVELEFBQUEsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLFFBQVEsR0FDbEI7RUFFRCxBQUFBLGVBQWUsQ0FBQTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBRUQsQUFBQSw2QkFBNkIsQ0FBQztJQUMxQixXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQUVELEFBQUEsYUFBYSxDQUFBO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixTQUFTLEVBQUUsSUFBSSxHQVNoQjtJQVpELEFBSUUsc0JBSlcsQ0FJRDtNQUNSLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0lBUEgsQUFTRSxtQkFUVyxDQVNIO01BQ04sZUFBZSxFQUFFLE1BQU0sR0FDeEI7RUFHSCxBQUFBLGVBQWUsQ0FBQTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBU3ZCO0lBVkQsQUFFRSxxQkFGYSxDQUVOO01BQ0wsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixXQUFXLEVBQUUsTUFBTSxHQUNwQjtJQU5ILEFBT0UsZUFQYSxDQU9iLEVBQUUsQ0FBQTtNQUNBLFVBQVUsRUFBRSxNQUFNLEdBQ25CLEVBckNGOztBQzVPSDs7NEVBRTRFO0NDRjNFLEFBQUQsSUFBSyxDQUFDO0VBQ0YsY0FBYyxDQUFBLGFBQUM7RUFDZixvQkFBb0IsQ0FBQSxhQUFDLEdBQ3hCOztBQUVELEFBQUEsR0FBRyxBQUFBLGFBQWEsQ0FBQztFQUNiLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsS0FBSyxBQUFBLFVBQVUsQ0FBQztFQUNaLEtBQUssRUFBRSxlQUFlLEdBQ3pCOztBQ1RELEFBQUEsV0FBVyxDQUFDO0VBQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvRTBETyxPQUFPO0UrRXpEL0IsTUFBTSxFQUFFLGVBQWUsR0FDeEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGFBQWE7RUFDcEMsUUFBUSxFQUFFLElBQUk7RUFDZCxhQUFhLEVBQUUsQ0FBQyxHQUtqQjtFQVRELEFBTUUsZUFOYSxHQU1ULENBQUMsQ0FBQztJQUNKLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsUUFBUTtFQUNiLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0VBUkQsQUFLRSxjQUxZLEdBS1IsQ0FBQyxDQUFDO0lBQ0osS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFHSCxBQUVFLHlCQUZ1QixDQUV2QixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxJQUFJO0VBQ2Qsa0JBQWtCLEVBQUUsMEJBQTBCO0VBQzlDLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBUEgsQUFTRSx5QkFUdUIsQ0FTdkIsS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLEtBQUs7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsUUFBUTtFQUNyQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFmSCxBQWlCRSx5QkFqQnVCLENBaUJ2QixFQUFFLEFBQUEsVUFBVSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLFFBQVE7RUFDaEIsS0FBSyxFL0VxQ1UsT0FBTztFK0VwQ3RCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBM0JILEFBNkJFLHlCQTdCdUIsQ0E2QnZCLEtBQUssRUE3QlAseUJBQXlCLENBNkJoQixRQUFRLENBQUM7RUFDZCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9Fb0NELE9BQU87RStFbkN2QixVQUFVLEVBQUUsVUFBVTtFQUN0QixhQUFhLEVBQUUsUUFBUTtFQUN2QixNQUFNLEVBQUUsWUFBWTtFQUNwQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QUFuQ0gsQUFxQ0UseUJBckN1QixDQXFDdkIsUUFBUSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUksR0FDYjs7QUF2Q0gsQUF5Q0UseUJBekN1QixDQXlDdkIsYUFBYSxFQUFFLFdBQVcsRUF6QzVCLHlCQUF5QixDQXlDSyxvQkFBb0IsRUFBRSxXQUFXLENBQUM7RUFDNUQsS0FBSyxFL0VTa0IsT0FBTztFK0VSOUIsU0FBUyxFQUFFLFFBQVEsR0FDcEI7O0FBR0gsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFlBQVksRUFBRSxJQUFJO0VBQ2xCLGtCQUFrQixFQUFFLCtCQUErQixHQTJFcEQ7RUEvRUQsQUFNRSxzQkFOb0IsQ0FNcEIsa0JBQWtCLENBQUM7SUFDakIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsUUFBUTtJQUNyQixXQUFXLEVBQUUsS0FBSyxHQU1uQjtJQWhCSCxBQVlJLHNCQVprQixDQU1wQixrQkFBa0IsQ0FNaEIsR0FBRyxDQUFDO01BQ0YsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsTUFBTSxHQUNuQjtFQWZMLEFBa0JFLHNCQWxCb0IsQ0FrQnBCLGdCQUFnQixDQUFDO0lBQ2YsT0FBTyxFQUFFLGVBQWUsR0FDekI7RUFwQkgsQUFzQkUsc0JBdEJvQixDQXNCcEIsZ0JBQWdCLENBQUM7SUFDZixLQUFLLEVBQUUsV0FBVztJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEUvRWhCTSxPQUFPO0krRWlCdkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixPQUFPLEVBQUUsWUFBWSxHQVN0QjtJQXBDSCxBQTZCSSxzQkE3QmtCLENBc0JwQixnQkFBZ0IsQ0FPZCxDQUFDLENBQUM7TUFDQSxXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsUUFBUTtNQUNuQixXQUFXLEVBQUUsT0FBTztNQUNwQixLQUFLLEUvRXBGZSxPQUFPO00rRXFGM0IsY0FBYyxFQUFFLE9BQU8sR0FDeEI7RUFuQ0wsQUFzQ0Usc0JBdENvQixDQXNDcEIscUJBQXFCLENBQUM7SUFDcEIsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSSxHQVdWO0lBbkRILEFBMENJLHNCQTFDa0IsQ0FzQ3BCLHFCQUFxQixDQUluQixrQkFBa0IsQ0FBQztNQUNqQixPQUFPLEVBQUUsQ0FBQztNQUNWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxRQUFRLEdBQ2Y7SUE5Q0wsQUErQ0ksc0JBL0NrQixDQXNDcEIscUJBQXFCLENBU25CLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0FBa0IsTUFBTSxDQUFDO01BQzdCLE1BQU0sRUFBRSxLQUFLO01BQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjtFQWxETCxBQXFERSxzQkFyRG9CLENBcURwQixpQkFBaUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsV0FBVztJQUNwQixRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSxRQUFRLEdBZ0JqQjtJQXpFSCxBQTJESSxzQkEzRGtCLENBcURwQixpQkFBaUIsQ0FNZixrQkFBa0IsQ0FBQztNQUNqQixhQUFhLEVBQUUsQ0FBQztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixTQUFTLEVBQUUsUUFBUTtNQUNuQixXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEUvRW5IZSxPQUFPO00rRW9IM0IsV0FBVyxFQUFFLEtBQUs7TUFDbEIsY0FBYyxFQUFFLElBQUksR0FDckI7SUFuRUwsQUFxRUksc0JBckVrQixDQXFEcEIsaUJBQWlCLENBZ0JmLGlCQUFpQixDQUFDO01BQ2hCLFNBQVMsRUFBRSxRQUFRO01BQ25CLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBeEVMLEFBMkVFLHNCQTNFb0IsQ0EyRXBCLGNBQWMsQ0FBQztJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLFFBQVEsR0FDMUI7O0FBR0gsQUFBQSxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsUUFBUTtFQUNuQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEUvRWpGb0IsT0FBTztFK0VrRmhDLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLFFBQVE7RUFDckIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUQsQUFDRSxjQURZLENBQ1osTUFBTSxBQUFBLGVBQWUsQ0FBQztFQUNwQixPQUFPLEVBQUUsc0JBQXNCO0VBQy9CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0VoRkQsT0FBTztFK0VpRnZCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLEtBQUs7RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsZUFBZSxFQUFFLElBQUk7RUFDckIsZUFBZSxFL0V0RkMsT0FBTyxDK0VzRmEsV0FBVyxHQVFsRDtFQWpCRCxBQVdFLGNBWFksQ0FDWixNQUFNLEFBQUEsZUFBZSxDQVVyQixNQUFNLENBQUM7SUFDTCxNQUFNLEVBQUUsVUFBVTtJQUNsQixPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEUvRTNHa0IsT0FBTyxHK0U0Ry9COztBQWhCSCxBQWtCRSxjQWxCWSxDQWtCWixNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQXBCSCxBQXNCRSxjQXRCWSxDQXNCWixNQUFNLEVBQUUsaUJBQWlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLFFBQVEsR0FDaEI7O0FBeEJILEFBMEJFLGNBMUJZLENBMEJaLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQztFQUM5QixnQkFBZ0IsRS9FNUtOLEtBQUssRytFNktoQjs7QUE1QkgsQUE4QkUsY0E5QlksQ0E4QlosTUFBTSxFQUFFLHVCQUF1QixDQUFDO0VBQzlCLGdCQUFnQixFL0U1R0EsT0FBTztFK0U2R3ZCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0VsTFAsS0FBSyxHK0VtTGhCOztBQUdILEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsVUFBVSxFQUFFLE9BQU87RUFDbkIsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLFFBQVE7RUFDeEIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsZUFBZSxFQUFFLElBQUk7RUFDckIsZUFBZSxFL0U1SEcsT0FBTyxDK0U0SFcsV0FBVyxHQUNoRDs7QUFFRCxBQUFBLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztFQUNoQyxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsZUFBZSxFQUFFLGlCQUFpQixDQUFDO0VBQ2pDLEtBQUssRUFBRSxRQUFRLEdBQ2hCOztBQUVELEFBQUEsZUFBZSxFQUFFLHVCQUF1QixDQUFDO0VBQ3ZDLGdCQUFnQixFL0U1TUosS0FBSyxHK0U2TWxCOztBQUVELEFBQUEsZUFBZSxFQUFFLHVCQUF1QixDQUFDO0VBQ3ZDLGdCQUFnQixFL0U1SUUsT0FBTztFK0U2SXpCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0VsTkwsS0FBSyxHK0VtTmxCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixLQUFLLEUvRXpOTyxLQUFLO0UrRTBOakIsVUFBVSxFL0VwS08sT0FBTztFK0VxS3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0VyS0EsT0FBTztFK0VzS3hCLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsS0FBSyxFQUFFLFdBQVc7RUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvRTlMTyxPQUFPO0UrRStML0IsS0FBSyxFL0UvTG1CLE9BQU87RStFZ00vQixnQkFBZ0IsRS9Fbk9KLEtBQUs7RStFb09qQixjQUFjLEVBQUUsU0FBUztFQUN6QixPQUFPLEVBQUUsUUFBUTtFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQXJRaUIsUUFBUTtFQXNRL0IsZ0JBQWdCLEUvRXhLRSxPQUFPO0UrRXlLekIsS0FBSyxFL0U3T08sS0FBSztFK0U4T2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0UxS0MsT0FBTyxHK0UySzFCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsV0FBVyxFQUFFLGVBQWUsQ0FBQztFQUMzQixTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixhQUFhLEVBQUUsQ0FBQztFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLGFBQWEsRUFBRSxRQUFRLEdBQ3hCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsZ0JBQWdCLEUvRTdOUSxPQUFPO0UrRThOL0IsS0FBSyxFL0VqUU8sS0FBSztFK0VrUWpCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFBQyxPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUlsQyxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLFFBQVE7RUFDYixlQUFlLEVBQUUsTUFBTSxHQThDeEI7RUFqREQsQUFLRSxhQUxXLENBS1gsS0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLENBQUMsR0FDZjtFQVBILEFBU0UsYUFUVyxDQVNYLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsR0FBRyxFQUFFLEtBQUs7SUFDVixhQUFhLEVBQUUsTUFBTTtJQUNyQixTQUFTLEVBQUUsUUFBUTtJQUNuQixPQUFPLEVBQUUsZUFBZTtJQUN4QixLQUFLLEVBQUUsV0FBVztJQUNsQixnQkFBZ0IsRS9FblBNLE9BQU87SStFb1A3QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9FcFBLLE9BQU87SStFcVA3QixVQUFVLEVBQUUsSUFBSSxHQU1qQjtJQTFCSCxBQXNCSSxhQXRCUyxDQVNYLFVBQVUsQ0FhUixDQUFDLENBQUM7TUFDQSxTQUFTLEVBQUUsUUFBUTtNQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBekJMLEFBNEJFLGFBNUJXLENBNEJYLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsVUFBVSxFL0VoUE8sT0FBTztJK0VpUHhCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0VqUEEsT0FBTztJK0VrUHhCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLElBQUksR0FLakI7SUE1Q0gsQUF5Q0ksYUF6Q1MsQ0E0QlgsYUFBYSxDQWFYLENBQUMsQ0FBQztNQUNBLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0VBM0NMLEFBOENFLGFBOUNXLENBOENYLGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsU0FBUyxFQUFFLFFBQVE7RUFDbkIsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixLQUFLLEVBQUUsU0FBUztFQUNoQixVQUFVLEUvRTNSYyxPQUFPO0UrRTRSL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMvRTVSTyxPQUFPO0UrRTZSL0IsYUFBYSxFQUFFLFFBQVE7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQU1qQjtFQWpCRCxBQWFFLGdCQWJjLENBYWQsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLGFBQWE7SUFDeEIsTUFBTSxFQUFFLEtBQUssR0FDZDs7QUFHSCxBQUFBLGdCQUFnQixDQUFDLEtBQUssQ0FBQztFQUNyQixnQkFBZ0IsRS9FeFNRLE9BQU8sQytFd1NZLFVBQVUsR0FDdEQ7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsUUFBUTtFQUNoQixLQUFLLEVBQUUsV0FBVyxHQUNuQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsR0FBRyxFQUFFLEtBQUs7RUFDVixhQUFhLEVBQUUsTUFBTTtFQUNyQixTQUFTLEVBQUUsUUFBUTtFQUNuQixPQUFPLEVBQUUsZUFBZTtFQUN4QixLQUFLLEVBQUUsV0FBVztFQUNsQixnQkFBZ0IsRS9FMVRRLE9BQU87RStFMlQvQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9FM1RPLE9BQU8sRytFaVVoQztFQWhCRCxBQVlFLGlCQVplLENBWWYsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLFFBQVE7SUFDbkIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRS9FdlRvQixPQUFPLEMrRXVUQyxVQUFVLEdBQzVDOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsZ0JBQWdCLEUvRTNUUyxPQUFPLEMrRTJUWSxVQUFVO0VBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0U1VFEsT0FBTyxDK0U0VFksVUFBVSxHQUN2RDs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFFSSw0QkFGVSxFQUFkLHNCQUFjLEVBQWQsd0JBQWMsQ0FJRTtFQUNSLEtBQUssRS9FaFlDLE9BQU87RStFaVliLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQVBMLEFBU0ksY0FUVSxDQVNWLENBQUMsQ0FBQztFQUNFLFdBQVcsRUFBRSxLQUFLLEdBQ3JCOztBQVhMLEFBYUksc0JBYlUsQ0FhQTtFQUNOLFFBQVEsRUFBRSxRQUFRLEdBMEJyQjtFQXhDTCxBQWdCUSxzQkFoQk0sQ0FnQk4sQ0FBQyxDQUFDO0lBQ0UsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPO0lBQ2YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFL0VqWkgsT0FBTyxHK0V3Wlo7SUFMRyxNQUFNLG1CQUNGO01BekJoQixBQXlCZ0Isc0JBekJGLENBZ0JOLENBQUMsQ0FTUztRQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7RUEzQmpCLEFBK0JRLHNCQS9CTSxDQStCTixJQUFJLENBQUM7SUFDRCxTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCO0VBRUQsTUFBTSxtQkFDRjtJQXBDWixBQW9DWSxzQkFwQ0UsQ0FvQ0EsRUFBRSxDQUFDO01BQ0QsU0FBUyxFQUFFLEdBQUcsR0FDakIsRUFBQTtBQXRDYixBQTJDUSx3QkEzQ00sQ0EyQ04sY0FBYyxDQUFDO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEUvRXZZQSxPQUFPLEMrRXVZVyxVQUFVLEdBQ3BDOztBQTlDVCxBQWdEUSx3QkFoRE0sQ0FnRE4sZ0JBQWdCLENBQUM7RUFDYixPQUFPLEVBQUUsU0FBUyxHQUNyQjs7QUFJVCxNQUFNLG1CQUNKO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsUUFBUSxHQUNsQjtFQUVELEFBQUEsV0FBVyxFQUFFLGVBQWUsQ0FBQztJQUMzQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVELEFBQUEsY0FBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLEtBQUssR0FLZjtJQU5ELEFBR0UsY0FIWSxHQUdSLENBQUMsQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFHSCxBQUNFLHlCQUR1QixDQUN2QixZQUFZLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQUdILEFBQUEsc0JBQXNCLENBQUM7SUFDckIsVUFBVSxFQUFFLElBQUksR0F1QmpCO0lBeEJELEFBR0Usc0JBSG9CLENBR3BCLHFCQUFxQixDQUFDO01BQ3BCLFVBQVUsRUFBRSxDQUFDLEdBS2Q7TUFUSCxBQU1JLHNCQU5rQixDQUdwQixxQkFBcUIsQ0FHbkIsa0JBQWtCLENBQUM7UUFDakIsSUFBSSxFQUFFLENBQUMsR0FDUjtJQVJMLEFBV0Usc0JBWG9CLENBV3BCLGlCQUFpQixDQUFDO01BQ2hCLElBQUksRUFBRSxRQUFRO01BQ2QsS0FBSyxFQUFFLEdBQUcsR0FDWDtJQWRILEFBZ0JFLHNCQWhCb0IsQ0FnQnBCLGdCQUFnQixDQUFDO01BQ2YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLElBQUksR0FDYjtJQW5CSCxBQXFCRSxzQkFyQm9CLENBcUJwQixjQUFjLENBQUM7TUFDYixlQUFlLEVBQUUsTUFBTSxHQUN4QjtFQUdILEFBQ0UsY0FEWSxDQUNaLE1BQU0sQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0lBQ2YsT0FBTyxFQUFFLG9DQUFvQyxHQUM5QztFQUdILEFBQUEsZ0JBQWdCLENBQUM7SUFDZixJQUFJLEVBQUUsR0FBRztJQUNULEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUcsR0FDWDtFQUVELEFBQUEsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsWUFBWTtJQUN2QixHQUFHLEVBQUUsQ0FBQyxHQVVQO0lBYkQsQUFLRSxhQUxXLENBS1gsVUFBVSxDQUFDO01BQ1QsYUFBYSxFQUFFLFFBQVEsR0FDeEI7SUFQSCxBQVNFLGFBVFcsQ0FTWCxhQUFhLENBQUM7TUFDWixVQUFVLEVBQUUsUUFBUTtNQUNwQixhQUFhLEVBQUUsUUFBUSxHQUN4QjtFQUdILEFBQUEsZUFBZSxDQUFDO0lBQ2QsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFRCxBQUFBLDBCQUEwQixDQUFDO0lBQ3pCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELEFBQUEsbUJBQW1CLENBQUM7SUFDbEIsS0FBSyxFQUFFLEdBQUc7SUFDVixPQUFPLEVBQUUsTUFBTTtJQUNmLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLEdBQUcsR0FPVDtJQVhELEFBT0ksbUJBUGUsQ0FNakIsNkJBQTZCLENBQzNCLE1BQU0sQUFBQSxPQUFPLEVBUGpCLG1CQUFtQixDQU1qQiw2QkFBNkIsQ0FDWixNQUFNLEFBQUEsT0FBTyxDQUFDO01BQzNCLFNBQVMsRUFBRSxNQUFNLEdBQ2xCLEVBL0ZKOztBQXFHSCxNQUFNLDBDQUNKO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEdBQUcsRUFBRSxDQUFDLEdBT1A7SUFWRCxBQUtFLGFBTFcsQ0FLWCxlQUFlLENBQUM7TUFDZCxNQUFNLEVBQUUsaUJBQWlCO01BQ3pCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFQUdILEFBQ0UseUJBRHVCLENBQ3ZCLElBQUksQ0FBQztJQUNILGtCQUFrQixFQUFFLGdDQUFnQyxHQUNyRDtFQUdILEFBQUEsMEJBQTBCLENBQUM7SUFDekIsTUFBTSxFQUFFLENBQUMsR0FDVixFQVZBOztBQWNILE1BQU0sMENBQ0o7RUFBQSxBQUFBLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsR0FBRyxFQUFFLENBQUMsR0FPUDtJQVZELEFBS0UsYUFMVyxDQUtYLGVBQWUsQ0FBQztNQUNkLE1BQU0sRUFBRSxpQkFBaUI7TUFDekIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBR0gsQUFBQSwwQkFBMEIsQ0FBQztJQUN6QixZQUFZLEVBQUUsUUFBUTtJQUN0QixLQUFLLEVBQUUsS0FBSyxHQUNiLEVBTEE7O0FBUUgsTUFBTSxvQkFDSjtFQUFBLEFBQUEsZ0JBQWdCLENBQUM7SUFDZixJQUFJLEVBQUUsR0FBRztJQUNULEdBQUcsRUFBRSxHQUFHLEdBQ1Q7RUFFRCxBQUFBLG1CQUFtQixDQUFDO0lBQ2xCLEdBQUcsRUFBRSxHQUFHLEdBQ1QsRUFKQTs7QUNobUJILEFBQUEsZUFBZSxFQUFFLGFBQWEsQ0FBQztFQUMzQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRWhGMEdpQixPQUFPLEdnRnpHaEM7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLFlBQVksRUFBRSxDQUFDLEdBQ2xCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUMsR0FDWjs7QUFHRyxNQUFNLG1DQUNGO0VBRlIsQUFFUSxxQkFGYSxDQUVYO0lBQ0UsV0FBVyxFQUFFLEtBQUssR0FDckIsRUFBQTs7QUFJVCxBQUFBLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDO0VBQ2pDLE9BQU8sRUFBRSxJQUFJLEdBNENoQjtFQTFDRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztNQUk3QixPQUFPLEVBQUUsS0FBSztNQUNkLE1BQU0sRUFBRSxRQUFRLEdBd0N2QjtNQTdDRCxBQVFZLGtCQVJNLENBUU4sRUFBRSxFQVJNLGdCQUFnQixDQVF4QixFQUFFLENBQUM7UUFDQyxVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsSUFBSTtRQUNiLEdBQUcsRUFBRSxJQUFJO1FBQ1QsYUFBYSxFQUFFLENBQUM7UUFDaEIsZUFBZSxFQUFFLE1BQU07UUFDdkIsU0FBUyxFQUFFLE1BQU0sR0E0QnBCO1FBMUNiLEFBZ0JnQixrQkFoQkUsQ0FRTixFQUFFLENBUUUsRUFBRSxFQWhCRSxnQkFBZ0IsQ0FReEIsRUFBRSxDQVFFLEVBQUUsQ0FBQztVQUNDLGFBQWEsRUFBRSxDQUFDLEdBQ25CO1FBbEJqQixBQW9CZ0Isa0JBcEJFLENBUU4sRUFBRSxDQVlFLFFBQVEsRUFwQkosZ0JBQWdCLENBUXhCLEVBQUUsQ0FZRSxRQUFRLENBQUM7VUFDTCxLQUFLLEVoRm5CWCxLQUFLO1VnRm9CQyxhQUFhLEVBQUUsT0FBTztVQUN0QixPQUFPLEVBQUUsaUJBQWlCO1VBQzFCLGdCQUFnQixFaEZrQlYsT0FBTyxHZ0ZqQmhCO1FBekJqQixBQTJCZ0Isa0JBM0JFLENBUU4sRUFBRSxDQW1CRSxLQUFLLEVBM0JyQixrQkFBa0IsQ0FRTixFQUFFLENBbUJTLEtBQUssRUEzQlIsZ0JBQWdCLENBUXhCLEVBQUUsQ0FtQkUsS0FBSyxFQTNCRCxnQkFBZ0IsQ0FReEIsRUFBRSxDQW1CUyxLQUFLLENBQUM7VUFDVCxnQkFBZ0IsRUFBRSxXQUFXO1VBQzdCLEtBQUssRWhGYUMsT0FBTyxDZ0ZibUIsVUFBVTtVQUMxQyxPQUFPLEVBQUUsQ0FBQztVQUNWLFdBQVcsRUFBRSxjQUFjLEdBQzlCO1FBaENqQixBQWtDZ0Isa0JBbENFLENBUU4sRUFBRSxDQTBCRSxPQUFPLEVBbEN2QixrQkFBa0IsQ0FRTixFQUFFLENBMEJXLFVBQVUsRUFsQ25DLGtCQUFrQixDQVFOLEVBQUUsQ0EwQnVCLFFBQVEsRUFsQ3pCLGdCQUFnQixDQVF4QixFQUFFLENBMEJFLE9BQU8sRUFsQ0gsZ0JBQWdCLENBUXhCLEVBQUUsQ0EwQlcsVUFBVSxFQWxDZixnQkFBZ0IsQ0FReEIsRUFBRSxDQTBCdUIsUUFBUSxDQUFDO1VBQzFCLEtBQUssRWhGakNYLEtBQUs7VWdGa0NDLFdBQVcsRUFBRSxHQUFHLEdBQ25CO1FBckNqQixBQXVDZ0Isa0JBdkNFLENBUU4sRUFBRSxDQStCRSxVQUFVLEVBdkMxQixrQkFBa0IsQ0FRTixFQUFFLENBK0JjLFVBQVUsQ0FBQyxLQUFLLEVBdkN4QixnQkFBZ0IsQ0FReEIsRUFBRSxDQStCRSxVQUFVLEVBdkNOLGdCQUFnQixDQVF4QixFQUFFLENBK0JjLFVBQVUsQ0FBQyxLQUFLLENBQUE7VUFDeEIsS0FBSyxFaEZFQyxPQUFPLEdnRkRoQixFQUloQjtBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUksR0F1QmhCO0VBckJHLE1BQU0sbUNBQ0Y7SUFKUixBQUlRLG1CQUpXLENBSVQ7TUFDRSxPQUFPLEVBQUUsSUFBSTtNQUNiLGNBQWMsRUFBRSxNQUFNO01BQ3RCLEdBQUcsRUFBRSxRQUFRO01BQ2IsTUFBTSxFQUFFLFlBQVksR0FDdkIsRUFBQTtFQUlELE1BQU0sbUNBQ0Y7SUFkWixBQWNZLG1CQWRPLENBWWYsdUJBQXVCLEVBWjNCLG1CQUFtQixDQVlVLHFCQUFxQixDQUVwQztNQUNFLEtBQUssRWhGcEJLLE9BQU87TWdGcUJqQixTQUFTLEVBQUUsT0FBTztNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsQ0FBQztNQUNoQixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxNQUFNLEdBQ3JCLEVBQUE7QUFLYixBQUFBLGdCQUFnQixDQUFDO0VBQ2IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRnJDRixPQUFPO0VnRnNDN0IsY0FBYyxFQUFFLENBQUM7RUFDakIsT0FBTyxFQUFFLElBQUksR0FTaEI7RUFQRyxNQUFNLG1CQUxWO0lBQUEsQUFBQSxnQkFBZ0IsQ0FBQztNQU1ULE9BQU8sRUFBRSxLQUFLLEdBTXJCLEVBQUE7RUFIRyxNQUFNLDBDQVRWO0lBQUEsQUFBQSxnQkFBZ0IsQ0FBQztNQVVULE9BQU8sRUFBRSxLQUFLLEdBRXJCLEVBQUE7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLGdCQUFnQixFaEYvQkEsT0FBTztFZ0ZnQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsR0F5QzlCO0VBdkNHLE1BQU0sbUNBQ0Y7SUFOUixBQU1RLGNBTk0sQ0FNSjtNQUNFLGdCQUFnQixFaEZsQlQsT0FBTztNZ0ZtQmQsT0FBTyxFQUFFLElBQUk7TUFDYixxQkFBcUIsRUFBRSxVQUFVO01BQ2pDLE9BQU8sRUFBRSxlQUFlLEdBQzNCLEVBQUE7RUFYVCxBQWNJLHlCQWRVLENBY0c7SUFDVCxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtFQWhCTCxBQWtCSSxxQkFsQlUsRUFBZCxxQkFBYyxDQWtCUyxLQUFLLENBQUM7SUFDckIsVUFBVSxFaEZ4R0osS0FBSztJZ0Z5R1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsVUFBVTtJQUN0QixhQUFhLEVBQUUsUUFBUTtJQUN2QixXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsTUFBTTtJQUNqQixXQUFXLEVBQUUsQ0FBQztJQUNkLEtBQUssRWhGaEdXLE9BQU87SWdGaUd2QixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsY0FBYyxFQUFFLENBQUM7SUFDakIsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLE1BQU07SUFDaEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsU0FBUyxFQUFFLENBQUMsR0FDZjtFQXJDTCxBQXVDSSx3QkF2Q1UsQ0F1Q0U7SUFDUixVQUFVLEVoRi9JSCxPQUFPLENnRitJWSxVQUFVO0lBQ3BDLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLEtBQUssRWhGL0hDLEtBQUssQ2dGK0hTLFVBQVUsR0FDakM7O0FBR0wsQUFDSSxtQkFEZSxDQUNmLEVBQUUsQ0FBQztFQUNDLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUdHLE1BQU0sbUNBRFY7RUFMSixBQUtJLG1CQUxlLENBS2YsRUFBRSxDQUFDO0lBRUssU0FBUyxFQUFFLE1BQU0sR0FFeEIsRUFBQTs7QUFUTCxBQVdJLG1CQVhlLENBV2YsU0FBUyxDQUFDO0VBQ04sTUFBTSxFQUFFLGVBQWUsR0FDMUI7O0FBYkwsQUFlSSxpQ0FmZSxDQWVDO0VBQ1osTUFBTSxFQUFFLHVCQUF1QixHQUNsQzs7QUFqQkwsQUFtQkksOEJBbkJlLENBbUJGO0VBQ1QsZ0JBQWdCLEVoRmhFVyxPQUFPO0VnRmlFbEMsT0FBTyxFQUFFLFFBQVEsR0E0QnBCO0VBMUJHLE1BQU0sbUNBSlY7SUFuQkosQUFtQkksOEJBbkJlLENBbUJGO01BS0wsV0FBVyxFQUFFLEtBQUs7TUFDbEIsZ0JBQWdCLEVoRmxGVCxPQUFPO01nRm1GZCxPQUFPLEVBQUUsQ0FBQyxHQXVCakIsRUFBQTtFQWpETCxBQThCWSxxQ0E5Qk8sQ0E4QlAsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLElBQUk7SUFDbkIsU0FBUyxFQUFFLEdBQUc7SUFDZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixLQUFLLEVoRnRKRyxPQUFPO0lnRnVKZixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQUlELE1BQU0sbUNBRFY7SUF2Q1IsQUF1Q1EsMkNBdkNXLENBdUNJO01BRVAsT0FBTyxFQUFFLElBQUk7TUFDYixxQkFBcUIsRUFBRSxVQUFVLEdBTXhDO01BaERULEFBNENnQiwyQ0E1Q0csR0E0Q0MsQ0FBQyxDQUFDO1FBQ0YsV0FBVyxFQUFFLENBQUMsR0FDakIsRUFFUjtBQWhEVCxBQW1ESSx5QkFuRGUsQ0FtRFA7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxNQUFNO0VBQ1gsTUFBTSxFQUFFLGtCQUFrQjtFQUMxQixjQUFjLEVBQUUsTUFBTSxHQXdCekI7RUF0QkcsTUFBTSxtQ0FOVjtJQW5ESixBQW1ESSx5QkFuRGUsQ0FtRFA7TUFPQSxNQUFNLEVBQUUsaUJBQWlCLEdBcUJoQyxFQUFBO0VBL0VMLEFBOERZLHlDQTlETyxDQThEUCxLQUFLLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxZQUFZO0lBQ3hCLEtBQUssRUFBRSxHQUFHLEdBS2I7SUFIRyxNQUFNLG1DQUxWO01BOURaLEFBOERZLHlDQTlETyxDQThEUCxLQUFLLENBQUM7UUFNRSxLQUFLLEVBQUUsSUFBSSxHQUVsQixFQUFBO0VBdEViLEFBd0VZLHlDQXhFTyxDQXdFUCxRQUFRLENBQUM7SUFDTCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLFNBQVM7SUFDeEIsTUFBTSxFQUFFLElBQUksR0FDZjs7QUE3RWIsQUFpRkksNEJBakZlLENBaUZKO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsT0FBTztFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsZUFBZSxFQUFFLE1BQU0sR0F1QzFCO0VBckNHLE1BQU0sbUNBTlY7SUFqRkosQUFpRkksNEJBakZlLENBaUZKO01BT0gsY0FBYyxFQUFFLE1BQU07TUFDdEIsU0FBUyxFQUFFLElBQUk7TUFDZixhQUFhLEVBQUUsTUFBTTtNQUNyQixNQUFNLEVBQUUsbUJBQW1CLEdBaUNsQyxFQUFBO0VBNUhMLEFBOEZRLG1DQTlGVyxDQThGRjtJQUNMLEtBQUssRUFBRSxTQUFTO0lBQ2hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsYUFBYSxFQUFFLFFBQVE7SUFDdkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLENBQUM7SUFDakIsU0FBUyxFQUFFLEdBQUc7SUFDZCxNQUFNLEVBQUUsSUFBSTtJQUNaLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsTUFBTSxFQUFFLENBQUMsR0FpQlo7SUEzSFQsQUE0R1ksMENBNUdPLENBNEdFO01BQ0wsZ0JBQWdCLEVoRmhNTCxPQUFPLEdnRmlNckI7SUE5R2IsQUFnSFkseUNBaEhPLENBZ0hDO01BQ0osZ0JBQWdCLEVoRjlLWixPQUFPLEdnRitLZDtJQWxIYixBQW9IWSx3Q0FwSE8sQ0FvSEE7TUFDSCxnQkFBZ0IsRWhGL0xYLE9BQU8sR2dGZ01mO0lBdEhiLEFBd0hZLHlDQXhITyxDQXdIQztNQUNKLGdCQUFnQixFaEY3T1IsT0FBTyxHZ0Y4T2xCOztBQUtMLE1BQU0sbUNBRFY7RUE5SEosQUE4SEksNkJBOUhlLENBOEhIO0lBRUosT0FBTyxFQUFFLElBQUk7SUFDYixxQkFBcUIsRUFBRSxVQUFVO0lBQ2pDLFdBQVcsRUFBRSxLQUFLLEdBRXpCLEVBQUE7O0FBR0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxRQUFRLEdBUzFCO0VBUEcsTUFBTSxtQ0FDRjtJQU5SLEFBTVEsZ0JBTlEsQ0FNTjtNQUNFLGFBQWEsRUFBRSxDQUFDO01BQ2hCLFVBQVUsRUFBRSxLQUFLO01BQ2pCLFVBQVUsRUFBRSxLQUFLLEdBQ3BCLEVBQUE7QUFLTCxNQUFNLG1DQUNGO0VBRlIsQUFFUSxnQkFGUSxFQUFFLGlCQUFpQixDQUV6QjtJQUNFLEtBQUssRUFBRSxRQUFRLEdBQ2xCLEVBQUE7O0FBS0wsTUFBTSxtQ0FDRjtFQUZSLEFBRVEsZ0JBRlEsRUFBRSx1QkFBdUIsQ0FFL0I7SUFDRSxnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCLEVBQUE7O0FBS0wsTUFBTSxtQ0FDRjtFQUZSLEFBRVEsZ0JBRlEsRUFBRSx1QkFBdUIsQ0FFL0I7SUFDRSxnQkFBZ0IsRWhGdk9SLE9BQU87SWdGd09mLGFBQWEsRUFBRSxRQUFRLEdBQzFCLEVBQUE7O0FBS0wsTUFBTSxtQ0FEVjtFQUFBLEFBQUEsb0JBQW9CLENBQUM7SUFFYixXQUFXLEVBQUUsQ0FBQyxHQVNyQixFQUFBOztBQVhELEFBS0ksK0JBTGdCLENBS0g7RUFDVCxNQUFNLEVBQUUsVUFBVSxHQUlyQjtFQUhHLE1BQU0sbUNBRlY7SUFMSixBQUtJLCtCQUxnQixDQUtIO01BR0wsV0FBVyxFQUFFLENBQUMsR0FFckIsRUFBQTtBQUlELE1BQU0sbUNBRFY7RUFBQSxBQUFBLG9CQUFvQixDQUFDO0lBRWIsYUFBYSxFQUFFLENBQUMsR0FzQnZCLEVBQUE7O0FBeEJELEFBS0ksK0JBTGdCLENBS0g7RUFDVCxXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVoRnRUVyxPQUFPO0VnRnVUdkIsU0FBUyxFQUFFLE1BQU07RUFDakIsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLGVBQWU7RUFDeEIsVUFBVSxFQUFFLE1BQU0sR0FXckI7RUFURyxNQUFNLG1DQVRWO0lBTEosQUFLSSwrQkFMZ0IsQ0FLSDtNQVVMLE1BQU0sRUFBRSxRQUFRO01BQ2hCLE9BQU8sRUFBRSxVQUFVLEdBTzFCLEVBQUE7RUF2QkwsQUFtQlEsK0JBbkJZLENBbUJaLENBQUMsQ0FBQztJQUNFLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUtULEFBQ0ksaUJBRGEsQ0FDYixJQUFJLENBQUM7RUFDRCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFITCxBQUtJLGdDQUxhLENBS0k7RUFDYixNQUFNLEVBQUUsV0FBVztFQUNuQixnQkFBZ0IsRWhGL1ZWLEtBQUs7RWdGZ1dYLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLGFBQWEsRUFBRSxTQUFTO0VBQ3hCLFVBQVUsRUFBRSxNQUFNLEdBU3JCO0VBUEcsTUFBTSxtQ0FDRjtJQWJaLEFBYVksZ0NBYkssQ0FhSDtNQUNFLE9BQU8sRUFBRSxpQkFBaUI7TUFDMUIsYUFBYSxFQUFFLENBQUM7TUFDaEIsTUFBTSxFQUFFLENBQUMsR0FDWixFQUFBO0FBakJiLEFBcUJJLGlCQXJCYSxDQXFCYixDQUFDLENBQUM7RUFDRSxPQUFPLEVBQUUseUJBQXlCO0VBQ2xDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsUUFBUTtFQUNyQixhQUFhLEVBQUUsUUFBUSxHQVExQjtFQU5HLE1BQU0sbUNBQ0Y7SUE3QlosQUE2QlksaUJBN0JLLENBcUJiLENBQUMsQ0FRUztNQUNFLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFVBQVUsRUFBRSxJQUFJLEdBQ25CLEVBQUE7QUFoQ2IsQUFvQ0ksK0JBcENhLENBb0NHO0VBQ1osY0FBYyxFQUFFLFFBQVE7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFDYixRQUFRLEVBQUUsSUFBSTtFQUNkLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLHFCQUFxQixFQUFFLGVBQWUsR0FrRnpDO0VBaEZHLE1BQU0sbUNBQ0Y7SUE1Q1osQUE0Q1ksK0JBNUNLLENBNENIO01BQ0UscUJBQXFCLEVBQUUsZUFBZTtNQUN0QyxjQUFjLEVBQUUsUUFBUTtNQUN4QixZQUFZLEVBQUUsTUFBTSxHQUN2QixFQUFBO0VBaERiLEFBbURRLCtCQW5EUyxDQW1EVCxDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUsVUFBVSxHQUNyQjtFQXJEVCxBQXVEUSwrQkF2RFMsQ0F1RFQsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNULFVBQVUsRUFBRSxHQUFHLEdBQ2xCO0VBR0csTUFBTSxtQ0FDRjtJQTdEaEIsQUE2RGdCLCtCQTdEQyxDQTJEVCxNQUFNLENBRUk7TUFDRSxLQUFLLEVBQUUsUUFBUTtNQUNmLFNBQVMsRUFBRSxPQUFPLEdBS3JCO01BcEVqQixBQWlFb0IsK0JBakVILENBMkRULE1BQU0sQ0FNTSxDQUFDLENBQUM7UUFDRSxPQUFPLEVBQUUsS0FBSyxHQUNqQixFQUNKO0VBcEVqQixBQXdFUSx1Q0F4RVMsQ0F3RUM7SUFDTixnQkFBZ0IsRUFBRSxXQUFXO0lBQzdCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsV0FBVyxFQUFFLFFBQVE7SUFDckIsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixLQUFLLEVoRm5XRyxPQUFPO0lnRm9XZixjQUFjLEVBQUUsSUFBSSxHQXdDdkI7SUF0Q0csTUFBTSxtQ0FDRjtNQXJGaEIsQUFxRmdCLHVDQXJGQyxDQXFGQztRQUNFLE9BQU8sRUFBRSxJQUFJLEdBQ2hCLEVBQUE7SUF2RmpCLEFBMEZZLCtDQTFGSyxFQUFqQixnREFBaUIsRUFBakIsK0NBQWlCLENBMEY0QjtNQUM3QixPQUFPLEVBQUUsUUFBUSxHQVlwQjtNQVZHLE1BQU0sbUNBQ0Y7UUE5RnBCLEFBOEZvQiwrQ0E5RkgsRUFBakIsZ0RBQWlCLEVBQWpCLCtDQUFpQixDQThGSztVQUNFLE9BQU8sRUFBRSxJQUFJLEdBQ2hCLEVBQUE7TUFoR3JCLEFBbUdnQiwrQ0FuR0MsQ0FtR0QsR0FBRyxFQW5HbkIsZ0RBQWlCLENBbUdELEdBQUcsRUFuR25CLCtDQUFpQixDQW1HRCxHQUFHLENBQUM7UUFDQSxLQUFLLEVBQUUsT0FBTztRQUNkLFlBQVksRUFBRSxNQUFNLEdBQ3ZCO0lBdEdqQixBQTBHZ0IsK0NBMUdDLENBMEdELEdBQUcsQ0FBQztNQUNBLFdBQVcsRUFBRSxDQUFDLEdBQ2pCO0lBNUdqQixBQWdIZ0IsK0NBaEhDLENBZ0hELEdBQUcsQ0FBQztNQUNBLFdBQVcsRUFBRSxDQUFDLEdBQ2pCO0lBbEhqQixBQXNIZ0IsZ0RBdEhDLENBc0hELEdBQUcsQ0FBQztNQUNBLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQXhIakIsQUE2SEksaUJBN0hhLENBNkhiLFNBQVMsQ0FBQztFQUNOLGNBQWMsRUFBRSxTQUFTLEdBQzVCOztBQUdMLEFBQUEsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLEtBQUssRWhGOWRLLEtBQUssQ2dGOGRLLFVBQVU7RUFDOUIsY0FBYyxFQUFFLG9CQUFvQixHQVF2QztFQU5HLE1BQU0sbUNBQ0Y7SUFSUixBQVFRLFFBUkEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQVFyQjtNQUNFLEtBQUssRUFBRSxtQkFBbUI7TUFDMUIsTUFBTSxFQUFFLG1CQUFtQixHQUM5QixFQUFBO0FBSVQsQUFBQSxRQUFRLENBQUM7RUFDTCxVQUFVLEVoRm5hQSxxQkFBcUIsQ2dGbWFOLFVBQVUsR0FDdEM7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxnQkFBZ0IsRWhGdGFILE9BQU8sQ2dGc2FjLFVBQVUsR0FDL0M7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDSixnQkFBZ0IsRWhGOWFBLE9BQU8sQ2dGOGFjLFVBQVUsR0FDbEQ7O0FBRUQsQUFDSSxVQURNLENBQ04sZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLFdBQVcsR0FLdEI7RUFQTCxBQUlRLFVBSkUsQ0FDTixlQUFlLENBR1gsc0JBQXNCLENBQUM7SUFDbkIsY0FBYyxFQUFFLElBQUksR0FDdkI7O0FDcmhCVCxBQUVJLGVBRkUsQ0FFUztFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRUFBRSxHQUFHO0VBQ1osZUFBZSxFQUFFLE1BQU07RUFTdkIsVUFBVSxFakZJUSxtQkFBTyxHaUZINUI7RUFyQkwsQUFhUSxlQWJGLEFBYUcsS0FBSyxDQUFDO0lBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRztFQWJyQyxBQWVRLGVBZkYsR0FlSSxDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsQ0FBQztJQUNiLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBbEJULEFBdUJJLGlCQXZCRSxFQUFOLHFCQUFNLEVBQU4scUJBQU0sRUFBTixxQkFBTSxFQUFOLDRCQUFNLENBdUJXO0VBRVQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixnQkFBZ0IsRWpGeUZDLE9BQU87RWlGeEZ4QixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0VBQzNDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFVBQVUsRUFBRSxTQUFTO0VBQ3JCLE9BQU8sRUFBRSxnQkFBZ0IsR0FpRTVCO0VBL0RHLE1BQU0sbUJBWlY7SUF2QkosQUF1QkksaUJBdkJFLEVBQU4scUJBQU0sRUFBTixxQkFBTSxFQUFOLHFCQUFNLEVBQU4sNEJBQU0sQ0F1Qlc7TUFhTCxLQUFLLEVBQUUsa0JBQWtCLEdBOERoQyxFQUFBO0VBbEdMLEFBdUNRLDZCQXZDRixDQXVDZ0I7SUFDVixnQkFBZ0IsRWpGNkVLLE9BQU8sR2lGNUUvQjtFQXpDVCxBQTBDUSxtQ0ExQ0YsQ0EwQ3NCO0lBQ2hCLFVBQVUsRUFBRSxnQkFBZ0IsR0FDL0I7RUE1Q1QsQUE4Q1EsaUJBOUNGLENBOENFLEVBQUUsRUE5Q1YscUJBQU0sQ0E4Q0UsRUFBRSxFQTlDVixxQkFBTSxDQThDRSxFQUFFLEVBOUNWLHFCQUFNLENBOENFLEVBQUUsRUE5Q1YsNEJBQU0sQ0E4Q0UsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFakZ2QlMsT0FBTztJaUZ3QnJCLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0VBakRULEFBbURRLDRCQW5ERixDQW1EZTtJQUVULFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxHQUFHLEdBZWI7SUFiRyxNQUFNLG1CQUNGO01BMURoQixBQTBEZ0IsNEJBMURWLENBMERZO1FBQ0UsT0FBTyxFQUFFLElBQUk7UUFDYixLQUFLLEVBQUUsR0FBRztRQUNWLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO01BaEVqQixBQWtFZ0IsdUNBbEVWLENBa0V1QjtRQUNULE1BQU0sRUFBRSxJQUFJLEdBQ2YsRUFKQTtFQWhFakIsQUF3RVEscUJBeEVGLENBd0VRO0lBRUYsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUEzRVQsQUE2RVEscUJBN0VGLENBNkVRO0lBRUYsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFoRlQsQUFrRlEscUJBbEZGLENBa0ZRO0lBRUYsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFyRlQsQUF1RlEsaUJBdkZGLENBdUZFLElBQUksRUF2RlosNEJBQU0sQ0F1RkUsSUFBSSxFQXZGWixxQkFBTSxDQXVGRSxJQUFJLEVBdkZaLHFCQUFNLENBdUZFLElBQUksRUF2RloscUJBQU0sQ0F1RkUsSUFBSSxDQUFDO0lBQ0QsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUF6RlQsQUEyRlEsK0JBM0ZGLENBMkZrQjtJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLFFBQVE7SUFDYixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxTQUFTO0lBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBQ3pCOztBQWpHVCxBQW9HSSxZQXBHRSxDQW9HTTtFQUNKLEtBQUssRUFBRSxJQUFJLEdBR2Q7RUF4R0wsQUFzR1EsbUJBdEdGLENBc0dXO0lBQUMsS0FBSyxFakY1REwsT0FBTyxHaUY0RG1CO0VBdEc1QyxBQXVHUSxxQkF2R0YsQ0F1R2E7SUFBQyxLQUFLLEVqRnRFTCxPQUFPLEdpRnNFcUI7O0FBdkdoRCxBQTBHSSxhQTFHRSxDQTBHTztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRWpGcEZhLE9BQU87RWlGcUZ6QixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsdUJBQXVCO0VBQ3BDLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQWhITCxBQWtISSxnQkFsSEUsQ0FrSFU7RUFDUixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxDQUFDO0VBQ2pCLEtBQUssRWpGN0VXLE9BQU87RWlGOEV2QixhQUFhLEVBQUUsUUFBUSxHQUMxQjs7QUF4SEwsQUEwSEksaUJBMUhFLENBMEhXO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRWpGdEdhLE9BQU87RWlGdUd6QixNQUFNLEVBQUUsT0FBTztFQUVmLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLFNBQVMsRUFBRSxJQUFJLEdBR2xCO0VBeElMLEFBdUlRLGlCQXZJRixDQXVJSSxLQUFLLENBQUM7SUFBQyxVQUFVLEVBQUUsSUFBSSxHQUFHOztBQXZJcEMsQUEwSUksZUExSUUsQ0EwSVM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEdBQUcsRUFBRSxRQUFRLEdBTWhCO0VBcEpMLEFBZ0pRLGVBaEpGLENBZ0pFLENBQUMsQ0FBQztJQUNFLEtBQUssRWpGbEVVLE9BQU87SWlGbUV0QixjQUFjLEVBQUUsU0FBUyxHQUM1Qjs7QUFuSlQsQUFzSkksV0F0SkUsRUFBTixvQkFBTSxFQUFOLGlCQUFNLEVBQU4sZ0JBQU0sQ0FzSks7RUFFSCxLQUFLLEVBQUUsV0FBVztFQUVsQixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLGFBQWE7RUFDMUIsZUFBZSxFQUFFLE1BQU07RUFDdkIsR0FBRyxFQUFFLEtBQUs7RUFDVixNQUFNLEVBQUUsZUFBZTtFQUN2QixhQUFhLEVBQUUsSUFBSTtFQUNuQixNQUFNLEVBQUUsUUFBUTtFQUNoQixjQUFjLEVBQUUsU0FBUztFQUN6QixTQUFTLEVBQUUsR0FBRztFQUNkLE1BQU0sRUFBRSxDQUFDLEdBa0NaO0VBdE1MLEFBc0tRLFdBdEtGLENBc0tFLENBQUMsRUF0S1Qsb0JBQU0sQ0FzS0UsQ0FBQyxFQXRLVCxpQkFBTSxDQXNLRSxDQUFDLEVBdEtULGdCQUFNLENBc0tFLENBQUMsQ0FBQztJQUNFLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUF4S1QsQUEwS1EsZ0JBMUtGLENBMEtTO0lBRUgsZ0JBQWdCLEVqRnpGUCxPQUFPLEdpRjBGbkI7RUE3S1QsQUErS1EsaUJBL0tGLENBK0tVO0lBRUosZ0JBQWdCLEVqRnhJSixPQUFPLEdpRnlJdEI7RUFsTFQsQUFvTFEsb0JBcExGLENBb0xhO0lBR1AsS0FBSyxFakZ2RWMsSUFBSTtJaUZ3RXZCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLGVBQWUsR0FLMUI7SUEvTFQsQUE0TFksb0JBNUxOLENBNExRLEtBQUssQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBOUxiLEFBaU1RLGtCQWpNRixDQWlNVztJQUNMLGdCQUFnQixFakYxS0YsT0FBTztJaUYyS3JCLEtBQUssRWpGektILEtBQUs7SWlGMEtQLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBck1ULEFBd01JLHdCQXhNRSxDQXdNa0I7RUFDaEIsYUFBYSxFQUFFLGtCQUFrQjtFQUNqQyxLQUFLLEVBQUUscUJBQXFCO0VBQzVCLE1BQU0sRUFBRSxrQkFBa0IsR0FDN0I7O0FBNU1MLEFBOE1JLHVCQTlNRSxDQThNaUI7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLFNBQVM7RUFDaEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZUFBZSxFQUFFLE1BQU0sR0F1QjFCO0VBek9MLEFBb05RLDRCQXBORixFQUFOLDZCQUFNLENBb05rQjtJQUNaLEtBQUssRUFBRSxRQUFRO0lBQ2YsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxPQUFPO0lBQ2xCLGNBQWMsRUFBRSxDQUFDLEdBQ3BCO0VBL05ULEFBaU9RLDRCQWpPRixDQWlPUztJQUNILGdCQUFnQixFakYvSVAsT0FBTyxHaUZnSm5CO0VBbk9ULEFBcU9RLDZCQXJPRixDQXFPVTtJQUNKLGdCQUFnQixFakZ0SVIsT0FBTyxHaUZ1SWxCOztBQXZPVCxBQTRPUSxpQkE1T0YsQ0E0T0UsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFakY5SUMsT0FBTyxDaUY4SVcsVUFBVSxHQUNyQzs7QUE5T1QsQUErT1EsaUJBL09GLENBK09FLE1BQU0sQ0FBQztFQUNILGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLE9BQU8sR0FDekI7O0FBcFBULEFBdVBJLGdCQXZQRSxDQXVQVTtFQUNSLE1BQU0sRUFBRSxLQUFLO0VBQ2IsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVqRnBPQyxPQUFPLENpRm9PTyxVQUFVLEdBQ2pDOztBQUdHLE1BQU0sbUJBQ0Y7RUFoUVosQUFnUVksMEJBaFFOLENBZ1FRO0lBQ0UsUUFBUSxFQUFFLEtBQUs7SUFDZixNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0IsRUFBQTs7QUFwUWIsQUF3UUksdUJBeFFFLENBd1FpQjtFQUNmLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQ3BRTCxBQUFBLFlBQVksRU1LWixXQUFLLENBdURHLEVBQUUsRU41REksWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUM7RUFDbkQsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FZZDtFQWZELEFBS0ksZUFMVyxDQUtYLEtBQUssQ0FBQztJQUNGLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBUEwsQUFTSSxlQVRXLENBU1gsSUFBSSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsQ3pEUkYsTUFBeUI7SXlEU2pDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFHTCxBQUFBLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDcEIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxNQUFNLEdBQ2pCOztBQUVELEFBQUEsS0FBSyxDQUFDO0VBRUYsS0FBSyxFbEZoQ0ssT0FBTztFa0ZpQ2pCLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLGNBQWMsRUFBRSxTQUFTLEdBQzVCOztBQUVELEFBQUEsTUFBTSxFckNnQ04sS0FBSyxHQUFHLFNBQVM7QUFDakIsUUFBUSxHQUFHLFNBQVM7QUFDcEIsTUFBTSxHQUFHLFNBQVM7QUFDbEIsS0FBSyxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3RCLFFBQVEsR0FBRyxFQUFFLEdBQUcsU0FBUztBQUN6QixNQUFNLEdBQUcsRUFBRSxHQUFHLFNBQVMsRU0xRHZCLHFCQUFxQixDQWlEakIsUUFBUSxFQUFFLFdBQVcsQytCNUJsQjtFQUNILFdBQVcsRXpEaENDLE1BQXlCO0V5RGlDckMsWUFBWSxFekRqQ0EsTUFBeUI7RXlEa0NyQyxVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNELGdCQUFnQixFbEYxQk4sS0FBSyxHa0YyQmxCOztBQUVELEFBQ0ksQ0FESCxBQUFBLE9BQU8sQ0FDRixLQUFLLEVBRFgsQ0FBQyxBQUFBLE9BQU8sQ0FDTyxLQUFLLEVBRHBCLENBQUMsQUFBQSxPQUFPLENBQ2dCLE1BQU0sQ0FBQztFaEVwQm5CLFVBQUssRW1CNkhRLGlFQUE0RTtFbkI3SHpGLEtBQUssRWxCVkgsS0FBSztFa0JVUCxnQkFBSyxFbEI3QkgsT0FBTyxHa0ZvRGhCOztBQUdMLEFBQ0ksQ0FESCxBQUFBLE9BQU8sQUFBQSxXQUFXLENBQ2IsS0FBSyxFQURYLENBQUMsQUFBQSxPQUFPLEFBQUEsV0FBVyxDQUNKLEtBQUssRUFEcEIsQ0FBQyxBQUFBLE9BQU8sQUFBQSxXQUFXLENBQ0ssTUFBTSxDQUFDO0VoRTNCbkIsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCNUJGLE9BQU8sR2tGeURqQjs7QUFJTCxBQUFBLGNBQWMsRW5DdXJCZCxXQUFXLENtQ3ZyQkk7RUFDWCxJQUFJLEVBQUUsd0JBQXdCO0VBQzlCLFNBQVMsRUFBRSxrQ0FBa0M7RUFDN0MsTUFBTSxFQUFFLEdBQUc7RUFDWCxRQUFRLEVBQUUsaUJBQWlCO0VBQzNCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLEtBQUssR0FDakI7O0FDN0VELEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQztFQUNaLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUTtFQUM5RCxZQUFZLEVBQUUsMkNBQTJDLEdBQzFEOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxLQUFLLEdBQ3ZCOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQUNELFVBQVUsQ0FBVixRQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZO0VBRXpCLElBQUk7SUFDRixTQUFTLEVBQUUsY0FBYzs7QUNoQzdCLEFBQ0ksY0FEQyxDQUNVO0VBQ1AsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLGdCQUFnQixFcEZpQkUsT0FBTztFb0ZoQnpCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQVpMLEFBYUksVUFiQyxDQWFNO0VBQ0gsVUFBVSxFcEZJUSxPQUFPO0VvRkh6QixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7RUFDM0IsSUFBSSxFQUFFLHNCQUFzQjtFQUM1QixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFNBQVMsRUFBRSxJQUFJLEdBWWxCO0VBVkcsTUFBTSxtQ0FDRjtJQXpCWixBQXlCWSxVQXpCUCxDQXlCUztNQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7RUFFTCxNQUFNLG1DQUNGO0lBOUJaLEFBOEJZLFVBOUJQLENBOEJTO01BQ0UsU0FBUyxFQUFFLElBQUksR0FDbEIsRUFBQTtBQWhDYixBQW1DSSxZQW5DQyxDQW1DUTtFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUk7RUFDVCxTQUFTLEVBQUUsSUFBSSxHQUtsQjtFQTNDTCxBQXdDUSxzQkF4Q0gsQ0F3Q2U7SUFDUixPQUFPLEVBQUUsR0FBRyxHQUNmOztBQTFDVCxBQTRDSSxhQTVDQyxDQTRDUztFQUNOLE9BQU8sRUFBRSxJQUFJLEdBZ0VoQjtFQTdHTCxBQThDUSxhQTlDSCxDQThDRyxLQUFLLENBQUM7SUFDRixhQUFhLEVBQUUsR0FBRyxHQUlyQjtJQW5EVCxBQWdEWSxhQWhEUCxDQThDRyxLQUFLLENBRUQsR0FBRyxDQUFFO01BQ0QsS0FBSyxFQUFFLEtBQUssR0FDZjtFQWxEYixBQW9EUSxhQXBESCxDQW9ERyxRQUFRO0VBcERoQixhQUFLLENBcURHLGtCQUFrQixDQUFDO0lBQ2YsUUFBUSxFQUFFLFFBQVEsR0FDckI7RUF2RFQsQUF3RFEsYUF4REgsQ0F3REcsUUFBUSxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQyxHQUNUO0VBM0RULEFBNERRLGFBNURILENBNERHLGtCQUFrQixDQUFDO0lBQ2YsSUFBSSxFQUFFLENBQUM7SUFDUCxNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBL0RULEFBZ0VRLGFBaEVILENBZ0VHLFFBQVEsQ0FBQztJQUlMLEtBQUssRUFBRSxHQUFHLEdBZ0JiO0lBcEZULEFBaUVZLGFBakVQLENBZ0VHLG1CQUFRLENBQ1M7TUFDVCxLQUFLLEVBQUUsSUFBSSxHQUNkO0lBbkViLEFBcUVZLGFBckVQLENBZ0VHLFFBQVEsQ0FLSixFQUFFO0lBckVkLGFBQUssQ0FnRUcsUUFBUSxDQU1KLENBQUMsQ0FBQztNQUNFLEtBQUssRXBGL0NLLE9BQU8sR29GZ0RwQjtJQXhFYixBQTBFWSxhQTFFUCxDQWdFRyxRQUFRLENBVUosRUFBRSxDQUFDO01BQ0MsU0FBUyxFQUFFLE1BQU07TUFDakIsV0FBVyxFQUFFLFdBQVc7TUFDeEIsVUFBVSxFQUFFLEtBQUs7TUFDakIsYUFBYSxFQUFFLEdBQUcsR0FDckI7SUEvRWIsQUFnRlksYUFoRlAsQ0FnRUcsUUFBUSxDQWdCSixDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsS0FBSztNQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNyQjtFQW5GYixBQXFGUSxhQXJGSCxDQXFGRyxRQUFRLENBQUM7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxJQUFJO0lBQ1QsU0FBUyxFQUFFLFdBQVc7SUFDdEIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsR0FBRztJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixPQUFPLEVBQUUsR0FBRyxHQWFmO0lBekdULEFBOEZZLGFBOUZQLENBcUZHLFFBQVEsQ0FTSixDQUFDLENBQUM7TUFDRSxLQUFLLEVBQUUsS0FBSztNQUNaLE1BQU0sRUFBRSxLQUFLO01BQ2IsT0FBTyxFQUFFLE9BQU87TUFDaEIsVUFBVSxFQUFFLFdBQVcsR0FDMUI7SUFuR2IsQUFvR1ksYUFwR1AsQ0FxRkcsUUFBUSxDQWVKLGFBQWEsQ0FBQztNQUNWLEtBQUssRXBGN0ZOLE9BQU87TW9GOEZOLGdCQUFnQixFcEZwRk4sT0FBTztNb0ZxRmpCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcEYvRmxCLE9BQU8sR29GZ0dUO0VBeEdiLEFBMEdRLGFBMUdILENBMEdHLFNBQVMsQ0FBQztJQUNOLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQTVHVCxBQStHSSxjQS9HQyxDQStHVTtFQUNQLE1BQU0sRUFBRSxNQUFNO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLGdCQUFnQixFcEY5RFAsT0FBTztFb0YrRGhCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7O0FBdkhMLEFBd0hJLGlCQXhIQyxDQXdIYTtFQUNWLGdCQUFnQixFcEZqSFQsT0FBTztFb0ZrSGQsS0FBSyxFQUFFLEVBQUU7RUFDVCxPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxNQUFNLEdBQ2pCOztBQTdITCxBQThISSxpQkE5SEMsQ0E4SGE7RUFDVixnQkFBZ0IsRXBGdkhULE9BQU87RW9Gd0hkLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsTUFBTSxHQUNqQjs7QUFuSUwsQUFvSUksaUJBcElDLENBb0lhO0VBQ1YsZ0JBQWdCLEVwRjdIVCxPQUFPO0VvRjhIZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLE1BQU0sR0FDakI7O0FBR0wsTUFBTSxtQ0FDRjtFQUFBLEFBQUEsY0FBYyxDQUFDO0lBQ1gsS0FBSyxFQUFFLEtBQUssR0FDZjtFQUNELEFBQUEsYUFBYSxDQUFDO0lBQ1YsT0FBTyxFQUFFLE1BQU0sR0FDbEI7RUFDRCxBQUFBLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUksR0FDbkI7RUFDRCxBQUFBLGFBQWEsQ0FBQyxLQUFLLEFBQUEsdUJBQXVCLENBQUM7SUFDdkMsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsRUFBRSxHQUNwQjtFQUNELEFBQUEsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUFDRCxBQUFBLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbkIsU0FBUyxFQUFFLE1BQU07SUFDakIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBQ0QsQUFBQSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBQ0QsQUFBQSxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ25CLFNBQVMsRUFBRSxHQUFHLEdBQ2pCO0VBQ0QsQUFBQSxzQkFBc0IsQ0FBQztJQUNuQixLQUFLLEVBQUUsR0FBRyxHQUNiO0VBQ0QsQUFBQSxVQUFVLENBQUM7SUFDUCxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxLQUFLO0lBQ2IsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQyxHQUNWO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULGVBQWUsRUFBRSxNQUFNLEdBQzFCLEVBdkNBOztBQTBDTCxNQUFNLG9DQUNGO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQUNELEFBQUEsVUFBVSxDQUFDO0lBQ1AsTUFBTSxFQUFFLFdBQVcsR0FDdEI7RUFFK0IsU0FBQyxFQUF0QixlQUFlLEVBQUMsSUFBSTtJQUMzQixBQUFBLFVBQVUsQ0FBQztNQUNQLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0IsSUFSSjs7QXZCNUxMOztrRUFFa0U7QURGbEU7OytFQUUrRTtBQUYvRTs7K0VBRStFO0EwQkYvRTs7K0VBRStFO0FDRi9FOzsrRUFFK0U7QTNCRi9FOzsrRUFFK0U7QTRCRi9FOzs0RUFFNEU7QUFTNUUsQUFBQSxLQUFLLENBQUM7RUFDRixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFRFJhLElBQXFCLENDUVQsQ0FBQyxDRFJiLElBQXFCLENDUWdCLENBQUMsR0FtRTdEO0V0RTFFTyxNQUFNLDhCc0VDZDtJQUFBLEFBQUEsS0FBSyxDQUFDO01BU0UsT0FBTyxFQUFFLElBQTRDLENBQUMsQ0FBQyxDRFh2QyxJQUFxQixDQ1cwQyxDQUFDLEdBZ0V2RixFQUFBO0V0RTFFTyxNQUFNLDhCc0VjTjtJQWJSLEFBYVEsS0FiSCxBQWFJLE1BQU0sQ0FBQztNQUNKLE9BQU8sRURoQkssSUFBcUIsQ0NnQkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ3hDLEVBQUE7RUFmVCxBQWtCSSx1QkFsQkMsQ0FrQm1CO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBS2hCO0lBeEJMLEFBcUJRLHVCQXJCSCxDQXFCRyxRQUFRLENBQUM7TUFDTCxRQUFRLEVBQUUsS0FBSyxHQUNsQjtFQUdMLE1BQU0sbUNBQ0Y7SUEzQlIsQUEyQlEsYUEzQkgsQUEyQlksVUFBVSxFQTNCM0IsS0FBSyxDQTJCd0IsS0FBSyxDQUFDO01BQ3ZCLFlBQVksRUFBRSxnQkFBZ0IsR0FDakMsRUFBQTtFQUdMLE1BQU0sbUNBQ0Y7SUFqQ1IsQUFpQ1EsS0FqQ0gsQ0FpQ0csY0FBYyxDQUFDO01BQ1gsT0FBTyxFQUFFLElBQUksR0FDaEIsRUFBQTtFQW5DVCxBQXNDSSxtQkF0Q0MsQ0FzQ2U7SUFDWixVQUFVLEVBMUNVLDRCQUE0QixDQTBDVCxNQUFNLENBQUMsU0FBUztJQUN2RCxlQUFlLEVBQUUsT0FBTztJQUN4QixVQUFVLEVBQUUsVUFBVTtJQUN0QixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLE1BQU07SUFDakIsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLElBQUksR0FDbkI7RUEvQ0wsQUFpREksV0FqREMsQ0FpRE87SUFDSixVQUFVLEV4RnRDSixPQUFPO0l3RnVDYixLQUFLLEU5RENHLE9BQXlCO0k4REFqQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQzVCcERKLElBQXFCLEM0Qm9ERixDQUFDO0lBQzNCLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBYTdDO0lBbEVMLEFBdURRLFdBdkRILENBdURHLEVBQUUsQ0FBQztNQUdDLFNBQVMsRUFqRUUsTUFBbUI7TUFrRTlCLE9BQU8sRTVCaEVBLEdBQUcsQzRCZ0VrQixJQUFvQyxHQUNuRTtJQTVEVCxBQThEUSxXQTlESCxDQThERyxFQUFFLENBQUM7TUFDQyxXQUFXLEVBQUUsSUFBSTtNQUNqQixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQWpFVCxBQW9FSSxhQXBFQyxDQW9FUztJQUNOLFNBQVMsRUFBRSxDQUFDO0lBQ1osTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBOEMsQ0FBQyxJQUFJO0lBQ2xFLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FDbkZMOzsrRUFFK0U7QUFpQi9FLEFBQUEsUUFBUSxDQUFDO0VBQ0wsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsS0FBSztFQUNqQixTQUFTLEVBUFEsS0FBSztFQVF0QixVQUFVLEVBVkksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtFQVdqRCxVQUFVLEVBQUUsVUFBVTtFQUN0QixTQUFTLEU1QlpPLElBQXdCO0U0QmF4QyxPQUFPLEVBZFEsQ0FBRztFQWVsQixrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLFFBQVEsRUFBRSxvQkFBb0I7RUFFOUIsS0FBSyxFL0RpQ08sT0FBeUI7RStEdkJyQyxPQUFPLEU3QjdCSSxJQUFxQixHNkJvR25DO0VBNUZELEFBYUksUUFiSSxDQWFKLENBQUMsRUFiTCxRQUFRLENBYUQsTUFBTSxDQUFBO0lBQ0wsS0FBSyxFL0Q4QkcsT0FBeUIsRytEN0JwQztFQWZMLEFBaUJJLFFBakJJLEVBaUJELGlCQUFpQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBbkJMLEFBc0JJLFFBdEJJLENBc0JKLEVBQUUsQ0FBQztJQUNDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0VBekJMLEFBMkJJLFFBM0JJLENBMkJKLE1BQU0sQ0FBQztJQUNILFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLE9BQU87SUFDZixPQUFPLEVBQUUsR0FBRztJQUNaLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRTVCeENDLElBQXVCLEc0QnlDcEM7RUFsQ0wsQUFvQ0ksUUFwQ0ksQ0FvQ0osR0FBRztFQXBDUCxRQUFRLENBcUNKLENBQUMsQ0FBQztJQUNFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsYUFBYSxFN0JwREYsR0FBRyxHNkJxRGpCO0VBeENMLEFBMENRLFFBMUNBLENBeUNKLFdBQVcsRUFDTixXQUFXLENBQUE7SUFDUixTQUFTLEVBQUUsS0FBcUI7SUFDaEMsYUFBYSxFQUFFLEdBQUc7SUFDbEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFoRFQsQUFrRFEsUUFsREEsQ0F5Q0osV0FBVyxDQVNQLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDRCxTQUFTLEU1QjNESixJQUE0QixHNEI0RHBDO0VBcERULEFBdURJLFFBdkRJLENBdURKLEVBQUUsQ0FBQztJQUNDLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRTdCOURNLElBQXFCO0k2QitEbEMsYUFBYSxFQXJFSCxHQUFHLENBQUMsS0FBSyxDQURFLHlCQUFJO0lBdUV6QixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEU1Qm5FQyxJQUF1QixHNEJvRXBDO0VBN0RMLEFBK0RJLFFBL0RJLENBK0RKLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDVixNQUFNLEVBQUUsSUFBSSxHQUNmO0VBakVMLEFBbUVJLFFBbkVJLENBbUVKLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUF2RU8sQ0FBQyxHQXdFbEI7RUFyRUwsQUF1RUksaUJBdkVJLENBdUVPO0lBQ1AsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUF6RUwsQUEyRUksc0JBM0VJLENBMkVZO0lBQ1osS0FBSyxFQUFFLEtBQUssR0FDZjtFQTdFTCxBQStFSSxpQkEvRUksQ0ErRU87SUFDUCxPQUFPLEVBQUUsSUFBSSxHQUloQjtJQXBGTCxBQWlGUSxpQkFqRkEsR0FpRkMsRUFBRSxDQUFDO01BQ0EsV0FBVyxFN0IxRlIsSUFBcUIsRzZCMkYzQjtFQW5GVCxBQXNGSSxzQkF0RkksQ0FzRlk7SUFDWixPQUFPLEVBQUUsSUFBSSxHQUloQjtJQTNGTCxBQXdGUSxzQkF4RkEsR0F3RkMsRUFBRSxDQUFDO01BQ0EsV0FBVyxFN0JqR1IsSUFBcUIsRzZCa0czQjs7QUM3R1Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaXNDRTtBQy9yQ0YsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLFdBQVcsRTlFVU0sU0FBUyxFQUpMLFVBQVU7RThFTC9CLFNBQVMsRTlCTUksSUFBNEI7RThCTHpDLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFdBQVcsRUFBRSxHQUFHLEdBOEJuQjtFQW5DRCxBQU9JLFVBUE0sQ0FPTixlQUFlLENBQUM7SUFDWixzQkFBc0IsRUFBRSxJQUEwQztJQUNsRSx5QkFBeUIsRUFBRSxJQUEwQztJQUNyRSxVQUFVLEUzRldKLE9BQU87STJGVmIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsV0FBVztJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsR0FBRztJQUNqQixhQUFhLEVBQUUsR0FBRztJQUNsQixLQUFLLEVBQUMsSUFBSTtJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRWpFMkNHLE9BQXlCLEdpRW5DcEM7SUExQkwsQUFtQlEsVUFuQkUsQ0FPTixlQUFlLENBWVgsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxFQUFXO01BQ2IsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBQUUsSUFBSTtNQUVYLFFBQVEsRUFBRSxRQUFRLEdBRXJCO0VBekJULEFBNEJJLFVBNUJNLENBNEJOLFdBQVcsQ0FBQztJQUNSLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLE9BQU87SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUNwQ0wsQUFJSSxZQUpRLENBSUE7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxlQVJXLENBUUg7RUFDSixVQUFVLEU1RkZKLE9BQU8sRzRGR2hCOztBQVZMLEFBV0kscUJBWGlCLENBV0g7RUFDVixVQUFVLEU1Rk1RLE9BQU8sRzRGTDVCOztBQWJMLEFBSUksYUFKUyxDQUlEO0VBQ0osYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQVBMLEFBUUksZ0JBUlksQ0FRSjtFQUNKLFVBQVUsRTVGREgsT0FBTyxHNEZFakI7O0FBVkwsQUFXSSxzQkFYa0IsQ0FXSjtFQUNWLFVBQVUsRTVGSkgsT0FBTyxHNEZLakI7O0FBYkwsQUFJSSxZQUpRLENBSUE7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxlQVJXLENBUUg7RUFDSixVQUFVLEU1RndCRSxPQUFPLEc0RnZCdEI7O0FBVkwsQUFXSSxxQkFYaUIsQ0FXSDtFQUNWLFVBQVUsRTVGc0JRLE9BQU8sRzRGckI1Qjs7QUFiTCxBQUlJLGFBSlMsQ0FJRDtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGdCQVJZLENBUUo7RUFDSixVQUFVLEU1RjBCRyxPQUFPLEc0RnpCdkI7O0FBVkwsQUFXSSxzQkFYa0IsQ0FXSjtFQUNWLFVBQVUsRTVGd0JTLE9BQU8sRzRGdkI3Qjs7QUFiTCxBQUlJLGFBSlMsQ0FJRDtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGdCQVJZLENBUUo7RUFDSixVQUFVLEU1RjRCRyxPQUFPLEc0RjNCdkI7O0FBVkwsQUFXSSxzQkFYa0IsQ0FXSjtFQUNWLFVBQVUsRTVGMEJTLE9BQU8sRzRGekI3Qjs7QUFiTCxBQUlJLFdBSk8sQ0FJQztFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGNBUlUsQ0FRRjtFQUNKLFVBQVUsRTVGOEJDLE9BQU8sRzRGN0JyQjs7QUFWTCxBQVdJLG9CQVhnQixDQVdGO0VBQ1YsVUFBVSxFNUY0Qk8sT0FBTyxHNEYzQjNCOztBQWJMLEFBSUksVUFKTSxDQUlFO0VBQ0osYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQVBMLEFBUUksYUFSUyxDQVFEO0VBQ0osVUFBVSxFNUZzQ0EsT0FBTyxHNEZyQ3BCOztBQVZMLEFBV0ksbUJBWGUsQ0FXRDtFQUNWLFVBQVUsRTVGb0NNLE9BQU8sRzRGbkMxQjs7QUFiTCxBQUlJLGlCQUphLENBSUw7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxvQkFSZ0IsQ0FRUjtFQUNKLFVBQVUsRTVGd0NPLE9BQU8sRzRGdkMzQjs7QUFWTCxBQVdJLDBCQVhzQixDQVdSO0VBQ1YsVUFBVSxFNUZzQ2EsT0FBTyxHNEZyQ2pDOztBQWJMLEFBSUksVUFKTSxDQUlFO0VBQ0osYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQVBMLEFBUUksYUFSUyxDQVFEO0VBQ0osVUFBVSxFNUYwQ0EsT0FBTyxHNEZ6Q3BCOztBQVZMLEFBV0ksbUJBWGUsQ0FXRDtFQUNWLFVBQVUsRTVGd0NNLE9BQU8sRzRGdkMxQjs7QUFiTCxBQUlJLGlCQUphLENBSUw7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxvQkFSZ0IsQ0FRUjtFQUNKLFVBQVUsRTVGb0NPLE9BQU8sRzRGbkMzQjs7QUFWTCxBQVdJLDBCQVhzQixDQVdSO0VBQ1YsVUFBVSxFNUZrQ2EsT0FBTyxHNEZqQ2pDOztBQUdMLEFBQ0ksWUFEUSxDQUNSLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FEVixZQUFZLENBQ1ksUUFBUSxFQURsQixhQUFhLENBQ3ZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FESSxhQUFhLENBQ0gsUUFBUSxFQURILFlBQVksQ0FDckMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQURtQixZQUFZLENBQ2pCLFFBQVEsRUFEVyxhQUFhLENBQ3BELEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FEaUMsYUFBYSxDQUNoQyxRQUFRLEVBRDBCLGFBQWEsQ0FDbkUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQURnRCxhQUFhLENBQy9DLFFBQVEsRUFEeUMsV0FBVyxDQUNoRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBRCtELFdBQVcsQ0FDNUQsUUFBUSxFQURzRCxVQUFVLENBQzVGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FENEUsVUFBVSxDQUN4RSxRQUFRLEVBRGtFLGlCQUFpQixDQUMvRyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBRHdGLGlCQUFpQixDQUMzRixRQUFRLEVBRHFGLFVBQVUsQ0FDM0gsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUQyRyxVQUFVLENBQ3ZHLFFBQVEsQ0FBQztFQUN6QixZQUFZLEVBQUUsa0JBQWtCLEdBQ25DOztBQUhMLEFBSUksWUFKUSxDQUlSLEtBQUssRUFKSyxhQUFhLENBSXZCLEtBQUssRUFKb0IsWUFBWSxDQUlyQyxLQUFLLEVBSmtDLGFBQWEsQ0FJcEQsS0FBSyxFQUppRCxhQUFhLENBSW5FLEtBQUssRUFKZ0UsV0FBVyxDQUloRixLQUFLLEVBSjZFLFVBQVUsQ0FJNUYsS0FBSyxFQUp5RixpQkFBaUIsQ0FJL0csS0FBSyxFQUo0RyxVQUFVLENBSTNILEtBQUssQ0FBQztFQUNGLEtBQUssRUFBRSxrQkFBa0IsR0FDNUI7O0FBSUwsQUFDSSxDQURILENBQ0csQ0FBQyxDQUFDLEtBQUssRUFEWCxDQUFDLENBQ1ksQ0FBQyxDQUFDLEtBQUssRUFEcEIsQ0FBQyxDQUNxQixDQUFDLENBQUMsT0FBTyxFQUQvQixDQUFDLENBQ2dDLENBQUMsQ0FBQztFQUMzQixlQUFlLEVBQUUsU0FBUyxHQUM3Qjs7QUFJTCxBQUFBLEVBQUUsQ0FBQztFQUNILFlBQVksRUFBRSxtQkFBbUI7RUFDakMsTUFBTSxFQUFFLGFBQWEsR0FJcEI7RUFIRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxFQUFFLENBQUM7TUFJSyxNQUFNLEVBQUUsS0FBSyxHQUVwQixFQUFBIgp9 */