/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus-visible, *.focus-visible {
  outline-offset: 2px !important;
  outline: 4px solid #aa182c;
}

html {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  scroll-padding-bottom: 80px;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
html::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
html::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
html::-webkit-scrollbar-thumb {
  background-color: #444444;
}

html[data-dialog-hide-overflow=true] {
  overflow: hidden !important;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.1;
  font-size: 14px;
  font-family: "Open Sans", sans-serif;
  position: absolute;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  display: block;
}

article > * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #0072ce;
  color: #ffffff;
  outline-offset: 0;
  text-decoration: none;
}
button:hover, button:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
button:focus {
  outline: 2px solid #0072ce;
}
button a {
  text-decoration: none;
  color: #ffffff;
}
button:hover a, button:focus a {
  text-decoration: none;
  color: #ffffff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Nunito", sans-serif;
  margin: 0;
}

p {
  margin: 0.35em 0 0.75em;
  line-height: 1.55em;
}

ol,
ul {
  text-align: left;
  margin: 0.4em 0 0.75em;
}

li {
  line-height: 1.25em;
}

a {
  color: #004c97;
  background-color: white;
  -webkit-transition: 200ms;
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: #aa182c;
    background-color: white;
  }
}
[data-browser=ie] a:hover {
  color: #aa182c;
  background-color: white;
}
.ie a:hover {
  color: #aa182c;
  background-color: white;
}
a.focus-visible {
  color: #aa182c;
  background-color: white;
}
a:focus-visible {
  color: #aa182c;
  background-color: white;
}
a .targetBlankNotifier {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

img {
  border: 0;
}

fieldset {
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
willis-zone {
  display: block;
}

[inert] {
  overflow: hidden;
  pointer-events: none;
}

willis-dialog:not([data-open=true]) {
  display: none !important;
}

.dialogBackdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slide .dialogBackdrop {
  height: 100%;
}

.dialogInner {
  position: relative;
}

[data-dialog-style=modal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=modal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=modal] div[role=dialog] {
  width: 580px;
  margin: auto;
}

[data-dialog-style=largeModal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=largeModal] div[role=dialog] {
  width: 800px;
  max-width: 100vw;
  margin: auto;
}

[data-dialog-style=shade] {
  overflow-y: scroll;
}
[data-dialog-style=shade] div[role=dialog] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  text-align: center;
  background-color: #0072ce;
  color: white;
}
[data-dialog-style=shade] div[role=dialog] .dialogLabel {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogContent {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogActions {
  max-width: 800px;
}

[data-dialog-style^=sidebar] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow-y: scroll;
  overflow-x: hidden;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
[data-dialog-style^=sidebar] div[role=dialog] {
  width: 440px;
}

[data-dialog-style^=full] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow: hidden;
}
[data-dialog-style^=full] div[role=dialog] {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}

@media (max-width: 600px) {
  [data-dialog-style^=sidebar] div[role=dialog] {
    width: 100%;
    min-width: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
div[data-dialog-animation-speed=glacial] {
  -webkit-animation-duration: 3000ms;
          animation-duration: 3000ms;
}

div[data-dialog-animation-speed=verySlow] {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
}

div[data-dialog-animation-speed=slow] {
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms;
}

div[data-dialog-animation-speed=medium] {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

div[data-dialog-animation-speed=fast] {
  -webkit-animation-duration: 300ms;
          animation-duration: 300ms;
}

div[data-dialog-animation-speed=veryFast] {
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}

.dialogBackdrop {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}
.dialogBackdrop.in {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}
.dialogBackdrop.out {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

div[role=dialog] {
  position: relative;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div[data-dialog-animation-name=fadeIn] {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
div[data-dialog-animation-name=fadeOut] {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@-webkit-keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeTopIn] {
  -webkit-animation-name: fadeTopIn;
          animation-name: fadeTopIn;
}

@-webkit-keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
div[data-dialog-animation-name=fadeTopOut] {
  -webkit-animation-name: fadeTopOut;
          animation-name: fadeTopOut;
}

@-webkit-keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeBottomIn] {
  -webkit-animation-name: fadeBottomIn;
          animation-name: fadeBottomIn;
}

@-webkit-keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}

@keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}
div[data-dialog-animation-name=fadeBottomOut] {
  -webkit-animation-name: fadeBottomOut;
          animation-name: fadeBottomOut;
}

@-webkit-keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeRightIn] {
  -webkit-animation-name: fadeRightIn;
          animation-name: fadeRightIn;
}

@-webkit-keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeRightOut] {
  -webkit-animation-name: fadeRightOut;
          animation-name: fadeRightOut;
}

@-webkit-keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeLeftIn] {
  -webkit-animation-name: fadeLeftIn;
          animation-name: fadeLeftIn;
}

@-webkit-keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeLeftOut] {
  -webkit-animation-name: fadeLeftOut;
          animation-name: fadeLeftOut;
}

@-webkit-keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  -webkit-animation-name: slideTopIn;
          animation-name: slideTopIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
div[data-dialog-animation-name=slideTopOut] {
  -webkit-animation-name: slideTopOut;
          animation-name: slideTopOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideBottomIn] {
  -webkit-animation-name: slideBottomIn;
          animation-name: slideBottomIn;
}

@-webkit-keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
}

@keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
}
div[data-dialog-animation-name=slideBottomOut] {
  -webkit-animation-name: slideBottomOut;
          animation-name: slideBottomOut;
}

@-webkit-keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideRightIn] {
  -webkit-animation-name: slideRightIn;
          animation-name: slideRightIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideRightOut] {
  -webkit-animation-name: slideRightOut;
          animation-name: slideRightOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideLeftIn] {
  -webkit-animation-name: slideLeftIn;
          animation-name: slideLeftIn;
}

@-webkit-keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideLeftOut] {
  -webkit-animation-name: slideLeftOut;
          animation-name: slideLeftOut;
}

.dialogBackdrop {
  background: rgba(58, 57, 57, 0.7);
}

.dialogContent {
  margin: 10px 0;
}
.dialogContent ul {
  text-align: left;
}

.dialogActions.generated button.closeDialog .icon:before {
  font-family: "fugu-staff", sans-serif;
  content: "b";
}

button.closeDialog .icon:before {
  font-family: "fugu-staff", sans-serif;
  content: "b";
}

.dialogLabel h2 {
  margin-bottom: 15px;
}

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  background-color: #ffffff;
  color: black;
  -webkit-box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
}
[data-dialog-style=modal] button.closeDialog {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #0072ce;
  color: #ffffff;
  outline-offset: 0;
  text-decoration: none;
}
[data-dialog-style=modal] button.closeDialog:hover, [data-dialog-style=modal] button.closeDialog:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog:focus {
  outline: 2px solid #0072ce;
}
[data-dialog-style=modal] button.closeDialog a {
  text-decoration: none;
  color: #ffffff;
}
[data-dialog-style=modal] button.closeDialog:hover a, [data-dialog-style=modal] button.closeDialog:focus a {
  text-decoration: none;
  color: #ffffff;
}
[data-dialog-style=modal] button.closeDialog .icon {
  display: none;
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  border-radius: 10px;
  padding: 20px;
  background-color: #ffffff;
  color: black;
}
[data-dialog-style=largeModal] .dialogLabel {
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 1px solid #0072ce;
  padding: 5px 10px 20px;
  text-transform: uppercase;
}
[data-dialog-style=largeModal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.25em;
  color: #0072ce;
}

[data-dialog-style=shade] .dialogInner {
  border-radius: 0 0 10px 10px;
  padding: 20px;
}

[data-dialog-style^=sidebar] .dialogInner {
  min-height: 100%;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
  border-radius: 0 10px 10px 0;
  padding: 20px;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
  border-radius: 10px 0 0 10px;
  padding: 20px;
}

[data-dialog-style^=full] .dialogInner {
  padding: 20px;
}

.simpleDialog {
  border-radius: 10px;
}

@media (max-width: 800px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
  [data-dialog-style=largeModal] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  [data-dialog-style=largeModal] div[role=dialog] {
    margin: 0;
  }
}
@media (max-width: 600px) {
  [data-dialog-style=modal] {
    display: block;
  }
}
@media (max-width: 480px) {
  .safari [data-dialog-style=modal][data-backdrop-for=accessibilityPrefs] {
    padding: 20px 20px 150px;
  }
}
.fieldWrapper {
  position: relative;
  max-width: 500px;
  margin: 0 auto 10px;
}
.fieldWrapper label:not(.checkboxLabel) {
  position: absolute;
  top: 10px;
  left: 9px;
  line-height: 1;
  white-space: normal;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Nunito", sans-serif;
  color: #0072ce;
}
.fieldWrapper input:not([type=checkbox]):not([type=radio]),
.fieldWrapper textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  position: relative;
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 2px solid #dddddd;
  padding: 23px 8px 6px;
  border-radius: 10px;
  background: #ffffff;
  color: #3a3939;
  text-align: left;
  font-size: 1.2em;
}
.fieldWrapper button {
  position: absolute !important;
  color: #ffffff;
  top: 6px;
  right: 6px;
  height: 42px;
  width: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  border-radius: 10px;
  background: #0072ce;
  border: none;
  padding: 0;
  cursor: pointer;
}
.fieldWrapper button[aria-checked=true] .icon:after {
  content: "";
  width: 3px;
  height: 20px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
  background: #ffffff;
}
.fieldWrapper button .icon {
  font-size: 1.2em;
}
.fieldWrapper #Password:focus + #requirements {
  max-height: 1000px;
  padding: 10px;
  margin: 10px 0;
}
.fieldWrapper #requirements {
  list-style: none;
  padding: 0 10px;
  margin: 0;
  background-color: #ebebec;
  color: black;
  border-radius: 10px;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 800ms ease-in-out, padding 800ms ease-in-out, margin 800ms ease-in-out;
  transition: max-height 800ms ease-in-out, padding 800ms ease-in-out, margin 800ms ease-in-out;
}
.fieldWrapper #requirements li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.9em;
  margin-bottom: 2px;
}
.fieldWrapper #requirements li.valid .icon {
  background-color: #26d07c;
  color: black;
  font-size: 0.9em;
}
.fieldWrapper #requirements li.valid .icon:before {
  content: "&";
}
.fieldWrapper #requirements li .icon {
  background-color: #aa182c;
  color: white;
  border-radius: 50%;
  margin-right: 5px;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.8em;
}
.fieldWrapper #requirements li .icon:before {
  content: "X";
}

input[type=radio] {
  position: relative;
  margin: 0 5px 0 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  input[type=radio] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  input[type=radio]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: #3a3939;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  input[type=radio]:checked:before {
    border-color: #0072ce;
    background-color: #0072ce;
  }
  input[type=radio]:checked:after {
    opacity: 1;
    background-color: white;
    width: 45%;
    height: 45%;
  }
  input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  input[type=radio][disabled]:before {
    background-color: #f9f9f9;
  }
}

input[type=checkbox] {
  position: relative;
  margin: 0 5px 0 0;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  input[type=checkbox] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  input[type=checkbox]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    border-style: solid;
    border-width: 2px;
    border-color: #3a3939;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K") no-repeat;
    background-size: 70%;
    background-position: 50% 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
    opacity: 0;
    -webkit-filter: invert(1);
            filter: invert(1);
  }
  input[type=checkbox]:checked:before {
    border-color: #0072ce;
    background-color: #0072ce;
  }
  input[type=checkbox]:checked:after {
    opacity: 1;
  }
  input[type=checkbox][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  input[type=checkbox][disabled]:before {
    background-color: rgba(58, 57, 57, 0.1);
  }
}

.dropdownWrapper {
  position: relative;
  max-width: 500px;
  margin: 0 auto 15px;
  border-bottom: 2px solid #ebebec;
  padding-bottom: 10px;
}
.dropdownWrapper label:not(.checkboxLabel) {
  position: absolute;
  top: 10px;
  left: 9px;
  line-height: 1;
  white-space: normal;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Nunito", sans-serif;
  color: #0072ce;
}
.dropdownWrapper select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  position: relative;
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 2px solid #dddddd;
  padding: 24px 8px 6px;
  border-radius: 10px;
  background: #ffffff;
  color: #3a3939;
  text-align: left;
  font-size: 1.2em;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 25px 50px;
}
.dropdownWrapper select::-ms-expand {
  display: none;
}

.controlWrapper {
  border-bottom: 2px solid #ebebec;
  margin-bottom: 15px;
  padding-bottom: 10px;
}
.controlWrapper:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.controlWrapper > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper > *:last-child {
  margin-bottom: 0 !important;
}
.controlWrapper .control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.controlWrapper label {
  font-size: 1.2em;
  white-space: nowrap;
  cursor: pointer;
}
.controlWrapper .description {
  margin-top: 6px;
  font-size: 0.84em;
  color: #3a3939;
}
.controlWrapper .description > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper .description > *:last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

form .error,
.formWrap .error {
  display: block;
  margin: 4px 0;
  padding: 2px 4px;
  text-align: center;
  background-color: #aa182c;
  color: white;
}

