/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_subscriptions.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);
/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_subscriptions.scss (1) ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Projet
--------------------------------------------------------------------------------------------------------------------- */
/* - Couleurs
..................................................................................................................... */
/* - Variables
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Mixins
--------------------------------------------------------------------------------------------------------------------- */
/* - Shadow
..................................................................................................................... */
/* - Images
..................................................................................................................... */
/* - Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Arabica
--------------------------------------------------------------------------------------------------------------------- */
/* - fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Default
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Default
--------------------------------------------------------------------------------------------------------------------- */
/* - Helper
..................................................................................................................... */
/* - Fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Operations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Opérations
--------------------------------------------------------------------------------------------------------------------- */
/* - Récupération d'une valeur sans unité
..................................................................................................................... */
/* - Fnct Medias
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Médias
--------------------------------------------------------------------------------------------------------------------- */
/* - Minimum et maximum
..................................................................................................................... */
/* - Détéction de l'orientation
..................................................................................................................... */
/* - Types de devices
..................................................................................................................... */
/* - Fnct Fluid
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Fluid
--------------------------------------------------------------------------------------------------------------------- */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
/* - Fnct Forms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Forms
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder
..................................................................................................................... */
/* - Fnct Grille
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Grille
--------------------------------------------------------------------------------------------------------------------- */
/* - Boxs
..................................................................................................................... */
.box_full, .box_xl, .box_lg, .box_md, .box_sm, .box_xs {
  margin-right: auto;
  margin-left: auto;
}

.box_xs {
  max-width: 440px;
}
.box_xs.marges {
  max-width: 480px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xs.marges {
    max-width: 456px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_sm {
  max-width: 576px;
}
.box_sm.marges {
  max-width: 616px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_sm.marges {
    max-width: 592px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_md {
  max-width: 768px;
}
.box_md.marges {
  max-width: 808px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_md.marges {
    max-width: 784px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_lg {
  max-width: 1024px;
}
.box_lg.marges {
  max-width: 1064px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_lg.marges {
    max-width: 1040px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_xl {
  max-width: 1230px;
}
.box_xl.marges {
  max-width: 1270px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xl.marges {
    max-width: 1246px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_full {
  max-width: 100%;
}
.box_full.marges {
  padding-right: 20px;
  padding-left: 20px;
}

/* - Rows
..................................................................................................................... */
.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}
.row.marges {
  margin-right: -10px;
  margin-left: -10px;
}
.row.marges > [class*=col] {
  padding-right: 10px;
  padding-left: 10px;
}
@media (max-width: calc(768px - 1px)) {
  .row.marges {
    margin-right: -4px;
    margin-left: -4px;
  }
  .row.marges > [class*=col] {
    padding-right: 4px;
    padding-left: 4px;
  }
}
.row.no_wrap {
  flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
}

/* - Colonnes
..................................................................................................................... */
[class^=col] {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 1;
  -webkit-flex-shrink: 1;
  flex-basis: 0;
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  max-width: 100%;
}

.col_content {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_auto {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_0 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 0%;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  max-width: 0%;
}

.col_0, .col_offset_0 {
  display: none;
}

.col_1 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 8.3333333333%;
  -webkit-flex-basis: 8.3333333333%;
  -ms-flex-preferred-size: 8.3333333333%;
  max-width: 8.3333333333%;
}

.col_2 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 16.6666666667%;
  -webkit-flex-basis: 16.6666666667%;
  -ms-flex-preferred-size: 16.6666666667%;
  max-width: 16.6666666667%;
}

.col_3 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 25%;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  max-width: 25%;
}

.col_4 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 33.3333333333%;
  -webkit-flex-basis: 33.3333333333%;
  -ms-flex-preferred-size: 33.3333333333%;
  max-width: 33.3333333333%;
}

.col_5 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 41.6666666667%;
  -webkit-flex-basis: 41.6666666667%;
  -ms-flex-preferred-size: 41.6666666667%;
  max-width: 41.6666666667%;
}

.col_6 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 50%;
  -webkit-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  max-width: 50%;
}

.col_7 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 58.3333333333%;
  -webkit-flex-basis: 58.3333333333%;
  -ms-flex-preferred-size: 58.3333333333%;
  max-width: 58.3333333333%;
}

.col_8 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 66.6666666667%;
  -webkit-flex-basis: 66.6666666667%;
  -ms-flex-preferred-size: 66.6666666667%;
  max-width: 66.6666666667%;
}

.col_9 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 75%;
  -webkit-flex-basis: 75%;
  -ms-flex-preferred-size: 75%;
  max-width: 75%;
}

.col_10 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 83.3333333333%;
  -webkit-flex-basis: 83.3333333333%;
  -ms-flex-preferred-size: 83.3333333333%;
  max-width: 83.3333333333%;
}

.col_11 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 91.6666666667%;
  -webkit-flex-basis: 91.6666666667%;
  -ms-flex-preferred-size: 91.6666666667%;
  max-width: 91.6666666667%;
}

.col_12 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 100%;
  -webkit-flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  max-width: 100%;
}

