/* ==========================================================================
   Colors
   ========================================================================== */
/* ==========================================================================
   Queries
   ========================================================================== */
/* ==========================================================================
   Includes
   ========================================================================== */
/* ==========================================================================
   Wrapper defaults
   ========================================================================== */
.gform_wrapper {
  padding-top: 30px;
  margin-bottom: 20px;
  clear: both; }
  .gform_wrapper:last-child {
    margin-bottom: 0; }
  .gform_wrapper .gform_heading {
    margin-bottom: 20px; }
  .gform_wrapper .gform_fields {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1em !important;
    text-align: left;
    transition: .5s all ease; }
    .gform_wrapper .gform_fields .gfield {
      list-style: none;
      margin-bottom: 20px;
      clear: both;
      transition: .5s all ease;
      padding: 0; }
      .gform_wrapper .gform_fields .gfield label {
        line-height: 1em;
        margin-bottom: 0;
        display: block;
        font-size: 13px;
        margin-top: 3px; }
      .gform_wrapper .gform_fields .gfield label.gfield_label {
        font-size: inherit;
        margin-top: 0;
        margin-bottom: 5px; }
      .gform_wrapper .gform_fields .gfield li[class^="gchoice_"] label {
        line-height: 1em;
        margin-bottom: inherit;
        display: inherit;
        font-size: 15px;
        margin-top: inherit; }
      .gform_wrapper .gform_fields .gfield.gf_list_inline input[type="checkbox"] {
        margin-top: 3px; }
  .gform_wrapper .gform_validation_container {
    display: none; }

/* ==========================================================================
   Input, textarea, select defaults
   ========================================================================== */
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]) {
  padding: 0 0 0 15px; }

.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]),
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  height: 45px;
  padding-left: 15px;
  font-size: 1em;
  transition: .5s all ease; }

.gform_wrapper select {
  padding-left: 10px; }
  .gform_wrapper select option {
    padding-left: 15px; }

.gform_wrapper textarea {
  padding: 15px;
  height: 90px; }

.gform_wrapper .gform_footer input[type="submit"] {
  width: auto;
  display: inline-block;
  padding-left: 15px;
  padding-right: 15px; }

.gform_wrapper .gform_ajax_spinner {
  display: none; }

/* ==========================================================================
   Consent
   ========================================================================== */
.gform_wrapper .ginput_container_consent {
  display: flex;
  margin-bottom: 15px;
  align-items: flex-start; }
  .gform_wrapper .ginput_container_consent > label {
    padding-left: 8px; }
  .gform_wrapper .ginput_container_consent > input {
    top: 3px;
    position: relative; }

.gform_wrapper .gfield_consent_description {
  max-height: 200px;
  overflow-y: scroll;
  background-color: rgba(128, 128, 128, 0.2);
  padding: 20px; }

/* ==========================================================================
   Upload
   ========================================================================== */
.gform_wrapper .gform_drop_area {
  border: 4px dashed rgba(128, 128, 128, 0.5);
  background: rgba(128, 128, 128, 0.2);
  border-radius: 10px;
  padding: 20px;
  text-align: center; }

.gform_wrapper .gform_wrapper .gform_button_select_files {
  margin-left: 10px; }
  @media (max-width: 767px) {
    .gform_wrapper .gform_wrapper .gform_button_select_files {
      display: block;
      margin: 10px auto 0;
      text-align: center !important; } }

/* ==========================================================================
   Sections
   ========================================================================== */
.gform_wrapper .gsection {
  padding: 30px 0 15px !important;
  margin: 0 !important; }
  .gform_wrapper .gsection:first-child {
    padding-top: 0 !important; }

/* ==========================================================================
   Radio and checkboxes
   ========================================================================== */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
  list-style: none !important;
  padding: 5px 0 0 !important;
  margin: 0 !important;
  line-height: 1.2em !important; }
  .gform_wrapper .gfield_radio > li,
  .gform_wrapper .gfield_checkbox > li {
    list-style: none;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 20px; }
    .gform_wrapper .gfield_radio > li input,
    .gform_wrapper .gfield_radio > li label,
    .gform_wrapper .gfield_checkbox > li input,
    .gform_wrapper .gfield_checkbox > li label {
      flex: 0 1 auto; }
    .gform_wrapper .gfield_radio > li label,
    .gform_wrapper .gfield_checkbox > li label {
      display: block;
      margin-bottom: 0 !important;
      line-height: 1.2em !important; }
    .gform_wrapper .gfield_radio > li input,
    .gform_wrapper .gfield_checkbox > li input {
      margin-right: 5px;
      left: 0;
      top: 0;
      position: absolute; }