.formWrap.accountProfiler {
  padding: 20px;
}
.formWrap.accountProfiler h2 {
  margin: 10px 0;
  display: block;
  font-size: 1.125em;
  color: #0072ce;
}
.formWrap.accountProfiler label[for=Enrollee],
.formWrap.accountProfiler label[for=Guest] {
  font-size: 1.35em;
  padding-left: 5px;
}
.formWrap.accountProfiler input#Enrollee:checked,
.formWrap.accountProfiler input#Guest:checked {
  display: inline-block;
  margin-left: 10px;
}
.formWrap.accountProfiler input#Enrollee:checked ~ label,
.formWrap.accountProfiler input#Guest:checked ~ label {
  background: #ebebec;
  display: inline-block;
  padding: 8px 15px 8px 32px;
  margin-left: -32px;
  border-radius: 5px 5px 0 0;
  font-weight: bold;
}
.formWrap.accountProfiler input#Enrollee:checked ~ .profilerFormWrapper form,
.formWrap.accountProfiler input#Guest:checked ~ .profilerFormWrapper form {
  display: block;
  padding: 20px;
  margin: 0;
  background: #ebebec;
  max-width: none;
}
.formWrap.accountProfiler input#Enrollee:checked ~ .profilerFormWrapper form fieldset,
.formWrap.accountProfiler input#Guest:checked ~ .profilerFormWrapper form fieldset {
  padding: 15px 15px;
  margin: 0 0 25px;
  background: #ffffff;
}
.formWrap.accountProfiler input#Enrollee:checked ~ .profilerFormWrapper form fieldset legend,
.formWrap.accountProfiler input#Guest:checked ~ .profilerFormWrapper form fieldset legend {
  background: #0072ce;
  color: #ffffff;
  display: block;
  padding: 5px 8px;
}
.formWrap.accountProfiler input#Enrollee:checked ~ .profilerFormWrapper .profileSettingsExplainer,
.formWrap.accountProfiler input#Guest:checked ~ .profilerFormWrapper .profileSettingsExplainer {
  display: block;
}
.formWrap.accountProfiler .GuestProfileForm,
.formWrap.accountProfiler .EnrolleeProfileForm {
  margin: 20px 0;
}
.formWrap.accountProfiler form {
  display: none;
}
.formWrap.accountProfiler form#resetAccountTypeForm {
  display: block;
  margin: 40px 0 0 0;
}
.formWrap.accountProfiler form#resetAccountTypeForm input {
  border: 0;
  padding: 0;
  background: transparent;
  text-decoration: underline;
  color: #0072ce;
}
@media (hover: hover) and (pointer: fine) {
  .formWrap.accountProfiler form#resetAccountTypeForm input:hover {
    color: #aa182c;
    cursor: pointer;
  }
}
[data-browser=ie] .formWrap.accountProfiler form#resetAccountTypeForm input:hover {
  color: #aa182c;
  cursor: pointer;
}
.ie .formWrap.accountProfiler form#resetAccountTypeForm input:hover {
  color: #aa182c;
  cursor: pointer;
}
.formWrap.accountProfiler form#resetAccountTypeForm input.focus-visible {
  color: #aa182c;
  cursor: pointer;
}
.formWrap.accountProfiler form#resetAccountTypeForm input:focus-visible {
  color: #aa182c;
  cursor: pointer;
}
.formWrap.accountProfiler .profileSettingsExplainer {
  display: none;
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

@media (max-width: 600px) {
  .styledFieldset {
    padding: 10px;
  }
  .styledFieldset .fieldsetGrid {
    grid-template-columns: none;
  }
}
@media (max-width: 480px) {
  .controlWrapper label {
    font-size: 1em;
    font-weight: 700;
    white-space: normal;
  }
}
@media (max-width: 400px) {
  .controlWrapper label {
    font-size: 0.9em;
  }
}
.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.buffer {
  overflow: auto;
  min-height: calc(100vh - 40px);
}

header {
  height: 75px;
}
header .branding {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}
header .logoWrap,
header .titleWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 50%;
  padding: 10px 35px;
}
header .logoWrap {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background-color: #004c97;
}
header .titleWrap {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background: rgb(0, 114, 206);
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 114, 206)), to(rgb(0, 76, 151)));
  background: linear-gradient(90deg, rgb(0, 114, 206) 0%, rgb(0, 76, 151) 100%);
}
header .logo {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
header .icon {
  color: #ffffff;
  font-size: 42px;
  padding-right: 20px;
}
header .title {
  color: #ffffff;
  font-size: 1.7em;
  line-height: 1em;
}

#membership {
  max-width: 780px;
  margin: 50px auto 110px;
}
#membership .accountPG h1 {
  text-transform: capitalize;
  text-align: center;
  margin-bottom: 5px;
}
#membership .forgotPWPG {
  text-align: center;
}
#membership .forgotPWPG .titleArea {
  padding: 0 5px;
}

.schoolBranding {
  margin-bottom: 30px;
}
.schoolBranding .schoolLogoWrap {
  width: 450px;
  margin: 0 auto 20px;
  text-align: center;
}
.schoolBranding .schoolTitleWrap {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.6em;
}
.schoolBranding .schoolTitleWrap span {
  display: block;
  font-size: 0.5em;
}
.schoolBranding .logo {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
}
.schoolBranding .title {
  line-height: 1em;
  font-weight: 400;
}

.formDescription {
  text-align: center;
  font-size: 1.15em;
}
.formDescription p {
  font-family: "Nunito", sans-serif;
  font-weight: bold;
}

.formWrap {
  border-top: 4px solid #dddddd;
  padding: 10px 0 0 0;
}
.formWrap h3 {
  text-align: center;
}
.formWrap p {
  text-align: center;
}
.formWrap form {
  max-width: 500px;
  margin: 0 auto;
  padding: 5px 0 0 0;
}
.formWrap.password .buttonHolder {
  text-align: center;
}
.formWrap .buttonHolder {
  margin-top: 20px;
  text-align: right;
  padding: 0 20px;
}
.formWrap .loginNav {
  margin-top: 10px;
  clear: both;
}
.formWrap .loginNav .back {
  display: none;
}
.formWrap .loginNav > * {
  margin: 0 2px;
}

.titleArea {
  margin-bottom: 10px;
  padding-left: 20px;
}
.titleArea h2 {
  text-align: center;
  font-size: 1.85em;
  padding-bottom: 5px;
  font-weight: bold;
}
.titleArea p {
  text-align: center;
}

.formWrap.login .loginWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.formWrap.login .newAccountWrapper,
.formWrap.login .returningWrapper {
  width: 50%;
  padding: 40px;
}
.formWrap.login .newAccountWrapper .title,
.formWrap.login .returningWrapper .title {
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 15px;
}
.formWrap.login .newAccountWrapper .title .icon,
.formWrap.login .returningWrapper .title .icon {
  font-size: 38px;
}
.formWrap.login .newAccountWrapper {
  border-right: 2px solid #dddddd;
  text-align: center;
}
.formWrap.login .newAccountWrapper a {
  text-decoration: none;
}
.formWrap.login .newAccountWrapper a:focus {
  outline: 0;
}
.formWrap.login .newAccountWrapper a:focus .text {
  outline: 2px solid #3a3939;
}
.formWrap.login .newAccountWrapper a .text {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #26d07c;
  color: #000;
  outline-offset: 0;
  text-decoration: none;
  font-size: 1.2em;
}
.formWrap.login .newAccountWrapper a .text:hover, .formWrap.login .newAccountWrapper a .text:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
.formWrap.login .newAccountWrapper a .text:focus {
  outline: 2px solid #26d07c;
}
.formWrap.login .newAccountWrapper a .text a {
  text-decoration: none;
  color: #000;
}
.formWrap.login .newAccountWrapper a .text:hover a, .formWrap.login .newAccountWrapper a .text:focus a {
  text-decoration: none;
  color: #ffffff;
}
.formWrap.login .newAccountWrapper a .icon-account {
  font-size: 3.5em;
  color: #3a3939;
  display: inline-block;
  margin-bottom: 10px;
}
.formWrap.login .newAccountWrapper a .icon-account:before {
  content: "-";
  font-family: "fugu-staff", sans-serif;
}
.formWrap.login .newAccountWrapper .title .icon {
  font-size: 48px;
}
.formWrap.login .returningWrapper {
  border-left: 2px solid #dddddd;
}
.formWrap.login .returningWrapper h3 {
  font-size: 1.5em;
}
.formWrap.login .divider {
  display: none;
}

.formWrap.userAccount .styledFieldset,
.formWrap.createAccount .styledFieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
}
.formWrap.userAccount .styledFieldset legend,
.formWrap.userAccount .styledFieldset .groupLegend,
.formWrap.createAccount .styledFieldset legend,
.formWrap.createAccount .styledFieldset .groupLegend {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 260px;
          flex: 0 0 260px;
  padding: 16px 20px 0 0;
  text-align: right;
  float: left;
  font-family: "Nunito", sans-serif;
  font-size: 1.65em;
  font-weight: bold;
  width: 30%;
}
.formWrap.userAccount .styledFieldset .fieldsetGrid,
.formWrap.createAccount .styledFieldset .fieldsetGrid {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 200px;
          flex: 1 1 200px;
  padding: 20px 0 20px 20px;
  border-left: 4px solid #dddddd;
}
.formWrap.userAccount form,
.formWrap.createAccount form {
  max-width: none !important;
}

.formWrap.password .loginNav {
  margin-left: 0;
  margin-right: 0;
}
.formWrap.password .fieldWrapper {
  max-width: 500px;
  margin-top: 20px;
}

.formWrap.reviewLogin form {
  max-width: 500px;
  margin: 25px auto;
}
.formWrap.reviewLogin label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.formWrap.reviewLogin label .desc {
  font-size: 0.8em;
  color: rgba(58, 57, 57, 0.7);
}
.formWrap.reviewLogin input[type=checkbox] ~ label,
.formWrap.reviewLogin input[type=radio] ~ label {
  padding-left: 0.35em;
}
.formWrap.reviewLogin input[type=radio] {
  position: relative;
  margin: 0 5px 0 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  .formWrap.reviewLogin input[type=radio] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1.3em;
    height: 1.3em;
    min-width: 1.3em;
    min-height: 1.3em;
  }
  .formWrap.reviewLogin input[type=radio]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: rgba(58, 57, 57, 0.3);
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  .formWrap.reviewLogin input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  .formWrap.reviewLogin input[type=radio]:checked:before {
    border-color: #0072ce;
    background-color: #0072ce;
  }
  .formWrap.reviewLogin input[type=radio]:checked:after {
    opacity: 1;
    background-color: white;
    width: 45%;
    height: 45%;
  }
  .formWrap.reviewLogin input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  .formWrap.reviewLogin input[type=radio][disabled]:before {
    background-color: #f9f9f9;
  }
}
.formWrap.reviewLogin .buttonHolder {
  text-align: center;
}
.formWrap.reviewLogin .buttonHolder button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 320px;
  margin: 0 auto 5px;
  text-align: center;
}
.formWrap.reviewLogin .buttonHolder button[value=login] {
  font-size: 1.2em;
}
.formWrap.reviewLogin .buttonHolder button[value=reset] {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #aa182c;
  color: #ffffff;
  outline-offset: 0;
  text-decoration: none;
  font-size: 0.9em;
}
.formWrap.reviewLogin .buttonHolder button[value=reset]:hover, .formWrap.reviewLogin .buttonHolder button[value=reset]:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
.formWrap.reviewLogin .buttonHolder button[value=reset]:focus {
  outline: 2px solid #aa182c;
}
.formWrap.reviewLogin .buttonHolder button[value=reset] a {
  text-decoration: none;
  color: #ffffff;
}
.formWrap.reviewLogin .buttonHolder button[value=reset]:hover a, .formWrap.reviewLogin .buttonHolder button[value=reset]:focus a {
  text-decoration: none;
  color: #ffffff;
}
.formWrap.reviewLogin .buttonHolder button[value=complete] {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #26d07c;
  color: #000;
  outline-offset: 0;
  text-decoration: none;
  font-size: 0.9em;
}
.formWrap.reviewLogin .buttonHolder button[value=complete]:hover, .formWrap.reviewLogin .buttonHolder button[value=complete]:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
.formWrap.reviewLogin .buttonHolder button[value=complete]:focus {
  outline: 2px solid #26d07c;
}
.formWrap.reviewLogin .buttonHolder button[value=complete] a {
  text-decoration: none;
  color: #000;
}
.formWrap.reviewLogin .buttonHolder button[value=complete]:hover a, .formWrap.reviewLogin .buttonHolder button[value=complete]:focus a {
  text-decoration: none;
  color: #ffffff;
}

.formWrap.twoFactor {
  text-align: center;
}
.formWrap.twoFactor .singleFieldSubmission {
  margin-bottom: 25px;
}
.formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  max-width: 250px;
}
.formWrap.twoFactor #TFAButtonApp {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6em 1.5em 0.6em;
  border: 0 solid #ffffff;
  border-radius: 2em;
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  text-transform: uppercase;
  background: #0072ce;
  color: #ffffff;
  outline-offset: 0;
  text-decoration: none;
  padding: 0.45em 0.6em;
  margin-bottom: 20px;
}
.formWrap.twoFactor #TFAButtonApp:hover, .formWrap.twoFactor #TFAButtonApp:focus {
  text-decoration: none;
  background: #3a3939;
  color: #ffffff;
  cursor: pointer;
}
.formWrap.twoFactor #TFAButtonApp:focus {
  outline: 2px solid #0072ce;
}
.formWrap.twoFactor #TFAButtonApp a {
  text-decoration: none;
  color: #ffffff;
}
.formWrap.twoFactor #TFAButtonApp:hover a, .formWrap.twoFactor #TFAButtonApp:focus a {
  text-decoration: none;
  color: #ffffff;
}
.formWrap.twoFactor #TFAButtonEmail,
.formWrap.twoFactor #OTPButton {
  border: 0;
  background: none;
  padding: 0 0 2px;
  margin-top: 15px;
  border-bottom: 1px solid #0072ce;
  color: #0072ce;
  background-color: white;
  cursor: pointer;
}
.formWrap.twoFactor #TFAButtonEmail[data-wait-a-few=true],
.formWrap.twoFactor #OTPButton[data-wait-a-few=true] {
  opacity: 0.6;
  cursor: not-allowed;
}

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 10px 0 0;
  font-family: "Nunito", sans-serif;
  font-size: 1.1em;
  color: #ffffff;
  text-align: center;
  background-color: #004c97;
}
footer span {
  padding: 0 5px;
  display: inline-block;
}
footer .adgLink {
  background: #3a3939;
  color: #ffffff;
  text-align: center;
  margin: 7px 0 0;
  padding: 0 15px 3px;
}
footer .adgLink a {
  color: #ffffff;
  background: none;
  padding: 5px;
  display: inline-block;
}
footer .adgLink a:hover {
  text-decoration: none;
}
footer .adgLink a:focus {
  text-decoration: none;
  outline-color: #ffffff;
}