@media (min-width: 440px) {
  .col_xs_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xs_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xs_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xs_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xs_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xs_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xs_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xs_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xs_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xs_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xs_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xs_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xs_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xs {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .col_sm_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_sm_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_sm_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_sm_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_sm_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_sm_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_sm_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_sm_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_sm_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_sm_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_sm_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_sm_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_sm_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_sm {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .col_md_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_md_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_md_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_md_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_md_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_md_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_md_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_md_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_md_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_md_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_md_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_md_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_md_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_md {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .col_lg_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_lg_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_lg_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_lg_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_lg_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_lg_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_lg_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_lg_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_lg_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_lg_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_lg_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_lg_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_lg_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_lg {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .col_xl_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xl_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xl_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xl_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xl_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xl_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xl_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xl_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xl_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xl_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xl_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xl_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xl_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xl {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
.col_offset_0 {
  margin-left: 0%;
}

.col_offset_1 {
  margin-left: 8.3333333333%;
}

.col_offset_2 {
  margin-left: 16.6666666667%;
}

.col_offset_3 {
  margin-left: 25%;
}

.col_offset_4 {
  margin-left: 33.3333333333%;
}

.col_offset_5 {
  margin-left: 41.6666666667%;
}

.col_offset_6 {
  margin-left: 50%;
}

.col_offset_7 {
  margin-left: 58.3333333333%;
}

.col_offset_8 {
  margin-left: 66.6666666667%;
}

.col_offset_9 {
  margin-left: 75%;
}

.col_offset_10 {
  margin-left: 83.3333333333%;
}

.col_offset_11 {
  margin-left: 91.6666666667%;
}

.col_offset_12 {
  margin-left: 100%;
}

@media (min-width: 440px) {
  .col_offset_xs_0 {
    margin-left: 0%;
  }
  .col_offset_xs_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xs_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xs_3 {
    margin-left: 25%;
  }
  .col_offset_xs_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xs_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xs_6 {
    margin-left: 50%;
  }
  .col_offset_xs_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xs_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xs_9 {
    margin-left: 75%;
  }
  .col_offset_xs_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xs_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xs_12 {
    margin-left: 100%;
  }
}
@media (min-width: 576px) {
  .col_offset_sm_0 {
    margin-left: 0%;
  }
  .col_offset_sm_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_sm_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_sm_3 {
    margin-left: 25%;
  }
  .col_offset_sm_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_sm_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_sm_6 {
    margin-left: 50%;
  }
  .col_offset_sm_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_sm_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_sm_9 {
    margin-left: 75%;
  }
  .col_offset_sm_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_sm_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_sm_12 {
    margin-left: 100%;
  }
}
@media (min-width: 768px) {
  .col_offset_md_0 {
    margin-left: 0%;
  }
  .col_offset_md_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_md_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_md_3 {
    margin-left: 25%;
  }
  .col_offset_md_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_md_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_md_6 {
    margin-left: 50%;
  }
  .col_offset_md_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_md_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_md_9 {
    margin-left: 75%;
  }
  .col_offset_md_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_md_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_md_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1024px) {
  .col_offset_lg_0 {
    margin-left: 0%;
  }
  .col_offset_lg_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_lg_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_lg_3 {
    margin-left: 25%;
  }
  .col_offset_lg_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_lg_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_lg_6 {
    margin-left: 50%;
  }
  .col_offset_lg_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_lg_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_lg_9 {
    margin-left: 75%;
  }
  .col_offset_lg_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_lg_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_lg_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1230px) {
  .col_offset_xl_0 {
    margin-left: 0%;
  }
  .col_offset_xl_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xl_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xl_3 {
    margin-left: 25%;
  }
  .col_offset_xl_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xl_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xl_6 {
    margin-left: 50%;
  }
  .col_offset_xl_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xl_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xl_9 {
    margin-left: 75%;
  }
  .col_offset_xl_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xl_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xl_12 {
    margin-left: 100%;
  }
}
/* - Fnct Helper
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - Aide à l'intégration
..................................................................................................................... */
/* - Fnct Alignements
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Alignements
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder Flex
..................................................................................................................... */
/* - Alignements absolutes
..................................................................................................................... */
.x_align_absolute {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_absolute {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_absolute {
  position: absolute;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements fixes
..................................................................................................................... */
.x_align_fixed {
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_fixed {
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_fixed {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_fixed {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements relative
..................................................................................................................... */
.x_align_relative {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_relative {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_relative {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_relative {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements horizontaux (x)
..................................................................................................................... */
.x_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  text-align: left;
}

.x_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
}

.x_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  text-align: right;
}

.x_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
}

.x_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
}

.x_evenly {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-evenly;
  -webkit-justify-content: space-evenly;
}

/* - Alignements verticaux des lignes de contenu (y)
..................................................................................................................... */
.y_content_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
}

.y_content_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
}

.y_content_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-end;
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
}

.y_content_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
}

.y_content_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-around;
  -webkit-align-content: space-around;
  -ms-flex-line-pack: distribute;
}

.y_content_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
}

/* - Alignements verticaux des items (y)
..................................................................................................................... */
.y_items_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
}

.y_items_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.y_items_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
}

.y_items_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
}

/* - Alignements selfs
..................................................................................................................... */
.y_self_start {
  align-self: flex-start;
  -webkit-align-self: flex-start;
  -ms-grid-column-align: start;
}

.y_self_center {
  align-self: center;
  -webkit-align-self: center;
  -ms-grid-column-align: center;
}

.y_self_end {
  align-self: flex-end;
  -webkit-align-self: flex-end;
  -ms-grid-column-align: end;
}

/* - Alignements responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .x_align_absolute_xs {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xs {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xs {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xs {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xs {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xs {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xs {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xs {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xs {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xs {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xs {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 576px) {
  .x_align_absolute_sm {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_sm {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_sm {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_sm {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_sm {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_sm {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_sm {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_sm {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_sm {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_sm {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_sm {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_sm {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 768px) {
  .x_align_absolute_md {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_md {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_md {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_md {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_md {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_md {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_md {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_md {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_md {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_md {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_md {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_md {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1024px) {
  .x_align_absolute_lg {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_lg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_lg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_lg {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_lg {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_lg {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_lg {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_lg {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_lg {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_lg {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_lg {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_lg {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1230px) {
  .x_align_absolute_xl {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xl {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xl {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xl {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xl {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xl {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xl {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xl {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xl {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xl {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xl {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
/* - Fnct Display
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Display
--------------------------------------------------------------------------------------------------------------------- */
/* - Affichage des éléments
..................................................................................................................... */
.d_none {
  display: none;
}

.d_ib {
  display: inline-block;
}

.d_flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media (min-width: 440px) {
  .d_none_xs {
    display: none;
  }
  .d_ib_xs {
    display: inline-block;
  }
  .d_flex_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 576px) {
  .d_none_sm {
    display: none;
  }
  .d_ib_sm {
    display: inline-block;
  }
  .d_flex_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 768px) {
  .d_none_md {
    display: none;
  }
  .d_ib_md {
    display: inline-block;
  }
  .d_flex_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1024px) {
  .d_none_lg {
    display: none;
  }
  .d_ib_lg {
    display: inline-block;
  }
  .d_flex_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1230px) {
  .d_none_xl {
    display: none;
  }
  .d_ib_xl {
    display: inline-block;
  }
  .d_flex_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
/* - Fnct Ordres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ordres
--------------------------------------------------------------------------------------------------------------------- */
/* - First
..................................................................................................................... */
.order_first {
  order: -1;
  -webkit-flex-order: -1;
  -ms-flex-order: -1;
}

/* - Last
..................................................................................................................... */
.order_last {
  order: 1;
  -webkit-flex-order: 1;
  -ms-flex-order: 1;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .order_first_xs {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xs {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 576px) {
  .order_first_sm {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_sm {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 768px) {
  .order_first_md {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_md {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1024px) {
  .order_first_lg {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_lg {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1230px) {
  .order_first_xl {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xl {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
/* - Fnct Directions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Directions
--------------------------------------------------------------------------------------------------------------------- */
/* - Row
..................................................................................................................... */
.direction_x {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

/* - Row Revert
..................................................................................................................... */
.direction_x_revert {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* - Column
..................................................................................................................... */
.direction_y {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.direction_y > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Column Revert
..................................................................................................................... */
.direction_y_revert {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}
.direction_y_revert > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .direction_x_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .direction_x_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .direction_x_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .direction_x_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .direction_x_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
/* - Fnct Tailles
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Tailles
--------------------------------------------------------------------------------------------------------------------- */
/* - Largeur forcée
..................................................................................................................... */
.w_full {
  width: 100%;
}

/* - Hauteur forcée
..................................................................................................................... */
.h_full {
  height: 100%;
}

/* - Tailles responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .w_full_xs {
    width: 100%;
  }
  .h_full_xs {
    height: 100%;
  }
}
@media (min-width: 576px) {
  .w_full_sm {
    width: 100%;
  }
  .h_full_sm {
    height: 100%;
  }
}
@media (min-width: 768px) {
  .w_full_md {
    width: 100%;
  }
  .h_full_md {
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .w_full_lg {
    width: 100%;
  }
  .h_full_lg {
    height: 100%;
  }
}
@media (min-width: 1230px) {
  .w_full_xl {
    width: 100%;
  }
  .h_full_xl {
    height: 100%;
  }
}
/* - Fnct Transitions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transitions
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Animations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Animations
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Transforms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transforms
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - hover, focus, active, visited
..................................................................................................................... */
/* - Fnct Ombres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ombres
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Radius
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Radius
--------------------------------------------------------------------------------------------------------------------- */
/* - Fonts
..................................................................................................................... */
/** Fonts text **/
@font-face {
  font-family: "HernandezBrosRegular";
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot);
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/HernandezBros-Regular.36e62a87.woff2) format("woff2"), url(/build/shop/fonts/HernandezBros-Regular.dc5fafe7.woff) format("woff"), url(/build/shop/fonts/HernandezBros-Regular.17840eb2.ttf) format("truetype"), url(/build/shop/images/HernandezBros-Regular.d37668c9.svg#HernandezBros-Regular) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/** ReSee Font icons **/
@font-face {
  font-family: "resee";
  src: url(/build/shop/fonts/resee.a39b8d12.eot);
  src: url(/build/shop/fonts/resee.a39b8d12.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/resee.4439cd11.woff) format("woff"), url(/build/shop/fonts/resee.45516bb8.ttf) format("truetype"), url(/build/shop/images/resee.70a233cf.svg#resee) format("svg");
  font-weight: normal;
  font-style: normal;
}
[data-icon]:before {
  font-family: "resee" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "resee" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-camera:before {
  content: "\e000";
}

.icon-cart:before {
  content: "\e001";
}

.icon-chevron:before {
  content: "\e002";
}

.icon-clock:before {
  content: "\e003";
}

.icon-cross:before {
  content: "\e004";
}

.icon-edit:before {
  content: "\e005";
}

.icon-facebook:before {
  content: "\e006";
}

.icon-glass:before {
  content: "\e007";
}

.icon-heart:before {
  content: "\e008";
}

.icon-import:before {
  content: "\e009";
}

.icon-instagram:before {
  content: "\e00a";
}

.icon-linkedin:before {
  content: "\e00b";
}

.icon-phone:before {
  content: "\e00c";
}

.icon-rea-authentic:before {
  content: "\e00d";
}

.icon-rea-calendar:before {
  content: "\e00e";
}

.icon-rea-phone:before {
  content: "\e00f";
}

.icon-rea-secured:before {
  content: "\e010";
}

.icon-rea-selling:before {
  content: "\e011";
}

.icon-rea-worldwide:before {
  content: "\e012";
}

.icon-twitter:before {
  content: "\e013";
}

.icon-user:before {
  content: "\e014";
}

.icon-whatsapp:before {
  content: "\e015";
}

.icon-pinterest:before {
  content: "\e016";
}

.icon-heart-full:before {
  content: "\e017";
}

.icon-list-view1:before {
  content: "\e018";
}

.icon-list-view2:before {
  content: "\e019";
}

.icon-list-view3:before {
  content: "\e01a";
}

.icon-list-view4:before {
  content: "\e01b";
}

.icon-email:before {
  content: "\e01c";
}

.icon-eye:before {
  content: "\e01d";
}

.icon-hourglass:before {
  content: "\e01e";
}

.icon-check:before {
  content: "\e01f";
}

.icon-calendar:before {
  content: "\e020";
}

.icon-alert:before {
  content: "\e021";
}

.icon-world:before {
  content: "\e022";
}

.icon-bell:before {
  content: "\e023";
}

.icon-check-round:before {
  content: "\e024";
}

.icon-contact:before {
  content: "\e025";
}

.icon-package:before {
  content: "\e026";
}

.icon-package-premium:before {
  content: "";
}

.icon-stars:before {
  content: "\e027";
}

.icon-pin:before {
  content: "\e94c";
}

.icon-laundry {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27 fill=%27none%27 stroke=%27black%27 stroke-width=%274%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M32 12a8 8 0 0 1 8 8c0 4.418-3.582 8-8 8v6l24 14a4 4 0 0 1-4 6H12a4 4 0 0 1-4-6l24-14v-6%27/%3E%3Cpath d=%27M32 12a8 8 0 0 0-8 8%27 /%3E%3C/svg%3E");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 25px;
}

.icon-beautification:before {
  content: "\e027";
}

.icon-youtube {
  background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZlOGQ2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjUwcHgiPjxwYXRoIGQ9Ik0gNDQuODk4NDM4IDE0LjUgQyA0NC41IDEyLjMwMDc4MSA0Mi42MDE1NjMgMTAuNjk5MjE5IDQwLjM5ODQzOCAxMC4xOTkyMTkgQyAzNy4xMDE1NjMgOS41IDMxIDkgMjQuMzk4NDM4IDkgQyAxNy44MDA3ODEgOSAxMS42MDE1NjMgOS41IDguMzAwNzgxIDEwLjE5OTIxOSBDIDYuMTAxNTYzIDEwLjY5OTIxOSA0LjE5OTIxOSAxMi4xOTkyMTkgMy44MDA3ODEgMTQuNSBDIDMuMzk4NDM4IDE3IDMgMjAuNSAzIDI1IEMgMyAyOS41IDMuMzk4NDM4IDMzIDMuODk4NDM4IDM1LjUgQyA0LjMwMDc4MSAzNy42OTkyMTkgNi4xOTkyMTkgMzkuMzAwNzgxIDguMzk4NDM4IDM5LjgwMDc4MSBDIDExLjg5ODQzOCA0MC41IDE3Ljg5ODQzOCA0MSAyNC41IDQxIEMgMzEuMTAxNTYzIDQxIDM3LjEwMTU2MyA0MC41IDQwLjYwMTU2MyAzOS44MDA3ODEgQyA0Mi44MDA3ODEgMzkuMzAwNzgxIDQ0LjY5OTIxOSAzNy44MDA3ODEgNDUuMTAxNTYzIDM1LjUgQyA0NS41IDMzIDQ2IDI5LjM5ODQzOCA0Ni4xMDE1NjMgMjUgQyA0NS44OTg0MzggMjAuNSA0NS4zOTg0MzggMTcgNDQuODk4NDM4IDE0LjUgWiBNIDE5IDMyIEwgMTkgMTggTCAzMS4xOTkyMTkgMjUgWiIvPjwvc3ZnPg==) 50% 50% no-repeat;
  background-size: contain;
}

/* - Buttons
..................................................................................................................... */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    height: 46px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    height: calc(46px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    height: 50px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-left: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-left: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-left: 20px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-right: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-right: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-right: 20px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 40px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: calc(40px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 44px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 32px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: calc(32px + (3) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 35px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .content_link {
    padding-top: 8px;
  }
}
@media (min-width: 440px) {
  .content_link {
    padding-top: calc(8px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    padding-top: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .content_link {
    margin-top: 15px;
  }
}
@media (min-width: 440px) {
  .content_link {
    margin-top: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    margin-top: 20px;
  }
}

.btn_cta:not(.link_cta) {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  background: #ffe8d6;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.btn_cta:not(.link_cta) span {
  display: block;
  width: 100%;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta).btn_black, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta) {
  background: #121212;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):hover, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):focus, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled).hover, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_cream {
  background: #ea3b0c;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):hover {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):focus {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled).hover {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_white, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta) {
  background: #ffffff;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):hover, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):focus, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled).hover, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines {
  background: transparent;
  border: 1px solid #bdbdbd;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled).hover {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_icon span {
  position: relative;
  padding-left: 24px;
}
.btn_cta:not(.link_cta).btn_icon span:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 1.1em;
}
.btn_cta:not(.link_cta).btn_dl span:before {
  content: "\e009";
  font-family: "resee";
}
.btn_cta:not(.link_cta):disabled, .btn_cta:not(.link_cta).disabled {
  background: #f9f9f9 !important;
  border-color: #f9f9f9 !important;
  color: #585858 !important;
  cursor: default;
}

.link_cta {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  position: relative;
  padding-left: 24px;
  overflow: hidden;
}
.link_cta a:before, .link_cta a:after {
  content: "";
  position: absolute;
  left: -24px;
  top: 0;
  bottom: 0;
  width: 45px;
  background-image: url(/build/shop/images/chevron.97912051.svg);
  background-repeat: no-repeat;
  background-size: 5px;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.link_cta.link_beige {
  color: #ffe8d6;
}
.link_cta.link_beige:before, .link_cta.link_beige:after {
  background-image: url(/build/shop/images/chevron_beige.db656903.svg);
}
.link_cta.link_white {
  color: #ffffff;
}
.link_cta.link_white:before, .link_cta.link_white:after {
  background-image: url(/build/shop/images/chevron_white.23f31dc4.svg);
}
.link_cta:before {
  background-position: center left 10px;
}
.link_cta:after {
  background-position: center left 32px;
}
.link_cta:hover:before {
  background-position: center left 32px;
}
.link_cta:hover:after {
  background-position: center left 54px;
}
.link_cta:focus:before {
  background-position: center left 32px;
}
.link_cta:focus:after {
  background-position: center left 54px;
}
.link_cta.hover:before {
  background-position: center left 32px;
}
.link_cta.hover:after {
  background-position: center left 54px;
}
.link_cta.soft {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_next {
  padding-left: 0;
  padding-right: 24px;
}
.link_cta.link_next:before, .link_cta.link_next:after {
  right: -24px;
  left: inherit;
}
.link_cta.link_next:before {
  background-position: center right 32px;
}
.link_cta.link_next:after {
  background-position: center right 54px;
}
.link_cta.link_next:hover:before {
  background-position: center right 10px;
}
.link_cta.link_next:hover:after {
  background-position: center right 32px;
}
.link_cta.link_next:focus:before {
  background-position: center right 10px;
}
.link_cta.link_next:focus:after {
  background-position: center right 32px;
}
.link_cta.link_next.hover:before {
  background-position: center right 10px;
}
.link_cta.link_next.hover:after {
  background-position: center right 32px;
}
.link_cta.link_back {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_back:before, .link_cta.link_back:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.link_cta.link_back:before {
  background-position: center left -10px;
}
.link_cta.link_back:after {
  background-position: center left 6px;
}
.link_cta.link_back:hover:before {
  background-position: center left 6px;
}
.link_cta.link_back:hover:after {
  background-position: center left 22px;
}
.link_cta.link_back:focus:before {
  background-position: center left 6px;
}
.link_cta.link_back:focus:after {
  background-position: center left 22px;
}
.link_cta.link_back.hover:before {
  background-position: center left 6px;
}
.link_cta.link_back.hover:after {
  background-position: center left 22px;
}

.content_link {
  display: block;
  text-align: right;
  position: relative;
  overflow: hidden;
}
.content_link:before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link.hover:before {
  left: 0;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
.content_link.hover:after {
  left: 130%;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.login .link_cta {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content {
    padding-bottom: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content {
    padding-bottom: calc(30px + (110) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content {
    padding-bottom: 140px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: calc(30px + (50) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: 80px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: calc(30px + (50) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: 80px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero .scroll_bottom {
    bottom: 15px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .scroll_bottom {
    bottom: calc(15px + (35) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .scroll_bottom {
    bottom: 50px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    top: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    top: calc(-70px + (-70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    top: -140px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    padding-top: 70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    padding-top: calc(70px + (70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    padding-top: 140px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    padding-bottom: 70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    padding-bottom: calc(70px + (10) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    padding-bottom: 80px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    margin-bottom: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    margin-bottom: calc(-70px + (-70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    margin-bottom: -140px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero + section {
    margin-top: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero + section {
    margin-top: calc(-70px + (-10) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero + section {
    margin-top: -80px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    top: -97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    top: calc(-97px + (-81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    top: -178px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    padding-top: 97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    padding-top: calc(97px + (81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    padding-top: 178px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: -97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: calc(-97px + (-81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: -178px;
  }
}

.bloc_hero {
  background: #ffffff;
  height: calc(100vh - 10px);
}
.bloc_hero > div, .bloc_hero > a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.bloc_hero > div > div, .bloc_hero > a > div {
  position: relative;
  z-index: 2;
}
.bloc_hero img, .bloc_hero video {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
}
.bloc_hero .ck-content {
  display: block;
  width: 100%;
}
.bloc_hero .ck-content .titre_h1 {
  color: #ffe8d6;
}
.bloc_hero .ck-content .link {
  display: block;
  padding-top: 30px;
  margin-top: 30px;
  border-top: 0px solid #ffe8d6;
  text-align: right;
  text-decoration: none;
}
.bloc_hero .ck-content .link:only-child {
  border: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.bloc_hero .ck-content .scroll_bottom {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #ffe8d6;
  padding-bottom: 15px;
  cursor: pointer;
}
.bloc_hero .ck-content .scroll_bottom .txt {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 0.95em;
  text-transform: uppercase;
}
.bloc_hero .ck-content .scroll_bottom .icon {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  font-size: 0.8em;
  animation: scroll_bottom 5s infinite;
}
.bloc_hero .ck-content .scroll_bottom .icon:before {
  display: block;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.bloc_hero .ck-content.black .titre_h1 {
  color: #121212;
}
.bloc_hero .ck-content.black .link {
  border-color: #121212;
}
.bloc_hero .ck-content.black .scroll_bottom {
  color: #121212;
}
.bloc_hero .ck-content.white .titre_h1 {
  color: #ffffff;
}
.bloc_hero .ck-content.white .link {
  border-color: #ffffff;
}
.bloc_hero .ck-content.white .scroll_bottom {
  color: #ffffff;
}

@media (min-width: 1024px) {
  .bloc_hero {
    padding-bottom: 0;
  }
  .bloc_hero + section {
    margin-top: 0;
  }
}
@media (max-width: calc(768px - 1px)) {
  .bloc_hero .ck-content .scroll_bottom {
    display: none;
  }
}
@media (max-width: calc(768px - 1px)) {
  .bloc_hero {
    height: calc(100vh - 8px);
    margin-left: -12px;
    margin-right: -12px;
  }
  .bloc_hero > div, .bloc_hero > a {
    padding-left: 12px;
    padding-right: 12px;
  }
}
@-webkit-keyframes scroll_bottom {
  0% {
    opacity: 0;
    bottom: 0;
  }
  10% {
    opacity: 1;
    bottom: 0;
  }
  50% {
    opacity: 1;
    bottom: 0;
  }
  75% {
    opacity: 1;
    bottom: -10px;
  }
  100% {
    opacity: 0;
    bottom: -10px;
  }
}
@keyframes scroll_bottom {
  0% {
    opacity: 0;
    bottom: 0;
  }
  10% {
    opacity: 1;
    bottom: 0;
  }
  50% {
    opacity: 1;
    bottom: 0;
  }
  75% {
    opacity: 1;
    bottom: -10px;
  }
  100% {
    opacity: 0;
    bottom: -10px;
  }
}
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner {
    width: 250px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner {
    width: calc(250px + (150) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner {
    width: 400px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: 25px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: calc(25px + (0) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: 25px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: 30px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: calc(30px + (0) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: 30px;
  }
}

.subscription-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.subscription-modal.hidden {
  display: none;
}

.subscription-modal .modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.subscription-modal .modal-content {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 2rem;
  border-radius: 0cap;
  max-width: 420px;
  width: 90%;
  text-align: center;
}
.subscription-modal .modal-content .modal-close {
  position: absolute;
  right: 12px;
  top: 8px;
  font-size: 20px;
}
.subscription-modal .modal-content .medium {
  font-size: 1rem;
  line-height: 1.6rem;
}
.subscription-modal .modal-content .small {
  margin-bottom: 0px;
  font-size: 0.8rem;
  line-height: 1rem;
}
.subscription-modal .modal-content .top {
  margin: 10px 0 30px;
}
.subscription-modal .modal-content .top button.btn_cta.btn_black, .subscription-modal .modal-content .top .bloc_hero .ck-content.black .link button.btn_cta, .bloc_hero .ck-content.black .link .subscription-modal .modal-content .top button.btn_cta {
  background: #ffe8d6;
  color: #121212;
  transition: box-shadow 0.3s ease;
}
.subscription-modal .modal-content .top button.btn_cta.btn_black:hover, .subscription-modal .modal-content .top .bloc_hero .ck-content.black .link button.btn_cta:hover, .bloc_hero .ck-content.black .link .subscription-modal .modal-content .top button.btn_cta:hover {
  box-shadow: 0 8px 15px rgba(252, 236, 224, 0.6);
  background: #ffe8d6;
  color: #121212;
}
.subscription-modal .modal-content .bottom {
  margin: 5px 0 10px;
}
.subscription-modal .modal-content .bottom button.btn_cta.btn_black, .subscription-modal .modal-content .bottom .bloc_hero .ck-content.black .link button.btn_cta, .bloc_hero .ck-content.black .link .subscription-modal .modal-content .bottom button.btn_cta {
  background: #ffffff;
  color: #121212;
  text-decoration: underline;
  height: auto;
}
.subscription-modal .modal-content .bottom button.btn_cta.btn_black:hover, .subscription-modal .modal-content .bottom .bloc_hero .ck-content.black .link button.btn_cta:hover, .bloc_hero .ck-content.black .link .subscription-modal .modal-content .bottom button.btn_cta:hover {
  text-decoration: none;
  background: #ffffff;
  color: #121212;
}

.subscriptions_page {
  /* Assure que les colonnes ont la même hauteur sur une même ligne */
  /* On force la partie description à prendre tout l'espace disponible */
  /* Optionnel : Ajoute un peu de marge au dessus du bouton pour qu'il ne colle pas au texte */
}
.subscriptions_page .top_cms {
  padding: 0 20px;
  position: relative;
  z-index: 1;
  margin-bottom: 15px;
}
.subscriptions_page .top_cms .ck-content {
  padding: 20px;
  display: block;
  width: 100%;
}
.subscriptions_page .content_cms .cms_content_row.choice .cms_column [class*=element_] {
  padding: 6%;
}
.subscriptions_page .ck-content.subscription-card {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
  width: 100%;
}
.subscriptions_page .cms_row {
  display: flex;
  flex-wrap: wrap;
}
.subscriptions_page .cms_column {
  display: flex;
}
.subscriptions_page .subscription_description {
  flex-grow: 1;
}
.subscriptions_page .open-subscription-modal {
  margin-top: 20px;
  align-self: center; /* Pour centrer le bouton horizontalement si besoin */
  width: fit-content;
}
.subscriptions_page .btn_expand_mobile {
  display: none; /* Cache le bouton sur ordinateur */
}
.subscriptions_page .subscription-footer {
  margin-top: 10px;
  display: flex;
  justify-content: center; /* Bouton bien large et centré en bas */
}
.subscriptions_page .subscription-footer .btn_cta {
  width: 80%; /* Bouton pleine largeur sur mobile, très efficace pour le clic */
  margin-top: 10px;
  background: #121212;
  color: #ffffff;
}
.subscriptions_page .content_cms .cms_content_row.benefit .cms_column [class*=element_] {
  padding: 2%;
  margin-top: 10px;
}
.subscriptions_page .content_cms .cms_content_row.benefit .ck-content .titre_h4 {
  font-size: 24px;
}

.expandable_wrapper.is_collapsed_mobile {
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

.faq .titre_h4 {
  margin: 20px auto;
  text-align: center;
  width: 100%;
}
.faq .row.faqs {
  flex-direction: column;
}

@media (min-width: 768px) {
  .expandable_wrapper.is_collapsed_mobile {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
  .content_cms .cms_content_row.sub_title .cms_column [class*=element_] + [class*=element_] {
    margin: 20px 0 40px;
  }
  .content_cms .cms_content_row.benefittitle .cms_column [class*=element_] {
    margin: 40px 0 30px;
  }
  .content_cms .cms_content_row.sub_title .cms_column .element_image img {
    display: block;
    width: 90%;
    text-align: center;
    margin: 0 auto;
  }
}
@media (max-width: calc(768px - 1px)) {
  .subscriptions_page {
    /*   .btn_expand_mobile {
           display: flex;
           align-items: center;
           justify-content: flex-start;
           gap: 10px;
           width: 100%;
           background: none;
           padding: 5px 0;
           margin: 0 0 10px 0;
           text-decoration: underline;
           color: $grey-dark;
           text-underline-offset: 3px;
           .icon-arrow-down {
               transition: transform 0.3s ease;
           }

           // Rotation de la flèche quand c'est ouvert
           &[aria-expanded="true"] .icon-arrow-down {
               transform: rotate(180deg);
           }
       }

       .expandable_wrapper.is_collapsed_mobile {
           max-height: 0;
           opacity: 0;
           pointer-events: none;
       }

       */
    /* On réduit l'espace des listes pour que ça prenne moins de place en hauteur */
  }
  .subscriptions_page .top_cms {
    padding: 0 10px;
    margin-bottom: 5px;
  }
  .subscriptions_page .top_cms .ck-content {
    padding: 10px 0px;
    display: block;
    width: 100%;
  }
  .subscriptions_page .sub_title .element_text .content_text {
    height: 34px;
  }
  .subscriptions_page .sub_title .element_text .content_text .ck-content .titre_h4 {
    font-size: 16px;
  }
  .subscriptions_page .benefittitle .element_text .content_text {
    height: 25px;
  }
  .subscriptions_page .benefittitle .element_text .content_text .ck-content .titre_h4 {
    font-size: 20px;
    font-weight: bold;
  }
  .subscriptions_page .content_cms .cms_content_row.benefit .ck-content .titre_h4 {
    font-size: 18px;
  }
  .subscriptions_page .content_cms .cms_content_row.sub_title .cms_column [class*=element_] + [class*=element_] {
    margin-top: 3px;
  }
  .subscriptions_page .content_cms .cms_content_row.benefittitle .cms_column [class*=element_] + [class*=element_] {
    margin: 10px 0px;
  }
  .subscriptions_page .content_cms .cms_column {
    margin-bottom: 30px; /* Espace entre les deux abonnements */
    padding: 0 15px; /* Évite que les blocs touchent les bords du téléphone */
  }
  .subscriptions_page .content_cms .cms_content_row.choice .cms_column [class*=element_] {
    padding: 2%;
  }
  .subscriptions_page .subscription-card {
    display: flex;
    flex-direction: column; /* On reste vertical mais on change le look */
    padding: 10px;
    text-align: left; /* Plus lisible qu'au centre sur mobile */
  }
  .subscriptions_page .subscription-header {
    padding-bottom: 5px;
  }
  .subscriptions_page .subscription-header .titre_h3 {
    text-align: left !important; /* On force le gauche pour le format liste */
    margin-bottom: 5px;
    margin-top: 0px;
    font-size: 24px;
  }
  .subscriptions_page .subscription-body ul {
    padding-left: 20px;
    font-size: 14px;
  }
  .subscription-modal .modal-content .medium {
    font-size: 0.9rem;
  }
  .subscription-modal .modal-content .titre_h5 {
    font-size: 20px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9ucy5jc3MiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGdCQUFnQjtBQ0FoQjs7dUhBQUE7QUFJQTt1SEFBQTtBQXlCQTt1SEFBQTtBQzdCQTs7dUhBQUE7QUFJQTt1SEFBQTtBQVNBO3VIQUFBO0FBZUE7dUhBQUE7QUN2QkE7O3VIQUFBO0FBSUE7dUhBQUE7QUFLQTt1SEFBQTtBQWtCQTt1SEFBQTtBQU9BO3VIQUFBO0FBS0E7dUhBQUE7QUFVQTt1SEFBQTtBQ3REQTs7dUhBQUE7QUFJQTt1SEFBQTtBQWFBO3VIQUFBO0FBS0E7dUhBQUE7QUFrQkE7dUhBQUE7QUFPQTt1SEFBQTtBQUtBO3VIQUFBO0FES0E7dUhBQUE7QUV6REE7O3VIQUFBO0FBSUE7dUhBQUE7QUZ3REE7dUhBQUE7QUc1REE7O3VIQUFBO0FBSUE7dUhBQUE7QUFtRUE7dUhBQUE7QUFtSEE7dUhBQUE7QUgzSEE7dUhBQUE7QUkvREE7O3VIQUFBO0FBTUM7cUhBQUE7QUFTQTtxSEFBQTtBSm1ERDt1SEFBQTtBS2xFQTs7dUhBQUE7QUFJQTt1SEFBQTtBTGlFQTt1SEFBQTtBTXJFQTs7dUhBQUE7QUFJQTt1SEFBQTtBQUtBO0VBQ0U7RUFDQTtBVGlGRjs7QVN6REU7RUFHRSxnQk5yQnVCO0FIK0UzQjtBUy9FRTtFQUVJO0VBQ0E7RUFDQTtBVGdGTjtBTW5GQztFR0RDO0lBTU07SUFDQTtJQUNBO0VUa0ZOO0FBQ0Y7O0FTekVFO0VBR0UsZ0JOckJ1QjtBSCtGM0I7QVMvRkU7RUFFSTtFQUNBO0VBQ0E7QVRnR047QU1uR0M7RUdEQztJQU1NO0lBQ0E7SUFDQTtFVGtHTjtBQUNGOztBU3pGRTtFQUdFLGdCTnJCdUI7QUgrRzNCO0FTL0dFO0VBRUk7RUFDQTtFQUNBO0FUZ0hOO0FNbkhDO0VHREM7SUFNTTtJQUNBO0lBQ0E7RVRrSE47QUFDRjs7QVN6R0U7RUFHRSxpQk5yQnVCO0FIK0gzQjtBUy9IRTtFQUVJO0VBQ0E7RUFDQTtBVGdJTjtBTW5JQztFR0RDO0lBTU07SUFDQTtJQUNBO0VUa0lOO0FBQ0Y7O0FTekhFO0VBR0UsaUJOckJ1QjtBSCtJM0I7QVMvSUU7RUFFSTtFQUNBO0VBQ0E7QVRnSk47QU1uSkM7RUdEQztJQU1NO0lBQ0E7SUFDQTtFVGtKTjtBQUNGOztBU3pJRTtFQUdFLGVOckJ1QjtBSCtKM0I7QVMvSkU7RUFXSTtFQUNBO0FUdUpOOztBUzFJQTt1SEFBQTtBQW1EQTtFQTdDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDBJRjtBU3RJRTtFQUNFO0VBQ0E7QVR3SUo7QVN2SUk7RUFDRSxtQk5wQ3FCO0VNcUNyQixrQk5yQ3FCO0FIOEszQjtBTS9MQztFR2lEQztJQVFJO0lBQ0E7RVQwSUo7RVN6SUk7SUFDRSxrQk56Q21CO0lNMENuQixpQk4xQ21CO0VIcUx6QjtBQUNGO0FTcklFO0VBQ0U7RUFDQTtFQUNBO0FUdUlKOztBUy9IQTt1SEFBQTtBQXFCQTtFQWRFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVDJIRjs7QVNwR0E7RUFaRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FUa0hGOztBUzNGQTtFQVpFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QVR5R0Y7O0FTNUZFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUMkZKOztBU3JGSTtFQUNFO0FUd0ZOOztBUzVHRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVDJHSjs7QVN4SEU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVR1SEo7O0FTcElFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUbUlKOztBU2hKRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVCtJSjs7QVM1SkU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVQySko7O0FTeEtFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUdUtKOztBU3BMRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVG1MSjs7QVNoTUU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVQrTEo7O0FTNU1FO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUMk1KOztBU3hORTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVHVOSjs7QVNwT0U7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVRtT0o7O0FTaFBFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUK09KOztBTTFaQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUME5SO0VTek9NO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzT1I7RVNyUE07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtQUjtFU2pRTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOFBSO0VTN1FNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwUVI7RVN6Uk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNSUjtFU3JTTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa1NSO0VTalRNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4U1I7RVM3VE07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBUUjtFU3pVTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc1VSO0VTclZNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrVlI7RVNqV007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhWUjtFUzdXTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMFdSO0VTdldJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVHNXTjtFU3BXSTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7RVRtV047RVNqV0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUZ1dOO0FBQ0Y7QU12bEJDO0VHK0xPO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzWlI7RVNyYU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGthUjtFU2piTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOGFSO0VTN2JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwYlI7RVN6Y007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNjUjtFU3JkTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2RSO0VTamVNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4ZFI7RVM3ZU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBlUjtFU3pmTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2ZSO0VTcmdCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2dCUjtFU2poQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhnQlI7RVM3aEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwaEJSO0VTemlCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2lCUjtFU25pQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUa2lCTjtFU2hpQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUK2hCTjtFUzdoQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUNGhCTjtBQUNGO0FNbnhCQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2xCUjtFU2ptQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhsQlI7RVM3bUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwbUJSO0VTem5CTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc25CUjtFU3JvQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtvQlI7RVNqcEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4b0JSO0VTN3BCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMHBCUjtFU3pxQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNxQlI7RVNyckJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrckJSO0VTanNCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOHJCUjtFUzdzQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBzQlI7RVN6dEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzdEJSO0VTcnVCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa3VCUjtFUy90Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUOHRCTjtFUzV0Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUMnRCTjtFU3p0Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUd3RCTjtBQUNGO0FNLzhCQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOHdCUjtFUzd4Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDB4QlI7RVN6eUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzeUJSO0VTcnpCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa3pCUjtFU2owQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDh6QlI7RVM3MEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwMEJSO0VTejFCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUczFCUjtFU3IyQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGsyQlI7RVNqM0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4MkJSO0VTNzNCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMDNCUjtFU3o0Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHM0QlI7RVNyNUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrNUJSO0VTajZCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUODVCUjtFUzM1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUMDVCTjtFU3g1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUdTVCTjtFU3I1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUbzVCTjtBQUNGO0FNM29DQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMDhCUjtFU3o5Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHM5QlI7RVNyK0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrK0JSO0VTai9CTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOCtCUjtFUzcvQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDAvQlI7RVN6Z0NNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzZ0NSO0VTcmhDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2hDUjtFU2ppQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhoQ1I7RVM3aUNNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwaUNSO0VTempDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2pDUjtFU3JrQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtrQ1I7RVNqbENNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4a0NSO0VTN2xDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMGxDUjtFU3ZsQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUc2xDTjtFU3BsQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUbWxDTjtFU2psQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUZ2xDTjtBQUNGO0FTcmtDRTtFQUNFO0FUdWtDSjs7QVN4a0NFO0VBQ0U7QVQya0NKOztBUzVrQ0U7RUFDRTtBVCtrQ0o7O0FTaGxDRTtFQUNFO0FUbWxDSjs7QVNwbENFO0VBQ0U7QVR1bENKOztBU3hsQ0U7RUFDRTtBVDJsQ0o7O0FTNWxDRTtFQUNFO0FUK2xDSjs7QVNobUNFO0VBQ0U7QVRtbUNKOztBU3BtQ0U7RUFDRTtBVHVtQ0o7O0FTeG1DRTtFQUNFO0FUMm1DSjs7QVM1bUNFO0VBQ0U7QVQrbUNKOztBU2huQ0U7RUFDRTtBVG1uQ0o7O0FTcG5DRTtFQUNFO0FUdW5DSjs7QU0xM0NDO0VHK1FPO0lBQ0U7RVQrbUNSO0VTaG5DTTtJQUNFO0VUa25DUjtFU25uQ007SUFDRTtFVHFuQ1I7RVN0bkNNO0lBQ0U7RVR3bkNSO0VTem5DTTtJQUNFO0VUMm5DUjtFUzVuQ007SUFDRTtFVDhuQ1I7RVMvbkNNO0lBQ0U7RVRpb0NSO0VTbG9DTTtJQUNFO0VUb29DUjtFU3JvQ007SUFDRTtFVHVvQ1I7RVN4b0NNO0lBQ0U7RVQwb0NSO0VTM29DTTtJQUNFO0VUNm9DUjtFUzlvQ007SUFDRTtFVGdwQ1I7RVNqcENNO0lBQ0U7RVRtcENSO0FBQ0Y7QU1wNkNDO0VHK1FPO0lBQ0U7RVR3cENSO0VTenBDTTtJQUNFO0VUMnBDUjtFUzVwQ007SUFDRTtFVDhwQ1I7RVMvcENNO0lBQ0U7RVRpcUNSO0VTbHFDTTtJQUNFO0VUb3FDUjtFU3JxQ007SUFDRTtFVHVxQ1I7RVN4cUNNO0lBQ0U7RVQwcUNSO0VTM3FDTTtJQUNFO0VUNnFDUjtFUzlxQ007SUFDRTtFVGdyQ1I7RVNqckNNO0lBQ0U7RVRtckNSO0VTcHJDTTtJQUNFO0VUc3JDUjtFU3ZyQ007SUFDRTtFVHlyQ1I7RVMxckNNO0lBQ0U7RVQ0ckNSO0FBQ0Y7QU03OENDO0VHK1FPO0lBQ0U7RVRpc0NSO0VTbHNDTTtJQUNFO0VUb3NDUjtFU3JzQ007SUFDRTtFVHVzQ1I7RVN4c0NNO0lBQ0U7RVQwc0NSO0VTM3NDTTtJQUNFO0VUNnNDUjtFUzlzQ007SUFDRTtFVGd0Q1I7RVNqdENNO0lBQ0U7RVRtdENSO0VTcHRDTTtJQUNFO0VUc3RDUjtFU3Z0Q007SUFDRTtFVHl0Q1I7RVMxdENNO0lBQ0U7RVQ0dENSO0VTN3RDTTtJQUNFO0VUK3RDUjtFU2h1Q007SUFDRTtFVGt1Q1I7RVNudUNNO0lBQ0U7RVRxdUNSO0FBQ0Y7QU10L0NDO0VHK1FPO0lBQ0U7RVQwdUNSO0VTM3VDTTtJQUNFO0VUNnVDUjtFUzl1Q007SUFDRTtFVGd2Q1I7RVNqdkNNO0lBQ0U7RVRtdkNSO0VTcHZDTTtJQUNFO0VUc3ZDUjtFU3Z2Q007SUFDRTtFVHl2Q1I7RVMxdkNNO0lBQ0U7RVQ0dkNSO0VTN3ZDTTtJQUNFO0VUK3ZDUjtFU2h3Q007SUFDRTtFVGt3Q1I7RVNud0NNO0lBQ0U7RVRxd0NSO0VTdHdDTTtJQUNFO0VUd3dDUjtFU3p3Q007SUFDRTtFVDJ3Q1I7RVM1d0NNO0lBQ0U7RVQ4d0NSO0FBQ0Y7QU0vaERDO0VHK1FPO0lBQ0U7RVRteENSO0VTcHhDTTtJQUNFO0VUc3hDUjtFU3Z4Q007SUFDRTtFVHl4Q1I7RVMxeENNO0lBQ0U7RVQ0eENSO0VTN3hDTTtJQUNFO0VUK3hDUjtFU2h5Q007SUFDRTtFVGt5Q1I7RVNueUNNO0lBQ0U7RVRxeUNSO0VTdHlDTTtJQUNFO0VUd3lDUjtFU3p5Q007SUFDRTtFVDJ5Q1I7RVM1eUNNO0lBQ0U7RVQ4eUNSO0VTL3lDTTtJQUNFO0VUaXpDUjtFU2x6Q007SUFDRTtFVG96Q1I7RVNyekNNO0lBQ0U7RVR1ekNSO0FBQ0Y7QUcxZ0RBO3VIQUFBO0FPeEVBOzt1SEFBQTtBQUlBO3VIQUFBO0FQdUVBO3VIQUFBO0FRM0VBOzt1SEFBQTtBQUlBO3VIQUFBO0FBV0E7dUhBQUE7QUFlQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ2xERDs7QVc3akRBO0VBVEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwa0REOztBV3RqREE7RUFWQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYb2tERDs7QVdoakRBO0VBVkM7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNGpERDs7QVdyakRBO3VIQUFBO0FBZUE7RUFUQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHFqREQ7O0FXbGlEQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYK2lERDs7QVczaERBO0VBVkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHlpREQ7O0FXcmhEQTtFQVZDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhtaUREOztBVzVoREE7dUhBQUE7QUFlQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNGhERDs7QVd6Z0RBO0VBVEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhzaEREOztBV2xnREE7RUFWQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ2hERDs7QVc1L0NBO0VBVkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDBnREQ7O0FXbmdEQTt1SEFBQTtBQVlBO0VBbE9DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUF3TkE7RUFDQTtFQUNBO0VBQ0E7QVh3Z0REOztBV3YvQ0E7RUFoUEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXNPQTtFQUNBO0VBQ0E7RUFDQTtBWHNnREQ7O0FXci9DQTtFQTlQQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBb1BBO0VBQ0E7RUFDQTtFQUNBO0FYb2dERDs7QVdwL0NBO0VBM1FDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFrUUE7RUFDQTtFQUNBO0FYa2dERDs7QVdsL0NBO0VBeFJDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUErUUE7RUFDQTtFQUNBO0FYZ2dERDs7QVdqL0NBO0VBcFNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUE0UkE7RUFDQTtBWDgvQ0Q7O0FXdC9DQTt1SEFBQTtBQVdBO0VBcFRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUEyU0E7RUFDQTtFQUNBO0FYMi9DRDs7QVczK0NBO0VBalVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUF3VEE7RUFDQTtFQUNBO0FYeS9DRDs7QVd6K0NBO0VBOVVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFxVUE7RUFDQTtFQUNBO0FYdS9DRDs7QVd2K0NBO0VBM1ZDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFrVkE7RUFDQTtFQUNBO0FYcS9DRDs7QVdyK0NBO0VBeFdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUErVkE7RUFDQTtFQUNBO0FYbS9DRDs7QVduK0NBO0VBclhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUE0V0E7RUFDQTtFQUNBO0FYaS9DRDs7QVd6K0NBO3VIQUFBO0FBV0E7RUFyWUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQTRYQTtFQUNBO0VBQ0E7QVg4K0NEOztBVzk5Q0E7RUFsWkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXlZQTtFQUNBO0VBQ0E7QVg0K0NEOztBVzU5Q0E7RUEvWkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXNaQTtFQUNBO0VBQ0E7QVgwK0NEOztBVzE5Q0E7RUE1YUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQW1hQTtFQUNBO0VBQ0E7QVh3K0NEOztBV2grQ0E7dUhBQUE7QUFXQTtFQUxDO0VBQ0E7RUFDQTtBWGcrQ0Q7O0FXajlDQTtFQUxDO0VBQ0E7RUFDQTtBWDA5Q0Q7O0FXMzhDQTtFQUxDO0VBQ0E7RUFDQTtBWG85Q0Q7O0FXNzhDQTt1SEFBQTtBTHRkQztFSzRkRTtJQWpkRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWCs1REM7RVdqOUNDO0lBcGNGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYdzVEQztFV3Y5Q0M7SUF2YkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWGk1REM7RVc5OUNDO0lBemFGO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHc0REM7RVduK0NDO0lBeFpGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYODNEQztFV3orQ0M7SUEzWUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVh1M0RDO0VXLytDQztJQTlYRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYZzNEQztFV3QvQ0M7SUFoWEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHkyREM7RVc3L0NDO0lBL1ZGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYKzFEQztFV25nREM7SUFsVkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVh3MURDO0VXemdEQztJQXJVRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYaTFEQztFV2hoREM7SUF2VEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWDAwREM7RVd2aERDO0lBbGdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBd05BO0lBQ0E7SUFDQTtJQUNBO0VYcTBEQztFVzloREM7SUF0Z0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFzT0E7SUFDQTtJQUNBO0lBQ0E7RVhrMERDO0VXcmlEQztJQTFnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW9QQTtJQUNBO0lBQ0E7SUFDQTtFWCt6REM7RVc1aURDO0lBOWdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBa1FBO0lBQ0E7SUFDQTtFWDR6REM7RVdsakRDO0lBbGhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK1FBO0lBQ0E7SUFDQTtFWHl6REM7RVd4akRDO0lBdGhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFJBO0lBQ0E7RVhzekRDO0VXN2pEQztJQTFoQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTJTQTtJQUNBO0lBQ0E7RVhnekRDO0VXbmtEQztJQTloQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXdUQTtJQUNBO0lBQ0E7RVg2eURDO0VXemtEQztJQWxpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXFVQTtJQUNBO0lBQ0E7RVgweURDO0VXL2tEQztJQXRpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWtWQTtJQUNBO0lBQ0E7RVh1eURDO0VXcmxEQztJQTFpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQStWQTtJQUNBO0lBQ0E7RVhveURDO0VXM2xEQztJQTlpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTRXQTtJQUNBO0lBQ0E7RVhpeURDO0VXam1EQztJQWxqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTRYQTtJQUNBO0lBQ0E7RVgyeERDO0VXdm1EQztJQXRqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXlZQTtJQUNBO0lBQ0E7RVh3eERDO0VXN21EQztJQTFqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXNaQTtJQUNBO0lBQ0E7RVhxeERDO0VXbm5EQztJQTlqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW1hQTtJQUNBO0lBQ0E7RVhreERDO0VXem5EQztJQWxrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW1iQTtJQUNBO0lBQ0E7RVg0d0RDO0VXL25EQztJQXRrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQStiQTtJQUNBO0lBQ0E7RVgwd0RDO0VXcm9EQztJQTFrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTJjQTtJQUNBO0lBQ0E7RVh3d0RDO0FBQ0Y7QU14dEVDO0VLNGRFO0lBamRGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYaXRFQztFV253REM7SUFwY0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVgwc0VDO0VXendEQztJQXZiRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYbXNFQztFV2h4REM7SUF6YUY7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYMHJFQztFV3J4REM7SUF4WkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhnckVDO0VXM3hEQztJQTNZRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHlxRUM7RVdqeURDO0lBOVhGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhrcUVDO0VXeHlEQztJQWhYRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYMnBFQztFVy95REM7SUEvVkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhpcEVDO0VXcnpEQztJQWxWRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWDBvRUM7RVczekRDO0lBclVGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhtb0VDO0VXbDBEQztJQXZURjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYNG5FQztFV3owREM7SUFsZ0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF3TkE7SUFDQTtJQUNBO0lBQ0E7RVh1bkVDO0VXaDFEQztJQXRnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXNPQTtJQUNBO0lBQ0E7SUFDQTtFWG9uRUM7RVd2MURDO0lBMWdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBb1BBO0lBQ0E7SUFDQTtJQUNBO0VYaW5FQztFVzkxREM7SUE5Z0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFrUUE7SUFDQTtJQUNBO0VYOG1FQztFV3AyREM7SUFsaEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUErUUE7SUFDQTtJQUNBO0VYMm1FQztFVzEyREM7SUF0aEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE0UkE7SUFDQTtFWHdtRUM7RVcvMkRDO0lBMWhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBMlNBO0lBQ0E7SUFDQTtFWGttRUM7RVdyM0RDO0lBOWhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBd1RBO0lBQ0E7SUFDQTtFWCtsRUM7RVczM0RDO0lBbGlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcVVBO0lBQ0E7SUFDQTtFWDRsRUM7RVdqNERDO0lBdGlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBa1ZBO0lBQ0E7SUFDQTtFWHlsRUM7RVd2NERDO0lBMWlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK1ZBO0lBQ0E7SUFDQTtFWHNsRUM7RVc3NERDO0lBOWlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFdBO0lBQ0E7SUFDQTtFWG1sRUM7RVduNURDO0lBbGpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFhBO0lBQ0E7SUFDQTtFWDZrRUM7RVd6NURDO0lBdGpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBeVlBO0lBQ0E7SUFDQTtFWDBrRUM7RVcvNURDO0lBMWpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBc1pBO0lBQ0E7SUFDQTtFWHVrRUM7RVdyNkRDO0lBOWpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbWFBO0lBQ0E7SUFDQTtFWG9rRUM7RVczNkRDO0lBbGtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbWJBO0lBQ0E7SUFDQTtFWDhqRUM7RVdqN0RDO0lBdGtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK2JBO0lBQ0E7SUFDQTtFWDRqRUM7RVd2N0RDO0lBMWtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBMmNBO0lBQ0E7SUFDQTtFWDBqRUM7QUFDRjtBTTFnRkM7RUs0ZEU7SUFqZEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhtZ0ZDO0VXcmpFQztJQXBjRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWDQvRUM7RVczakVDO0lBdmJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhxL0VDO0VXbGtFQztJQXphRjtJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVg0K0VDO0VXdmtFQztJQXhaRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWGsrRUM7RVc3a0VDO0lBM1lGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYMjlFQztFV25sRUM7SUE5WEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWG85RUM7RVcxbEVDO0lBaFhGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVg2OEVDO0VXam1FQztJQS9WRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWG04RUM7RVd2bUVDO0lBbFZGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYNDdFQztFVzdtRUM7SUFyVUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHE3RUM7RVdwbkVDO0lBdlRGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVg4NkVDO0VXM25FQztJQWxnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXdOQTtJQUNBO0lBQ0E7SUFDQTtFWHk2RUM7RVdsb0VDO0lBdGdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBc09BO0lBQ0E7SUFDQTtJQUNBO0VYczZFQztFV3pvRUM7SUExZ0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFvUEE7SUFDQTtJQUNBO0lBQ0E7RVhtNkVDO0VXaHBFQztJQTlnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWtRQTtJQUNBO0lBQ0E7RVhnNkVDO0VXdHBFQztJQWxoQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQStRQTtJQUNBO0lBQ0E7RVg2NUVDO0VXNXBFQztJQXRoQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTRSQTtJQUNBO0VYMDVFQztFV2pxRUM7SUExaEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUEyU0E7SUFDQTtJQUNBO0VYbzVFQztFV3ZxRUM7SUE5aEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF3VEE7SUFDQTtJQUNBO0VYaTVFQztFVzdxRUM7SUFsaUJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFxVUE7SUFDQTtJQUNBO0VYODRFQztFV25yRUM7SUF0aUJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFrVkE7SUFDQTtJQUNBO0VYMjRFQztFV3pyRUM7SUExaUJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUErVkE7SUFDQTtJQUNBO0VYdzRFQztFVy9yRUM7SUE5aUJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE0V0E7SUFDQTtJQUNBO0VYcTRFQztFV3JzRUM7SUFsakJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE0WEE7SUFDQTtJQUNBO0VYKzNFQztFVzNzRUM7SUF0akJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF5WUE7SUFDQTtJQUNBO0VYNDNFQztFV2p0RUM7SUExakJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFzWkE7SUFDQTtJQUNBO0VYeTNFQztFV3Z0RUM7SUE5akJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFtYUE7SUFDQTtJQUNBO0VYczNFQztFVzd0RUM7SUFsa0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFtYkE7SUFDQTtJQUNBO0VYZzNFQztFV251RUM7SUF0a0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUErYkE7SUFDQTtJQUNBO0VYODJFQztFV3p1RUM7SUExa0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUEyY0E7SUFDQTtJQUNBO0VYNDJFQztBQUNGO0FNNXpGQztFSzRkRTtJQWpkRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHF6RkM7RVd2MkVDO0lBcGNGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYOHlGQztFVzcyRUM7SUF2YkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWHV5RkM7RVdwM0VDO0lBemFGO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWDh4RkM7RVd6M0VDO0lBeFpGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYb3hGQztFVy8zRUM7SUEzWUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVg2d0ZDO0VXcjRFQztJQTlYRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYc3dGQztFVzU0RUM7SUFoWEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWCt2RkM7RVduNUVDO0lBL1ZGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYcXZGQztFV3o1RUM7SUFsVkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVg4dUZDO0VXLzVFQztJQXJVRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYdXVGQztFV3Q2RUM7SUF2VEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWGd1RkM7RVc3NkVDO0lBbGdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBd05BO0lBQ0E7SUFDQTtJQUNBO0VYMnRGQztFV3A3RUM7SUF0Z0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFzT0E7SUFDQTtJQUNBO0lBQ0E7RVh3dEZDO0VXMzdFQztJQTFnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW9QQTtJQUNBO0lBQ0E7SUFDQTtFWHF0RkM7RVdsOEVDO0lBOWdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBa1FBO0lBQ0E7SUFDQTtFWGt0RkM7RVd4OEVDO0lBbGhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK1FBO0lBQ0E7SUFDQTtFWCtzRkM7RVc5OEVDO0lBdGhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFJBO0lBQ0E7RVg0c0ZDO0VXbjlFQztJQTFoQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTJTQTtJQUNBO0lBQ0E7RVhzc0ZDO0VXejlFQztJQTloQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXdUQTtJQUNBO0lBQ0E7RVhtc0ZDO0VXLzlFQztJQWxpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXFVQTtJQUNBO0lBQ0E7RVhnc0ZDO0VXcitFQztJQXRpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWtWQTtJQUNBO0lBQ0E7RVg2ckZDO0VXMytFQztJQTFpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQStWQTtJQUNBO0lBQ0E7RVgwckZDO0VXai9FQztJQTlpQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTRXQTtJQUNBO0lBQ0E7RVh1ckZDO0VXdi9FQztJQWxqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTRYQTtJQUNBO0lBQ0E7RVhpckZDO0VXNy9FQztJQXRqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXlZQTtJQUNBO0lBQ0E7RVg4cUZDO0VXbmdGQztJQTFqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXNaQTtJQUNBO0lBQ0E7RVgycUZDO0VXemdGQztJQTlqQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW1hQTtJQUNBO0lBQ0E7RVh3cUZDO0VXL2dGQztJQWxrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW1iQTtJQUNBO0lBQ0E7RVhrcUZDO0VXcmhGQztJQXRrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQStiQTtJQUNBO0lBQ0E7RVhncUZDO0VXM2hGQztJQTFrQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTJjQTtJQUNBO0lBQ0E7RVg4cEZDO0FBQ0Y7QU05bUdDO0VLNGRFO0lBamRGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYdW1HQztFV3pwRkM7SUFwY0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhnbUdDO0VXL3BGQztJQXZiRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYeWxHQztFV3RxRkM7SUF6YUY7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYZ2xHQztFVzNxRkM7SUF4WkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVhza0dDO0VXanJGQztJQTNZRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWCtqR0M7RVd2ckZDO0lBOVhGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVh3akdDO0VXOXJGQztJQWhYRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYaWpHQztFV3JzRkM7SUEvVkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVh1aUdDO0VXM3NGQztJQWxWRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWGdpR0M7RVdqdEZDO0lBclVGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVh5aEdDO0VXeHRGQztJQXZURjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VYa2hHQztFVy90RkM7SUFsZ0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF3TkE7SUFDQTtJQUNBO0lBQ0E7RVg2Z0dDO0VXdHVGQztJQXRnQkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXNPQTtJQUNBO0lBQ0E7SUFDQTtFWDBnR0M7RVc3dUZDO0lBMWdCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBb1BBO0lBQ0E7SUFDQTtJQUNBO0VYdWdHQztFV3B2RkM7SUE5Z0JGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFrUUE7SUFDQTtJQUNBO0VYb2dHQztFVzF2RkM7SUFsaEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUErUUE7SUFDQTtJQUNBO0VYaWdHQztFV2h3RkM7SUF0aEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE0UkE7SUFDQTtFWDgvRkM7RVdyd0ZDO0lBMWhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBMlNBO0lBQ0E7SUFDQTtFWHcvRkM7RVczd0ZDO0lBOWhCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBd1RBO0lBQ0E7SUFDQTtFWHEvRkM7RVdqeEZDO0lBbGlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcVVBO0lBQ0E7SUFDQTtFWGsvRkM7RVd2eEZDO0lBdGlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBa1ZBO0lBQ0E7SUFDQTtFWCsrRkM7RVc3eEZDO0lBMWlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK1ZBO0lBQ0E7SUFDQTtFWDQrRkM7RVdueUZDO0lBOWlCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFdBO0lBQ0E7SUFDQTtFWHkrRkM7RVd6eUZDO0lBbGpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNFhBO0lBQ0E7SUFDQTtFWG0rRkM7RVcveUZDO0lBdGpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBeVlBO0lBQ0E7SUFDQTtFWGcrRkM7RVdyekZDO0lBMWpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBc1pBO0lBQ0E7SUFDQTtFWDY5RkM7RVczekZDO0lBOWpCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbWFBO0lBQ0E7SUFDQTtFWDA5RkM7RVdqMEZDO0lBbGtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbWJBO0lBQ0E7SUFDQTtFWG85RkM7RVd2MEZDO0lBdGtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBK2JBO0lBQ0E7SUFDQTtFWGs5RkM7RVc3MEZDO0lBMWtCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBMmNBO0lBQ0E7SUFDQTtFWGc5RkM7QUFDRjtBRzUxR0E7dUhBQUE7QVM5RUE7O3VIQUFBO0FBSUE7dUhBQUE7QUFTQTtFQUhDO0FaMDZHRDs7QVk3NUdBO0VBSEM7QVpvNkdEOztBWW41R0E7RUFQQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaODVHRDs7QU10N0dDO0VNb0NFO0lBcENGO0VaMjdHQztFWXA1R0M7SUE3QkY7RVpvN0dDO0VZcDVHQztJQXRCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VaNjZHQztBQUNGO0FNdDhHQztFTW9DRTtJQXBDRjtFWjA4R0M7RVluNkdDO0lBN0JGO0VabThHQztFWW42R0M7SUF0QkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWjQ3R0M7QUFDRjtBTXI5R0M7RU1vQ0U7SUFwQ0Y7RVp5OUdDO0VZbDdHQztJQTdCRjtFWms5R0M7RVlsN0dDO0lBdEJGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVoyOEdDO0FBQ0Y7QU1wK0dDO0VNb0NFO0lBcENGO0VadytHQztFWWo4R0M7SUE3QkY7RVppK0dDO0VZajhHQztJQXRCRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VaMDlHQztBQUNGO0FNbi9HQztFTW9DRTtJQXBDRjtFWnUvR0M7RVloOUdDO0lBN0JGO0VaZy9HQztFWWg5R0M7SUF0QkY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWnkrR0M7QUFDRjtBRzM3R0E7dUhBQUE7QVVqRkE7O3VIQUFBO0FBSUE7dUhBQUE7QUFTQTtFQUxDO0VBQ0E7RUFDQTtBYjhnSEQ7O0FhdmdIQTt1SEFBQTtBQVNBO0VBTEM7RUFDQTtFQUNBO0FieWdIRDs7QWFsZ0hBO3VIQUFBO0FQcEJDO0VPMEJFO0lBNUJGO0lBQ0E7SUFDQTtFYitoSEM7RWFsZ0hDO0lBbEJGO0lBQ0E7SUFDQTtFYnVoSEM7QUFDRjtBTXJpSEM7RU8wQkU7SUE1QkY7SUFDQTtJQUNBO0ViMmlIQztFYTlnSEM7SUFsQkY7SUFDQTtJQUNBO0VibWlIQztBQUNGO0FNampIQztFTzBCRTtJQTVCRjtJQUNBO0lBQ0E7RWJ1akhDO0VhMWhIQztJQWxCRjtJQUNBO0lBQ0E7RWIraUhDO0FBQ0Y7QU03akhDO0VPMEJFO0lBNUJGO0lBQ0E7SUFDQTtFYm1rSEM7RWF0aUhDO0lBbEJGO0lBQ0E7SUFDQTtFYjJqSEM7QUFDRjtBTXprSEM7RU8wQkU7SUE1QkY7SUFDQTtJQUNBO0ViK2tIQztFYWxqSEM7SUFsQkY7SUFDQTtJQUNBO0VidWtIQztBQUNGO0FHM2dIQTt1SEFBQTtBV3BGQTs7dUhBQUE7QUFJQTt1SEFBQTtBQVVBO0VBTkM7RUFDQTtFQUNBO0VBQ0E7QWRpbUhEOztBYzFsSEE7dUhBQUE7QUFVQTtFQU5DO0VBQ0E7RUFDQTtFQUNBO0FkNGxIRDs7QWNybEhBO3VIQUFBO0FBWUE7RUFSQztFQUNBO0VBQ0E7RUFDQTtBZHVsSEQ7QWN0bEhDO0VBQ0M7QWR3bEhGOztBY2psSEE7dUhBQUE7QUFhQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0FkbWxIRDtBY2xsSEM7RUFDQztBZG9sSEY7O0FjNWtIQTt1SEFBQTtBUnZEQztFUTZERTtJQS9ERjtJQUNBO0lBQ0E7SUFDQTtFZDRvSEM7RWM3a0hDO0lBcERGO0lBQ0E7SUFDQTtJQUNBO0Vkb29IQztFY2hsSEM7SUF6Q0Y7SUFDQTtJQUNBO0lBQ0E7RWQ0bkhDO0VjM25IRDtJQUNDO0VkNm5IQTtFY3RsSEM7SUE1QkY7SUFDQTtJQUNBO0lBQ0E7RWRxbkhDO0VjcG5IRDtJQUNDO0Vkc25IQTtBQUNGO0FNdHFIQztFUTZERTtJQS9ERjtJQUNBO0lBQ0E7SUFDQTtFZDRxSEM7RWM3bUhDO0lBcERGO0lBQ0E7SUFDQTtJQUNBO0Vkb3FIQztFY2huSEM7SUF6Q0Y7SUFDQTtJQUNBO0lBQ0E7RWQ0cEhDO0VjM3BIRDtJQUNDO0VkNnBIQTtFY3RuSEM7SUE1QkY7SUFDQTtJQUNBO0lBQ0E7RWRxcEhDO0VjcHBIRDtJQUNDO0Vkc3BIQTtBQUNGO0FNdHNIQztFUTZERTtJQS9ERjtJQUNBO0lBQ0E7SUFDQTtFZDRzSEM7RWM3b0hDO0lBcERGO0lBQ0E7SUFDQTtJQUNBO0Vkb3NIQztFY2hwSEM7SUF6Q0Y7SUFDQTtJQUNBO0lBQ0E7RWQ0ckhDO0VjM3JIRDtJQUNDO0VkNnJIQTtFY3RwSEM7SUE1QkY7SUFDQTtJQUNBO0lBQ0E7RWRxckhDO0VjcHJIRDtJQUNDO0Vkc3JIQTtBQUNGO0FNdHVIQztFUTZERTtJQS9ERjtJQUNBO0lBQ0E7SUFDQTtFZDR1SEM7RWM3cUhDO0lBcERGO0lBQ0E7SUFDQTtJQUNBO0Vkb3VIQztFY2hySEM7SUF6Q0Y7SUFDQTtJQUNBO0lBQ0E7RWQ0dEhDO0VjM3RIRDtJQUNDO0VkNnRIQTtFY3RySEM7SUE1QkY7SUFDQTtJQUNBO0lBQ0E7RWRxdEhDO0VjcHRIRDtJQUNDO0Vkc3RIQTtBQUNGO0FNdHdIQztFUTZERTtJQS9ERjtJQUNBO0lBQ0E7SUFDQTtFZDR3SEM7RWM3c0hDO0lBcERGO0lBQ0E7SUFDQTtJQUNBO0Vkb3dIQztFY2h0SEM7SUF6Q0Y7SUFDQTtJQUNBO0lBQ0E7RWQ0dkhDO0VjM3ZIRDtJQUNDO0VkNnZIQTtFY3R0SEM7SUE1QkY7SUFDQTtJQUNBO0lBQ0E7RWRxdkhDO0VjcHZIRDtJQUNDO0Vkc3ZIQTtBQUNGO0FHenRIQTt1SEFBQTtBWXZGQTs7dUhBQUE7QUFJQTt1SEFBQTtBQU9BO0VBSEM7QWZrekhEOztBZTN5SEE7dUhBQUE7QUFPQTtFQUhDO0FmNnlIRDs7QWV0eUhBO3VIQUFBO0FUaEJDO0VTc0JFO0lBeEJGO0VmK3pIQztFZXB5SEM7SUFoQkY7RWZ1ekhDO0FBQ0Y7QU1qMEhDO0VTc0JFO0lBeEJGO0VmdTBIQztFZTV5SEM7SUFoQkY7RWYrekhDO0FBQ0Y7QU16MEhDO0VTc0JFO0lBeEJGO0VmKzBIQztFZXB6SEM7SUFoQkY7RWZ1MEhDO0FBQ0Y7QU1qMUhDO0VTc0JFO0lBeEJGO0VmdTFIQztFZTV6SEM7SUFoQkY7RWYrMEhDO0FBQ0Y7QU16MUhDO0VTc0JFO0lBeEJGO0VmKzFIQztFZXAwSEM7SUFoQkY7RWZ1MUhDO0FBQ0Y7QUdqeEhBO3VIQUFBO0FhMUZBOzt1SEFBQTtBYjZGQTt1SEFBQTtBYzdGQTs7dUhBQUE7QWRnR0E7dUhBQUE7QWVoR0E7O3VIQUFBO0FmbUdBO3VIQUFBO0FnQm5HQTs7dUhBQUE7QUFJQTt1SEFBQTtBaEJrR0E7dUhBQUE7QWlCdEdBOzt1SEFBQTtBakJ5R0E7dUhBQUE7QWtCekdBOzt1SEFBQTtBbEI2R0E7dUhBQUE7QW1CM0dBO0FBNkJBO0VBQ0k7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUNBO0F0QjYySEo7QXNCcjJIQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBSUE7RUFDQTtBdEJtMkhKO0FzQjkxSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJnMkhKOztBc0I3MUhBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJnMkhKOztBc0I3MUhBO0VBQ0k7QXRCZzJISjs7QXNCOTFIQTtFQUNJO0F0QmkySEo7O0FzQi8xSEE7RUFDSTtBdEJrMkhKOztBc0JoMkhBO0VBQ0k7QXRCbTJISjs7QXNCajJIQTtFQUNJO0F0Qm8ySEo7O0FzQmwySEE7RUFDSTtBdEJxMkhKOztBc0JuMkhBO0VBQ0k7QXRCczJISjs7QXNCcDJIQTtFQUNJO0F0QnUySEo7O0FzQnIySEE7RUFDSTtBdEJ3MkhKOztBc0J0MkhBO0VBQ0k7QXRCeTJISjs7QXNCdjJIQTtFQUNJO0F0QjAySEo7O0FzQngySEE7RUFDSTtBdEIyMkhKOztBc0J6MkhBO0VBQ0k7QXRCNDJISjs7QXNCMTJIQTtFQUNJO0F0QjYySEo7O0FzQjMySEE7RUFDSTtBdEI4MkhKOztBc0I1MkhBO0VBQ0k7QXRCKzJISjs7QXNCNzJIQTtFQUNJO0F0QmczSEo7O0FzQjkySEE7RUFDSTtBdEJpM0hKOztBc0IvMkhBO0VBQ0k7QXRCazNISjs7QXNCaDNIQTtFQUNJO0F0Qm0zSEo7O0FzQmozSEE7RUFDSTtBdEJvM0hKOztBc0JsM0hBO0VBQ0k7QXRCcTNISjs7QXNCbjNIQTtFQUNJO0F0QnMzSEo7O0FzQnAzSEE7RUFDSTtBdEJ1M0hKOztBc0JyM0hBO0VBQ0k7QXRCdzNISjs7QXNCdDNIQTtFQUNJO0F0QnkzSEo7O0FzQnYzSEE7RUFDSTtBdEIwM0hKOztBc0J4M0hBO0VBQ0k7QXRCMjNISjs7QXNCejNIQTtFQUNJO0F0QjQzSEo7O0FzQjEzSEE7RUFDSTtBdEI2M0hKOztBc0IzM0hBO0VBQ0k7QXRCODNISjs7QXNCNTNIQTtFQUNJO0F0QiszSEo7O0FzQjczSEE7RUFDSTtBdEJnNEhKOztBc0I5M0hBO0VBQ0k7QXRCaTRISjs7QXNCLzNIQTtFQUNJO0F0Qms0SEo7O0FzQmg0SEE7RUFDQztBdEJtNEhEOztBc0JqNEhBO0VBQ0M7QXRCbzRIRDs7QXNCbDRIQTtFQUNDO0F0QnE0SEQ7O0FzQm40SEE7RUFDQztBdEJzNEhEOztBc0JwNEhBO0VBQ0M7QXRCdTRIRDs7QXNCcjRIQTtFQUNDO0F0Qnc0SEQ7O0FzQnQ0SEE7RUFDQztBdEJ5NEhEOztBc0J2NEhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRCMDRISjs7QXNCeDRIQTtFQUNDO0F0QjI0SEQ7O0FzQng0SEE7RUFDSTtFQUNBO0F0QjI0SEo7O0FHLy9IQTt1SEFBQTtBSTFHQztxSEFBQTtBQVNBO3FIQUFBO0FER0E7RUNFQztJQWNJLFlBVEs7RVBpbUlUO0FBQ0Y7QU1qbklDO0VDVUM7SUFvQkk7RVB1bElKO0FBQ0Y7QU10bklDO0VDVUM7SUEwQkksWUFqQk07RVB1bUlWO0FBQ0Y7QU1ubklDO0VDRUM7SUFjSSxrQkFUSztFUGduSVQ7QUFDRjtBTWhvSUM7RUNVQztJQW9CSTtFUHNtSUo7QUFDRjtBTXJvSUM7RUNVQztJQTBCSSxrQkFqQk07RVBzbklWO0FBQ0Y7QU1sb0lDO0VDRUM7SUFjSSxtQkFUSztFUCtuSVQ7QUFDRjtBTS9vSUM7RUNVQztJQW9CSTtFUHFuSUo7QUFDRjtBTXBwSUM7RUNVQztJQTBCSSxtQkFqQk07RVBxb0lWO0FBQ0Y7O0FNanBJQztFQ0VDO0lBY0ksWUFUSztFUCtvSVQ7QUFDRjtBTS9wSUM7RUNVQztJQW9CSTtFUHFvSUo7QUFDRjtBTXBxSUM7RUNVQztJQTBCSSxZQWpCTTtFUHFwSVY7QUFDRjtBTWpxSUM7RUNFQztJQWNJLGtCQVRLO0VQOHBJVDtBQUNGO0FNOXFJQztFQ1VDO0lBb0JJO0VQb3BJSjtBQUNGO0FNbnJJQztFQ1VDO0lBMEJJLGtCQWpCTTtFUG9xSVY7QUFDRjtBTWhySUM7RUNFQztJQWNJLG1CQVRLO0VQNnFJVDtBQUNGO0FNN3JJQztFQ1VDO0lBb0JJO0VQbXFJSjtBQUNGO0FNbHNJQztFQ1VDO0lBMEJJLG1CQWpCTTtFUG1ySVY7QUFDRjs7QU0vcklDO0VDRUM7SUFjSSxZQVRLO0VQNnJJVDtBQUNGO0FNN3NJQztFQ1VDO0lBb0JJO0VQbXJJSjtBQUNGO0FNbHRJQztFQ1VDO0lBMEJJLFlBakJNO0VQbXNJVjtBQUNGO0FNL3NJQztFQ0VDO0lBY0ksa0JBVEs7RVA0c0lUO0FBQ0Y7QU01dElDO0VDVUM7SUFvQkk7RVBrc0lKO0FBQ0Y7QU1qdUlDO0VDVUM7SUEwQkksa0JBakJNO0VQa3RJVjtBQUNGO0FNOXRJQztFQ0VDO0lBY0ksbUJBVEs7RVAydElUO0FBQ0Y7QU0zdUlDO0VDVUM7SUFvQkk7RVBpdElKO0FBQ0Y7QU1odklDO0VDVUM7SUEwQkksbUJBakJNO0VQaXVJVjtBQUNGOztBTTd1SUM7RUNFQztJQWNJLGdCQVRLO0VQMnVJVDtBQUNGO0FNM3ZJQztFQ1VDO0lBb0JJO0VQaXVJSjtBQUNGO0FNaHdJQztFQ1VDO0lBMEJJLGlCQWpCTTtFUGl2SVY7QUFDRjtBTTd2SUM7RUNFQztJQWNJLGdCQVRLO0VQMHZJVDtBQUNGO0FNMXdJQztFQ1VDO0lBb0JJO0VQZ3ZJSjtBQUNGO0FNL3dJQztFQ1VDO0lBMEJJLGdCQWpCTTtFUGd3SVY7QUFDRjs7QXVCcnVJQTtFWDNCQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VXeUJHO0VaMFZIO0VBQ0E7RUFDQTtFQXJLQTtFQUNBO0VBQ0E7RUFDQTtFV3BPRztFQUNBO0VDNkNBO0VBQ0EsbUJ0QnZEYztFc0J3RGQsY3RCckRjO0VzQnNEZDtFQUNBO0VGOURILDBCRStEbUI7RUY5RG5CLHVCRThEbUI7RUY3RG5CLGtCRTZEbUI7QXZCb3ZJcEI7QXVCbnZJSTtFQUNJO0VBQ0E7QXZCcXZJUjtBdUJudklJO0VBQ0k7RVByRVAsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRG15SWxCO0FFbnlJSTtFcUI2Q1EsbUJ0Qm5FTTtBRDR6SWxCO0FFbnlJSTtFcUIwQ1EsbUJ0Qm5FTTtBRCt6SWxCO0F1QjF2SVE7RUFDSSxtQnRCdEVNO0FEazBJbEI7QXVCenZJSTtFQUNJLG1CdEJ4RVU7RXNCeUVWLGN0QmxFVTtBRDZ6SWxCO0F1QjF2SVE7RUFDSTtFUGxGWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEdXpJbEI7QUV2eklJO0VxQjBEWSxtQnRCN0VFO0FENjBJbEI7QUV2eklJO0VxQnVEWSxtQnRCN0VFO0FEZzFJbEI7QXVCandJWTtFQUNJLG1CdEJoRkU7QURtMUlsQjtBdUIvdklJO0VBQ0k7RUFDQSxjdEJoRlU7QURpMUlsQjtBdUJod0lRO0VBQ0k7RVBoR1gsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRDIwSWxCO0FFMzBJSTtFcUJ3RVk7RUFDQSxjdEJoR0U7QURzMklsQjtBRTUwSUk7RXFCcUVZO0VBQ0EsY3RCaEdFO0FEMDJJbEI7QXVCeHdJWTtFQUNJO0VBQ0EsY3RCcEdFO0FEODJJbEI7QXVCdHdJSTtFQUNJLG1CdEIvRlU7RXNCZ0dWLGN0QnZHVTtBRCsySWxCO0F1QnZ3SVE7RUFDSTtFUGhIWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEazJJbEI7QUVsMklJO0VxQndGWSxtQnRCdkdFO0FEbzNJbEI7QUVsMklJO0VxQnFGWSxtQnRCdkdFO0FEdTNJbEI7QXVCOXdJWTtFQUNJLG1CdEIxR0U7QUQwM0lsQjtBdUI1d0lJO0VBQ0k7RUFDQTtFQUNBLGN0QnRIVTtBRG80SWxCO0F1Qjd3SVE7RUFDSTtFUC9IWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEdTNJbEI7QUV2M0lJO0VxQnVHWSxtQnRCdEhFO0VzQnVIRixxQnRCdkhFO0FEMDRJbEI7QUV4M0lJO0VxQm9HWSxtQnRCdEhFO0VzQnVIRixxQnRCdkhFO0FEODRJbEI7QXVCcnhJWTtFQUNJLG1CdEIxSEU7RXNCMkhGLHFCdEIzSEU7QURrNUlsQjtBdUJseElRO0VBQ0k7RUFDQTtBdkJveElaO0F1Qm54SVk7RVovR1g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVkyR2U7RUFDQTtBdkIyeEloQjtBdUJ0eElRO0VBQ0k7RUFDQTtBdkJ3eElaO0F1QnJ4SUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkJ1eElSOztBdUJueElBO0VYM0lDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVd5SUc7RUQxSkE7RUFDQTtFQzJKQTtFQUNBLGN0QmxLYztFc0JtS2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIyeElKO0F1Qnp4SVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVB6TFAsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRDY3SWxCO0F1QjN4SUk7RUFDSSxjdEIxTFU7QUR1OUlsQjtBdUI1eElRO0VBQ0k7QXZCOHhJWjtBdUIzeElJO0VBQ0ksY3RCdExVO0FEbTlJbEI7QXVCNXhJUTtFQUNJO0F2Qjh4SVo7QXVCM3hJSTtFQUNJO0F2QjZ4SVI7QXVCM3hJSTtFQUNJO0F2QjZ4SVI7QXVCMXhJUTtFQUNJO0F2QjR4SVo7QXVCMXhJUTtFQUNJO0F2QjR4SVo7QXVCaHlJUTtFQUNJO0F2Qmt5SVo7QXVCaHlJUTtFQUNJO0F2Qmt5SVo7QXVCOXhJUTtFQUNJO0F2Qmd5SVo7QXVCOXhJUTtFQUNJO0F2Qmd5SVo7QXVCN3hJSTtFRDdOQTtFQUNBO0VDOE5JO0F2Qmd5SVI7QXVCOXhJSTtFQUNJO0VBQ0E7QXZCZ3lJUjtBdUIveElRO0VBQ0k7RUFDQTtBdkJpeUlaO0F1Qi94SVE7RUFDSTtBdkJpeUlaO0F1Qi94SVE7RUFDSTtBdkJpeUlaO0F1Qjl4SVk7RUFDSTtBdkJneUloQjtBdUI5eElZO0VBQ0k7QXZCZ3lJaEI7QXVCcHlJWTtFQUNJO0F2QnN5SWhCO0F1QnB5SVk7RUFDSTtBdkJzeUloQjtBdUJseUlZO0VBQ0k7QXZCb3lJaEI7QXVCbHlJWTtFQUNJO0F2Qm95SWhCO0F1Qmh5SUk7RUQvUEE7RUFDQTtFQ2dRSTtBdkJteUlSO0F1Qmx5SVE7RUxwUVAsaUNLcVE4QjtFTHBROUIsOEJLb1E4QjtFTG5ROUIsNkJLbVE4QjtFTGxROUIsNEJLa1E4QjtFTGpROUIseUJLaVE4QjtBdkJ3eUkvQjtBdUJ0eUlRO0VBQ0k7QXZCd3lJWjtBdUJ0eUlRO0VBQ0k7QXZCd3lJWjtBdUJyeUlZO0VBQ0k7QXZCdXlJaEI7QXVCcnlJWTtFQUNJO0F2QnV5SWhCO0F1QjN5SVk7RUFDSTtBdkI2eUloQjtBdUIzeUlZO0VBQ0k7QXZCNnlJaEI7QXVCenlJWTtFQUNJO0F2QjJ5SWhCO0F1Qnp5SVk7RUFDSTtBdkIyeUloQjs7QXVCcnlJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2Qnd5SUo7QXVCdnlJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CdEJyU1U7RXNCc1NWO0VQN1NQLG1DZjZCaUI7RWU1QmpCLGlDZjRCaUI7RWUzQmpCLHNDZjJCaUI7RWUxQmpCLDhCZjBCaUI7QUQ2akpsQjtBdUIxeUlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJ0QmhUVTtFc0JpVFY7RVB4VFAsbUNmNkJpQjtFZTVCakIsaUNmNEJpQjtFZTNCakIsc0NmMkJpQjtFZTFCakIsOEJmMEJpQjtBRDJrSmxCO0F1QjV5SVE7RUFDSTtFUDdUWCxxQ2Y0QmlCO0VlM0JqQixtQ2YyQmlCO0VlMUJqQix3Q2YwQmlCO0VlekJqQixnQ2Z5QmlCO0FEbWxKbEI7QXVCL3lJUTtFQUNJO0VQalVYLHFDZjRCaUI7RWUzQmpCLG1DZjJCaUI7RWUxQmpCLHdDZjBCaUI7RWV6QmpCLGdDZnlCaUI7QUQwbEpsQjs7QXVCOXlJSTtFQUNJO0VBQ0E7RUFDQTtBdkJpeklSOztBTzNuSkM7cUhBQUE7QUFTQTtxSEFBQTtBREdBO0VDRUM7SUFjSSxvQkFUSztFUGluSlQ7QUFDRjtBTWpvSkM7RUNVQztJQW9CSTtFUHVtSko7QUFDRjtBTXRvSkM7RUNVQztJQTBCSSxxQkFqQk07RVB1bkpWO0FBQ0Y7O0FNbm9KQztFQ0VDO0lBY0ksa0JBVEs7RVBpb0pUO0FBQ0Y7QU1qcEpDO0VDVUM7SUFvQkk7RVB1bkpKO0FBQ0Y7QU10cEpDO0VDVUM7SUEwQkksa0JBakJNO0VQdW9KVjtBQUNGO0FNbnBKQztFQ0VDO0lBY0ksbUJBVEs7RVBncEpUO0FBQ0Y7QU1ocUpDO0VDVUM7SUFvQkk7RVBzb0pKO0FBQ0Y7QU1ycUpDO0VDVUM7SUEwQkksbUJBakJNO0VQc3BKVjtBQUNGOztBTWxxSkM7RUNFQztJQWNJLFlBVEs7RVBncUpUO0FBQ0Y7QU1ockpDO0VDVUM7SUFvQkk7RVBzcEpKO0FBQ0Y7QU1yckpDO0VDVUM7SUEwQkksWUFqQk07RVBzcUpWO0FBQ0Y7O0FNbHJKQztFQ0VDO0lBY0ksVUFUSztFUGdySlQ7QUFDRjtBTWhzSkM7RUNVQztJQW9CSTtFUHNxSko7QUFDRjtBTXJzSkM7RUNVQztJQTBCSSxXQWpCTTtFUHNySlY7QUFDRjtBTWxzSkM7RUNFQztJQWNJLGlCQVRLO0VQK3JKVDtBQUNGO0FNL3NKQztFQ1VDO0lBb0JJO0VQcXJKSjtBQUNGO0FNcHRKQztFQ1VDO0lBMEJJLGtCQWpCTTtFUHFzSlY7QUFDRjtBTWp0SkM7RUNFQztJQWNJLG9CQVRLO0VQOHNKVDtBQUNGO0FNOXRKQztFQ1VDO0lBb0JJO0VQb3NKSjtBQUNGO0FNbnVKQztFQ1VDO0lBMEJJLG9CQWpCTTtFUG90SlY7QUFDRjtBTWh1SkM7RUNFQztJQWNJLG9CQVRLO0VQNnRKVDtBQUNGO0FNN3VKQztFQ1VDO0lBb0JJO0VQbXRKSjtBQUNGO0FNbHZKQztFQ1VDO0lBMEJJLHFCQWpCTTtFUG11SlY7QUFDRjs7QU0vdUpDO0VDRUM7SUFjSSxpQkFUSztFUDZ1SlQ7QUFDRjtBTTd2SkM7RUNVQztJQW9CSTtFUG11Sko7QUFDRjtBTWx3SkM7RUNVQztJQTBCSSxpQkFqQk07RVBtdkpWO0FBQ0Y7O0FNL3ZKQztFQ0VDO0lBY0ksVUFUSztFUDZ2SlQ7QUFDRjtBTTd3SkM7RUNVQztJQW9CSTtFUG12Sko7QUFDRjtBTWx4SkM7RUNVQztJQTBCSSxXQWpCTTtFUG13SlY7QUFDRjtBTS93SkM7RUNFQztJQWNJLGlCQVRLO0VQNHdKVDtBQUNGO0FNNXhKQztFQ1VDO0lBb0JJO0VQa3dKSjtBQUNGO0FNanlKQztFQ1VDO0lBMEJJLGtCQWpCTTtFUGt4SlY7QUFDRjtBTTl4SkM7RUNFQztJQWNJLG9CQVRLO0VQMnhKVDtBQUNGO0FNM3lKQztFQ1VDO0lBb0JJO0VQaXhKSjtBQUNGO0FNaHpKQztFQ1VDO0lBMEJJLHFCQWpCTTtFUGl5SlY7QUFDRjs7QXdCOXZKQTtFQUNJLG1CdkIvQ2M7RXVCZ0RkO0F4Qml3Sko7QXdCaHdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Qmt3SlI7QXdCandKUTtFQUNJO0VBQ0E7QXhCbXdKWjtBd0Jod0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0Qm5FSjtFQUNBO0VBQ0E7RUFDQTtBRnMwSko7QXdCbndKSTtFQUNJO0VBQ0E7QXhCcXdKUjtBd0Jwd0pRO0VBQ0ksY3ZCbEZNO0FEdzFKbEI7QXdCcHdKUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJzd0paO0F3QnJ3Slk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEJ1d0poQjtBd0Jud0pRO0VidkZQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VhbUZXLGN2QnJHTTtFdUJzR047RUFDQTtBeEIyd0paO0F3QjF3Slk7RUFDSTtFRmpHWjtFQUNBO0VFa0dZO0VBQ0E7QXhCNndKaEI7QXdCM3dKWTtFYmxHWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYThGZTtFQUNBO0VBQ0E7QXhCbXhKaEI7QXdCbHhKZ0I7RUFDSTtFTnhIbkIsZ0NNeUhzQztFTnhIdEMsNkJNd0hzQztFTnZIdEMsNEJNdUhzQztFTnRIdEMsMkJNc0hzQztFTnJIdEMsd0JNcUhzQztBeEJ3eEp2QztBd0JseEpZO0VBQ0ksY3ZCekhFO0FENjRKbEI7QXdCbHhKWTtFQUNJLHFCdkI1SEU7QURnNUpsQjtBd0Ivd0pZO0VBQ0ksY3ZCbElFO0FEbTVKbEI7QXdCN3dKWTtFQUNJLGN2QmhJRTtBRCs0SmxCO0F3Qjd3Slk7RUFDSSxxQnZCbklFO0FEazVKbEI7QXdCMXdKWTtFQUNJLGN2QnpJRTtBRHE1SmxCOztBTTk1SkM7RWtCaUtHO0lBQ0k7RXhCaXdKTjtFd0Jod0pNO0lBQ0k7RXhCa3dKVjtBQUNGO0FNLzVKQztFa0JvS1c7SUFDSTtFeEI4dkpkO0FBQ0Y7QU1wNkpDO0VrQjRLRztJQUNJO0lBQ0E7SUFDQTtFeEIydkpOO0V3QjF2Sk07SUFDSTtJQUNBO0V4QjR2SlY7QUFDRjtBd0J4dkpBO0VBQ0k7SUFDSTtJQUNBO0V4QjB2Sk47RXdCdnZKRTtJQUNJO0lBQ0E7RXhCeXZKTjtFd0J0dkpFO0lBQ0k7SUFDQTtFeEJ3dkpOO0V3QnJ2SkU7SUFDSTtJQUNBO0V4QnV2Sk47RXdCcHZKRTtJQUNJO0lBQ0E7RXhCc3ZKTjtBQUNGO0F3Qm52SkE7RUFDSTtJQUNJO0lBQ0E7RXhCcXZKTjtFd0JsdkpFO0lBQ0k7SUFDQTtFeEJvdkpOO0V3Qmp2SkU7SUFDSTtJ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Q0E7SUFDQTtJQUNBO0VBeTlKVjtFQXI5Sk07SUFDSTtJQUNBO0VBdTlKVjtFQWo5Sk07SUFDSTtFQW05SlY7RUFqOUpNO0lBQ0k7RUFtOUpWO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvcGFnZV9zdWJzY3JpcHRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zZXR0aW5ncy9zdGdzX3Byb2pldC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2V0dGluZ3Mvc3Rnc19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3NldHRpbmdzL3N0Z3NfcGFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3BlcmF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfbWVkaWFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9mbHVpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2dyaWxsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaGVscGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9hbGlnbmVtZW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3JkcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kaXJlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90YWlsbGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfdHJhbnNmb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9vbWJyZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3JhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9mb250cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9ibG9jcy9ibG9jX2hlcm8uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9zZXR0aW5ncy9zdGdzX3BhZ2UnO1xuQGltcG9ydCAnLi4vYmxvY3MvYmxvY19oZXJvJztcblxuJHBhZ2VIb21lTWFwIDogKFxuICAgICcuYmFubmVyX2hvbWUgLmNvbnRlbnRfYmFubmVyJyA6IChcbiAgICAgICAgJ3dpZHRoJzogKFxuICAgICAgICAgICAgMjUwcHgsXG4gICAgICAgICAgICA0MDBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5iYW5uZXJfaG9tZSAuY29udGVudF9iYW5uZXIgLmNrLWNvbnRlbnQgLnRpdHJlX2g0JyA6IChcbiAgICAgICAgJ2ZvbnQtc2l6ZSc6IChcbiAgICAgICAgICAgIDI1cHgsXG4gICAgICAgICAgICAyNXB4XG4gICAgICAgICksXG4gICAgICAgICdsaW5lLWhlaWdodCc6IChcbiAgICAgICAgICAgIDMwcHgsXG4gICAgICAgICAgICAzMHB4XG4gICAgICAgICksXG4gICAgKSxcbik7XG5cbkBpbmNsdWRlIGZsdWlkKCRwYWdlSG9tZU1hcCk7XG5cblxuLnN1YnNjcmlwdGlvbi1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3Vic2NyaXB0aW9uLW1vZGFsLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN1YnNjcmlwdGlvbi1tb2RhbCAubW9kYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnN1YnNjcmlwdGlvbi1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDBjYXA7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgICAubWVkaXVte1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgfVxuICAgIC5zbWFsbHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgfVxuICAgIC50b3Age1xuICAgICAgICBtYXJnaW4gOiAxMHB4IDAgMzBweDtcbiAgICAgICAgYnV0dG9uLmJ0bl9jdGEuYnRuX2JsYWNre1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJlaWdlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMTVweCByZ2JhKDI1MiwgMjM2LCAyMjQsIDAuNik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJlaWdlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJvdHRvbSB7XG4gICAgICAgIG1hcmdpbiA6IDVweCAwIDEwcHg7XG4gICAgICAgIGJ1dHRvbi5idG5fY3RhLmJ0bl9ibGFja3tcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cblxuXG4uc3Vic2NyaXB0aW9uc19wYWdle1xuXG4gICAgLnRvcF9jbXN7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAuY2stY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudF9jbXMgLmNtc19jb250ZW50X3Jvdy5jaG9pY2UgLmNtc19jb2x1bW4gW2NsYXNzKj1lbGVtZW50X10ge1xuICAgICAgICBwYWRkaW5nOiA2JTtcbiAgICB9XG5cbiAgICAuY2stY29udGVudC5zdWJzY3JpcHRpb24tY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgfVxuXG4gICAgICAgIC8qIEFzc3VyZSBxdWUgbGVzIGNvbG9ubmVzIG9udCBsYSBtw6ptZSBoYXV0ZXVyIHN1ciB1bmUgbcOqbWUgbGlnbmUgKi9cbiAgICAuY21zX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuY21zX2NvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG5cbiAgICAvKiBPbiBmb3JjZSBsYSBwYXJ0aWUgZGVzY3JpcHRpb24gw6AgcHJlbmRyZSB0b3V0IGwnZXNwYWNlIGRpc3BvbmlibGUgKi9cbiAgICAuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC8qIE9wdGlvbm5lbCA6IEFqb3V0ZSB1biBwZXUgZGUgbWFyZ2UgYXUgZGVzc3VzIGR1IGJvdXRvbiBwb3VyIHF1J2lsIG5lIGNvbGxlIHBhcyBhdSB0ZXh0ZSAqL1xuICAgIC5vcGVuLXN1YnNjcmlwdGlvbi1tb2RhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgLyogUG91ciBjZW50cmVyIGxlIGJvdXRvbiBob3Jpem9udGFsZW1lbnQgc2kgYmVzb2luICovXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG4gICAgLmJ0bl9leHBhbmRfbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLyogQ2FjaGUgbGUgYm91dG9uIHN1ciBvcmRpbmF0ZXVyICovXG4gICAgfVxuXG4gICAgLnN1YnNjcmlwdGlvbi1mb290ZXJ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBCb3V0b24gYmllbiBsYXJnZSBldCBjZW50csOpIGVuIGJhcyAqL1xuICAgICAgICAuYnRuX2N0YSB7XG4gICAgICAgICAgICB3aWR0aDogODAlOyAvKiBCb3V0b24gcGxlaW5lIGxhcmdldXIgc3VyIG1vYmlsZSwgdHLDqHMgZWZmaWNhY2UgcG91ciBsZSBjbGljICovXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50X2NtcyAuY21zX2NvbnRlbnRfcm93LmJlbmVmaXQge1xuICAgICAgICAuY21zX2NvbHVtbiBbY2xhc3MqPWVsZW1lbnRfXSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNrLWNvbnRlbnQgLnRpdHJlX2g0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cblxufVxuXG4uZXhwYW5kYWJsZV93cmFwcGVyLmlzX2NvbGxhcHNlZF9tb2JpbGUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmZhcXtcbiAgICAudGl0cmVfaDR7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgLnJvdy5mYXFze1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxufVxuXG5cblxuQGluY2x1ZGUgbWVkaWFfeF9taW4oJ21kJykge1xuICAgIC5leHBhbmRhYmxlX3dyYXBwZXIuaXNfY29sbGFwc2VkX21vYmlsZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb250ZW50X2NtcyAuY21zX2NvbnRlbnRfcm93LnN1Yl90aXRsZSAuY21zX2NvbHVtbiBbY2xhc3MqPWVsZW1lbnRfXSArIFtjbGFzcyo9ZWxlbWVudF9dIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcbiAgICB9XG5cbiAgICAuY29udGVudF9jbXMgLmNtc19jb250ZW50X3Jvdy5iZW5lZml0dGl0bGUgLmNtc19jb2x1bW4gW2NsYXNzKj1lbGVtZW50X10ge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAzMHB4O1xuICAgIH1cbiAgICBcblxuICAgIC5jb250ZW50X2NtcyAuY21zX2NvbnRlbnRfcm93LnN1Yl90aXRsZSAuY21zX2NvbHVtbiAuZWxlbWVudF9pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbi8vIG1vYmlsZVxuXG5AaW5jbHVkZSBtZWRpYV94X21heCgnbWQnKSB7XG4gICAgLnN1YnNjcmlwdGlvbnNfcGFnZXtcblxuICAgICAgICAudG9wX2NtcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAuY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zdWJfdGl0bGUgLmVsZW1lbnRfdGV4dCAuY29udGVudF90ZXh0e1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuXG4gICAgICAgICAgICAuY2stY29udGVudCAudGl0cmVfaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5iZW5lZml0dGl0bGUgLmVsZW1lbnRfdGV4dCAuY29udGVudF90ZXh0e1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICAgICAuY2stY29udGVudCAudGl0cmVfaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50X2NtcyAuY21zX2NvbnRlbnRfcm93LmJlbmVmaXQge1xuICAgICAgICAgICAgLmNrLWNvbnRlbnQgLnRpdHJlX2g0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9jbXMgLmNtc19jb250ZW50X3Jvdy5zdWJfdGl0bGUgLmNtc19jb2x1bW4gW2NsYXNzKj1lbGVtZW50X10gKyBbY2xhc3MqPWVsZW1lbnRfXSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudF9jbXMgLmNtc19jb250ZW50X3Jvdy5iZW5lZml0dGl0bGUgLmNtc19jb2x1bW4gW2NsYXNzKj1lbGVtZW50X10gKyBbY2xhc3MqPWVsZW1lbnRfXSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAvKiAgIC5idG5fZXhwYW5kX21vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgICAgICAgICAgLmljb24tYXJyb3ctZG93biB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gUm90YXRpb24gZGUgbGEgZmzDqGNoZSBxdWFuZCBjJ2VzdCBvdXZlcnRcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLmljb24tYXJyb3ctZG93biB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBhbmRhYmxlX3dyYXBwZXIuaXNfY29sbGFwc2VkX21vYmlsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgKi9cblxuICAgICAgICAuY29udGVudF9jbXMgLmNtc19jb2x1bW4ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgLyogRXNwYWNlIGVudHJlIGxlcyBkZXV4IGFib25uZW1lbnRzICovXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7ICAgIC8qIMOJdml0ZSBxdWUgbGVzIGJsb2NzIHRvdWNoZW50IGxlcyBib3JkcyBkdSB0w6lsw6lwaG9uZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfY21zIC5jbXNfY29udGVudF9yb3cuY2hvaWNlIC5jbXNfY29sdW1uIFtjbGFzcyo9ZWxlbWVudF9dIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnNjcmlwdGlvbi1jYXJkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBPbiByZXN0ZSB2ZXJ0aWNhbCBtYWlzIG9uIGNoYW5nZSBsZSBsb29rICovXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgLyogUGx1cyBsaXNpYmxlIHF1J2F1IGNlbnRyZSBzdXIgbW9iaWxlICovXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnN1YnNjcmlwdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuc3Vic2NyaXB0aW9uLWhlYWRlciAudGl0cmVfaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyAvKiBPbiBmb3JjZSBsZSBnYXVjaGUgcG91ciBsZSBmb3JtYXQgbGlzdGUgKi9cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAvKiBPbiByw6lkdWl0IGwnZXNwYWNlIGRlcyBsaXN0ZXMgcG91ciBxdWUgw6dhIHByZW5uZSBtb2lucyBkZSBwbGFjZSBlbiBoYXV0ZXVyICovXG4gICAgICAgIC5zdWJzY3JpcHRpb24tYm9keSB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICBcbiAgICB9XG5cbiAgICAuc3Vic2NyaXB0aW9uLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgLm1lZGl1bSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgfVxuICAgICAgICAudGl0cmVfaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIFN0Z3MgUHJvamV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBDb3VsZXVyc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIHByb2plY3QgY29sb3JzXG5cbiRiZWlnZSAgICAgICAgICA6ICNmZmU4ZDY7XG4kYmVpZ2UyICAgICAgICAgOiAjZjVkNmJkO1xuJGJyb3duICAgICAgICAgIDogI2I3OWU4YTtcbiRibGFjayAgICAgICAgICA6ICMxMjEyMTI7XG4kZ3JleS1kYXJrICAgICAgOiAjNTg1ODU4O1xuJGdyZXktZGFyazIgICAgIDogIzhmOGY4ZjtcbiRncmV5ICAgICAgICAgICA6ICNiZGJkYmQ7XG4kZ3JleS1saWdodCAgICAgOiAjZjNmM2YzO1xuJGdyZXktbGlnaHQyICAgIDogI2Y5ZjlmOTtcbiRncmV5LWxpZ2h0MyAgICA6ICNkOWQ5ZDk7XG4kd2hpdGUgICAgICAgICAgOiAjZmZmZmZmO1xuJGdyZWVuICAgICAgICAgIDogIzkxY2JhMTtcblxuLy8gYWxlcnQgY29sb3JzXG5cbiRzdWNjZXNzICAgICAgICA6ICMwMDkxMDA7XG4kaW5mbyAgICAgICAgICAgOiAjMDAwZmI0O1xuJHdhcm5pbmcgICAgICAgIDogI2M4OGQwMDtcbiRkYW5nZXIgICAgICAgICA6ICNkMDAwMDA7XG5cbi8qIC0gVmFyaWFibGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJHRyYW5zaXRpb24gICAgIDogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb25TbG93IDogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XG4kdHJhbnNpdGlvbk51bGwgOiBhbGwgMHMgZWFzZS1pbi1vdXQ7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gU3RncyBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFNoYWRvd1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBzaGFkb3coJHNoYWRvdyA6IDAgMnB4IDEwcHggMCByZ2JhKCRibGFjaywgMC4yKSkge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdyA6ICRzaGFkb3c7XG4gICAgLW1vei1ib3gtc2hhZG93ICAgIDogJHNoYWRvdztcbiAgICBib3gtc2hhZG93ICAgICAgICAgOiAkc2hhZG93O1xufVxuXG4vKiAtIEltYWdlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBpbWFnZUZpdCgpIHtcbiAgICBvYmplY3QtZml0ICAgICAgICAgOiBjb3ZlcjtcbiAgICAtby1vYmplY3QtZml0ICAgICAgOiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb24gICAgOiBjZW50ZXI7XG4gICAgLW8tb2JqZWN0LXBvc2l0aW9uIDogY2VudGVyO1xufVxuXG5AbWl4aW4gcmVzZXRJbWFnZUZpdCgpIHtcbiAgICBvYmplY3QtZml0ICAgIDogdW5zZXQ7XG4gICAgLW8tb2JqZWN0LWZpdCA6IHVuc2V0O1xufVxuXG4vKiAtIEludGVyYWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBob3Zlcl9mb2N1cyB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzX2FjY2VzcyB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AaW1wb3J0ICdzdGdzX3Byb2pldCc7XG5AaW1wb3J0ICdzdGdzX21peGlucyc7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBTdGdzIEFyYWJpY2Fcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIGZsdWlkIE1vZGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kZmx1aWRNb2RlICAgICAgICAgICAgICAgOiB0cnVlOyAvLyBUcnVlIC0gRmFsc2VcblxuLyogLSBCcmVha3BvaW50cyAoY29sb25uZXMsIHRhaWxsZSBkZXMgYm94ZXMgZXQgbW9kYWxlcylcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kYnJlYWtwb2ludE1hcCAgICAgICAgICAgOiAoXG5cdC8vIGNsYXNzPVwiY29sX3hzXCIgLSBjbGFzcz1cImJveF94c1wiIC0gY2xhc3M9XCJtb2RhbGVfeHNcIlxuXHQneHMnOiAwNDQwcHgsXG5cdC8vIGNsYXNzPVwiY29sX3NtXCIgLSBjbGFzcz1cImJveF9zbVwiIC0gY2xhc3M9XCJtb2RhbGVfc21cIlxuXHQnc20nOiAwNTc2cHgsXG5cdC8vIGNsYXNzPVwiY29sX21kXCIgLSBjbGFzcz1cImJveF9tZFwiIC0gY2xhc3M9XCJtb2RhbGVfbWRcIlxuXHQnbWQnOiAwNzY4cHgsXG5cdC8vIGNsYXNzPVwiY29sX2xnXCIgLSBjbGFzcz1cImJveF9sZ1wiIC0gY2xhc3M9XCJtb2RhbGVfbGdcIlxuXHQnbGcnOiAxMDI0cHgsXG5cdC8vIGNsYXNzPVwiY29sX3hsXCIgLSBjbGFzcz1cImJveF94bFwiIC0gY2xhc3M9XCJtb2RhbGVfeGxcIlxuXHQneGwnOiAxMjMwcHgsXG5cdC8vIGNsYXNzPVwiY29sX2Z1bGxcIiAtIGNsYXNzPVwiYm94X2Z1bGxcIiAtIGNsYXNzPVwibW9kYWxlX2Z1bGxcIlxuXHQnZnVsbCc6IDAxMDAlXG4pO1xuXG4vKiAtIE1hcmdlcyAoRW50cmUgbGVzIGxlcyBjb2xvbm5lcyA6IGNsYXNzPVwibWFyZ2VzXCIgc3VyIGxhIHJvdyBwYXJlbnRlKVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRtYXJnZXMgICAgICAgICAgICAgICAgICA6IDEwcHg7XG4kbWFyZ2VzQnJlYWtwb2ludCAgICAgICAgOiAnbWQnO1xuJG1hcmdlc01vYmlsZSAgICAgICAgICAgIDogNHB4O1xuXG4vKiAtIE5vbWJyZSBkZSBjb2xvbm5lcyBkZSBsYSBncmlsbGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kbm9tYnJlQ29sb25uZXMgICAgICAgICAgOiAxMjtcblxuLyogLSBNb2RhbGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG1vZGFsZVBhZGRpbmcgICAgICAgICAgIDogMjRweDtcbiRtb2RhbGVQYWRkaW5nQnJlYWtwb2ludCA6ICdtZCc7XG4kbW9kYWxlUGFkZGluZ01vYmlsZSAgICAgOiBtYXRoLmRpdigkbW9kYWxlUGFkZGluZywgMik7XG4kbW9kYWxlQmFja2dyb3VuZENvbG9yICAgOiAjZmZmZmZmO1xuJG92ZXJsYXlCYWNrZ3JvdW5kQ29sb3IgIDogIzAwMDAwMDtcbiRvdmVybGF5T3BhY2l0eSAgICAgICAgICA6IC43NTtcblxuLyogLSBGbmN0IERlZmF1bHRcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kZWZhdWx0Jztcbi8qIC0gRm5jdCBPcGVyYXRpb25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3BlcmF0aW9ucyc7XG4vKiAtIEZuY3QgTWVkaWFzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfbWVkaWFzJztcbi8qIC0gRm5jdCBGbHVpZFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2ZsdWlkJztcbi8qIC0gRm5jdCBGb3Jtc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2Zvcm1zJztcbi8qIC0gRm5jdCBHcmlsbGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9ncmlsbGUnO1xuLyogLSBGbmN0IEhlbHBlclxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2hlbHBlcic7XG4vKiAtIEZuY3QgQWxpZ25lbWVudHNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9hbGlnbmVtZW50cyc7XG4vKiAtIEZuY3QgRGlzcGxheVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2Rpc3BsYXknO1xuLyogLSBGbmN0IE9yZHJlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X29yZHJlcyc7XG4vKiAtIEZuY3QgRGlyZWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2RpcmVjdGlvbnMnO1xuLyogLSBGbmN0IFRhaWxsZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90YWlsbGVzJztcbi8qIC0gRm5jdCBUcmFuc2l0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3RyYW5zaXRpb25zJztcbi8qIC0gRm5jdCBBbmltYXRpb25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYW5pbWF0aW9ucyc7XG4vKiAtIEZuY3QgVHJhbnNmb3Jtc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3RyYW5zZm9ybXMnO1xuLyogLSBGbmN0IEludGVyYWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2ludGVyYWN0aW9ucyc7XG4vKiAtIEZuY3QgT21icmVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb21icmVzJztcbi8qIC0gRm5jdCBSYWRpdXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9yYWRpdXMnO1xuXG4vKiAtIEZvbnRzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uL21vbGVjdWxlcy9tb2xfZm9udHMnO1xuLyogLSBCdXR0b25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uL21vbGVjdWxlcy9tb2xfYnV0dG9ucyc7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRGVmYXVsdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gSGVscGVyXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGhlbHBlck1vZGUgOiBmYWxzZSAhZGVmYXVsdCAhZ2xvYmFsOyAvLyBUcnVlIC0gRmFsc2VcblxuJGhlbHBlclBhZGRpbmcgOiAycHggIWRlZmF1bHQgIWdsb2JhbDtcbiRoZWxwZXJCb3JkZXIgOiAycHggIWRlZmF1bHQgIWdsb2JhbDtcbiRoZWxwZXJIZWlnaHQgOiBhdXRvICFkZWZhdWx0ICFnbG9iYWw7XG5cbiRib3hDb2xvciA6IHJlZCAhZGVmYXVsdCAhZ2xvYmFsO1xuJHJvd0NvbG9yIDogZ3JlZW4gIWRlZmF1bHQgIWdsb2JhbDtcbiRjb2xDb2xvciA6IGJsdWUgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBGbHVpZCBNb2RlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGZsdWlkTWFwIDogKCkgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBCcmVha3BvaW50cyAoY29sb25uZXMsIHRhaWxsZSBkZXMgYm94ZXMgZXQgbW9kYWxlcylcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kYnJlYWtwb2ludE1hcCA6IChcbiAgLy8gY2xhc3M9XCJjb2xfeHNcIiAtIGNsYXNzPVwiYm94X3hzXCIgLSBjbGFzcz1cIm1vZGFsZV94c1wiXG4gICAgICAgICd4cyc6IDAzMjBweCxcbiAgLy8gY2xhc3M9XCJjb2xfc21cIiAtIGNsYXNzPVwiYm94X3NtXCIgLSBjbGFzcz1cIm1vZGFsZV9zbVwiXG4gICAgICAgICdzbSc6IDA1NzZweCxcbiAgLy8gY2xhc3M9XCJjb2xfbWRcIiAtIGNsYXNzPVwiYm94X21kXCIgLSBjbGFzcz1cIm1vZGFsZV9tZFwiXG4gICAgICAgICdtZCc6IDA3NjhweCxcbiAgLy8gY2xhc3M9XCJjb2xfbGdcIiAtIGNsYXNzPVwiYm94X2xnXCIgLSBjbGFzcz1cIm1vZGFsZV9sZ1wiXG4gICAgICAgICdsZyc6IDEwMjRweCxcbiAgLy8gY2xhc3M9XCJjb2xfeGxcIiAtIGNsYXNzPVwiYm94X3hsXCIgLSBjbGFzcz1cIm1vZGFsZV94bFwiXG4gICAgICAgICd4bCc6IDEyODBweCxcbiAgLy8gY2xhc3M9XCJjb2xfZnVsbFwiIC0gY2xhc3M9XCJib3hfZnVsbFwiIC0gY2xhc3M9XCJtb2RhbGVfZnVsbFwiXG4gICAgICAgICdmdWxsJzogMDEwMCVcbikgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBNYXJnZXMgKEVudHJlIGxlcyBsZXMgY29sb25uZXMgOiBjbGFzcz1cIm1hcmdlc1wiIHN1ciBsYSByb3cgcGFyZW50ZSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kbWFyZ2VzIDogMTJweCAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1hcmdlc0JyZWFrcG9pbnQgOiAnc20nICFkZWZhdWx0ICFnbG9iYWw7XG4kbWFyZ2VzTW9iaWxlIDogJG1hcmdlcyAvIDIgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBOb21icmUgZGUgY29sb25uZXMgZGUgbGEgZ3JpbGxlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG5vbWJyZUNvbG9ubmVzIDogMTIgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBNb2RhbGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG1vZGFsZVBhZGRpbmcgOiAzMnB4ICFkZWZhdWx0ICFnbG9iYWw7XG4kbW9kYWxlUGFkZGluZ0JyZWFrcG9pbnQgOiAnc20nICFkZWZhdWx0ICFnbG9iYWw7XG4kbW9kYWxlUGFkZGluZ01vYmlsZSA6ICRtb2RhbGVQYWRkaW5nIC8gMiAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1vZGFsZUJhY2tncm91bmRDb2xvciA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWRlZmF1bHQgIWdsb2JhbDtcbiRvdmVybGF5QmFja2dyb3VuZENvbG9yIDogcmdiYSgwLCAwLCAwLCAxKSAhZGVmYXVsdCAhZ2xvYmFsO1xuJG92ZXJsYXlPcGFjaXR5IDogLjc1ICFkZWZhdWx0ICFnbG9iYWw7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBPcMOpcmF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUsOpY3Vww6lyYXRpb24gZCd1bmUgdmFsZXVyIHNhbnMgdW5pdMOpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQGZ1bmN0aW9uIGdldF92YWx1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgTcOpZGlhc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gTWluaW11bSBldCBtYXhpbXVtXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gTWluIFdpZHRoXG5cbkBtaXhpbiBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIE1heCBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBCZXR3ZWVuIFdpZHRoXG5cbkBtaXhpbiBtZWRpYV94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIEFyb3VuZCBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9hcm91bmQoJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIE1pbiBIZWlnaHRcblxuQG1peGluIG1lZGlhX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gTWF4IEhlaWdodFxuXG5AbWl4aW4gbWVkaWFfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBCZXR3ZWVuIEhlaWdodFxuXG5AbWl4aW4gbWVkaWFfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBBcm91bmQgSGVpZ2h0XG5cbkBtaXhpbiBtZWRpYV95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLyogLSBEw6l0w6ljdGlvbiBkZSBsJ29yaWVudGF0aW9uXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gUG9ydHJhaXRcblxuQG1peGluIG1lZGlhX3BvcnRyYWl0IHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0pIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF95X21pbigkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3lfbWF4KCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBMYW5kc2NhcGVcblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV94X21heCgkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeF9iZXR3ZWVuKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFsYW5kc2NhcGV0X3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9IC0gMXB4KSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV95X21heCgkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3lfYXJvdW5kKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vKiAtIFR5cGVzIGRlIGRldmljZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBUb3VjaFxuXG5AbWl4aW4gbWVkaWFfdG91Y2gge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF94X21heCgkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3hfYmV0d2VlbigkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeF9hcm91bmQoJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSAtIDFweCkpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF95X2JldHdlZW4oJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3lfYXJvdW5kKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIFBvaW50ZXJcblxuQG1peGluIG1lZGlhX3BvaW50ZXIge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfYmV0d2VlbigkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSAtIDFweCkpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9taW4oJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9hcm91bmQoJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBQcmludFxuXG5AbWl4aW4gbWVkaWFfcHJpbnQge1xuXHRAbWVkaWEgcHJpbnQge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBmbHVpZCgkZmx1aWRNYXApIHtcblxuXHQvKiAtIFZhcmlhYmxlc1xuXHQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cblx0JHRhaWxsZUVjcmFuQ3VycmVudCA6IDEwMHZ3O1xuXHQkdGFpbGxlRWNyYW5NYXggOiBtYXBfZ2V0KCRicmVha3BvaW50TWFwLCBudGgobnRoKCRicmVha3BvaW50TWFwLCBsZW5ndGgoJGJyZWFrcG9pbnRNYXApLTEpLCAxKSk7XG5cdCR0YWlsbGVFY3Jhbk1pbiA6IG1hcF9nZXQoJGJyZWFrcG9pbnRNYXAsIG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSk7XG5cdCRkaWZmRWNyYW5DdXJyZW50TWluIDogY2FsYygjeyR0YWlsbGVFY3JhbkN1cnJlbnR9IC0gI3skdGFpbGxlRWNyYW5NaW59KTtcblx0JGRpZmZFY3Jhbk1heE1pbiA6IGdldF92YWx1ZSgkdGFpbGxlRWNyYW5NYXgpIC0gZ2V0X3ZhbHVlKCR0YWlsbGVFY3Jhbk1pbik7XG5cblx0LyogLSBHw6luw6lyYXRpb24gZGVzIHRhaWxsZXMgRmx1aWRlc1xuXHQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cblx0QGVhY2ggJGJhbGlzZSwgJHZhbHVlIGluICRmbHVpZE1hcCB7XG5cblx0XHQjeyRiYWxpc2V9IHtcblxuXHRcdFx0QGVhY2ggJGVsZW1lbnQgaW4gJHZhbHVlIHtcblxuXHRcdFx0XHQkcHJvcHJpZXRlIDogbnRoKCRlbGVtZW50LCAxKTtcblx0XHRcdFx0JG1pbiA6IG50aChudGgoJGVsZW1lbnQsIDIpLCAxKTtcblxuXHRcdFx0XHRAaWYgbGVuZ3RoKG50aCgkZWxlbWVudCwgMikpID4gMSB7XG5cblx0XHRcdFx0XHQkbWF4IDogbnRoKG50aCgkZWxlbWVudCwgMiksIDIpO1xuXHRcdFx0XHRcdCRtYXhNb2luc01pbiA6IGdldF92YWx1ZSgkbWF4KSAtIGdldF92YWx1ZSgkbWluKTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhX3hfbWF4KG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSkge1xuXG5cdFx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogJG1pbjtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhX3hfbWluKG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSkge1xuXG5cdFx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogY2FsYygjeyRtaW59ICsgKCN7JG1heE1vaW5zTWlufSkgKiAoI3skdGFpbGxlRWNyYW5DdXJyZW50fSAtICN7JHRhaWxsZUVjcmFuTWlufSkgLyAoI3tnZXRfdmFsdWUoJHRhaWxsZUVjcmFuTWF4KX0gLSAje2dldF92YWx1ZSgkdGFpbGxlRWNyYW5NaW4pfSkpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4obnRoKG50aCgkYnJlYWtwb2ludE1hcCwgbGVuZ3RoKCRicmVha3BvaW50TWFwKS0xKSwgMSkpIHtcblxuXHRcdFx0XHRcdFx0I3skcHJvcHJpZXRlfSA6ICRtYXg7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fSBAZWxzZSB7XG5cblx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogJG1pbjtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIGZsdWlkKCRmbHVpZE1hcCk7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRm9ybXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFBsYWNlaG9sZGVyXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGlucHV0X3BsYWNlaG9sZGVyIHtcblx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cblx0Jjo6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IEdyaWxsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQm94c1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIENvbXBvcnRlbWVudCBkZXMgYm94cyBwYXIgZMOpZmF1dFxuXG4lYm94IHtcbiAgbWFyZ2luLXJpZ2h0IDogYXV0bztcbiAgbWFyZ2luLWxlZnQgIDogYXV0bztcbn1cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBib3hzIGF2ZWMgZGVzIG1hcmdlc1xuXG5AbWl4aW4gbWFyZ2VzKCRib3hXaWR0aCkge1xuICAmLm1hcmdlcyB7XG4gICAgQGlmICRib3hXaWR0aCAhPSBtYXBfZ2V0KCRicmVha3BvaW50TWFwLCBmdWxsKSB7XG4gICAgICBtYXgtd2lkdGggICAgIDogJGJveFdpZHRoICsgKCRtYXJnZXMgKiA0KTtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzICogMjtcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzICogMjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhX3hfbWF4KCRtYXJnZXNCcmVha3BvaW50KSB7XG4gICAgICAgIG1heC13aWR0aCAgICAgOiAkYm94V2lkdGggKyAoJG1hcmdlc01vYmlsZSAqIDQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogJG1hcmdlc01vYmlsZSAqIDI7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzTW9iaWxlICogMjtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzICogMjtcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzICogMjtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGJveCwgJGJveFNpemUgaW4gJGJyZWFrcG9pbnRNYXAge1xuICAuYm94XyN7JGJveH0ge1xuICAgIEBleHRlbmQgJWJveDtcbiAgICBAaW5jbHVkZSBtYXJnZXMoJGJveFdpZHRoIDogJGJveFNpemUpO1xuICAgIG1heC13aWR0aCA6ICRib3hTaXplO1xuICB9XG59XG5cbi8qIC0gUm93c1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBwYXIgZMOpZmF1dFxuXG5AbWl4aW4gcm93IHtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5ICAgICAgICAgICAgICAgIDogLW1vei1ib3g7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgOiAtbXMtZmxleGJveDtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IGZsZXg7XG4gIGZsZXgtd3JhcCAgICAgICAgICAgICAgOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcCAgICAgIDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcCAgICAgICAgICA6IHdyYXA7XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgOiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgIDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICA6IDE7XG4gIC13ZWJraXQtYm94LW9yaWVudCAgICAgOiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb24gIDogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uIDogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb24gICAgIDogcm93O1xuICBmbGV4LWRpcmVjdGlvbiAgICAgICAgIDogcm93O1xuXG4gIC8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBhdmVjIGRlcyBtYXJnZXNcblxuICAmLm1hcmdlcyB7XG4gICAgbWFyZ2luLXJpZ2h0IDogLSRtYXJnZXM7XG4gICAgbWFyZ2luLWxlZnQgIDogLSRtYXJnZXM7XG4gICAgPiBbY2xhc3MqPVwiY29sXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzO1xuICAgICAgcGFkZGluZy1sZWZ0ICA6ICRtYXJnZXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWF4KCRtYXJnZXNCcmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQgOiAtJG1hcmdlc01vYmlsZTtcbiAgICAgIG1hcmdpbi1sZWZ0ICA6IC0kbWFyZ2VzTW9iaWxlO1xuICAgICAgPiBbY2xhc3MqPVwiY29sXCJdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6ICRtYXJnZXNNb2JpbGU7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzTW9iaWxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBObyBXcmFwXG5cbiAgJi5ub193cmFwIHtcbiAgICBmbGV4LXdyYXAgICAgICAgICA6IG5vd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcCA6IG5vd3JhcDtcbiAgICAtbXMtZmxleC13cmFwICAgICA6IG5vd3JhcDtcbiAgfVxufVxuXG4ucm93IHtcbiAgQGluY2x1ZGUgcm93O1xufVxuXG4vKiAtIENvbG9ubmVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBjb2xvbm5lcyBwYXIgZMOpZmF1dCAocsOpcGFydGl0aW9uIMOpcXVpdGFibGUpXG5cbkBtaXhpbiBjb2wge1xuICAvLyBHcm93XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gIC8vIFNocmlua1xuICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDE7XG4gIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMTtcbiAgLy8gQmFzaXNcbiAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IDA7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogMDtcbiAgLy8gU2l6ZVxuICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IDEwMCU7XG59XG5cbltjbGFzc149XCJjb2xcIl0ge1xuICBAaW5jbHVkZSBjb2w7XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgZW4gbGFyZ2V1ciBiYXPDqWUgc3VyIGxlIGNvbnRlbnVcblxuQG1peGluIGNvbF9jb250ZW50IHtcbiAgLy8gR3Jvd1xuICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMDtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAwO1xuICAvLyBTaHJpbmtcbiAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDA7XG4gIC8vIEJhc2lzXG4gIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogYXV0bztcbiAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBhdXRvO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IGF1dG87XG59XG5cbi5jb2xfY29udGVudCB7XG4gIEBpbmNsdWRlIGNvbF9jb250ZW50O1xufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIGxhcmdldXIgZmx1aWRlIGV0IGJhc8OpZSBzdXIgbGUgY29udGVudVxuXG5AbWl4aW4gY29sX2F1dG8ge1xuICAvLyBHcm93XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gIC8vIFNocmlua1xuICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMDtcbiAgLy8gQmFzaXNcbiAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBhdXRvO1xuICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IGF1dG87XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogYXV0bztcbn1cblxuLmNvbF9hdXRvIHtcbiAgQGluY2x1ZGUgY29sX2F1dG87XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgZW4gbGFyZ2V1ciBkw6lmaW5pZVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG5cbiAgLy8gQ2FsY3VsIGRlIGxhIGxhcmdldXIgZCd1bmUgY29sb25uZVxuXG4gIC5jb2xfI3skaX0ge1xuICAgIC8vIEdyb3dcbiAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAwO1xuICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAvLyBTaHJpbmtcbiAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgIC8vIEJhc2lzXG4gICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLy8gV2lkdGhcbiAgICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgfVxuXG4gIC8vIFNpIHVuZSBjb2xvbm5lIMOgIHBvdXIgdmFsZXVyICcwJyBlbiBsYXJnZXVyLCBvbiBuZSBsJ2FmZmljaGUgcGFzXG5cbiAgQGlmICRpID09IDAge1xuICAgIC5jb2xfI3skaX0sIC5jb2xfb2Zmc2V0XyN7JGl9IHtcbiAgICAgIGRpc3BsYXkgOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIHJlc3BvbnNpdmUgcGFyIGJyZWFrcG9pbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRNYXApIHtcblxuICAvLyBQb3VyIGNoYXF1ZSBicmVha3BvaW50LCBnw6luw6lyYXRpb24gZCd1bmUgbGFyZ2V1ciBkw6l0ZXJtaW7DqWVcbiAgQGlmICRicmVha3BvaW50ICE9IGZ1bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWluKCRicmVha3BvaW50KSB7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG4gICAgICAgIC5jb2xfI3skYnJlYWtwb2ludH1fI3skaX0ge1xuICAgICAgICAgIC8vIEdyb3dcbiAgICAgICAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAwO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAgICAgICAvLyBTaHJpbmtcbiAgICAgICAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgICAgICAgIC8vIEJhc2lzXG4gICAgICAgICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLy8gV2lkdGhcbiAgICAgICAgICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgICAgICAgICAvLyBEaXNwbGF5XG4gICAgICAgICAgZGlzcGxheSAgICAgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2xfI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAvLyBHcm93XG4gICAgICAgIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gICAgICAgIC8vIFNocmlua1xuICAgICAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMTtcbiAgICAgICAgLy8gQmFzaXNcbiAgICAgICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IDA7XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogMDtcbiAgICAgIH1cbiAgICAgIC5jb2xfY29udGVudF8jeyRicmVha3BvaW50fSB7XG4gICAgICAgIC8vIEdyb3dcbiAgICAgICAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgICA6IDA7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAgICAgLy8gU2hyaW5rXG4gICAgICAgIGZsZXgtc2hyaW5rICAgICAgICAgICAgIDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgICAgICAvLyBCYXNpc1xuICAgICAgICBmbGV4LWJhc2lzICAgICAgICAgICAgICA6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogYXV0bztcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuICAgICAgfVxuICAgICAgLmNvbF9hdXRvXyN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgLy8gR3Jvd1xuICAgICAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAxO1xuICAgICAgICAvLyBTaHJpbmtcbiAgICAgICAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDA7XG4gICAgICAgIC8vIEJhc2lzXG4gICAgICAgIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBhdXRvO1xuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgb2Zmc2V0IGVuIGxhcmdldXIgZMOpZmluaWVcblxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkbm9tYnJlQ29sb25uZXMge1xuXG4gIC8vIFV0aWxpc2F0aW9uIGQndW5lIG1hcmdlIMOgIGdhdWNoZSBwb3VyIGTDqWZpbmlyIHVuIG9mZnNldFxuXG4gIC5jb2xfb2Zmc2V0XyN7JGl9IHtcbiAgICBtYXJnaW4tbGVmdCA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgfVxufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIG9mZnNldCBlbiByZXNwb25zaXZlIHBhciBicmVha3BvaW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cbiAgLy8gUG91ciBjaGFxdWUgYnJlYWtwb2ludCwgZ8OpbsOpcmF0aW9uIGQndW5lIG1hcmdlIMOgIGdhdWNoZSBkw6l0ZXJtaW7DqWVcbiAgQGlmICRicmVha3BvaW50ICE9IGZ1bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWluKCRicmVha3BvaW50KSB7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG4gICAgICAgIC5jb2xfb2Zmc2V0XyN7JGJyZWFrcG9pbnR9XyN7JGl9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdCA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgSW50w6lyYWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQWlkZSDDoCBsJ2ludMOpZ3JhdGlvblxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiVib3hIZWxwZXIge1xuXHRib3JkZXIgIDogJGhlbHBlckJvcmRlciBzb2xpZCAkYm94Q29sb3I7XG5cdHBhZGRpbmcgOiAkaGVscGVyUGFkZGluZztcbn1cblxuJXJvd0hlbHBlciB7XG5cdGJvcmRlciAgOiAkaGVscGVyQm9yZGVyIHNvbGlkICRyb3dDb2xvcjtcblx0cGFkZGluZyA6ICRoZWxwZXJQYWRkaW5nO1xuXHQrIC5yb3csICsgW2NsYXNzKj1cImJveFwiXSB7XG5cdFx0bWFyZ2luLXRvcCA6ICRoZWxwZXJQYWRkaW5nO1xuXHR9XG59XG5cbiVjb2xIZWxwZXIge1xuXHRib3JkZXIgICAgIDogJGhlbHBlckJvcmRlciBzb2xpZCAkY29sQ29sb3I7XG5cdG1pbi1oZWlnaHQgOiAkaGVscGVySGVpZ2h0O1xuXHRwYWRkaW5nICAgIDogJGhlbHBlclBhZGRpbmc7XG59XG5cbkBpZiAkaGVscGVyTW9kZSB7XG5cblx0W2NsYXNzKj1cImJveFwiXSB7XG5cdFx0QGV4dGVuZCAlYm94SGVscGVyO1xuXHR9XG5cblx0LnJvdyB7XG5cdFx0QGV4dGVuZCAlcm93SGVscGVyO1xuXHR9XG5cblx0W2NsYXNzKj1cImNvbFwiXSB7XG5cdFx0QGV4dGVuZCAlY29sSGVscGVyO1xuXHR9XG5cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBBbGlnbmVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUGxhY2Vob2xkZXIgRmxleFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkX2ZsZXgge1xuXHRkaXNwbGF5IDogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXkgOiAtbW96LWJveDtcblx0ZGlzcGxheSA6IC1tcy1mbGV4Ym94O1xuXHRkaXNwbGF5IDogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5IDogZmxleDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyBhYnNvbHV0ZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgYWJzb2x1dGVcblxuQG1peGluIHhfYWxpZ25fYWJzb2x1dGUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi54X2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgeF9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBhYnNvbHV0ZVxuXG5AbWl4aW4geV9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnlfYWxpZ25fYWJzb2x1dGUge1xuXHRAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xufVxuXG4vLyBBbGlnbmVtZW50IGNlbnRyYWwgYWJzb2x1dGVcblxuQG1peGluIGNlbnRlcl9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY2VudGVyX2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgY2VudGVyX2FsaWduX2Fic29sdXRlO1xufVxuXG4vLyBBbGlnbmVtZW50IHJlc2V0IGFic29sdXRlXG5cbkBtaXhpbiByZXNldF9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdC8vdG9wICAgICAgICAgICAgICAgOiBhdXRvO1xuXHQvL2xlZnQgICAgICAgICAgICAgIDogYXV0bztcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xufVxuXG4ucmVzZXRfYWxpZ25fYWJzb2x1dGUge1xuXHRAaW5jbHVkZSByZXNldF9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLyogLSBBbGlnbmVtZW50cyBmaXhlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCBmaXhlXG5cbkBtaXhpbiB4X2FsaWduX2ZpeGVkIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBmaXhlZDtcblx0bGVmdCAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4ueF9hbGlnbl9maXhlZCB7XG5cdEBpbmNsdWRlIHhfYWxpZ25fZml4ZWQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZml4ZVxuXG5AbWl4aW4geV9hbGlnbl9maXhlZCB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogZml4ZWQ7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnlfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSB5X2FsaWduX2ZpeGVkO1xufVxuXG4vLyBBbGlnbmVtZW50IGNlbnRyYWwgZml4ZVxuXG5AbWl4aW4gY2VudGVyX2FsaWduX2ZpeGVkIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBmaXhlZDtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5jZW50ZXJfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fZml4ZWQ7XG59XG5cbi8vIEFsaWduZW1lbnQgcmVzZXQgZml4ZVxuXG5AbWl4aW4gcmVzZXRfYWxpZ25fZml4ZWQge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGZpeGVkO1xuXHR0b3AgICAgICAgICAgICAgICA6IDA7XG5cdGxlZnQgICAgICAgICAgICAgIDogMDtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xufVxuXG4ucmVzZXRfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSByZXNldF9hbGlnbl9maXhlZDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyByZWxhdGl2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCByZWxhdGl2ZVxuXG5AbWl4aW4geF9hbGlnbl9yZWxhdGl2ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnhfYWxpZ25fcmVsYXRpdmUge1xuXHRAaW5jbHVkZSB4X2FsaWduX3JlbGF0aXZlO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIHJlbGF0aXZlXG5cbkBtaXhpbiB5X2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4ueV9hbGlnbl9yZWxhdGl2ZSB7XG5cdEBpbmNsdWRlIHlfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8vIEFsaWduZW1lbnQgY2VudHJhbCByZWxhdGl2ZVxuXG5AbWl4aW4gY2VudGVyX2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5jZW50ZXJfYWxpZ25fcmVsYXRpdmUge1xuXHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8vIEFsaWduZW1lbnQgcmVzZXQgcmVsYXRpdmVcblxuQG1peGluIHJlc2V0X2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiAwO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcbn1cblxuLnJlc2V0X2FsaWduX3JlbGF0aXZlIHtcblx0QGluY2x1ZGUgcmVzZXRfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgaG9yaXpvbnRhdXggKHgpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIMOgIGdhdWNoZVxuXG5AbWl4aW4geF9zdGFydCB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogZmxleC1zdGFydDtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IHN0YXJ0O1xuXHR0ZXh0LWFsaWduICAgICAgICAgICAgICA6IGxlZnQ7XG59XG5cbi54X3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgYXUgY2VudHJlXG5cbkBtaXhpbiB4X2NlbnRlciB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogY2VudGVyO1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcblx0LW1zLWZsZXgtcGFjayAgICAgICAgICAgOiBjZW50ZXI7XG5cdHRleHQtYWxpZ24gICAgICAgICAgICAgIDogY2VudGVyO1xufVxuXG4ueF9jZW50ZXIge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfY2VudGVyO1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgw6AgZHJvaXRlXG5cbkBtaXhpbiB4X2VuZCB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7XG5cdC1tcy1mbGV4LXBhY2sgICAgICAgICAgIDogZW5kO1xuXHR0ZXh0LWFsaWduICAgICAgICAgICAgICA6IHJpZ2h0O1xufVxuXG4ueF9lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfZW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgXCJlc3BhY2UgbGlicmUgZW50cmUgbGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHhfYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogc3BhY2UtYmV0d2Vlbjtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1iZXR3ZWVuO1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IGp1c3RpZnk7XG59XG5cbi54X2JldHdlZW4ge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfYmV0d2Vlbjtcbn1cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIFwiZXNwYWNlIGxpYnJlIGF1dG91cnMgZGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHhfYXJvdW5kIHtcblx0anVzdGlmeS1jb250ZW50ICAgICAgICAgOiBzcGFjZS1hcm91bmQ7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogc3BhY2UtYXJvdW5kO1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IGRpc3RyaWJ1dGU7XG59XG5cbi54X2Fyb3VuZCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeF9hcm91bmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCBcImVzcGFjZSBsaWJyZSDDqWdhbFwiXG5cbkBtaXhpbiB4X2V2ZW5seSB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogc3BhY2UtZXZlbmx5O1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IHNwYWNlLWV2ZW5seTtcbn1cblxuLnhfZXZlbmx5IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X2V2ZW5seTtcbn1cblxuLyogLSBBbGlnbmVtZW50cyB2ZXJ0aWNhdXggZGVzIGxpZ25lcyBkZSBjb250ZW51ICh5KVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGVuIGhhdXRcblxuQG1peGluIHlfY29udGVudF9zdGFydCB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IGZsZXgtc3RhcnQ7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IHN0YXJ0O1xufVxuXG4ueV9jb250ZW50X3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfc3RhcnQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGF1IG1pbGlldVxuXG5AbWl4aW4geV9jb250ZW50X2NlbnRlciB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1jb250ZW50IDogY2VudGVyO1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBjZW50ZXI7XG59XG5cbi55X2NvbnRlbnRfY2VudGVyIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfY2VudGVyO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBlbiBiYXNcblxuQG1peGluIHlfY29udGVudF9lbmQge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBmbGV4LWVuZDtcblx0LXdlYmtpdC1hbGlnbi1jb250ZW50IDogZmxleC1lbmQ7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IGVuZDtcbn1cblxuLnlfY29udGVudF9lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9lbmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IFwiZXNwYWNlIGxpYnJlIGVudHJlIGxlcyBjb2xvbm5lc1wiXG5cbkBtaXhpbiB5X2NvbnRlbnRfYmV0d2VlbiB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IHNwYWNlLWJldHdlZW47XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHNwYWNlLWJldHdlZW47XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IGp1c3RpZnk7XG59XG5cbi55X2NvbnRlbnRfYmV0d2VlbiB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X2JldHdlZW47XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IFwiZXNwYWNlIGxpYnJlIGF1dG91cnMgZGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHlfY29udGVudF9hcm91bmQge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBzcGFjZS1hcm91bmQ7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHNwYWNlLWFyb3VuZDtcblx0LW1zLWZsZXgtbGluZS1wYWNrICAgIDogZGlzdHJpYnV0ZTtcbn1cblxuLnlfY29udGVudF9hcm91bmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9hcm91bmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGVuIHJlbXBsaXNzYWdlXG5cbkBtaXhpbiB5X2NvbnRlbnRfc3RyZXRjaCB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IHN0cmV0Y2g7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHN0cmV0Y2g7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IHN0cmV0Y2g7XG59XG5cbi55X2NvbnRlbnRfc3RyZXRjaCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X3N0cmV0Y2g7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgdmVydGljYXV4IGRlcyBpdGVtcyAoeSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBlbiBoYXV0XG5cbkBtaXhpbiB5X2l0ZW1zX3N0YXJ0IHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBmbGV4LXN0YXJ0O1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogc3RhcnQ7XG59XG5cbi55X2l0ZW1zX3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2l0ZW1zX3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBhdSBtaWxpZXVcblxuQG1peGluIHlfaXRlbXNfY2VudGVyIHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1pdGVtcyA6IGNlbnRlcjtcblx0LW1zLWZsZXgtYWxpZ24gICAgICA6IGNlbnRlcjtcbn1cblxuLnlfaXRlbXNfY2VudGVyIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2l0ZW1zX2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgaXRlbXMgZW4gYmFzXG5cbkBtaXhpbiB5X2l0ZW1zX2VuZCB7XG5cdGFsaWduLWl0ZW1zICAgICAgICAgOiBmbGV4LWVuZDtcblx0LXdlYmtpdC1hbGlnbi1pdGVtcyA6IGZsZXgtZW5kO1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogZW5kO1xufVxuXG4ueV9pdGVtc19lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfaXRlbXNfZW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBlbiByZW1wbGlzc2FnZVxuXG5AbWl4aW4geV9pdGVtc19zdHJldGNoIHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IHN0cmV0Y2g7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBzdHJldGNoO1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogc3RyZXRjaDtcbn1cblxuLnlfaXRlbXNfc3RyZXRjaCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9pdGVtc19zdHJldGNoO1xufVxuXG4vKiAtIEFsaWduZW1lbnRzIHNlbGZzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCBkZSBsJ2l0ZW0gZW4gaGF1dFxuXG5AbWl4aW4geV9zZWxmX3N0YXJ0IHtcblx0YWxpZ24tc2VsZiAgICAgICAgICAgIDogZmxleC1zdGFydDtcblx0LXdlYmtpdC1hbGlnbi1zZWxmICAgIDogZmxleC1zdGFydDtcblx0LW1zLWdyaWQtY29sdW1uLWFsaWduIDogc3RhcnQ7XG59XG5cbi55X3NlbGZfc3RhcnQge1xuXHRAaW5jbHVkZSB5X3NlbGZfc3RhcnQ7XG59XG5cbi8vIEFsaWduZW1lbnQgZGUgbCdpdGVtIGF1IG1pbGlldVxuXG5AbWl4aW4geV9zZWxmX2NlbnRlciB7XG5cdGFsaWduLXNlbGYgICAgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1zZWxmICAgIDogY2VudGVyO1xuXHQtbXMtZ3JpZC1jb2x1bW4tYWxpZ24gOiBjZW50ZXI7XG59XG5cbi55X3NlbGZfY2VudGVyIHtcblx0QGluY2x1ZGUgeV9zZWxmX2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCBkZSBsJ2l0ZW0gZW4gYmFzXG5cbkBtaXhpbiB5X3NlbGZfZW5kIHtcblx0YWxpZ24tc2VsZiAgICAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtYWxpZ24tc2VsZiAgICA6IGZsZXgtZW5kO1xuXHQtbXMtZ3JpZC1jb2x1bW4tYWxpZ24gOiBlbmQ7XG59XG5cbi55X3NlbGZfZW5kIHtcblx0QGluY2x1ZGUgeV9zZWxmX2VuZDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyByZXNwb25zaXZlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LnhfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9hYnNvbHV0ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9hYnNvbHV0ZTtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9hYnNvbHV0ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LnhfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9maXhlZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9maXhlZDtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9maXhlZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LnhfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9yZWxhdGl2ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9yZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9yZWxhdGl2ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0Lnhfc3RhcnRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfc3RhcnQ7XG5cdFx0XHR9XG5cdFx0XHQueF9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0LnhfZW5kXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X2VuZDtcblx0XHRcdH1cblx0XHRcdC54X2JldHdlZW5fI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfYmV0d2Vlbjtcblx0XHRcdH1cblx0XHRcdC54X2Fyb3VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeF9hcm91bmQ7XG5cdFx0XHR9XG5cdFx0XHQueF9ldmVubHlfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfZXZlbmx5O1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X3N0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X2VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2VuZDtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfYmV0d2Vlbl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2JldHdlZW47XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X2Fyb3VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2Fyb3VuZDtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfc3RyZXRjaF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X3N0cmV0Y2g7XG5cdFx0XHR9XG5cdFx0XHQueV9pdGVtc19zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19zdGFydDtcblx0XHRcdH1cblx0XHRcdC55X2l0ZW1zX2NlbnRlcl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9pdGVtc19lbmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfaXRlbXNfZW5kO1xuXHRcdFx0fVxuXHRcdFx0LnlfaXRlbXNfc3RyZXRjaF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19zdHJldGNoO1xuXHRcdFx0fVxuXHRcdFx0Lnlfc2VsZl9zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9zZWxmX3N0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0Lnlfc2VsZl9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfc2VsZl9jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9zZWxmX2VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9zZWxmX2VuZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBEaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBBZmZpY2hhZ2UgZGVzIMOpbMOpbWVudHNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBOb25lXG5cbkBtaXhpbiBkX25vbmUge1xuXHRkaXNwbGF5IDogbm9uZTtcbn1cblxuLmRfbm9uZSB7XG5cdEBpbmNsdWRlIGRfbm9uZTtcbn1cblxuLy8gSW5saW5lLWJsb2NrXG5cbkBtaXhpbiBkX2liIHtcblx0ZGlzcGxheSA6IGlubGluZS1ibG9jaztcbn1cblxuLmRfaWIge1xuXHRAaW5jbHVkZSBkX2liO1xufVxuXG4vLyBGbGV4XG5cbkBtaXhpbiBkX2ZsZXgge1xuXHRkaXNwbGF5IDogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXkgOiAtbW96LWJveDtcblx0ZGlzcGxheSA6IC1tcy1mbGV4Ym94O1xuXHRkaXNwbGF5IDogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5IDogZmxleDtcbn1cblxuLmRfZmxleCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcbn1cblxuLy8gUmVzcG9uc2l2ZVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC5kX25vbmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX25vbmU7XG5cdFx0XHR9XG5cdFx0XHQuZF9pYl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfaWI7XG5cdFx0XHR9XG5cdFx0XHQuZF9mbGV4XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IE9yZHJlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gRmlyc3Rcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gb3JkZXJfZmlyc3Qge1xuXHRvcmRlciAgICAgICAgICAgICAgOiAtMTtcblx0LXdlYmtpdC1mbGV4LW9yZGVyIDogLTE7XG5cdC1tcy1mbGV4LW9yZGVyICAgICA6IC0xO1xufVxuXG4ub3JkZXJfZmlyc3Qge1xuXHRAaW5jbHVkZSBvcmRlcl9maXJzdDtcbn1cblxuLyogLSBMYXN0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIG9yZGVyX2xhc3Qge1xuXHRvcmRlciAgICAgICAgICAgICAgOiAxO1xuXHQtd2Via2l0LWZsZXgtb3JkZXIgOiAxO1xuXHQtbXMtZmxleC1vcmRlciAgICAgOiAxO1xufVxuXG4ub3JkZXJfbGFzdCB7XG5cdEBpbmNsdWRlIG9yZGVyX2xhc3Q7XG59XG5cbi8qIC0gT3JkcmUgcmVzcG9uc2l2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0Lm9yZGVyX2ZpcnN0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgb3JkZXJfZmlyc3Q7XG5cdFx0XHR9XG5cdFx0XHQub3JkZXJfbGFzdF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIG9yZGVyX2xhc3Q7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRGlyZWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUm93XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl94IHtcblx0LXdlYmtpdC1ib3gtb3JpZW50ICAgIDogaG9yaXpvbnRhbDtcblx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uIDogbm9ybWFsO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiByb3c7XG5cdGZsZXgtZGlyZWN0aW9uICAgICAgICA6IHJvdztcbn1cblxuLmRpcmVjdGlvbl94IHtcblx0QGluY2x1ZGUgZGlyZWN0aW9uX3g7XG59XG5cbi8qIC0gUm93IFJldmVydFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkaXJlY3Rpb25feF9yZXZlcnQge1xuXHQtd2Via2l0LWJveC1vcmllbnQgICAgOiBob3Jpem9udGFsO1xuXHQtd2Via2l0LWJveC1kaXJlY3Rpb24gOiByZXZlcnNlO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiByb3ctcmV2ZXJzZTtcblx0ZmxleC1kaXJlY3Rpb24gICAgICAgIDogcm93LXJldmVyc2U7XG59XG5cbi5kaXJlY3Rpb25feF9yZXZlcnQge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feF9yZXZlcnQ7XG59XG5cbi8qIC0gQ29sdW1uXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl95IHtcblx0LXdlYmtpdC1ib3gtb3JpZW50ICAgIDogdmVydGljYWw7XG5cdC13ZWJraXQtYm94LWRpcmVjdGlvbiA6IG5vcm1hbDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uICAgIDogY29sdW1uO1xuXHRmbGV4LWRpcmVjdGlvbiAgICAgICAgOiBjb2x1bW47XG5cdD4gW2NsYXNzXj1cImNvbFwiXSB7XG5cdFx0LW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuXHR9XG59XG4uZGlyZWN0aW9uX3kge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feTtcbn1cblxuLyogLSBDb2x1bW4gUmV2ZXJ0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl95X3JldmVydCB7XG5cdC13ZWJraXQtYm94LW9yaWVudCAgICA6IHZlcnRpY2FsO1xuXHQtd2Via2l0LWJveC1kaXJlY3Rpb24gOiByZXZlcnNlO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiBjb2x1bW4tcmV2ZXJzZTtcblx0ZmxleC1kaXJlY3Rpb24gICAgICAgIDogY29sdW1uLXJldmVyc2U7XG5cdD4gW2NsYXNzXj1cImNvbFwiXSB7XG5cdFx0LW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuXHR9XG59XG5cbi5kaXJlY3Rpb25feV9yZXZlcnQge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feV9yZXZlcnQ7XG59XG5cbi8qIC0gT3JkcmUgcmVzcG9uc2l2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LmRpcmVjdGlvbl94XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3g7XG5cdFx0XHR9XG5cdFx0XHQuZGlyZWN0aW9uX3hfcmV2ZXJ0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3hfcmV2ZXJ0O1xuXHRcdFx0fVxuXHRcdFx0LmRpcmVjdGlvbl95XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3k7XG5cdFx0XHR9XG5cdFx0XHQuZGlyZWN0aW9uX3lfcmV2ZXJ0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3lfcmV2ZXJ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IFRhaWxsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIExhcmdldXIgZm9yY8OpZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiB3X2Z1bGwge1xuXHR3aWR0aCA6IDEwMCU7XG59XG5cbi53X2Z1bGwge1xuXHRAaW5jbHVkZSB3X2Z1bGw7XG59XG5cbi8qIC0gSGF1dGV1ciBmb3Jjw6llXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGhfZnVsbCB7XG5cdGhlaWdodCA6IDEwMCU7XG59XG5cbi5oX2Z1bGwge1xuXHRAaW5jbHVkZSBoX2Z1bGw7XG59XG5cbi8qIC0gVGFpbGxlcyByZXNwb25zaXZlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LndfZnVsbF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHdfZnVsbDtcblx0XHRcdH1cblx0XHRcdC5oX2Z1bGxfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBoX2Z1bGw7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbikge1xuXHQtbW96LXRyYW5zaXRpb24gICAgOiAkdHJhbnNpdGlvbjtcblx0LW8tdHJhbnNpdGlvbiAgICAgIDogJHRyYW5zaXRpb247XG5cdC13ZWJraXQtdHJhbnNpdGlvbiA6ICR0cmFuc2l0aW9uO1xuXHR0cmFuc2l0aW9uICAgICAgICAgOiAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIGRlbGF5KCRkZWxheSkge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkgOiAkZGVsYXk7XG5cdC1tb3otdHJhbnNpdGlvbi1kZWxheSAgICA6ICRkZWxheTtcblx0LW1zLXRyYW5zaXRpb24tZGVsYXkgICAgIDogJGRlbGF5O1xuXHQtby10cmFuc2l0aW9uLWRlbGF5ICAgICAgOiAkZGVsYXk7XG5cdHRyYW5zaXRpb24tZGVsYXkgICAgICAgICA6ICRkZWxheTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBBbmltYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uX25hbWUpIHtcblx0QC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0QC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0Ly9ALW1zLWtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHQvLyAgQGNvbnRlbnQ7XG5cdC8vfVxuXHRALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0QGtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcblx0LXdlYmtpdC1hbmltYXRpb24gOiAjeyRhbmltYXRpb259O1xuXHQtbW96LWFuaW1hdGlvbiAgICA6ICN7JGFuaW1hdGlvbn07XG5cdC1tcy1hbmltYXRpb24gICAgIDogI3skYW5pbWF0aW9ufTtcblx0LW8tYW5pbWF0aW9uICAgICAgOiAjeyRhbmltYXRpb259O1xuXHRhbmltYXRpb24gICAgICAgICA6ICN7JGFuaW1hdGlvbn07XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgVHJhbnNmb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybSkge1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6ICR0cmFuc2Zvcm07XG5cdC1tb3otdHJhbnNmb3JtICAgIDogJHRyYW5zZm9ybTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiAkdHJhbnNmb3JtO1xuXHQtby10cmFuc2Zvcm0gICAgICA6ICR0cmFuc2Zvcm07XG5cdHRyYW5zZm9ybSAgICAgICAgIDogJHRyYW5zZm9ybTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBJbnTDqXJhY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBob3ZlciwgZm9jdXMsIGFjdGl2ZSwgdmlzaXRlZFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEhvdmVyXG5cbkBtaXhpbiBob3ZlciB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXIge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGNvbnRlbnRcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGhvdmVyX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBob3Zlcl94X21heCgkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAY29udGVudFxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gaG92ZXJfeV9taW4oJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl95X21pbigkYnJlYWtwb2ludCkge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGNvbnRlbnRcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGhvdmVyX3lfbWF4KCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9tYXgoJGJyZWFrcG9pbnQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvY3VzXG5cbkBtaXhpbiBmb2N1cyB7XG5cdEBtZWRpYSBtZWRpYV9wb2ludGVyIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9jdXNfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb2N1c194X21heCgkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvY3VzX3lfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9jdXNfeV9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl95X21heCgkYnJlYWtwb2ludCkge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEFjdGl2ZVxuXG5AbWl4aW4gYWN0aXZlIHtcblx0JjphY3RpdmUge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIFZpc2l0ZWRcblxuQG1peGluIHZpc2l0ZWQge1xuXHQmOnZpc2l0ZWQge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgT21icmVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIG9tYnJlKCRvbWJyZSkge1xuXHQtd2Via2l0LWJveC1zaGFkb3cgOiAkb21icmU7XG5cdGJveC1zaGFkb3cgICAgICAgICA6ICRvbWJyZTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gcmFkaXVzKCRyYWRpdXMpIHtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcblx0LW1vei1ib3JkZXItcmFkaXVzICAgIDogJHJhZGl1cztcblx0Ym9yZGVyLXJhZGl1cyAgICAgICAgIDogJHJhZGl1cztcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qKiBGb250cyB0ZXh0ICoqL1xuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbkBtaXhpbiBmb250X2ludGVyX2xpZ2h0IHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiAzMDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX3JlZ3VsYXIge1xuICAgIGZvbnQtZmFtaWx5IDogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDQwMDtcbn1cblxuQG1peGluIGZvbnRfaW50ZXJfbWVkaXVtIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA1MDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX3NlbWlib2xkIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA2MDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX2JvbGQge1xuICAgIGZvbnQtZmFtaWx5IDogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDcwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHkgIDogJ0hlcm5hbmRlekJyb3NSZWd1bGFyJztcbiAgICBzcmMgICAgICAgICAgOiB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci5lb3QnKTtcbiAgICBzcmMgICAgICAgICAgOiB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvSGVybmFuZGV6QnJvcy1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvSGVybmFuZGV6QnJvcy1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLi8uLi9mb250cy9IZXJuYW5kZXpCcm9zLVJlZ3VsYXIuc3ZnI0hlcm5hbmRlekJyb3MtUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQgIDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGUgICA6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXkgOiBzd2FwO1xufVxuXG5AbWl4aW4gZm9udF9oZXJuYW5kZXpfcmVndWxhciB7XG4gICAgZm9udC1mYW1pbHkgOiAnSGVybmFuZGV6QnJvc1JlZ3VsYXInLCBzZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDQwMDtcbn1cblxuLyoqIFJlU2VlIEZvbnQgaWNvbnMgKiovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5IDogXCJyZXNlZVwiO1xuICAgIHNyYyAgICAgICAgIDogdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUuZW90XCIpO1xuICAgIHNyYyAgICAgICAgIDogdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9yZXNlZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL3Jlc2VlLnN2ZyNyZXNlZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQgOiBub3JtYWw7XG4gICAgZm9udC1zdHlsZSAgOiBub3JtYWw7XG5cbn1cblxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogXCJyZXNlZVwiICFpbXBvcnRhbnQ7XG4gICAgY29udGVudCAgICAgICAgICAgICAgICAgOiBhdHRyKGRhdGEtaWNvbik7XG4gICAgZm9udC1zdHlsZSAgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodCAgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWFudCAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm0gICAgICAgICAgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWsgICAgICAgICAgICAgICAgICAgOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICA6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nIDogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogXCJyZXNlZVwiICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZSAgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodCAgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWFudCAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm0gICAgICAgICAgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWsgICAgICAgICAgICAgICAgICAgOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICA6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nIDogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDBcIjtcbn1cbi5pY29uLWNhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDFcIjtcbn1cbi5pY29uLWNoZXZyb246YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDJcIjtcbn1cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDAzXCI7XG59XG4uaWNvbi1jcm9zczpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwNFwiO1xufVxuLmljb24tZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwNVwiO1xufVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDZcIjtcbn1cbi5pY29uLWdsYXNzOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDA3XCI7XG59XG4uaWNvbi1oZWFydDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwOFwiO1xufVxuLmljb24taW1wb3J0OmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDA5XCI7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGFcIjtcbn1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBiXCI7XG59XG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwY1wiO1xufVxuLmljb24tcmVhLWF1dGhlbnRpYzpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwZFwiO1xufVxuLmljb24tcmVhLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBlXCI7XG59XG4uaWNvbi1yZWEtcGhvbmU6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGZcIjtcbn1cbi5pY29uLXJlYS1zZWN1cmVkOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDEwXCI7XG59XG4uaWNvbi1yZWEtc2VsbGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxMVwiO1xufVxuLmljb24tcmVhLXdvcmxkd2lkZTpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxMlwiO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxM1wiO1xufVxuLmljb24tdXNlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxNFwiO1xufVxuLmljb24td2hhdHNhcHA6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTVcIjtcbn1cbi5pY29uLXBpbnRlcmVzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxNlwiO1xufVxuLmljb24taGVhcnQtZnVsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxN1wiO1xufVxuLmljb24tbGlzdC12aWV3MTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDE4XCI7XG59XG4uaWNvbi1saXN0LXZpZXcyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMTlcIjtcbn1cbi5pY29uLWxpc3QtdmlldzM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxYVwiO1xufVxuLmljb24tbGlzdC12aWV3NDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFiXCI7XG59XG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFjXCI7XG59XG4uaWNvbi1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxZFwiO1xufVxuLmljb24taG91cmdsYXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWVcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWZcIjtcbn1cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjBcIjtcbn1cbi5pY29uLWFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjFcIjtcbn1cbi5pY29uLXdvcmxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjJcIjtcbn1cbi5pY29uLWJlbGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMjNcIjtcbn1cbi5pY29uLWNoZWNrLXJvdW5kOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI0XCI7XG59XG4uaWNvbi1jb250YWN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI1XCI7XG59XG4uaWNvbi1wYWNrYWdlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI2XCI7XG59XG4uaWNvbi1wYWNrYWdlLXByZW1pdW06YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcbn1cbi5pY29uLXN0YXJzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI3XCI7XG59XG4uaWNvbi1waW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGU5NGNcIjtcbn1cbi5pY29uLWxhdW5kcnkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNjQgNjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTMyIDEyYTggOCAwIDAgMSA4IDhjMCA0LjQxOC0zLjU4MiA4LTggOHY2bDI0IDE0YTQgNCAwIDAgMS00IDZIMTJhNCA0IDAgMCAxLTQtNmwyNC0xNHYtNicvJTNFJTNDcGF0aCBkPSdNMzIgMTJhOCA4IDAgMCAwLTggOCcgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuLmljb24tYmVhdXRpZmljYXRpb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMjdcIjtcbn1cblxuLmljb24teW91dHViZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJtYVd4c1BTSWpabVpsT0dRMklpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlDQjJhV1YzUW05NFBTSXdJREFnTlRBZ05UQWlJSGRwWkhSb1BTSTFNSEI0SWlCb1pXbG5hSFE5SWpVd2NIZ2lQanh3WVhSb0lHUTlJazBnTkRRdU9EazRORE00SURFMExqVWdReUEwTkM0MUlERXlMak13TURjNE1TQTBNaTQyTURFMU5qTWdNVEF1TmprNU1qRTVJRFF3TGpNNU9EUXpPQ0F4TUM0eE9Ua3lNVGtnUXlBek55NHhNREUxTmpNZ09TNDFJRE14SURrZ01qUXVNems0TkRNNElEa2dReUF4Tnk0NE1EQTNPREVnT1NBeE1TNDJNREUxTmpNZ09TNDFJRGd1TXpBd056Z3hJREV3TGpFNU9USXhPU0JESURZdU1UQXhOVFl6SURFd0xqWTVPVEl4T1NBMExqRTVPVEl4T1NBeE1pNHhPVGt5TVRrZ015NDRNREEzT0RFZ01UUXVOU0JESURNdU16azRORE00SURFM0lETWdNakF1TlNBeklESTFJRU1nTXlBeU9TNDFJRE11TXprNE5ETTRJRE16SURNdU9EazRORE00SURNMUxqVWdReUEwTGpNd01EYzRNU0F6Tnk0Mk9Ua3lNVGtnTmk0eE9Ua3lNVGtnTXprdU16QXdOemd4SURndU16azRORE00SURNNUxqZ3dNRGM0TVNCRElERXhMamc1T0RRek9DQTBNQzQxSURFM0xqZzVPRFF6T0NBME1TQXlOQzQxSURReElFTWdNekV1TVRBeE5UWXpJRFF4SURNM0xqRXdNVFUyTXlBME1DNDFJRFF3TGpZd01UVTJNeUF6T1M0NE1EQTNPREVnUXlBME1pNDRNREEzT0RFZ016a3VNekF3TnpneElEUTBMalk1T1RJeE9TQXpOeTQ0TURBM09ERWdORFV1TVRBeE5UWXpJRE0xTGpVZ1F5QTBOUzQxSURNeklEUTJJREk1TGpNNU9EUXpPQ0EwTmk0eE1ERTFOak1nTWpVZ1F5QTBOUzQ0T1RnME16Z2dNakF1TlNBME5TNHpPVGcwTXpnZ01UY2dORFF1T0RrNE5ETTRJREUwTGpVZ1dpQk5JREU1SURNeUlFd2dNVGtnTVRnZ1RDQXpNUzR4T1RreU1Ua2dNalVnV2lJdlBqd3ZjM1puUGc9PScpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xufVxuIiwiJG1vbEJ1dHRvbnNNYXAgOiAoXG4gICAgJy5idG5fY3RhOm5vdCgubGlua19jdGEpJyA6IChcbiAgICAgICAgJ2hlaWdodCc6IChcbiAgICAgICAgICAgIDQ2cHgsXG4gICAgICAgICAgICA1MHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLWxlZnQnOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgMjBweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1yaWdodCc6IChcbiAgICAgICAgICAgIDE1cHgsXG4gICAgICAgICAgICAyMHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJ0bl9jdGEuYnRuX3NtYWxsOm5vdCgubGlua19jdGEpJyA6IChcbiAgICAgICAgJ2hlaWdodCc6IChcbiAgICAgICAgICAgIDQwcHgsXG4gICAgICAgICAgICA0NHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLWxlZnQnOiAoXG4gICAgICAgICAgICAxMHB4LFxuICAgICAgICAgICAgMTJweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1yaWdodCc6IChcbiAgICAgICAgICAgIDEwcHgsXG4gICAgICAgICAgICAxMnB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJ0bl9jdGEuYnRuX2xpdHRsZTpub3QoLmxpbmtfY3RhKScgOiAoXG4gICAgICAgICdoZWlnaHQnOiAoXG4gICAgICAgICAgICAzMnB4LFxuICAgICAgICAgICAgMzVweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1sZWZ0JzogKFxuICAgICAgICAgICAgMTBweCxcbiAgICAgICAgICAgIDEycHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnOiAoXG4gICAgICAgICAgICAxMHB4LFxuICAgICAgICAgICAgMTJweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5jb250ZW50X2xpbmsnIDogKFxuICAgICAgICAncGFkZGluZy10b3AnOiAoXG4gICAgICAgICAgICA4cHgsXG4gICAgICAgICAgICAxMnB4XG4gICAgICAgICksXG4gICAgICAgICdtYXJnaW4tdG9wJzogKFxuICAgICAgICAgICAgMTVweCxcbiAgICAgICAgICAgIDIwcHhcbiAgICAgICAgKSxcbiAgICApLFxuKTtcblxuQGluY2x1ZGUgZmx1aWQoJG1vbEJ1dHRvbnNNYXApO1xuXG4uYnRuX2N0YTpub3QoLmxpbmtfY3RhKSB7XG4gICAgQGluY2x1ZGUgZF9mbGV4O1xuICAgIGRpc3BsYXkgICAgICAgIDogaW5saW5lLWZsZXg7XG4gICAgQGluY2x1ZGUgeV9pdGVtc19jZW50ZXI7XG4gICAgQGluY2x1ZGUgeF9jZW50ZXI7XG4gICAgQGluY2x1ZGUgZm9udF9pbnRlcl9tZWRpdW07XG4gICAgbWF4LXdpZHRoICAgICAgOiAxMDAlO1xuICAgIGJhY2tncm91bmQgICAgIDogJGJlaWdlO1xuICAgIGNvbG9yICAgICAgICAgIDogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZSAgICAgIDogMC44NzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSByYWRpdXMoNXB4KTtcbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICB3aWR0aCAgIDogMTAwJTtcbiAgICB9XG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGJlaWdlMjtcbiAgICAgICAgfVxuICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQgOiAkYmVpZ2UyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX2JsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZCA6ICRibGFjaztcbiAgICAgICAgY29sb3IgICAgICA6ICR3aGl0ZTtcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRncmV5LWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGdyZXktZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl9jcmVhbSB7XG4gICAgICAgIGJhY2tncm91bmQgOiAjZWEzYjBjO1xuICAgICAgICBjb2xvciAgICAgIDogJHdoaXRlO1xuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2VhM2IwYztcbiAgICAgICAgICAgICAgICBjb2xvciAgICAgIDogJGJlaWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNlYTNiMGM7XG4gICAgICAgICAgICAgICAgY29sb3IgICAgICA6ICRiZWlnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl93aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQgOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yICAgICAgOiAkYmxhY2s7XG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX2xpbmVzIHtcbiAgICAgICAgYmFja2dyb3VuZCA6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXIgICAgIDogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICBjb2xvciAgICAgIDogJGJsYWNrO1xuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl9pY29uIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbiAgICAgOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdCA6IDI0cHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeV9hbGlnbl9hYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0ICAgICAgOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSA6IDEuMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX2RsIHtcbiAgICAgICAgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudCAgICAgOiBcIlxcZTAwOVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHkgOiBcInJlc2VlXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQgICA6ICRncmV5LWxpZ2h0MiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3IgOiAkZ3JleS1saWdodDIgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3IgICAgICAgIDogJGdyZXktZGFyayAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3IgICAgICAgOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuLmxpbmtfY3RhIHtcbiAgICBAaW5jbHVkZSBkX2ZsZXg7XG4gICAgZGlzcGxheSAgICAgICAgOiBpbmxpbmUtZmxleDtcbiAgICBAaW5jbHVkZSBmb250X2ludGVyX21lZGl1bTtcbiAgICBtYXgtd2lkdGggICAgICA6IDEwMCU7XG4gICAgY29sb3IgICAgICAgICAgOiAkYmxhY2s7XG4gICAgZm9udC1zaXplICAgICAgOiAwLjg3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uICAgICAgIDogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0ICAgOiAyNHB4O1xuICAgIG92ZXJmbG93ICAgICAgIDogaGlkZGVuO1xuICAgIGF7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudCAgICAgICAgICAgOiAnJztcbiAgICAgICAgcG9zaXRpb24gICAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdCAgICAgICAgICAgICAgOiAtMjRweDtcbiAgICAgICAgdG9wICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICBib3R0b20gICAgICAgICAgICA6IDA7XG4gICAgICAgIHdpZHRoICAgICAgICAgICAgIDogNDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZSAgOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvY2hldnJvbi5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0IDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemUgICA6IDVweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5saW5rX2JlaWdlIHtcbiAgICAgICAgY29sb3IgOiAkYmVpZ2U7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvY2hldnJvbl9iZWlnZS5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5saW5rX3doaXRlIHtcbiAgICAgICAgY29sb3IgOiAkd2hpdGU7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2UgOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvY2hldnJvbl93aGl0ZS5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMTBweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAzMnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAzMnB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDU0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ob3ZlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAzMnB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDU0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zb2Z0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udF9pbnRlcl9saWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiBpbml0aWFsO1xuICAgIH1cbiAgICAmLmxpbmtfbmV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogMjRweDtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQgOiAtMjRweDtcbiAgICAgICAgICAgIGxlZnQgIDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDMycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDU0cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5saW5rX2JhY2sge1xuICAgICAgICBAaW5jbHVkZSBmb250X2ludGVyX2xpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IGluaXRpYWw7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IC0xMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRlbnRfbGluayB7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIHRleHQtYWxpZ24gOiByaWdodDtcbiAgICBwb3NpdGlvbiAgIDogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cgICA6IGhpZGRlbjtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQgICAgOiAnJztcbiAgICAgICAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICAgICAgICB0b3AgICAgICAgIDogMDtcbiAgICAgICAgbGVmdCAgICAgICA6IC0xMzAlO1xuICAgICAgICB3aWR0aCAgICAgIDogMTAwJTtcbiAgICAgICAgaGVpZ2h0ICAgICA6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZCA6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eSAgICA6IDAuNTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbk51bGwpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICBwb3NpdGlvbiAgIDogYWJzb2x1dGU7XG4gICAgICAgIHRvcCAgICAgICAgOiAwO1xuICAgICAgICBsZWZ0ICAgICAgIDogMDtcbiAgICAgICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCAgICAgOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQgOiAkYmxhY2s7XG4gICAgICAgIG9wYWNpdHkgICAgOiAwLjU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25OdWxsKTtcbiAgICB9XG4gICAgJi5ob3ZlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQgOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvblNsb3cpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdCA6IDEzMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uU2xvdyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dpbiB7XG4gICAgLmxpbmtfY3Rhe1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiJGJsb2NIZXJvTWFwIDogKFxuICAgICcuYmxvY19oZXJvIC5jay1jb250ZW50JyA6IChcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJzogKFxuICAgICAgICAgICAgMzBweCxcbiAgICAgICAgICAgIDE0MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJsb2NfaGVybyAuY2stY29udGVudCAuYnRuX2N0YScgOiAoXG4gICAgICAgICdwYWRkaW5nLWxlZnQnOiAoXG4gICAgICAgICAgICAzMHB4LFxuICAgICAgICAgICAgODBweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1yaWdodCc6IChcbiAgICAgICAgICAgIDMwcHgsXG4gICAgICAgICAgICA4MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJsb2NfaGVybyAuc2Nyb2xsX2JvdHRvbScgOiAoXG4gICAgICAgICdib3R0b20nOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgNTBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5ibG9jX2hlcm8nIDogKFxuICAgICAgICAndG9wJzogKFxuICAgICAgICAgICAgLTcwcHgsIC8vIEhhdXRldXIgZHUgYmxvYyBoZWFkZXJcbiAgICAgICAgICAgIC0xNDBweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy10b3AnOiAoXG4gICAgICAgICAgICA3MHB4LCAvLyBIYXV0ZXVyIGR1IGJsb2MgaGVhZGVyXG4gICAgICAgICAgICAxNDBweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1ib3R0b20nOiAoXG4gICAgICAgICAgICA3MHB4LFxuICAgICAgICAgICAgODBweFxuICAgICAgICApLFxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6IChcbiAgICAgICAgICAgIC03MHB4LCAvLyBIYXV0ZXVyIGR1IGJsb2MgaGVhZGVyXG4gICAgICAgICAgICAtMTQwcHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYmxvY19oZXJvICsgc2VjdGlvbicgOiAoXG4gICAgICAgICdtYXJnaW4tdG9wJzogKFxuICAgICAgICAgICAgLTcwcHgsXG4gICAgICAgICAgICAtODBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5pbmZvX2Jhbm5lciArIGhlYWRlciArIG1haW4gLmJsb2NfaGVybycgOiAoXG4gICAgICAgICd0b3AnOiAoXG4gICAgICAgICAgICAtOTdweCwgLy8gSGF1dGV1ciBkdSBibG9jIGhlYWRlciArIGJsb2MgLmluZm9fYmFubmVyXG4gICAgICAgICAgICAtMTc4cHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctdG9wJzogKFxuICAgICAgICAgICAgOTdweCwgLy8gSGF1dGV1ciBkdSBibG9jIGhlYWRlciArIGJsb2MgLmluZm9fYmFubmVyXG4gICAgICAgICAgICAxNzhweFxuICAgICAgICApLFxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6IChcbiAgICAgICAgICAgIC05N3B4LCAvLyBIYXV0ZXVyIGR1IGJsb2MgaGVhZGVyICsgYmxvYyAuaW5mb19iYW5uZXJcbiAgICAgICAgICAgIC0xNzhweFxuICAgICAgICApLFxuICAgICksXG4pO1xuXG5AaW5jbHVkZSBmbHVpZCgkYmxvY0hlcm9NYXApO1xuXG4uYmxvY19oZXJvIHtcbiAgICBiYWNrZ3JvdW5kIDogJHdoaXRlO1xuICAgIGhlaWdodCAgICAgOiBjYWxjKDEwMHZoIC0gMTBweCk7XG4gICAgPiBkaXYsID4gYSB7XG4gICAgICAgIGRpc3BsYXkgIDogYmxvY2s7XG4gICAgICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICAgICAgaGVpZ2h0ICAgOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleCAgOiAyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGltZywgdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4ICA6IDE7XG4gICAgICAgIHRvcCAgICAgIDogMDtcbiAgICAgICAgbGVmdCAgICAgOiAwO1xuICAgICAgICB3aWR0aCAgICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCAgIDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2VGaXQ7XG4gICAgfVxuICAgIC5jay1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICB3aWR0aCAgIDogMTAwJTtcbiAgICAgICAgLnRpdHJlX2gxIHtcbiAgICAgICAgICAgIGNvbG9yIDogJGJlaWdlO1xuICAgICAgICB9XG4gICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3AgICAgIDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3AgICAgICA6IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItdG9wICAgICAgOiAwcHggc29saWQgJGJlaWdlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbiAgICAgIDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24gOiBub25lO1xuICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXIgICAgIDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4gICAgIDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nICAgIDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNjcm9sbF9ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgeF9hbGlnbl9hYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbG9yICAgICAgICAgIDogJGJlaWdlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b20gOiAxNXB4O1xuICAgICAgICAgICAgY3Vyc29yICAgICAgICAgOiBwb2ludGVyO1xuICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheSAgICAgICAgOiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250X2ludGVyX21lZGl1bTtcbiAgICAgICAgICAgICAgICBmb250LXNpemUgICAgICA6IDAuOTVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4X2FsaWduX2Fic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbSAgICA6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplIDogMC44ZW07XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uIDogc2Nyb2xsX2JvdHRvbSA1cyBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmxhY2sge1xuICAgICAgICAgICAgLnRpdHJlX2gxIHtcbiAgICAgICAgICAgICAgICBjb2xvciA6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgLmJ0bl9jdGEge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idG5fYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNjcm9sbF9ib3R0b20ge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgLnRpdHJlX2gxIHtcbiAgICAgICAgICAgICAgICBjb2xvciA6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgLmJ0bl9jdGEge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idG5fd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNjcm9sbF9ib3R0b20ge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8+IGF7XG4gICAgLy8gICAgQGluY2x1ZGUgaG92ZXJfZm9jdXN7XG4gICAgLy8gICAgICAgIC5jay1jb250ZW50IC5saW5rIC5idG5fY3Rhe1xuICAgIC8vICAgICAgICAgICAgQGV4dGVuZCAuaG92ZXI7XG4gICAgLy8gICAgICAgIH1cbiAgICAvLyAgICB9XG4gICAgLy99XG59XG5cbkBpbmNsdWRlIG1lZGlhX3hfbWluKCdsZycpIHtcbiAgICAuYmxvY19oZXJvIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b20gOiAwO1xuICAgICAgICArIHNlY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcCA6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhX3hfbWF4KCdtZCcpIHtcbiAgICAuYmxvY19oZXJvIHtcbiAgICAgICAgLmNrLWNvbnRlbnQge1xuICAgICAgICAgICAgLnNjcm9sbF9ib3R0b20ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYV94X21heCgnbWQnKSB7XG4gICAgLmJsb2NfaGVybyB7XG4gICAgICAgIGhlaWdodCAgICAgICA6IGNhbGMoMTAwdmggLSA4cHgpO1xuICAgICAgICBtYXJnaW4tbGVmdCAgOiAtMTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0IDogLTEycHg7XG4gICAgICAgID4gZGl2LCA+IGEge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0ICA6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0IDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNjcm9sbF9ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgICAgIGJvdHRvbSAgOiAwO1xuICAgIH1cblxuICAgIDEwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICBib3R0b20gIDogMDtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgYm90dG9tICA6IDA7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgICAgIGJvdHRvbSAgOiAtMTBweDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgICAgIGJvdHRvbSAgOiAtMTBweDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2Nyb2xsX2JvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgYm90dG9tICA6IDA7XG4gICAgfVxuXG4gICAgMTAlIHtcbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgICAgIGJvdHRvbSAgOiAwO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICBib3R0b20gIDogMDtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgYm90dG9tICA6IC0xMHB4O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgYm90dG9tICA6IC0xMHB4O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/