/* ==========================================================================
   Names
   ========================================================================== */
@media (min-width: 768px) {
  .gfield {
    clear: both;
    float: left;
    width: 100%; }
    .gfield .has_first_name.no_middle_name.has_last_name {
      clear: both;
      display: block;
      float: left;
      margin-bottom: 0;
      width: 100%; }
      .gfield .has_first_name.no_middle_name.has_last_name span.name_first {
        display: block;
        float: left;
        width: calc(100% / 2 - 5px);
        margin-right: 5px;
        clear: left !important; }
      .gfield .has_first_name.no_middle_name.has_last_name span.name_last {
        display: block;
        float: left;
        width: calc(100% / 2 - 5px);
        margin-left: 5px;
        clear: right !important; } }

@media (max-width: 767px) {
  .gfield {
    clear: both;
    float: left;
    width: 100%; }
    .gfield .has_first_name.no_middle_name.has_last_name span.name_first {
      margin-bottom: 10px;
      display: block; } }

/* ==========================================================================
   Clearing floats for containers
   ========================================================================== */
.ginput_complex {
  width: 100%;
  float: left;
  clear: both; }
  .ginput_complex span[class^="ginput_"] {
    margin-bottom: 10px;
    display: block; }

/* ==========================================================================
   Hidden fields
   ========================================================================== */
.gfield_visibility_hidden {
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important; }

@media (min-width: 768px) {
  .gfield {
    clear: both; }
    .gfield .ginput_complex.ginput_container_password {
      clear: both;
      display: block;
      float: left;
      margin-bottom: 10px;
      width: 100%; }
      .gfield .ginput_complex.ginput_container_password span.ginput_left {
        display: block;
        float: left;
        width: calc(100% / 2 - 5px);
        margin-right: 5px;
        clear: left !important; }
      .gfield .ginput_complex.ginput_container_password span.ginput_right {
        display: block;
        float: left;
        width: calc(100% / 2 - 5px);
        margin-left: 5px;
        clear: right !important; } }

@media (max-width: 767px) {
  .gfield .ginput_complex.ginput_container_password span.ginput_left {
    margin-bottom: 10px;
    display: block; } }

/* ==========================================================================
   Sizing
   ========================================================================== */
.gform_wrapper textarea.textarea.small {
  height: 90px; }

.gform_wrapper textarea.textarea.medium {
  height: 150px; }

.gform_wrapper textarea.textarea.large {
  height: 300px; }

/* ==========================================================================
   Halves
   ========================================================================== */
@media (min-width: 768px) {
  .gfield.gf_left_half,
  .ginput_left {
    float: left;
    width: calc(100% / 2 - 5px);
    margin-right: 5px;
    clear: left !important; }
  .gfield.gf_right_half,
  .ginput_right {
    float: left;
    width: calc(100% / 2 - 5px);
    margin-left: 5px;
    clear: right !important; } }

/* ==========================================================================
   Thirds
   ========================================================================== */
@media (min-width: 768px) {
  .gfield.gf_left_third {
    float: left;
    width: calc(100% / 3 - 5px);
    margin-right: 5px;
    clear: left !important; }
  .gfield.gf_middle_third {
    float: left;
    width: calc(100% / 3 - 10px);
    margin-left: 5px;
    margin-right: 5px;
    clear: none !important; }
  .gfield.gf_right_third {
    float: left;
    width: calc(100% / 3 - 5px);
    margin-left: 5px;
    clear: right !important; } }

/* ==========================================================================
   List inline
   ========================================================================== */
@media (min-width: 768px) {
  .gform_wrapper .gfield.gf_list_inline ul.gfield_radio > li,
  .gform_wrapper .gfield.gf_list_inline ul.gfield_checkbox > li {
    display: inline-block;
    margin: 0 15px 15px 0; }
    .gform_wrapper .gfield.gf_list_inline ul.gfield_radio > li input,
    .gform_wrapper .gfield.gf_list_inline ul.gfield_checkbox > li input {
      margin: 0; }
    .gform_wrapper .gfield.gf_list_inline ul.gfield_radio > li input,
    .gform_wrapper .gfield.gf_list_inline ul.gfield_radio > li label,
    .gform_wrapper .gfield.gf_list_inline ul.gfield_checkbox > li input,
    .gform_wrapper .gfield.gf_list_inline ul.gfield_checkbox > li label {
      display: inline-block; } }