.error,
.loginError {
  color: #e5435a;
  font-weight: bold;
  font-weight: 600;
  font-size: 0.85em;
  display: block;
  padding: 4px 5px 5px 8px;
  background: black;
  color: white;
  text-align: left;
  margin-top: -5px;
  position: relative;
}
.error.validation-summary-errors,
.loginError.validation-summary-errors {
  background: transparent;
  padding: 0;
  margin-top: 0;
}
.error.validation-summary-errors:before,
.loginError.validation-summary-errors:before {
  display: none;
}
.error.validation-summary-errors ul,
.loginError.validation-summary-errors ul {
  margin: 0 0 10px;
  padding: 0 15px;
}
.error.validation-summary-errors li,
.loginError.validation-summary-errors li {
  list-style: none;
  padding: 4px 5px 5px 8px;
  background: black;
  color: white;
  text-align: left;
  position: relative;
}

.field-validation-error {
  list-style: none;
  padding: 4px 5px 5px 8px;
  background: #e5435a;
  color: white;
  text-align: left;
  position: relative;
  font-size: 0.85em;
  display: block;
  margin-top: 2px;
  height: auto;
}

.profileErrorWrap {
  text-align: center;
}
.profileErrorWrap .errorMessage {
  background-color: #aa182c;
  color: white;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px;
}

@media (max-width: 1050px) {
  .schoolBranding .schoolLogoWrap {
    width: 320px;
  }
}
@media (max-width: 800px) {
  header .title {
    font-size: 1.5em;
  }
  .schoolBranding .schoolLogoWrap {
    width: 280px;
  }
  #membership {
    margin-top: 30px;
  }
}
@media (max-width: 800px) and (min-width: 481px) {
  .formWrap .loginNav {
    margin-left: 20px;
  }
}
@media (max-width: 800px) {
  .formWrap.userAccount .styledFieldset .fieldsetGrid,
  .formWrap.createAccount .styledFieldset .fieldsetGrid {
    padding: 20px;
  }
  .formWrap.password .newAccountWrapper,
  .formWrap.password .returningWrapper {
    padding: 0 20px;
  }
}
@media (max-width: 600px) {
  header .logoWrap {
    width: 30%;
    padding: 10px 12px;
  }
  header .titleWrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 70%;
    padding: 10px 12px;
  }
  header .icon {
    padding-right: 10px;
  }
  .formWrap {
    padding: 20px;
  }
  .formWrap .buttonHolder {
    text-align: center;
  }
  .formWrap.login .newAccountWrapper,
  .formWrap.login .returningWrapper {
    padding: 30px 20px;
  }
  .formWrap.userAccount .styledFieldset legend,
  .formWrap.userAccount .styledFieldset .groupLegend,
  .formWrap.createAccount .styledFieldset legend,
  .formWrap.createAccount .styledFieldset .groupLegend {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 140px;
            flex: 0 0 140px;
  }
  .formWrap.login .loginWrapper {
    display: block;
  }
  .formWrap.login .newAccountWrapper,
  .formWrap.login .returningWrapper {
    width: 100%;
    border: 0;
  }
  .formWrap.login .newAccountWrapper {
    padding-top: 0;
    padding-bottom: 10px;
  }
  .formWrap.login .newAccountWrapper a {
    display: block;
  }
  .formWrap.login .newAccountWrapper a .icon {
    display: block;
    margin: 0 auto 10px;
  }
  .formWrap.userAccount .styledFieldset,
  .formWrap.createAccount .styledFieldset {
    display: block;
  }
  .formWrap.userAccount .styledFieldset legend,
  .formWrap.userAccount .styledFieldset .groupLegend,
  .formWrap.createAccount .styledFieldset legend,
  .formWrap.createAccount .styledFieldset .groupLegend {
    padding: 10px 20px;
    text-align: left;
  }
  .formWrap.userAccount .styledFieldset .fieldsetGrid,
  .formWrap.createAccount .styledFieldset .fieldsetGrid {
    padding: 5px 20px;
    border: 0;
    clear: both;
  }
  .formWrap.userAccount legend,
  .formWrap.userAccount .groupLegend, .formWrap.password legend,
  .formWrap.password .groupLegend, .formWrap.createAccount legend,
  .formWrap.createAccount .groupLegend {
    width: 100% !important;
  }
  .formWrap.userAccount .loginNav, .formWrap.password .loginNav, .formWrap.createAccount .loginNav {
    margin: 20px 20px 20px;
  }
  .formWrap button:not(.showHide) {
    width: 100%;
    margin: 0 auto 10px;
    display: block;
  }
  .formWrap .loginNav {
    margin: 20px 20px 20px;
    padding-bottom: 30px;
    text-align: center;
  }
}
@media (max-width: 480px) {
  header .logoWrap {
    width: 35%;
    padding: 10px 12px;
  }
  header .titleWrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 65%;
    padding: 10px 12px;
  }
  header .title {
    font-size: 1.25em;
    padding-bottom: 2px;
  }
  header .icon {
    padding-right: 10px;
    font-size: 32px;
  }
  .schoolBranding .title {
    font-size: 1.3em;
  }
  footer {
    font-size: 1em;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3MvX2dsb2JhbE1peGlucy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9zdGFmZi9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9TYXNzL3N0YWZmL21haW5TdHlsZXMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3Mvc3RhZmYvX3ZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9zdGFmZi9fbWl4aW5zLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL3N0YWZmL19kaWFsb2cuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3Mvc3RhZmYvX2Zvcm1zLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL3N0YWZmL21haW5TdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxzQkFBQTtBQXVCQSxtQkFBQTtBQW1DQSxvQkFBQTtBQTBEQSxnQkFBQTtBQXFCQSxjQUFBO0FBWUEsc0JBQUE7QUFzSkEsVUFBQTtBQTRmQSx3QkFBQTtBQ3R5QkE7OztFQUdFLDhCQUFBO1VBQUEsc0JBQUE7QUNLRjs7QURBRTtFQUVFLDhCQUFBO0VBQ0EsMEJBQUE7QUNFSjs7QURFQTtFQUNFLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0VENllBLGdDQUFBO0VBRUUscUJBQUE7QUU1WUo7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QTtFTDh4Q047RUs3eENNO0lBQ0UsY0FBQTtJQUNBLG1CQUFBO0VMK3hDUjtFS3Z4Q0U7O0lBQ0UsY0FBQTtFTDB4Q0o7RUt4eENJOzs7O0lBRUUsa0JBQUE7SUFDQSxnQkFBQTtFTDR4Q047RUt6eENJOztJQUNFLGlCQUFBO0lBQ0EsU0FBQTtJQUNBLFdBQUE7RUw0eENOO0VLbnhDSTs7OztJQUVFLHNCQUFBO0VMdXhDTjtFS3B4Q0k7SUFDRSxzQkFBQTtFTHN4Q047RUtseENFO0lBQ0UsV0FBQTtJQUNBLG1CQUFBO0lBQ0EsY0FBQTtFTG94Q0o7RUtqeENFO0lBQ0Usc0JBQUE7SUFDQSxvQkFBQTtJQUNBLGtCQUFBO0VMbXhDSjtBQUNGO0FLL3dDQTtFQUVJO0lBQ0UsVUFBQTtJQUNBLGtCQUFBO0VMZ3hDSjtFSzd3Q0U7SUFDRSx3QkFBQTtRQUFBLHFCQUFBO1lBQUEsdUJBQUE7SUFDQSxVQUFBO0lBQ0Esa0JBQUE7RUwrd0NKO0VLNXdDRTtJQUNFLGlCQUFBO0lBQ0EsbUJBQUE7RUw4d0NKO0VLM3dDRTtJQUNFLG1CQUFBO0lBQ0EsZUFBQTtFTDZ3Q0o7RUt4d0NFO0lBQ0UsZ0JBQUE7RUwwd0NKO0VLdHdDQTtJQUNFLGNBQUE7RUx3d0NGO0FBQ0YiLCJmaWxlIjoibWFpblN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwic2FzczptZXRhXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXHJcblxyXG4vLy8gQ3JlYXRlIGEgdGV4dC1zaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFsxcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjc1KV1cclxuQG1peGluIHRleHRTaGFkb3coJHg6IDBweCwgJHk6IDFweCwgJGJsdXI6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpKSB7XHJcbiAgdGV4dC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuLy8vIFNldCBpY29uIGZvbnQgYW5kIG5vcm1hbGl6ZSBhbGwgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJGZvbnQgWyRpY29uRm9udF1cclxuQG1peGluIGljb25Gb250KCRmb250OiAkaWNvbkZvbnQpIHtcclxuICBmb250LWZhbWlseTogJGZvbnQgIWltcG9ydGFudDtcclxuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8qLS0tQkFDS0dST1VORC0tLSovXHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kIHRvIGNvdmVyIHdpdGggNTAlIDUwJSBwb3NpdGlvbi5cclxuQG1peGluIGJhY2tncm91bmRDb3ZlciB7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuXHJcbi8vLyBTZXRzIGhlaWdodCBhbmQgd2lkdGggdG8gMTAwJS5cclxuQG1peGluIGZpbGxTcGFjZSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzJweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHNwcmVhZCBbMnB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC4yKV1cclxuQG1peGluIGJveFNoYWRvdygkeDogMHB4LCAkeTogMHB4LCAkYmx1cjogMnB4LCAkc3ByZWFkOiAycHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XHJcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJHNwcmVhZCAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGUgYSBib3ggc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbM3B4XVxyXG4vLy8gQHBhcmFtIHsqfSAkc3ByZWFkIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxyXG5AbWl4aW4gc2hhZG93LWluc2V0KCR4OiAwcHgsICR5OiAxcHgsICRibHVyOiAzcHgsICRzcHJlYWQ6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikpIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAkeCAkeSAkYmx1ciAkc3ByZWFkICRjb2xvcjtcclxufVxyXG5cclxuLyotLS1QT1NJVElPTklORy0tLSovXHJcblxyXG4vLy8gU2V0cyBlbGVtZW50IHRvIHBvc2l0aW9uIGFic29sdXRlIHRvIHdpdGggdG9wOiAwIGFuZCBsZWZ0OiAwO1xyXG5AbWl4aW4gYWJzb2x1dGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBmaXhlZCB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcclxuQG1peGluIGZpeGVkIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgcG9zaXRpb24gcHJvcGVydGllcyAodG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0KS5cclxuLy8vIEBwYXJhbSB7Kn0gJHBvcyBbcmVsYXRpdmVdIC0gU2V0cyB0aGUgcG9zaXRpb24gcHJvcGVydHkuXHJcbkBtaXhpbiByZXNldFBvcygkcG9zOiByZWxhdGl2ZSkge1xyXG4gIHBvc2l0aW9uOiAkcG9zO1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IGF1dG87XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgdG9wIHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRyYW5zIFs1MCVdIC0gUHJvcGVydHkgdHJhbnNsYXRlWSBwZXJjZW50YWdlLlxyXG5AbWl4aW4gdmVydENlbnRlcigkcGVyY2VudDogNTAlLCAkdHJhbnM6IDUwJSkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICRwZXJjZW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgbGVmdCBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0cmFucyBbNTAlXSAtIFByb3BlcnR5IHRyYW5zbGF0ZVggcGVyY2VudGFnZS5cclxuQG1peGluIGhvcnpDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogJHBlcmNlbnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gdmVydEhvcnpDZW50ZXIge1xyXG4gIEBpbmNsdWRlIHZlcnRDZW50ZXI7XHJcbiAgQGluY2x1ZGUgaG9yekNlbnRlcjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuLy8vIERvZXMgd2hhdCBpdCBzYXlzIG9uIHRoZSB0aW4uIFNldHMgbWFyZ2luIGFuZCBwYWRkaW5nIHRvIDAuXHJcbkBtaXhpbiB6ZXJvTWFyZ1BhZCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qLS0tQ09OVEVOVC0tLSovXHJcblxyXG4vLy8gVXNlZCBpbnNpZGUgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgZWxlbWVudHMuIFNldHMgd2lkdGggYW5kIGhlaWdodCB0byAxMDAlLlxyXG5AbWl4aW4gcHNldWRvQ29udGVudCB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGFuIDo6YWZ0ZXIgZWxlbWVudCB0byBwcmV2ZW50IGZsb2F0IG92ZXJsYXAuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tTElTVFMtLS0qL1xyXG5cclxuLy8vIFJlbW92ZSBsaXN0IHN0eWxpbmcsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbkBtaXhpbiByZWZvcm1hdExpc3Qge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xyXG4vLy8gRHJhdyBhbiBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHt2YXJpYWJsZX0gJGRpciBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCB0b3BSaWdodCwgYm90dG9tUmlnaHQsIHRvcExlZnQsIGJvdHRvbUxlZnRdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0IFsyMHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbMzBweF1cclxuQG1peGluIGNzc0Fycm93KCRkaXIsICRjb2xvcjogJHByaW1hcnksICRoZWlnaHQ6IDIwcHgsICR3aWR0aDogMjBweCkge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBAaWYgJGRpciA9PSB0b3Age1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGMoI3skd2lkdGh9IC8gMikgJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSByaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpIDAgY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gYm90dG9tIHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpIDAgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gbGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpICR3aWR0aCBjYWxjKCN7JGhlaWdodH0gLyAyKSAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IHRvcFJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAkaGVpZ2h0ICR3aWR0aCAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IGJvdHRvbVJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRoZWlnaHQgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSBib3R0b21MZWZ0IHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAwIDAgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gdG9wTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlVua25vd24gZGlyZWN0aW9uICN7JGRpcn0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHJpZ2h0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplIFs4cHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdG9wIFthdXRvXVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxyXG5AbWl4aW4gdG9wQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGJvdHRvbUFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gdXNlR1BVIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxyXG4vLy8gQHBhcmFtIHsqfSAkYmdJbWcgLSBUaGUgYmFja2dyb3VuZCBpbWFnZS4gSW4gdGhlIGZvcm0gb2YgdXJsKC9pbWFnZS9teS1pbWFnZS5qcGcpLlxyXG5AbWl4aW4gdmlkZW9CRygkYmdJbWcpIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdJbWc7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKipGb3JtcyoqL1xyXG5cclxuLy8vIElucHV0IFBsYWNlaG9sZGVyIHN0eWxpbmdcclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4vLy8gQHBhcmFtIHsqfSAkc3R5bGUgW2l0YWxpY10gLSBGb250IHN0eWxlLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGJhc2ljRm9udF0gLSBGb250IGZhbWlseS5cclxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXHJcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6IGxpZ2h0ZW4oJGJhc2ljLCA3MCUpLCAkc3R5bGU6IGl0YWxpYywgJGZvbnQ6ICRiYXNpY0ZvbnQsICRzaXplOiAxZW0pIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgZm9udDoge1xyXG4gICAgICBzdHlsZTogJHN0eWxlO1xyXG4gICAgICBmYW1pbHk6ICRmb250O1xyXG4gICAgICBzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEJyZWFrcyBsb25nIHdvcmRzIGFuZCB1cmxzXHJcbi8vLyBAYXV0aG9yIEthcmwgUm9zc1xyXG5AbWl4aW4gd29yZEJyZWFrIHtcclxuICAvKiBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgdGhlIHNhbWUsIGJ1dCB1c2UgYm90aCAqL1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cclxuICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gIC8qIEluc3RlYWQgdXNlIHRoaXMgbm9uLXN0YW5kYXJkIG9uZTogKi9cclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cclxuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBzY3JlZW5SZWFkZXIoKSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuLy8gRml4ZXMgbGVnZW5kcyBvbiBvbGRlciBicm93c2VycyBhbmQgc21hbGxlciBicm93c2Vycy5cclxuQG1peGluIGxlZ2VuZEZpeCB7XHJcbiAgLy9UaGlzIGZpeGVzIGZvciByZXNwb25zaXZlXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gSUU4KyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gb2xkIHZlcnNpb25zIG9mIHNvbWUgb3RoZXIgYnJvd3NlcnMgKi9cclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIFN0eWxlIHNjcm9sbGJhcnMgd2l0aCBhbGwgYnJvd3NlciB2ZW5kb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbNXB4XSAtIFRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFsjNDQ0NDQ0XSAtIFRoZSBjb2xvciBvZiB0aGUgc2Nyb2xsIGtub2IuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkYmdDb2xvciBbI2Y1ZjVmNV0gLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkc2hhZG93IFt0cnVlXSAtIFdoZXRoZXIgdG8gZHJhdyBhIGJveCBzaGFkb3cgb24gdGhlIHNjcm9sbGJhci5cclxuQG1peGluIHNjcm9sbGJhcigkd2lkdGg6IDVweCwgJGNvbG9yOiAjNDQ0NDQ0LCAkYmdDb2xvcjogI2Y1ZjVmNSwgJHNoYWRvdzogdHJ1ZSkge1xyXG4gIC8vIE5vbnN0YW5kYXJkIHdlYmtpdCBwcm9wZXJ0aWVzLCB3b3JrcyBvbiBDaHJvbWUsIE1vZGVybiBFZGdlLCBhbmQgU2FmYXJpXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgQGlmICRzaGFkb3cge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJHdpZHRoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgcHJvcGVyLCBzdGFuZGFyZCB3YXkgdG8gc3R5bGUgc2Nyb2xsYmFycy4gU3VwcG9ydGVkIGluIEZpcmVmb3gsIEVkZ2UgMTIxKywgYW5kIENocm9tZSAxMjErXHJcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3IgJGJnQ29sb3I7XHJcbiAgQGlmICgkd2lkdGggPCAxNXB4KSB7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4SnVzdGlmeSgkZGlyOiByb3csICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XHJcbiAgLy9hbHRlcm5hdGUgd291bGQgYmUgc3BhY2UtYXJvdW5kXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIGVuZC5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4RW5kKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleFN0YXJ0KCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxyXG4vLy8gVmVyeSB1c2VmdWwgZm9yIHNvbWV0aGluZyBsaWtlIGEgbWFpbiBuYXYgdGhhdCB0cmFuc2l0aW9ucy4gQmVjYXVzZSBldmVyeXRoaW5nIGlzIGFscmVhZHkgYWJzb2x1dGUsXHJcbi8vLyB5b3UgY2FuIGVhc2lseSBtb3ZlIHNlY3Rpb25zIG91dCBhbmQgaW4gdXNpbmcgdGhlIHRvcC9sZWZ0IHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG1heC1udW0tb2YtY2hpbGRyZW4gWzddIC0gSWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBleGNlZWRzIHRoaXMgbnVtYmVyLCB0aGUgbGF5b3V0IHdpbGwgYnJlYWsuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIFt2ZXJ0aWNhbF0gLSBUaGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gRWl0aGVyIFwidmVydGljYWxcIiBvciBcImhvcml6b250YWxcIi5cclxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG1heC1udW0tb2YtY2hpbGRyZW4pICE9bnVtYmVyIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBhIG51bWJlci5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZW50YXRpb24gIT0gXCJob3Jpem9udGFsXCIgYW5kICRvcmllbnRhdGlvbiAhPSBcInZlcnRpY2FsXCIge1xyXG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcclxuICB9XHJcblxyXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcclxuICAgICRzaXplOiBtYXRoLmRpdigxMDAlLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XHJcbiAgICAkZ3V0dGVyU2l6ZU9mZnNldDogbWF0aC5kaXYoJGd1dHRlciwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG5cclxuICAgIC8vIFdlIGNhbiBkZXRlY3QgdGhlIG51bWJlciBvZiBpdGVtcyBhIHBhcmVudCBoYXMgcHVyZWx5IHdpdGggQ1NTLiBDcmF6eSwgaHVoIVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG1heC1udW0tb2YtY2hpbGRyZW59KSxcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcclxuICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FsY3VsYXRlIGFuZCBzZXQgY2hpbGQgcG9zaXRpb24uXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heC1udW0tb2YtY2hpbGRyZW4ge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICBAaWYgKCRvcmllbnRhdGlvbj09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skc2l6ZSAqICRpIC0gJHNpemV9ICsgI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXQgKiAkaX0pO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogJHNpemUgKiAkaSAtICRzaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRtYXgtbnVtLW9mLWNoaWxkcmVuOiAkbWF4LW51bS1vZi1jaGlsZHJlbiAtIDE7XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cclxuQG1peGluIGZyb3N0ZWRHbGFzcygkY29sb3I6ICRsaWdodCwgJG9wYWNpdHk6IDg1JSkge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblxyXG4gICAgQGlmICgkb3BhY2l0eSAtIDIwJSA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5IC0gMjAlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXHJcbi8vLyBzaW5jZSA5OSUgb2YgdGhlIHRpbWUgdGhhdCdzIG5vdCB3aGF0IHlvdSB3YW50LiBJbmNsdWRlcyBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4vLy8gV2UgdXNlZCB0byB1c2UgYW55LXBvaW50ZXI6IGZpbmUgYnV0IGZvciBzb21lIHJlYXNvbiB0aGF0IHdhcyBhbHdheXMgcmV0dXJuaW5nIHRydWVcclxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbkBtaXhpbiBob3ZlcigpIHtcclxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1icm93c2VyPVwiaWVcIl0gJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC5pZSAmOmhvdmVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGZvY3VzLXZpc2libGUgc3R5bGluZyB3aXRoIGZhbGxiYWNrcyBmb3Igb2xkZXIgYnJvd3NlcnMuIFJlcXVpcmVzXHJcbi8vLyBhIEpTIHBvbHlmaWxsIChXSUNHIGZvY3VzLXZpc2libGUpIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXHJcbkBtaXhpbiBmb2N1cygpIHtcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQG1peGluIGhvdmVyIGFuZCBAbWl4aW4gZm9jdXMgc3R5bGluZyBpbiBvbmUgbWl4aW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXJBbmRGb2N1cygpIHtcclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgYmFja2dyb3VuZHMhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmcgLSBUaGUgYmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0RGFyayBbZGFya10gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0TGlnaHQgW3doaXRlXSAtIFRleHQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIGJhY2tncm91bmQgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuXHJcbkBtaXhpbiBiZ1dpdGhDb250cmFzdCgkYmcsICR0ZXh0RGFyazogYmxhY2ssICR0ZXh0TGlnaHQ6IHdoaXRlKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkYmcsICR0ZXh0RGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRiZywgJHRleHRMaWdodCk7XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skYmd9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA+PSAkcmF0aW9XaXRoTGlnaHQge1xyXG4gICAgY29sb3I6ICR0ZXh0RGFyaztcclxuICB9IEBlbHNlIHtcclxuICAgIGNvbG9yOiAkdGV4dExpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgdGV4dCEgRW5zdXJlIHlvdXIgZWxlbWVudHMgYWx3YXlzIGhhdmUgcHJvcGVyIGNvbnRyYXN0IGJ5IHNldHRpbmcgYm90aCBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0Q29sb3IgLSBUaGUgdGV4dCBjb2xvciB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRiZ0RhcmsgW2RhcmtdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdMaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuQG1peGluIGNvbG9yV2l0aENvbnRyYXN0KCR0ZXh0Q29sb3IsICRiZ0Rhcms6IGJsYWNrLCAkYmdMaWdodDogd2hpdGUpIHtcclxuICBjb2xvcjogJHRleHRDb2xvcjtcclxuXHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnRGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCR0ZXh0Q29sb3IsICRiZ0xpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgJHJhdGlvV2l0aERhcmsgPj0gJHJhdGlvV2l0aExpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0Rhcms7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdMaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjb250cmFzdCBhZ2Fpbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbGlnaHQgW3doaXRlXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gJGNvbG9yIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHJldHVybiB7c3RyaW5nfSAtIExpZ2h0IG9yIGRhcmsgZGVwZW5kaW5nIG9uIHRoZSBjb2xvciBnaXZlbi5cclxuQGZ1bmN0aW9uIGNvbnRyYXN0KCRjb2xvciwgJGRhcms6IGJsYWNrLCAkbGlnaHQ6IHdoaXRlKSB7XHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkZGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGxpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICBAd2FybiBcIlRoZSBjb2xvciAjeyRjb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrID49ICRyYXRpb1dpdGhMaWdodCB7XHJcbiAgICBAcmV0dXJuICRkYXJrO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNzcyBiYXNlZCBvbiBbZGF0YS1iZy1wb3M9XCJ4IHlcIl0uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBiZ1BvcygpIHtcclxuICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYSBnaXZlbiBkaWFsb2cgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgZGlhbG9nLlxyXG4vLy8gQGNvbnRlbnQgLSBvcHRpb25hbFxyXG5AbWl4aW4gYWN0aXZlRGlhbG9nKCRpZCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cIiN7JGlkfVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhIGdpdmVuIHpvbmUgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgem9uZS5cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGFjdGl2ZVpvbmUoJGlkKSB7XHJcbiAgQGlmICYge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGFzcGVjdC1yYXRpbyB3aXRoIHN1cHBvcnQgZm9yIG9sZGVyIGJyb3dzZXJzIHVzaW5nIHBhZGRpbmctYm90dG9tIHBlcmNlbnRhZ2UgdHJpY2suXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bX0gJGggLSBUaGUgaG9yaXpvbnRhbCBhc3BlY3QgcmF0aW8gb2YgdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge251bX0gJHYgLSBUaGUgdmVydGljYWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gYXNwZWN0UmF0aW8oJGgsICR2KSB7XHJcbiAgQHN1cHBvcnRzIChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICBhc3BlY3QtcmF0aW86ICRoICN7XCIvXCJ9ICR2O1xyXG4gIH1cclxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXRoLmRpdigkdiwgJGgpICogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpc2NvdmVyeSB0b29sIGRpYWxvZ3MgYXJlIGFjdGl2ZS4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBkaXNjb3ZlcnlUb29sc0FjdGl2ZSgpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImdsb3NzYXJ5XCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwicmVzb3VyY2VzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yMSwgJGNvbG9yMikge1xyXG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xyXG4gICRsMjogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xyXG4gICRyYXRpbzogbWF0aC5kaXYoJGwxLCAkbDIpO1xyXG5cclxuICBAaWYgJGwyID4gJGwxIHtcclxuICAgICRyYXRpbzogbWF0aC5kaXYoMSwgJHJhdGlvKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gUmV0dXJucyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgIGFzIGEgZmxvYXQgKGJldHdlZW4gMCBhbmQgMSlcclxuLy8vIDEgaXMgcHVyZSB3aGl0ZSwgMCBpcyBwdXJlIGJsYWNrXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvclxyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZiBSZWZlcmVuY2VcclxuQGZ1bmN0aW9uIHdjYWctbHVtaW5hbmNlKCRjb2xvcikge1xyXG4gICRjb2xvcnM6IChcclxuICAgIFwicmVkXCI6IHJlZCgkY29sb3IpLFxyXG4gICAgXCJncmVlblwiOiBncmVlbigkY29sb3IpLFxyXG4gICAgXCJibHVlXCI6IGJsdWUoJGNvbG9yKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XHJcbiAgICAkYWRqdXN0ZWQ6IDA7XHJcbiAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSwgMjU1KTtcclxuXHJcbiAgICBAaWYgJHZhbHVlIDwgMC4wMzkyOCB7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAxMi45Mik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigoJHZhbHVlICsgMC4wNTUpLCAxLjA1NSk7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICRjb2xvcnM6IG1hcC1tZXJnZShcclxuICAgICAgJGNvbG9ycyxcclxuICAgICAgKFxyXG4gICAgICAgICRuYW1lOiAkdmFsdWVcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKG1hcC1nZXQoJGNvbG9ycywgXCJyZWRcIikgKiAwLjIxMjYpICsgKG1hcC1nZXQoJGNvbG9ycywgXCJncmVlblwiKSAqIDAuNzE1MikgKyAobWFwLWdldCgkY29sb3JzLCBcImJsdWVcIikgKiAwLjA3MjIpO1xyXG59XHJcblxyXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXHJcblxyXG4vLy8gUmVtb3ZlIGFsbCBkZWZhdWx0IHN0eWxlcyBmcm9tIGJ1dHRvbnNcclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG5AbWl4aW4gcmVzZXRCdXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdXRsaW5lOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4vLy8gQXBwbHkgc3R5bGluZyB0byBhIHBhcmVudCBiYXNlZCBvbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdG8gY2hlY2suXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvck1vcmUgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYWJvdmUgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdGlwLmNvbS9udW1iZXItZWxlbWVudHMtaGFzLXNlbGVjdG9yL1xyXG5AbWl4aW4gaGFzTnVtYmVyT2ZDaGlsZHJlbigkbnVtLCAkb3JNb3JlOiBmYWxzZSwgJG9yTGVzczogZmFsc2UpIHtcclxuICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSBhbmQgJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICBAZXJyb3IgXCJBYm92ZSBhbmQgYmVsb3cgY2Fubm90IGJvdGggYmUgdHJ1ZS5cIjtcclxuICB9XHJcbiAgQGlmICgkbnVtID09IDApIHtcclxuICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSkge1xyXG4gICAgICAmOmhhcyg+IDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscykge1xyXG4gIEBpZiBub3QodW5pdCgkcGl4ZWxzKSA9PSBcInB4XCIpIHtcclxuICAgIEBlcnJvciAnUHJvcGVydHkgI3skcGl4ZWxzfSBtdXN0IGhhdmUgYHB4YCB1bml0Lic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIG1hdGguZGl2KCRwaXhlbHMsIDE2cHgpICogMWVtO1xyXG59IiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuLy8gQm94IHNpemluZyBydWxlc1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vLyBGb2N1cyBzdHlsZXNcclxuKiB7XHJcbiAgJjpmb2N1cy12aXNpYmxlLFxyXG4gICYuZm9jdXMtdmlzaWJsZSB7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lOiA0cHggc29saWQgJHNlY29uZGFyeTtcclxuICB9XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgc2Nyb2xsLXBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG4gIEBpbmNsdWRlIHNjcm9sbGJhcjtcclxufVxyXG5cclxuLy8gSGlkZSBodG1sIHNjcm9sbGJhciB3aGVuIHRoZXJlJ3MgYW4gYWN0aXZlIGRpYWxvZy5cclxuaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PVwidHJ1ZVwiXSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC1mYW1pbHk6ICRiYXNpY0ZvbnQ7XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIE5hdHVyYWwgZmxvdyBhbmQgcmh5dGhtIGluIGFydGljbGVzIGJ5IGRlZmF1bHRcclxuYXJ0aWNsZSA+ICogKyAqIHtcclxuICBtYXJnaW4tdG9wOiAxZW07XHJcbn1cclxuXHJcbi8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xyXG5pbnB1dCxcclxuYnV0dG9uLFxyXG50ZXh0YXJlYSxcclxuc2VsZWN0IHtcclxuICBmb250OiBpbmhlcml0O1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIEBpbmNsdWRlIGJ1dHRvbjtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbjogMC4zNWVtIDAgMC43NWVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU1ZW07XHJcbn1cclxuXHJcbm9sLFxyXG51bCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBtYXJnaW46IDAuNGVtIDAgMC43NWVtO1xyXG59XHJcblxyXG5saSB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxufVxyXG5cclxuYSB7XHJcbiAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoJGFsdCk7XHJcbiAgdHJhbnNpdGlvbjogJHZlcnlGYXN0O1xyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gIH1cclxuXHJcbiAgLnRhcmdldEJsYW5rTm90aWZpZXIge1xyXG4gICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gIH1cclxufVxyXG5cclxuaW1nIHtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcbiAgKiB7XHJcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLyotLS1URVhUIEFORCBGT05ULS0tKi9cbi8qLS0tQkFDS0dST1VORC0tLSovXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cbi8qLS0tQ09OVEVOVC0tLSovXG4vKi0tLUxJU1RTLS0tKi9cbi8qLS0tQk9SREVSIEFSUk9XUy0tLSovXG4vKipGb3JtcyoqL1xuLyoqIERFRkFVTFQgT1ZFUlJJREVTICoqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKjpmb2N1cy12aXNpYmxlLCAqLmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4ICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IDRweCBzb2xpZCAjYWExODJjO1xufVxuXG5odG1sIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsLXBhZGRpbmctYm90dG9tOiA4MHB4O1xuICBzY3JvbGxiYXItY29sb3I6ICM0NDQ0NDQgI2Y1ZjVmNTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xufVxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbmh0bWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDtcbn1cblxuaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PXRydWVdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5hcnRpY2xlID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbSAwLjZlbTtcbiAgYm9yZGVyOiAwIHNvbGlkICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogIzAwNzJjZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5idXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzNhMzkzOTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMDA3MmNlO1xufVxuYnV0dG9uIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuYnV0dG9uOmhvdmVyIGEsIGJ1dHRvbjpmb2N1cyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbn1cblxucCB7XG4gIG1hcmdpbjogMC4zNWVtIDAgMC43NWVtO1xuICBsaW5lLWhlaWdodDogMS41NWVtO1xufVxuXG5vbCxcbnVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwLjRlbSAwIDAuNzVlbTtcbn1cblxubGkge1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xufVxuXG5hIHtcbiAgY29sb3I6ICMwMDRjOTc7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiAyMDBtcztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICNhYTE4MmM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIGE6aG92ZXIge1xuICBjb2xvcjogI2FhMTgyYztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uaWUgYTpob3ZlciB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbmEuZm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbmE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbmEgLnRhcmdldEJsYW5rTm90aWZpZXIge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKiB7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG53aWxsaXMtem9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5baW5lcnRdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49dHJ1ZV0pIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zbGlkZSAuZGlhbG9nQmFja2Ryb3Age1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5kaWFsb2dJbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci1jb2xvcjogIzQ0NDQ0NCAjZjVmNWY1O1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0NDQ0O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgd2lkdGg6IDU4MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci1jb2xvcjogIzQ0NDQ0NCAjZjVmNWY1O1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0NDQ0O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICB3aWR0aDogODAwcHg7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcyY2U7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nTGFiZWwge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dDb250ZW50IHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nQWN0aW9ucyB7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJMZWZ0XSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhclJpZ2h0XSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIGRpdltyb2xlPWRpYWxvZ10ge1xuICB3aWR0aDogNDQwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9Z2xhY2lhbF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD12ZXJ5U2xvd10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1zbG93XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9bWVkaXVtXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9ZmFzdF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXZlcnlGYXN0XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG4uZGlhbG9nQmFja2Ryb3AuaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuLmRpYWxvZ0JhY2tkcm9wLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5kaXZbcm9sZT1kaWFsb2ddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVRvcE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlQm90dG9tSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUJvdHRvbU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVSaWdodEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlUmlnaHRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlTGVmdE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRPdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVUb3BJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVRvcEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcEluO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIGRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVRvcEluXSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcE91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVRvcE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BPdXQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wT3V0XSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21JbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlQm90dG9tSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21PdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUJvdHRvbU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVSaWdodEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0SW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRJbl0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRPdXQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRPdXRdIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUxlZnRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0SW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVMZWZ0T3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTgsIDU3LCA1NywgMC43KTtcbn1cblxuLmRpYWxvZ0NvbnRlbnQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cbi5kaWFsb2dDb250ZW50IHVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmdWd1LXN0YWZmXCIsIHNhbnMtc2VyaWY7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG5idXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZnVndS1zdGFmZlwiLCBzYW5zLXNlcmlmO1xuICBjb250ZW50OiBcImJcIjtcbn1cblxuLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3gtc2hhZG93OiAwIDAuOHB4IDEuN3B4IHJnYmEoMCwgMCwgMCwgMC4wMTQpLCAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksIDAgMy42cHggNy44cHggcmdiYSgwLCAwLCAwLCAwLjAyNSksIDAgNi41cHggMTMuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSwgMCAyOXB4IDYycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ZW0gMS41ZW0gMC42ZW07XG4gIGJvcmRlcjogMCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6ICMwMDcyY2U7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIsIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjM2EzOTM5O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzAwNzJjZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIgYSwgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6Zm9jdXMgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiBibGFjaztcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA3MmNlO1xuICBwYWRkaW5nOiA1cHggMTBweCAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dMYWJlbCBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiAjMDA3MmNlO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gLmRpYWxvZ0lubmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc2ltcGxlRGlhbG9nIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhclJpZ2h0XSAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXVtkYXRhLWJhY2tkcm9wLWZvcj1hY2Nlc3NpYmlsaXR5UHJlZnNdIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG4gIH1cbn1cbi5maWVsZFdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHg7XG59XG4uZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogOXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMDA3MmNlO1xufVxuLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbi5maWVsZFdyYXBwZXIgdGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZGRkZGQ7XG4gIHBhZGRpbmc6IDIzcHggOHB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMzYTM5Mzk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4uZmllbGRXcmFwcGVyIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiA2cHg7XG4gIGhlaWdodDogNDJweDtcbiAgd2lkdGg6IDM0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDcyY2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZpZWxkV3JhcHBlciBidXR0b25bYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5maWVsZFdyYXBwZXIgYnV0dG9uIC5pY29uIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cbi5maWVsZFdyYXBwZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDgwMG1zIGVhc2UtaW4tb3V0LCBwYWRkaW5nIDgwMG1zIGVhc2UtaW4tb3V0LCBtYXJnaW4gODAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjZkMDdjO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCImXCI7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWExODJjO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiWFwiO1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDVweCAwIDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1pbi13aWR0aDogMWVtO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgfVxuICBpbnB1dFt0eXBlPXJhZGlvXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2EzOTM5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgaW5wdXRbdHlwZT1yYWRpb106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzJjZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MmNlO1xuICB9XG4gIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBoZWlnaHQ6IDQ1JTtcbiAgfVxuICBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5Ac3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICMzYTM5Mzk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5IElqQWdNQ0F6TVRZdU16Z2dNalV3TGpZaVBqeHdZWFJvSUdROUlrMDNNQzQwSURJeE9TNDRZelF1TlRVZ05DNDQgTnlBNUxqSXlJRGt1TmpjZ01UUXVNVElnTVRRdU1Ua2dNeTQzTlNBekxqUTNJRGN1TnpFZ05pNDROU0F4TVM0NSBNeUE1TGpjMElEVXVOU0F6TGpjNElERXhMamt5SURjdU1EZ2dNVGd1TnpnZ05pNDROU0EyTGpZMkxTNHlNeUF4IE1pNDNOeTB6TGpjeklERTNMamszTFRjdU5qSWdPQzQyTFRZdU5ESWdNVFl1TmpjdE1UVXVNVGNnTWpNdU9EUXQgTWpNdU1UUk1NekExTGpZNElEVTBMalk1WXpjdU1pMDRJREV4TGpjNUxURTRMakkxSURFd0xqUTNMVEk1TGpFMyBMVEV1TURRdE9DNDFPUzAxTGpjeExURTJMalUxTFRFekxqQXhMVEl4TGpJNUxUVXVOalV0TXk0Mk55MHhNaTR5IE5pMDBMams0TFRFNExqa3RNeTQ0TWkwNExqa2dNUzQxTmkweE5pNDFOQ0EzTGpJeUxUSXlMalE0SURFekxqYzQgTFRRNExqTTBJRFV6TGpNeUxUazJMalU1SURFd05pNDNNUzB4TkRRdU9EVWdNVFl3TGpFeGJDMHpMakU1SURNdSBOVE10TmpBdU5DMDJOaTQyTTJNdE9DNDBNaTA1TGpJNUxURTVMamN0TVRNdU9UUXRNekV1T1RJdE9TNDFOeTAwIExqY3lJREV1TmprdE9DNDVPU0EwTGpVNExURXlMalExSURndU1Ua3RNeTQ0TmlBMExqQTBMVFl1TnpnZ09TNHcgTmkwNExqRXpJREUwTGpRNUxUSXVNekVnT1M0eU55NHpJREU0TGpBM0lEWXVOaklnTWpVdU1UTnNOakl1T1RVZyBOekF1TXpWYUlpQnpkSGxzWlQwaVptbHNiQzF5ZFd4bE9tVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgfVxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MmNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcyY2U7XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDU3LCA1NywgMC4xKTtcbiAgfVxufVxuXG4uZHJvcGRvd25XcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWJlYztcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uZHJvcGRvd25XcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogOXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMDA3MmNlO1xufVxuLmRyb3Bkb3duV3JhcHBlciBzZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZGRkZGQ7XG4gIHBhZGRpbmc6IDI0cHggOHB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMzYTM5Mzk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xufVxuLmRyb3Bkb3duV3JhcHBlciBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29udHJvbFdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWJlYztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uY29udHJvbFdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmNvbnRyb2xXcmFwcGVyID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciAuY29udHJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICBmb250LXNpemU6IDEuMmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmb250LXNpemU6IDAuODRlbTtcbiAgY29sb3I6ICMzYTM5Mzk7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG5mb3JtIC5lcnJvcixcbi5mb3JtV3JhcCAuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0cHggMDtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWExODJjO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBoMiB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogIzAwNzJjZTtcbn1cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgbGFiZWxbZm9yPUVucm9sbGVlXSxcbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgbGFiZWxbZm9yPUd1ZXN0XSB7XG4gIGZvbnQtc2l6ZTogMS4zNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgaW5wdXQjRW5yb2xsZWU6Y2hlY2tlZCxcbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgaW5wdXQjR3Vlc3Q6Y2hlY2tlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGlucHV0I0Vucm9sbGVlOmNoZWNrZWQgfiBsYWJlbCxcbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgaW5wdXQjR3Vlc3Q6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTVweCA4cHggMzJweDtcbiAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGlucHV0I0Vucm9sbGVlOmNoZWNrZWQgfiAucHJvZmlsZXJGb3JtV3JhcHBlciBmb3JtLFxuLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBpbnB1dCNHdWVzdDpjaGVja2VkIH4gLnByb2ZpbGVyRm9ybVdyYXBwZXIgZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNlYmViZWM7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgaW5wdXQjRW5yb2xsZWU6Y2hlY2tlZCB+IC5wcm9maWxlckZvcm1XcmFwcGVyIGZvcm0gZmllbGRzZXQsXG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGlucHV0I0d1ZXN0OmNoZWNrZWQgfiAucHJvZmlsZXJGb3JtV3JhcHBlciBmb3JtIGZpZWxkc2V0IHtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBpbnB1dCNFbnJvbGxlZTpjaGVja2VkIH4gLnByb2ZpbGVyRm9ybVdyYXBwZXIgZm9ybSBmaWVsZHNldCBsZWdlbmQsXG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGlucHV0I0d1ZXN0OmNoZWNrZWQgfiAucHJvZmlsZXJGb3JtV3JhcHBlciBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gIGJhY2tncm91bmQ6ICMwMDcyY2U7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDhweDtcbn1cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgaW5wdXQjRW5yb2xsZWU6Y2hlY2tlZCB+IC5wcm9maWxlckZvcm1XcmFwcGVyIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIsXG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGlucHV0I0d1ZXN0OmNoZWNrZWQgfiAucHJvZmlsZXJGb3JtV3JhcHBlciAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5HdWVzdFByb2ZpbGVGb3JtLFxuLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuRW5yb2xsZWVQcm9maWxlRm9ybSB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBmb3JtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgZm9ybSNyZXNldEFjY291bnRUeXBlRm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQwcHggMCAwIDA7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGZvcm0jcmVzZXRBY2NvdW50VHlwZUZvcm0gaW5wdXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDcyY2U7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgZm9ybSNyZXNldEFjY291bnRUeXBlRm9ybSBpbnB1dDpob3ZlciB7XG4gICAgY29sb3I6ICNhYTE4MmM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGZvcm0jcmVzZXRBY2NvdW50VHlwZUZvcm0gaW5wdXQ6aG92ZXIge1xuICBjb2xvcjogI2FhMTgyYztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgZm9ybSNyZXNldEFjY291bnRUeXBlRm9ybSBpbnB1dDpob3ZlciB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGZvcm0jcmVzZXRBY2NvdW50VHlwZUZvcm0gaW5wdXQuZm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIGZvcm0jcmVzZXRBY2NvdW50VHlwZUZvcm0gaW5wdXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjYWExODJjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5zdHlsZWRGaWVsZHNldCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAuY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbn1cbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uYnVmZmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbn1cblxuaGVhZGVyIHtcbiAgaGVpZ2h0OiA3NXB4O1xufVxuaGVhZGVyIC5icmFuZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5oZWFkZXIgLmxvZ29XcmFwLFxuaGVhZGVyIC50aXRsZVdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDEwcHggMzVweDtcbn1cbmhlYWRlciAubG9nb1dyYXAge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0Yzk3O1xufVxuaGVhZGVyIC50aXRsZVdyYXAge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQ6IHJnYigwLCAxMTQsIDIwNik7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDAsIDExNCwgMjA2KSAwJSwgcmdiKDAsIDc2LCAxNTEpIDEwMCUpO1xufVxuaGVhZGVyIC5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cbmhlYWRlciAuaWNvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDQycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5oZWFkZXIgLnRpdGxlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS43ZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbiNtZW1iZXJzaGlwIHtcbiAgbWF4LXdpZHRoOiA3ODBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMTEwcHg7XG59XG4jbWVtYmVyc2hpcCAuYWNjb3VudFBHIGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcmdvdFBXUEcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9yZ290UFdQRyAudGl0bGVBcmVhIHtcbiAgcGFkZGluZzogMCA1cHg7XG59XG5cbi5zY2hvb2xCcmFuZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uc2Nob29sQnJhbmRpbmcgLnNjaG9vbExvZ29XcmFwIHtcbiAgd2lkdGg6IDQ1MHB4O1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2Nob29sQnJhbmRpbmcgLnNjaG9vbFRpdGxlV3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjZlbTtcbn1cbi5zY2hvb2xCcmFuZGluZyAuc2Nob29sVGl0bGVXcmFwIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjVlbTtcbn1cbi5zY2hvb2xCcmFuZGluZyAubG9nbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cbi5zY2hvb2xCcmFuZGluZyAudGl0bGUge1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9ybURlc2NyaXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTVlbTtcbn1cbi5mb3JtRGVzY3JpcHRpb24gcCB7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvcm1XcmFwIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNkZGRkZGQ7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDA7XG59XG4uZm9ybVdyYXAgaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZm9ybVdyYXAgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mb3JtV3JhcCBmb3JtIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDVweCAwIDAgMDtcbn1cbi5mb3JtV3JhcC5wYXNzd29yZCAuYnV0dG9uSG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvcm1XcmFwIC5idXR0b25Ib2xkZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuLmZvcm1XcmFwIC5sb2dpbk5hdiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuLmZvcm1XcmFwIC5sb2dpbk5hdiAuYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZm9ybVdyYXAgLmxvZ2luTmF2ID4gKiB7XG4gIG1hcmdpbjogMCAycHg7XG59XG5cbi50aXRsZUFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4udGl0bGVBcmVhIGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuODVlbTtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udGl0bGVBcmVhIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb3JtV3JhcC5sb2dpbiAubG9naW5XcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIsXG4uZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiA0MHB4O1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciAudGl0bGUsXG4uZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIgLnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4uZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIC50aXRsZSAuaWNvbixcbi5mb3JtV3JhcC5sb2dpbiAucmV0dXJuaW5nV3JhcHBlciAudGl0bGUgLmljb24ge1xuICBmb250LXNpemU6IDM4cHg7XG59XG4uZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2RkZGRkZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciBhOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgYTpmb2N1cyAudGV4dCB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjM2EzOTM5O1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciBhIC50ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ZW0gMS41ZW0gMC42ZW07XG4gIGJvcmRlcjogMCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6ICMyNmQwN2M7XG4gIGNvbG9yOiAjMDAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciBhIC50ZXh0OmhvdmVyLCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEgLnRleHQ6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMzYTM5Mzk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEgLnRleHQ6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzI2ZDA3Yztcbn1cbi5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgYSAudGV4dCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDtcbn1cbi5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgYSAudGV4dDpob3ZlciBhLCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEgLnRleHQ6Zm9jdXMgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEgLmljb24tYWNjb3VudCB7XG4gIGZvbnQtc2l6ZTogMy41ZW07XG4gIGNvbG9yOiAjM2EzOTM5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEgLmljb24tYWNjb3VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIi1cIjtcbiAgZm9udC1mYW1pbHk6IFwiZnVndS1zdGFmZlwiLCBzYW5zLXNlcmlmO1xufVxuLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciAudGl0bGUgLmljb24ge1xuICBmb250LXNpemU6IDQ4cHg7XG59XG4uZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNkZGRkZGQ7XG59XG4uZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIgaDMge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuLmZvcm1XcmFwLmxvZ2luIC5kaXZpZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm1XcmFwLnVzZXJBY2NvdW50IC5zdHlsZWRGaWVsZHNldCxcbi5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IC5zdHlsZWRGaWVsZHNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG59XG4uZm9ybVdyYXAudXNlckFjY291bnQgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbi5mb3JtV3JhcC51c2VyQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kLFxuLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbi5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICBmbGV4OiAwIDAgMjYwcHg7XG4gIHBhZGRpbmc6IDE2cHggMjBweCAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42NWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2lkdGg6IDMwJTtcbn1cbi5mb3JtV3JhcC51c2VyQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCxcbi5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgZmxleDogMSAxIDIwMHB4O1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNkZGRkZGQ7XG59XG4uZm9ybVdyYXAudXNlckFjY291bnQgZm9ybSxcbi5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IGZvcm0ge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvcm1XcmFwLnBhc3N3b3JkIC5sb2dpbk5hdiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uZm9ybVdyYXAucGFzc3dvcmQgLmZpZWxkV3JhcHBlciB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiBmb3JtIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiAyNXB4IGF1dG87XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiBsYWJlbCAuZGVzYyB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGNvbG9yOiByZ2JhKDU4LCA1NywgNTcsIDAuNyk7XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiBpbnB1dFt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gaW5wdXRbdHlwZT1yYWRpb10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5Ac3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgLmZvcm1XcmFwLnJldmlld0xvZ2luIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxLjNlbTtcbiAgICBoZWlnaHQ6IDEuM2VtO1xuICAgIG1pbi13aWR0aDogMS4zZW07XG4gICAgbWluLWhlaWdodDogMS4zZW07XG4gIH1cbiAgLmZvcm1XcmFwLnJldmlld0xvZ2luIGlucHV0W3R5cGU9cmFkaW9dOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNTgsIDU3LCA1NywgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gIC5mb3JtV3JhcC5yZXZpZXdMb2dpbiBpbnB1dFt0eXBlPXJhZGlvXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgfVxuICAuZm9ybVdyYXAucmV2aWV3TG9naW4gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzJjZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MmNlO1xuICB9XG4gIC5mb3JtV3JhcC5yZXZpZXdMb2dpbiBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiA0NSU7XG4gICAgaGVpZ2h0OiA0NSU7XG4gIH1cbiAgLmZvcm1XcmFwLnJldmlld0xvZ2luIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgLmZvcm1XcmFwLnJldmlld0xvZ2luIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIH1cbn1cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvcm1XcmFwLnJldmlld0xvZ2luIC5idXR0b25Ib2xkZXIgYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBtYXJnaW46IDAgYXV0byA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIGJ1dHRvblt2YWx1ZT1sb2dpbl0ge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuLmZvcm1XcmFwLnJldmlld0xvZ2luIC5idXR0b25Ib2xkZXIgYnV0dG9uW3ZhbHVlPXJlc2V0XSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtIDAuNmVtO1xuICBib3JkZXI6IDAgc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjYWExODJjO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIGJ1dHRvblt2YWx1ZT1yZXNldF06aG92ZXIsIC5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIGJ1dHRvblt2YWx1ZT1yZXNldF06Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMzYTM5Mzk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9cmVzZXRdOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICNhYTE4MmM7XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9cmVzZXRdIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmZvcm1XcmFwLnJldmlld0xvZ2luIC5idXR0b25Ib2xkZXIgYnV0dG9uW3ZhbHVlPXJlc2V0XTpob3ZlciBhLCAuZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9cmVzZXRdOmZvY3VzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmZvcm1XcmFwLnJldmlld0xvZ2luIC5idXR0b25Ib2xkZXIgYnV0dG9uW3ZhbHVlPWNvbXBsZXRlXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtIDAuNmVtO1xuICBib3JkZXI6IDAgc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjMjZkMDdjO1xuICBjb2xvcjogIzAwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIGJ1dHRvblt2YWx1ZT1jb21wbGV0ZV06aG92ZXIsIC5mb3JtV3JhcC5yZXZpZXdMb2dpbiAuYnV0dG9uSG9sZGVyIGJ1dHRvblt2YWx1ZT1jb21wbGV0ZV06Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMzYTM5Mzk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9Y29tcGxldGVdOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMyNmQwN2M7XG59XG4uZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9Y29tcGxldGVdIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmZvcm1XcmFwLnJldmlld0xvZ2luIC5idXR0b25Ib2xkZXIgYnV0dG9uW3ZhbHVlPWNvbXBsZXRlXTpob3ZlciBhLCAuZm9ybVdyYXAucmV2aWV3TG9naW4gLmJ1dHRvbkhvbGRlciBidXR0b25bdmFsdWU9Y29tcGxldGVdOmZvY3VzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZm9ybVdyYXAudHdvRmFjdG9yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiAuZmllbGRXcmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbn1cbi5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtIDAuNmVtO1xuICBib3JkZXI6IDAgc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjMDA3MmNlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMC40NWVtIDAuNmVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyLCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMzYTM5Mzk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzAwNzJjZTtcbn1cbi5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciBhLCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbCxcbi5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMCAwIDJweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDcyY2U7XG4gIGNvbG9yOiAjMDA3MmNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uRW1haWxbZGF0YS13YWl0LWEtZmV3PXRydWVdLFxuLmZvcm1XcmFwLnR3b0ZhY3RvciAjT1RQQnV0dG9uW2RhdGEtd2FpdC1hLWZldz10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMWVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0Yzk3O1xufVxuZm9vdGVyIHNwYW4ge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuZm9vdGVyIC5hZGdMaW5rIHtcbiAgYmFja2dyb3VuZDogIzNhMzkzOTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA3cHggMCAwO1xuICBwYWRkaW5nOiAwIDE1cHggM3B4O1xufVxuZm9vdGVyIC5hZGdMaW5rIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5mb290ZXIgLmFkZ0xpbmsgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmZvb3RlciAuYWRnTGluayBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZXJyb3IsXG4ubG9naW5FcnJvciB7XG4gIGNvbG9yOiAjZTU0MzVhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggNXB4IDVweCA4cHg7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5lcnJvci52YWxpZGF0aW9uLXN1bW1hcnktZXJyb3JzLFxuLmxvZ2luRXJyb3IudmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmVycm9yLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnM6YmVmb3JlLFxuLmxvZ2luRXJyb3IudmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9yczpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVycm9yLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgdWwsXG4ubG9naW5FcnJvci52YWxpZGF0aW9uLXN1bW1hcnktZXJyb3JzIHVsIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuLmVycm9yLnZhbGlkYXRpb24tc3VtbWFyeS1lcnJvcnMgbGksXG4ubG9naW5FcnJvci52YWxpZGF0aW9uLXN1bW1hcnktZXJyb3JzIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogNHB4IDVweCA1cHggOHB4O1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogNHB4IDVweCA1cHggOHB4O1xuICBiYWNrZ3JvdW5kOiAjZTU0MzVhO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnByb2ZpbGVFcnJvcldyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucHJvZmlsZUVycm9yV3JhcCAuZXJyb3JNZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhMTgyYztcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA1MHB4KSB7XG4gIC5zY2hvb2xCcmFuZGluZyAuc2Nob29sTG9nb1dyYXAge1xuICAgIHdpZHRoOiAzMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIGhlYWRlciAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbiAgLnNjaG9vbEJyYW5kaW5nIC5zY2hvb2xMb2dvV3JhcCB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAuZm9ybVdyYXAgLmxvZ2luTmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbiAgLmZvcm1XcmFwLnBhc3N3b3JkIC5uZXdBY2NvdW50V3JhcHBlcixcbiAgLmZvcm1XcmFwLnBhc3N3b3JkIC5yZXR1cm5pbmdXcmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICBoZWFkZXIgLmxvZ29XcmFwIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgfVxuICBoZWFkZXIgLnRpdGxlV3JhcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIH1cbiAgaGVhZGVyIC5pY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5mb3JtV3JhcCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAuZm9ybVdyYXAgLmJ1dHRvbkhvbGRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIsXG4gIC5mb3JtV3JhcC5sb2dpbiAucmV0dXJuaW5nV3JhcHBlciB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuICB9XG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxuICAuZm9ybVdyYXAudXNlckFjY291bnQgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgZmxleDogMCAwIDE0MHB4O1xuICB9XG4gIC5mb3JtV3JhcC5sb2dpbiAubG9naW5XcmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyLFxuICAuZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuICAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgYSAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgfVxuICAuZm9ybVdyYXAudXNlckFjY291bnQgLnN0eWxlZEZpZWxkc2V0LFxuICAuZm9ybVdyYXAuY3JlYXRlQWNjb3VudCAuc3R5bGVkRmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxuICAuZm9ybVdyYXAudXNlckFjY291bnQgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmZvcm1XcmFwLnVzZXJBY2NvdW50IC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAuZm9ybVdyYXAuY3JlYXRlQWNjb3VudCAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCB7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCBsZWdlbmQsXG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCAuZ3JvdXBMZWdlbmQsIC5mb3JtV3JhcC5wYXNzd29yZCBsZWdlbmQsXG4gIC5mb3JtV3JhcC5wYXNzd29yZCAuZ3JvdXBMZWdlbmQsIC5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IGxlZ2VuZCxcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQgLmdyb3VwTGVnZW5kIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCAubG9naW5OYXYsIC5mb3JtV3JhcC5wYXNzd29yZCAubG9naW5OYXYsIC5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IC5sb2dpbk5hdiB7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMjBweDtcbiAgfVxuICAuZm9ybVdyYXAgYnV0dG9uOm5vdCguc2hvd0hpZGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5mb3JtV3JhcCAubG9naW5OYXYge1xuICAgIG1hcmdpbjogMjBweCAyMHB4IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgaGVhZGVyIC5sb2dvV3JhcCB7XG4gICAgd2lkdGg6IDM1JTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIH1cbiAgaGVhZGVyIC50aXRsZVdyYXAge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA2NSU7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICB9XG4gIGhlYWRlciAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIH1cbiAgaGVhZGVyIC5pY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxuICAuc2Nob29sQnJhbmRpbmcgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICB9XG4gIGZvb3RlciB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn0iLCIvL0Bmb3J3YXJkIFwiLi4vZ2xvYmFsVmFyaWFibGVzLnNjc3NcIjtcclxuXHJcbiRwcmltYXJ5OiAjMDA3MmNlOyAvL0hpZ2hlciBFZCBCbHVlXHJcbiRzZWNvbmRhcnk6ICNhYTE4MmM7IC8vUmVkXHJcbiRhY2NlbnQ6ICMyNmQwN2M7IC8vR3JlZW5cclxuJGFsdDogIzAwNGM5NzsgLy8gQ29ycG9yYXRlIEJsdWVcclxuJGJhc2ljOiAjM2EzOTM5OyAvLyBDaGFyY29hbFxyXG5cclxuJGxpZ2h0OiAjZmZmZmZmOyAvLyBXaGl0ZVxyXG4kbGlnaHRHcmV5OiAjZWJlYmVjOyAvLyBMaWdodCBHcmV5XHJcbiRncmV5OiAjZGRkZGRkOyAvLyBHcmV5XHJcbiRncmV5MjogI2VkZjJmODsgLy8gQ29vbCBHcmV5XHJcblxyXG4kd3Jvbmc6ICRzZWNvbmRhcnk7XHJcblxyXG4kcHJpbWFyeUZvbnQ6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XHJcbiRiYXNpY0ZvbnQ6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XHJcbiRpY29uRm9udDogXCJmdWd1LXN0YWZmXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vL1dpZHRoc1xyXG4kdGlueTogNDAwcHg7XHJcbiR4eHM6IDQ4MHB4O1xyXG4keHM6IDYwMHB4O1xyXG4kc206IDgwMHB4O1xyXG4kbWQ6IDEwNTBweDtcclxuJGxnOiAxMjgwcHg7XHJcbiR4bDogMTUwMHB4O1xyXG5cclxuLy8gQW5pbWF0aW9uIFNwZWVkcyAtIHRoZXNlIGFsc28gbmVlZCB0byBiZSBjaGFuZ2VkIGluIGFuaW1hdGlvbi50cyBpZiBtb2RpZmllZFxyXG4kdmVyeUZhc3Q6IDIwMG1zO1xyXG4kZmFzdDogMzAwbXM7XHJcbiRtZWRpdW06IDUwMG1zO1xyXG4kc2xvdzogODAwbXM7XHJcbiR2ZXJ5U2xvdzogMTAwMG1zO1xyXG4kZ2xhY2lhbDogMzAwMG1zO1xyXG5cclxuJHNoYWRvdzpcclxuICAwIDAuOHB4IDEuN3B4IHJnYmEoMCwgMCwgMCwgMC4wMTQpLFxyXG4gIDAgMS45cHggNC4xcHggcmdiYSgwLCAwLCAwLCAwLjAyKSxcclxuICAwIDMuNnB4IDcuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMjUpLFxyXG4gIDAgNi41cHggMTMuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksXHJcbiAgMCAxMi4xcHggMjUuOXB4IHJnYmEoMCwgMCwgMCwgMC4wMzYpLFxyXG4gIDAgMjlweCA2MnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiRyYWRpdXM6IDEwcHg7XHJcbiIsIkBmb3J3YXJkIFwiLi4vZ2xvYmFsTWl4aW5zXCI7XHJcbkB1c2UgXCIuLi9nbG9iYWxNaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuQG1peGluIGNoZWNrYm94KCRzaXplOiAxZW0sICRib3JkZXJDb2xvcjogJGJhc2ljLCAkc2VsZWN0ZWRDb2xvcjogJHByaW1hcnkpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgbWluLXdpZHRoOiAkc2l6ZTtcclxuICAgIG1pbi1oZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG5cclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50XHJcbiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5IElqQWdNQ0F6TVRZdU16Z2dNalV3TGpZaVBqeHdZWFJvSUdROUlrMDNNQzQwSURJeE9TNDRZelF1TlRVZ05DNDQgTnlBNUxqSXlJRGt1TmpjZ01UUXVNVElnTVRRdU1Ua2dNeTQzTlNBekxqUTNJRGN1TnpFZ05pNDROU0F4TVM0NSBNeUE1TGpjMElEVXVOU0F6TGpjNElERXhMamt5SURjdU1EZ2dNVGd1TnpnZ05pNDROU0EyTGpZMkxTNHlNeUF4IE1pNDNOeTB6TGpjeklERTNMamszTFRjdU5qSWdPQzQyTFRZdU5ESWdNVFl1TmpjdE1UVXVNVGNnTWpNdU9EUXQgTWpNdU1UUk1NekExTGpZNElEVTBMalk1WXpjdU1pMDRJREV4TGpjNUxURTRMakkxSURFd0xqUTNMVEk1TGpFMyBMVEV1TURRdE9DNDFPUzAxTGpjeExURTJMalUxTFRFekxqQXhMVEl4TGpJNUxUVXVOalV0TXk0Mk55MHhNaTR5IE5pMDBMams0TFRFNExqa3RNeTQ0TWkwNExqa2dNUzQxTmkweE5pNDFOQ0EzTGpJeUxUSXlMalE0SURFekxqYzQgTFRRNExqTTBJRFV6TGpNeUxUazJMalU1SURFd05pNDNNUzB4TkRRdU9EVWdNVFl3TGpFeGJDMHpMakU1SURNdSBOVE10TmpBdU5DMDJOaTQyTTJNdE9DNDBNaTA1TGpJNUxURTVMamN0TVRNdU9UUXRNekV1T1RJdE9TNDFOeTAwIExqY3lJREV1TmprdE9DNDVPU0EwTGpVNExURXlMalExSURndU1Ua3RNeTQ0TmlBMExqQTBMVFl1TnpnZ09TNHcgTmkwNExqRXpJREUwTGpRNUxUSXVNekVnT1M0eU55NHpJREU0TGpBM0lEWXVOaklnTWpVdU1UTnNOakl1T1RVZyBOekF1TXpWYUlpQnpkSGxzWlQwaVptbHNiQzF5ZFd4bE9tVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiKVxyXG4gICAgICAgIG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIEBpZiAoY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpID09IHdoaXRlKSB7XHJcbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhc2ljLCAwLjEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmFkaW8oJHNpemU6IDFlbSwgJHNlbGVjdGVkQ29sb3I6ICRwcmltYXJ5LCAkYm9yZGVyQ29sb3I6ICRiYXNpYywgJHNlbGVjdGVkQm9yZGVyOiAkc2VsZWN0ZWRDb2xvcikge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgIG1pbi13aWR0aDogJHNpemU7XHJcbiAgICBtaW4taGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyQ29sb3I7XHJcblxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcblxyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG5cclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb250cmFzdCgkc2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgKiAwLjQ1O1xyXG4gICAgICAgIGhlaWdodDogMTAwJSAqIDAuNDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNpYywgNzUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbigkY29sb3I6ICRwcmltYXJ5LCAkaG92ZXJDb2xvcjogJGJhc2ljKSB7XHJcbiAgJHRleHRDb2xvcjogJGxpZ2h0O1xyXG4gICRob3ZlclRleHRDb2xvcjogJGxpZ2h0O1xyXG5cclxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gNDgpIHtcclxuICAgICR0ZXh0Q29sb3I6ICMwMDA7XHJcbiAgfVxyXG5cclxuICBAaWYgKGxpZ2h0bmVzcygkaG92ZXJDb2xvcikgPiA0OCkge1xyXG4gICAgJGhvdmVyVGV4dENvbG9yOiAjMDAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC42ZW0gMS41ZW0gMC42ZW07XHJcbiAgYm9yZGVyOiAwIHNvbGlkICRsaWdodDtcclxuICBib3JkZXItcmFkaXVzOiAyZW07XHJcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDEuMWVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICRob3ZlckNvbG9yO1xyXG4gICAgY29sb3I6ICRob3ZlclRleHRDb2xvcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRjb2xvcjtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIGEsXHJcbiAgJjpmb2N1cyBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAkaG92ZXJUZXh0Q29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbndpbGxpcy16b25lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuW2luZXJ0XSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj1cInRydWVcIl0pIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgLnNsaWRlICYge1xyXG4gICAgaGVpZ2h0OiAxMDAlOyAvL0FwcGxpZWQgdGhpcyBiZWNhdXNlIG9mIGlzc3VlcyByZXNwb25zaXZsZXkgd2l0aCBkaWFsb2dzIHdpdGhpbiB0aGUgc2xpZGVzIGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLiBJZiBpdCBtZXNzZXMgdGhpbmdzIHVwLCB3ZSBjYW4gcmVtb3ZlLiAtIEtTXHJcbiAgfVxyXG59XHJcblxyXG4uZGlhbG9nSW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmRpYWxvZ0xhYmVsIGgyIHtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIEBpbmNsdWRlIHNjcm9sbGJhcjtcclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDU4MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBAaW5jbHVkZSBzY3JvbGxiYXI7XHJcblxyXG4gIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIHdpZHRoOiA4MDBweDtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuXHJcbiAgICAuZGlhbG9nTGFiZWwge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWFsb2dDb250ZW50IHtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlhbG9nQWN0aW9ucyB7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIH1cclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDQ0MHB4O1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlXj1cImZ1bGxcIl0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICBbZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJnbGFjaWFsXCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRnbGFjaWFsO1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwidmVyeVNsb3dcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlTbG93O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwic2xvd1wiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc2xvdztcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cIm1lZGl1bVwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkbWVkaXVtO1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwiZmFzdFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZmFzdDtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInZlcnlGYXN0XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5RmFzdDtcclxufVxyXG5cclxuLmRpYWxvZ0JhY2tkcm9wIHtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlGYXN0O1xyXG5cclxuICAmLmluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbiAgfVxyXG5cclxuICAmLm91dCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICB9XHJcbn1cclxuXHJcbmRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUJvdHRvbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21PdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZVJpZ2h0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUxlZnRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlTGVmdEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcEluO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVRvcE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wT3V0O1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodEluO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRPdXQ7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVMZWZ0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUxlZnRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0T3V0O1xyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVNcclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgkYmFzaWMsIDAuNyk7XHJcbn1cclxuXHJcbi5kaWFsb2dDb250ZW50IHtcclxuICBtYXJnaW46IDEwcHggMDtcclxuXHJcbiAgdWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dBY3Rpb25zLmdlbmVyYXRlZCB7XHJcbiAgYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbkZvbnQ7XHJcbiAgICAgIGNvbnRlbnQ6IFwiYlwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAuaWNvbjpiZWZvcmUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRpY29uRm9udDtcclxuICAgIGNvbnRlbnQ6IFwiYlwiO1xyXG4gIH1cclxufVxyXG5cclxuLmRpYWxvZ0xhYmVsIGgyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodCk7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICAuc2FmYXJpICYge1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xyXG4gIH1cclxuXHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0KTtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dMYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRyYWRpdXMgJHJhZGl1cztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzICRyYWRpdXMgMDtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDAgJHJhZGl1cztcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZV49XCJmdWxsXCJdIHtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5zaW1wbGVEaWFsb2cge1xyXG4gIC8vQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0KTtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhclJpZ2h0XCJdIC5kaWFsb2dJbm5lciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0gZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgICAmW2RhdGEtYmFja2Ryb3AtZm9yPVwiYWNjZXNzaWJpbGl0eVByZWZzXCJdIHtcclxuICAgICAgLnNhZmFyaSAmIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuLmZpZWxkV3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuXHJcbiAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pLFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmV5O1xyXG4gICAgcGFkZGluZzogMjNweCA4cHggNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodDtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIHJpZ2h0OiA2cHg7XHJcbiAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICB3aWR0aDogMzRweDtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgLmljb246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMge1xyXG4gICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gIH1cclxuICAjcmVxdWlyZW1lbnRzIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHRHcmV5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgIG1heC1oZWlnaHQgJHNsb3cgZWFzZS1pbi1vdXQsXHJcbiAgICAgIHBhZGRpbmcgJHNsb3cgZWFzZS1pbi1vdXQsXHJcbiAgICAgIG1hcmdpbiAkc2xvdyBlYXNlLWluLW91dDtcclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgICAmLnZhbGlkIHtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiJlwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHNlY29uZGFyeSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiWFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIEBpbmNsdWRlIHJhZGlvO1xyXG59XHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgQGluY2x1ZGUgY2hlY2tib3g7XHJcbn1cclxuXHJcbi5kcm9wZG93bldyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodEdyZXk7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogOXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0IHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmV5O1xyXG4gICAgcGFkZGluZzogMjRweCA4cHggNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodDtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xyXG5cclxuICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyb2xXcmFwcGVyIHtcclxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0R3JleTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vVGhlc2Ugc3R5bGUgaXMganVzdCB1c2VkIGZvciB0aGUgSG9uZXlwb3QgZmVhdHVyZS4gVGhlc2Ugc3R5bGVzIGtlZXAgdGhlIGZpZWxkIGZyb20gYmVpbmcgc2VlbiBieSBodW1hbnMgYW5kIHRoZXkgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIG9yIHJlbW92ZWQuXHJcbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuZm9ybSxcclxuLmZvcm1XcmFwIHtcclxuICAuZXJyb3Ige1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDRweCAwO1xyXG4gICAgcGFkZGluZzogMnB4IDRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCR3cm9uZyk7XHJcbiAgfVxyXG59XHJcbi8vUHJvZmlsZSBTZWxlY3Rpb24gU3R5bGVzIGZvciBTdGFmZlxyXG4uZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIHtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGgyIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XHJcbiAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgfVxyXG4gIGxhYmVsW2Zvcj1cIkVucm9sbGVlXCJdLFxyXG4gIGxhYmVsW2Zvcj1cIkd1ZXN0XCJdIHtcclxuICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgfVxyXG4gIGlucHV0I0Vucm9sbGVlLFxyXG4gIGlucHV0I0d1ZXN0IHtcclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIH4gbGFiZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4IDhweCAzMnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgICAmIH4gLnByb2ZpbGVyRm9ybVdyYXBwZXIge1xyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcclxuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgICAgICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGxhYmVsW2Zvcj1cIkd1ZXN0XCJdIHtcclxuICB9XHJcbiAgLkd1ZXN0UHJvZmlsZUZvcm0sXHJcbiAgLkVucm9sbGVlUHJvZmlsZUZvcm0ge1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgfVxyXG4gIGZvcm0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYjcmVzZXRBY2NvdW50VHlwZUZvcm0ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiA0MHB4IDAgMCAwO1xyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICB9XHJcbn1cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIC5maWVsZHNldEdyaWQge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XHJcbiAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiZ2xvYmFsXCI7XHJcbkB1c2UgXCJkaWFsb2dcIjtcclxuQHVzZSBcImZvcm1zXCI7XHJcblxyXG4vLyBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cclxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4uYnVmZmVyIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7XHJcbn1cclxuXHJcbmhlYWRlciB7XHJcbiAgaGVpZ2h0OiA3NXB4O1xyXG5cclxuICAuYnJhbmRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5sb2dvV3JhcCxcclxuICAudGl0bGVXcmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHBhZGRpbmc6IDEwcHggMzVweDtcclxuICB9XHJcblxyXG4gIC5sb2dvV3JhcCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdDtcclxuICB9XHJcblxyXG4gIC50aXRsZVdyYXAge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYmFja2dyb3VuZDogcmdiKDAsIDExNCwgMjA2KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAxMTQsIDIwNiwgMSkgMCUsIHJnYmEoMCwgNzYsIDE1MSwgMSkgMTAwJSk7XHJcbiAgfVxyXG5cclxuICAubG9nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICBmb250LXNpemU6IDEuN2VtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICB9XHJcbn1cclxuXHJcbiNtZW1iZXJzaGlwIHtcclxuICBtYXgtd2lkdGg6IDc4MHB4O1xyXG4gIG1hcmdpbjogNTBweCBhdXRvIDExMHB4O1xyXG5cclxuICAuYWNjb3VudFBHIHtcclxuICAgIGgxIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcmdvdFBXUEcge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC50aXRsZUFyZWEge1xyXG4gICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zY2hvb2xCcmFuZGluZyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgLnNjaG9vbExvZ29XcmFwIHtcclxuICAgIHdpZHRoOiA0NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuc2Nob29sVGl0bGVXcmFwIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDEuNmVtO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAwLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sb2dvIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gIC50aXRsZSB7XHJcbiAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtRGVzY3JpcHRpb24ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDEuMTVlbTtcclxuXHJcbiAgcCB7XHJcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybVdyYXAge1xyXG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAkZ3JleTtcclxuICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xyXG5cclxuICBoMyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGZvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogNXB4IDAgMCAwO1xyXG4gIH1cclxuXHJcbiAgJi5wYXNzd29yZCB7XHJcbiAgICAuYnV0dG9uSG9sZGVyIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbkhvbGRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgfVxyXG5cclxuICAubG9naW5OYXYge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgIC5iYWNrIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICA+ICoge1xyXG4gICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRpdGxlQXJlYSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgaDIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjg1ZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtV3JhcC5sb2dpbiB7XHJcbiAgLmxvZ2luV3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuXHJcbiAgLm5ld0FjY291bnRXcmFwcGVyLFxyXG4gIC5yZXR1cm5pbmdXcmFwcGVyIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBwYWRkaW5nOiA0MHB4O1xyXG5cclxuICAgIC50aXRsZSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5ld0FjY291bnRXcmFwcGVyIHtcclxuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRncmV5O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAwO1xyXG5cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGJhc2ljO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYWNjZW50KTtcclxuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbi1hY2NvdW50IHtcclxuICAgICAgICBmb250LXNpemU6IDMuNWVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiLVwiO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uRm9udDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGl0bGUgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRncmV5O1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaXZpZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybVdyYXAudXNlckFjY291bnQsXHJcbi5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IHtcclxuICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGVnZW5kLFxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgZmxleDogMCAwIDI2MHB4O1xyXG4gICAgICBwYWRkaW5nOiAxNnB4IDIwcHggMCAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS42NWVtO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgd2lkdGg6IDMwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZmllbGRzZXRHcmlkIHtcclxuICAgICAgZmxleDogMSAxIDIwMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4O1xyXG4gICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRncmV5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtV3JhcC5wYXNzd29yZCB7XHJcbiAgLmxvZ2luTmF2IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLmZpZWxkV3JhcHBlciB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtV3JhcC5yZXZpZXdMb2dpbiB7XHJcbiAgZm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgbWFyZ2luOiAyNXB4IGF1dG87XHJcbiAgfVxyXG4gIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgIC5kZXNjIHtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgY29sb3I6IHJnYmEoJGJhc2ljLCAwLjcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gbGFiZWwsXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIH4gbGFiZWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBAaW5jbHVkZSByYWRpbygkc2VsZWN0ZWRCb3JkZXI6ICRwcmltYXJ5LCAkc2VsZWN0ZWRDb2xvcjogJHByaW1hcnksICRib3JkZXJDb2xvcjogcmdiYSgkYmFzaWMsIDAuMyksICRzaXplOiAxLjNlbSk7XHJcbiAgfVxyXG4gIC5idXR0b25Ib2xkZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uW3ZhbHVlPVwibG9naW5cIl0ge1xyXG4gICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvblt2YWx1ZT1cInJlc2V0XCJdIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uKCRzZWNvbmRhcnkpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvblt2YWx1ZT1cImNvbXBsZXRlXCJdIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uKCRhY2NlbnQpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm1XcmFwLnR3b0ZhY3RvciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgICAuZmllbGRXcmFwcGVyIHtcclxuICAgICAgbWF4LXdpZHRoOiAyNTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNURkFCdXR0b25BcHAge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgcGFkZGluZzogMC40NWVtIDAuNmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcblxyXG4gICNURkFCdXR0b25FbWFpbCxcclxuICAjT1RQQnV0dG9uIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwIDAgMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmW2RhdGEtd2FpdC1hLWZldz1cInRydWVcIl0ge1xyXG4gICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiAxMDtcclxuXHJcbiAgcGFkZGluZzogMTBweCAwIDA7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgZm9udC1zaXplOiAxLjFlbTtcclxuICBjb2xvcjogJGxpZ2h0O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0O1xyXG5cclxuICBzcGFuIHtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmFkZ0xpbmsge1xyXG4gICAgYmFja2dyb3VuZDogJGJhc2ljO1xyXG4gICAgY29sb3I6ICRsaWdodDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogN3B4IDAgMDtcclxuICAgIHBhZGRpbmc6IDAgMTVweCAzcHg7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZS1jb2xvcjogJGxpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZXJyb3IsXHJcbi5sb2dpbkVycm9yIHtcclxuICBjb2xvcjogbGlnaHRlbigkd3JvbmcsIDIwJSk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDAuODVlbTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiA0cHggNXB4IDVweCA4cHg7XHJcbiAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWFyZ2luLXRvcDogLTVweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICYudmFsaWRhdGlvbi1zdW1tYXJ5LWVycm9ycyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDRweCA1cHggNXB4IDhweDtcclxuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogNHB4IDVweCA1cHggOHB4O1xyXG4gIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHdyb25nLCAyMCUpO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IDAuODVlbTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ucHJvZmlsZUVycm9yV3JhcCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC5lcnJvck1lc3NhZ2Uge1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHdyb25nKTtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC8vbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAycHggMTBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAuc2Nob29sQnJhbmRpbmcge1xyXG4gICAgLnNjaG9vbExvZ29XcmFwIHtcclxuICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIGhlYWRlciB7XHJcbiAgICAudGl0bGUge1xyXG4gICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNjaG9vbEJyYW5kaW5nIHtcclxuICAgIC5zY2hvb2xMb2dvV3JhcCB7XHJcbiAgICAgIHdpZHRoOiAyODBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAge1xyXG4gICAgLmxvZ2luTmF2IHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICgkeHhzICsgMSkpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLnVzZXJBY2NvdW50LFxyXG4gIC5mb3JtV3JhcC5jcmVhdGVBY2NvdW50IHtcclxuICAgIC5zdHlsZWRGaWVsZHNldCB7XHJcbiAgICAgIC5maWVsZHNldEdyaWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5wYXNzd29yZCB7XHJcbiAgICAubmV3QWNjb3VudFdyYXBwZXIsXHJcbiAgICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICBoZWFkZXIge1xyXG4gICAgLmxvZ29XcmFwIHtcclxuICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZVdyYXAge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG5cclxuICAgIC5idXR0b25Ib2xkZXIge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAubG9naW4ge1xyXG4gICAgLm5ld0FjY291bnRXcmFwcGVyLFxyXG4gICAgLnJldHVybmluZ1dyYXBwZXIge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAudXNlckFjY291bnQsXHJcbiAgLmZvcm1XcmFwLmNyZWF0ZUFjY291bnQge1xyXG4gICAgLnN0eWxlZEZpZWxkc2V0IHtcclxuICAgICAgbGVnZW5kLFxyXG4gICAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICAgIGZsZXg6IDAgMCAxNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmxvZ2luIHtcclxuICAgIC5sb2dpbldyYXBwZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAubmV3QWNjb3VudFdyYXBwZXIsXHJcbiAgICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgICAubmV3QWNjb3VudFdyYXBwZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC51c2VyQWNjb3VudCxcclxuICAuZm9ybVdyYXAuY3JlYXRlQWNjb3VudCB7XHJcbiAgICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgIGxlZ2VuZCxcclxuICAgICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZpZWxkc2V0R3JpZCB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAge1xyXG4gICAgJi51c2VyQWNjb3VudCxcclxuICAgICYucGFzc3dvcmQsXHJcbiAgICAmLmNyZWF0ZUFjY291bnQge1xyXG4gICAgICBsZWdlbmQsXHJcbiAgICAgIC5ncm91cExlZ2VuZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvZ2luTmF2IHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMjBweCAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uOm5vdCguc2hvd0hpZGUpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbk5hdiB7XHJcbiAgICAgIG1hcmdpbjogMjBweCAyMHB4IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIGhlYWRlciB7XHJcbiAgICAubG9nb1dyYXAge1xyXG4gICAgICB3aWR0aDogMzUlO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlV3JhcCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogNjUlO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2Nob29sQnJhbmRpbmcge1xyXG4gICAgLnRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvb3RlciB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcbn1cclxuIl19 */