/* ==========================================================================
   Horizontal forms
   ========================================================================== */
.gform_wrapper.gf_simple_horizontal_wrapper {
  margin-top: 0;
  padding-top: 0; }
  @media (min-width: 768px) {
    .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal {
      display: grid;
      grid-template-columns: auto 200px;
      align-items: center;
      grid-column-gap: 10px; }
      .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal .gform_heading {
        grid-column: span 2; }
      .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal .gform_body {
        width: 100%; }
        .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal .gform_body .gform_fields {
          display: flex; }
        .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal .gform_body .gfield {
          flex: 0 1 auto;
          clear: none;
          float: none;
          padding: 0 5px;
          width: 100%;
          margin-bottom: 0 !important; }
      .gform_wrapper.gf_simple_horizontal_wrapper form.gf_simple_horizontal .gform_footer input[type="submit"] {
        width: 100%; } }

.gform_wrapper input:-webkit-input-placeholder,
.gform_wrapper textarea:-webkit-input-placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper input::-moz-placeholder,
.gform_wrapper textarea::-moz-placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper input:-ms-input-placeholder,
.gform_wrapper textarea:-ms-input-placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper input:-moz-placeholder,
.gform_wrapper textarea:-moz-placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper input:placeholder,
.gform_wrapper textarea:placeholder {
  color: gray !important;
  opacity: 1 !important; }

.gform_wrapper .validation_message,
.gform_wrapper .validation_error {
  display: none; }

.gform_wrapper .gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border: 5px solid red !important;
  padding-left: 10px !important; }

.gform_wrapper .gfield_error ul.gfield_checkbox label {
  color: red !important; }

body .gform_wrapper .gform_fields .gfield.hidden_label {
  margin-bottom: 10px; }
  body .gform_wrapper .gform_fields .gfield.hidden_label > label {
    display: none !important; }

.gf_page_steps {
  display: flex;
  flex-flow: row wrap; }
  .gf_page_steps .gf_step {
    margin: 0 10px 20px;
    opacity: 0.5; }
    .gf_page_steps .gf_step:first-child {
      margin-left: 0; }
    .gf_page_steps .gf_step.gf_step_active {
      opacity: 1; }

.gform_next_button,
.gform_previous_button {
  width: auto !important; }

form[enctype="multipart/form-data"] .gform_button {
  width: auto !important; }

.gform_drop_area .gform_button_select_files {
  width: auto !important; }
  @media (min-width: 600px) {
    .gform_drop_area .gform_button_select_files {
      margin-left: 10px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2YtZGVmYXVsdC1zdHlsZS5jc3MiLCJzb3VyY2VzIjpbImdmLWRlZmF1bHQtc3R5bGUuc2NzcyIsIl9kZWZhdWx0cy5zY3NzIiwiX3Bhc3N3b3Jkcy5zY3NzIiwiX2dmLXN0eWxlLXJlYWR5LWNsYXNzZXMuc2NzcyIsIl9nZi1zdHlsZS1yZWFkeS1jbGFzc2VzLWhvcml6b250YWwuc2NzcyIsIl9wbGFjZWhvbGRlcnMuc2NzcyIsIl92YWxpZGF0aW9uLnNjc3MiLCJfaGlkZGVuLWxhYmVscy5zY3NzIiwiX3N0ZXBzLnNjc3MiLCJfYnV0dG9ucy5zY3NzIiwiX3VwbG9hZC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRibGFjazogIzMzMzMzMztcbiRkZWZhdWx0OiBncmF5O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG1vYmlsZS13aWR0aC1zZWN0aW9uOiA3NjdweDtcbiR0YWJsZXQtd2lkdGgtc2VjdGlvbjogNzY4cHg7XG4kZGVza3RvcC13aWR0aC1zZWN0aW9uOiAxMjAwcHg7XG5cbkBtaXhpbiBtb2JpbGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtb2JpbGUtd2lkdGgtc2VjdGlvbn0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdGFibGV0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdGFibGV0LXdpZHRoLXNlY3Rpb259KSBhbmQgKG1heC13aWR0aDogI3skZGVza3RvcC13aWR0aC1zZWN0aW9uIC0gMXB4fSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skZGVza3RvcC13aWR0aC1zZWN0aW9ufSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBub3Rtb2JpbGUge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyR0YWJsZXQtd2lkdGgtc2VjdGlvbn0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbm90ZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JGRlc2t0b3Atd2lkdGgtc2VjdGlvbn0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW5jbHVkZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vKiBNYWluXG5AaW1wb3J0IFwiZGVmYXVsdHNcIjtcbkBpbXBvcnQgXCJwYXNzd29yZHNcIjtcbkBpbXBvcnQgXCJnZi1zdHlsZS1yZWFkeS1jbGFzc2VzXCI7XG5AaW1wb3J0IFwiZ2Ytc3R5bGUtcmVhZHktY2xhc3Nlcy1ob3Jpem9udGFsXCI7XG5AaW1wb3J0IFwicGxhY2Vob2xkZXJzXCI7XG5AaW1wb3J0IFwidmFsaWRhdGlvblwiO1xuQGltcG9ydCBcImhpZGRlbi1sYWJlbHNcIjtcbkBpbXBvcnQgXCJzdGVwc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ1cGxvYWRcIjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV3JhcHBlciBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV9oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRyYW5zaXRpb246IC41cyBhbGwgZWFzZTtcblxuICAgICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuNXMgYWxsIGVhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAvLyogTGFiZWwgZGVmYXVsdHNcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8qIExhYmVscyBhYm92ZVxuICAgICAgICAgICAgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vKiBMYWJlbHMgd2hlbiBpdCdzIGEgcmFkaW8gb3IgY2hlY2tib3hcbiAgICAgICAgICAgIGxpW2NsYXNzXj1cImdjaG9pY2VfXCJdIHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vKiBJbmxpbmUgbGlzdHMgbmVlZCBhIGxpdHRsZSBleHRyYVxuICAgICAgICAgICAgJi5nZl9saXN0X2lubGluZSB7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICB9XG5cbiAgICBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNXMgYWxsIGVhc2U7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uc2VudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICA+bGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+aW5wdXQge1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2NvbnNlbnRfZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGdyYXksIDAuMik7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXBsb2FkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gICAgLmdmb3JtX2Ryb3BfYXJlYSB7XG4gICAgICAgIGJvcmRlcjogNHB4IGRhc2hlZCByZ2JhKGdyYXksIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoZ3JheSwgMC4yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25fc2VsZWN0X2ZpbGVzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgICAuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSYWRpbyBhbmQgY2hlY2tib3hlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmb3JtX3dyYXBwZXIge1xuXG4gICAgLmdmaWVsZF9yYWRpbyxcbiAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW0gIWltcG9ydGFudDtcblxuICAgICAgICA+bGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hbWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBub3Rtb2JpbGUge1xuICAgIC5nZmllbGQge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5oYXNfZmlyc3RfbmFtZS5ub19taWRkbGVfbmFtZS5oYXNfbGFzdF9uYW1lIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgc3Bhbi5uYW1lX2ZpcnN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDVweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5uYW1lX2xhc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gNXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIGNsZWFyOiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIG1vYmlsZSB7XG4gICAgLmdmaWVsZCB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmhhc19maXJzdF9uYW1lLm5vX21pZGRsZV9uYW1lLmhhc19sYXN0X25hbWUge1xuICAgICAgICAgICAgc3Bhbi5uYW1lX2ZpcnN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2xlYXJpbmcgZmxvYXRzIGZvciBjb250YWluZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZ2lucHV0X2NvbXBsZXgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgc3BhbltjbGFzc149XCJnaW5wdXRfXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGlkZGVuIGZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmaWVsZF92aXNpYmlsaXR5X2hpZGRlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59IiwiQGluY2x1ZGUgbm90bW9iaWxlIHtcbiAgICAuZ2ZpZWxkIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfcGFzc3dvcmQge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBzcGFuLmdpbnB1dF9sZWZ0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDVweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5naW5wdXRfcmlnaHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gNXB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIGNsZWFyOiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtb2JpbGUge1xuICAgIC5nZmllbGQge1xuICAgICAgICAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9wYXNzd29yZCB7XG4gICAgICAgICAgICBzcGFuLmdpbnB1dF9sZWZ0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaXppbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgICYudGV4dGFyZWEuc21hbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXh0YXJlYS5tZWRpdW0ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dGFyZWEubGFyZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhhbHZlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgbm90bW9iaWxlIHtcblxuICAgIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuICAgIC5naW5wdXRfbGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDVweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBjbGVhcjogbGVmdCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vICYuaGlkZGVuLWxhYmVsIHtcbiAgICAgICAgLy8gICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gMiAtIDVweCApO1xuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgLy8gfVxuXG4gICAgfVxuXG4gICAgLmdmaWVsZC5nZl9yaWdodF9oYWxmLFxuICAgIC5naW5wdXRfcmlnaHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSA1cHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBjbGVhcjogcmlnaHQgIWltcG9ydGFudDtcblxuICAgICAgICAvLyAmLmhpZGRlbi1sYWJlbCB7XG4gICAgICAgIC8vICAgICB3aWR0aDogY2FsYyggMTAwJSAvIDIgLSA1cHggKTtcbiAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAvLyB9XG5cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRoaXJkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgbm90bW9iaWxlIHtcbiAgICAuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSA1cHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgY2xlYXI6IGxlZnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDEwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gNXB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0IGlubGluZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgbm90bW9iaWxlIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICAgIC5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUge1xuXG4gICAgICAgICAgICB1bC5nZmllbGRfcmFkaW8sXG4gICAgICAgICAgICB1bC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICAgICAgICAgID5saSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvcml6b250YWwgZm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nZm9ybV93cmFwcGVyLmdmX3NpbXBsZV9ob3Jpem9udGFsX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbm90bW9iaWxlIHtcbiAgICAgICAgICAgIC8vIExldCdzIGRpc3BsYXkgdGhlIGVudGlyZSBmb3JtIGFzIGEgZ3JpZFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAyMDBweDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDEwcHg7XG5cbiAgICAgICAgICAgIC5nZm9ybV9oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5nZm9ybV93cmFwcGVyIHtcblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgJjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5nZm9ybV93cmFwcGVyIHtcblxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nZmllbGRfZXJyb3Ige1xuXG4gICAgICAgIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbiAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiYm9keSAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgICAgIC5nZmllbGQuaGlkZGVuX2xhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgID5sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5nZl9wYWdlX3N0ZXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAuZ2Zfc3RlcCB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDIwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5nZl9zdGVwX2FjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5nZm9ybV9uZXh0X2J1dHRvbixcbi5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbmZvcm1bZW5jdHlwZT1cIm11bHRpcGFydC9mb3JtLWRhdGFcIl0ge1xuICAgIC5nZm9ybV9idXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCIuZ2Zvcm1fZHJvcF9hcmVhIHtcbiAgICAuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcyB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Z0ZBRWdGO0FBS2hGOztnRkFFZ0Y7QUFvQ2hGOztnRkFFZ0Y7QUMvQ2hGOztnRkFFZ0Y7QUFFaEYsQUFBQSxjQUFjLENBQUM7RUFDWCxXQUFXLEVBQUUsSUFBSTtFQUNqQixhQUFhLEVBQUUsSUFBSTtFQUNuQixLQUFLLEVBQUUsSUFBSSxHQWlFZDtFQXBFRCxBQUtJLGNBTFUsQUFLVCxXQUFXLENBQUM7SUFDVCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQVBMLEFBU0ksY0FUVSxDQVNWLGNBQWMsQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBWEwsQUFhSSxjQWJVLENBYVYsYUFBYSxDQUFDO0lBQ1YsVUFBVSxFQUFFLGVBQWU7SUFDM0IsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsV0FBVyxFQUFFLGNBQWM7SUFDM0IsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLFlBQVksR0E0QzNCO0lBL0RMLEFBcUJRLGNBckJNLENBYVYsYUFBYSxDQVFULE9BQU8sQ0FBQztNQUNKLFVBQVUsRUFBRSxJQUFJO01BQ2hCLGFBQWEsRUFBRSxJQUFJO01BQ25CLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLFlBQVk7TUFDeEIsT0FBTyxFQUFFLENBQUMsR0FtQ2I7TUE3RFQsQUE2QlksY0E3QkUsQ0FhVixhQUFhLENBUVQsT0FBTyxDQVFILEtBQUssQ0FBQztRQUNGLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxLQUFLO1FB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 */
