/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/main.css ***!
  \***************************************************************************************************************/
/* -------------------- *\
    Variables globales
\* -------------------- */
:root {
  /* Couleurs */
  --color-primary: #5B9BD5;
  --color-secondary: #0E2C46;
  --color-tertiary: #800080;
  --color-danger: #aa3232;
  --color-success: #28a745;
  --color-warning: #ffc107;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-text: #ffffff;
  --color-dark-text: #414141;
  --color-shadow: #C5C5C5;

  /* Typo */
  --font-main: 'Roboto Flex', sans-serif;

  /* Espacement */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 2rem;

  /* Z-index */
  --z-default: 1;
  --z-navbar: 1000;
  --z-background: -1;

  /* Dimensions */
  --footer-height: 41px;
}

/* ---------------- *\
    Styles globaux
\* ----------------- */
*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

h1,
h4,
p {
    text-align: center;
    z-index: 1;
}

h1,
p {
  padding: 10px 0px;
}

body {
  font-family: var(--font-main);
  color: var(--color-text);
  background: var(--color-black);
}

main {
  padding-bottom: var(--footer-height);
}

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

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

.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    z-index: var(--z-background);
}

/* -------- *\
    Header
\* -------- */
.h_navbar {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 15px 25px;
  color: var(--color-white);
  background: var(--color-secondary);
  box-shadow: inset 0px -1px 0px var(--color-shadow);
  z-index: var(--z-navbar);
}

.h_nav-icon {
  display: flex;
  align-items: center;
  text-decoration: none;
  margin-right: 20px;
}

.h_nav-icon span {
  font-family: var(--font-main);
  font-size: 25px;
  margin-left: 10px;
  font-weight: 400;
  color: var(--color-white);
}

.h_nav-icon img {
  width: 40px;
  transform: rotate(-17deg) translateX(5px);
}

.h_hamburger {
  display: none;
}

.h_navlinks-container a {
  margin: 0 10px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-white);
  display: inline-block;
  position: relative;
}

.h_navlinks-container a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--color-white);
  transition: transform 0.3s ease-out;
}

.h_navlinks-container a:hover::after {
  transform: scaleX(1);
}

.h_dropdown {
    position: relative;
    display: inline-block;
}

.h_dropdown:hover .h_dropdown-content {
    display: block;
}

.h_dropdown.open .h_dropdown-arrow {
  transform: rotate(180deg);
}

.h_navlink-item:hover::after {
  transform: scaleX(1);
}

.h_navlink-item.h_dropdown-toggle {
  cursor: pointer;
}

.h_dropdown-arrow {
  display: inline-block;
  transition: transform 0.3s ease-in-out;
  margin-left: 5px;
  font-size: 10px;
}

.h_dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--color-primary);
    min-width: 180px;
    box-shadow: 0px 8px 16px #00000033;
    padding: 12px 16px;
    z-index: var(--z-default);
}

.h_dropdown-item {
    padding: 12px 12px;
}

.h_nav-authentication {
  margin-left: auto;
}

.h_sign-user {
  display: none;
}

.h_sign-btns button {
  font-family: var(--font-main);
  font-size: 16px;
  min-width: 90px;
  padding: 10px 5px;
  margin: 0 5px;
  border-radius: 5px;
  cursor: pointer;
  border: none;
}

.h_sign-btns button:nth-child(2) {
  border: none;
  background-color: var(--color-primary);
}

@media (max-width: 900px) {
  .h_navbar {
    padding: 15px 20px;
  }

  .h_nav-icon {
    order: 2;
    margin: 0 auto;
  }

  .h_nav-icon span {
    font-size: 22px;
  }

  .h_main-navlinks {
    order: 1;
  }

  .h_hamburger {
    width: 20px;
    height: 20px;
    cursor: pointer;
    border: none;
    display: flex;
    background: var(--color-secondary);
    align-items: center;
    position: relative;
  }

  .h_hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--color-white);
    position: absolute;
    pointer-events: none;
    transition: opacity 0.3s 0.15s ease-out;
  }

  .h_hamburger span:nth-child(1),
  .h_hamburger span:nth-child(3) {
    transition: transform 0.3s ease-out;
  }

  .h_hamburger span:nth-child(1) {
    transform: translateY(7px);
  }

  .h_hamburger span:nth-child(3) {
    transform: translateY(-7px);
  }

  .h_hamburger.open span:nth-child(1) {
    transform: translate(0) rotate(135deg);
  }

  .h_hamburger.open span:nth-child(2) {
    opacity: 0;
    transition: opacity 0s ease-out;
  }

  .h_hamburger.open span:nth-child(3) {
    transform: translate(0) rotate(-135deg);
  }

  .h_navlinks-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    background: var(--color-secondary);
    top: 100%;
    left: 0;
    height: 100vh;
    padding: 15px 50px 15px 20px;
    border-right: 1px solid var(--color-shadow);
    transform: translate(-100%);
  }

  .h_navlinks-container a, 
  .h_dropdown-toggle {
    font-size: 18px;
    margin: 10px 0;
  }

  .h_navlinks-container.open {
    transform: translate(0%);
  }

  .h_dropdown.open .h_dropdown-content {
    display: grid;
    max-height: 350px; /*valeur adaptée à ton contenu */
  }

  .h_dropdown:hover .h_dropdown-content {
    display: grid;
  }

  .h_navlink-item {
    font-size: 18px;
    margin: 10px 0;
  }

  .h_dropdown-content {
    display: none;
    position: static;
    box-shadow: none;
    padding-left: 10px;
    background: transparent;
    padding: 0px 0px;
    transition: max-height 0.5s ease-out;
    overflow: hidden;
    max-height: 0;
  }

  .h_dropdown-item {
      padding: 2px 12px;
  }

  .h_nav-authentication {
    order: 3;
    margin-left: 0;
  }

  .h_sign-user {
    display: block;
    cursor: pointer;
    border: none;
  }

  .h_sign-user img {
    width: 20px;
  }

  .h_sign-btns {
    display: none;
  }
}

@media (max-width: 500px) {
  .h_nav-icon img {
    width: 30px;
  }

  .h_nav-icon span {
    font-size: 20px;
  }
}

/* --------- *\
    Boutons
\* --------- */
.btn {
  display:inline-block;
  position:relative;
  text-align:center;
  transition-duration:.3s;
  transition-timing-function:ease;
  transition-property:filter;
  cursor:pointer;
  border:none;
  text-decoration:none;
  outline-style:none;
  width:-moz-fit-content;
  width:fit-content;
  height:-moz-fit-content;
  height:fit-content;
  font-size:1.2rem;
  padding:calc(.6rem + 2px) 1.25rem;
  overflow:hidden;
  word-wrap:normal;
  box-shadow:0 8px 9px #0000001f,0 10px 25px 8px #00000026;
  border-radius:5px;
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  filter: grayscale(50%);
  pointer-events: none;
}

.btn-small {
  padding:calc(0.2rem + 2px) 0.6rem;
}

.btn[class*=hoverable-]:not(.btn-press),
.btn[class*=hoverable-]:not(.btn-outline),
.btn[class*=light-hoverable-]:not(.btn-press),
.btn[class*=light-hoverable-]:not(.btn-outline) {
  transition-property:filter,transform,box-shadow!important
}

.btn:hover:not(.btn-outline),
.btn.active:not(.btn-outline) {
  filter:brightness(125%)
}

.btn-val {
  width: 100%;
}

.btn-lblue {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-dblue {
  background-color: var(--color-secondary);
  color: var(--color-white);
}

.btn-red {
    background-color: var(--color-danger);
    color: var(--color-white);
}

@media (max-width: 900px) {
  .btn .text-label {
    display: none;
  }
}

/* -------- *\
    Marges
\* -------- */
.mb-3 {
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  margin-bottom:var(--spacing-md)!important
}

.mt-3 {
  margin-top:var(--spacing-md)!important
}

/* -------- *\
    Alerts
\* -------- */
.alert-success {
    background-color: var(--color-success);
    color: var(--color-white);
}

.alert-warning {
    background-color: var(--color-warning);
    color: var(--color-black);
}

.alert-danger,
.alert-error {
    background-color: var(--color-danger);
    color: var(--color-white);
}

/* ------------ *\
    Graphiques
\* ------------ */
.charts-filter-controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  align-items: center;
  justify-content: center;
  margin: var(--spacing-md) 0;
}

#chart-container {
  position: relative;
  width: 90%;
  margin: 20px 5%;
  height: auto;
}

#temperatureChart,
#batteryChart,
#motionCountChart,
#motionPredChart {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 80vh;
}

#presence-plot {
  max-height: 70vh;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
}

#presence-plot.loaded {
  opacity: 1;
}

/* Bouton principal affiché */
svg .updatemenu-header .updatemenu-item-rect {
  fill: var(--color-white, #ffffff) !important;
}
svg .updatemenu-header .updatemenu-item-text {
  fill: var(--color-black, #000000) !important;
}

/* Options visibles (dont sélectionnées) */
svg .updatemenu-dropdown-button[opacity="1"] .updatemenu-item-rect {
  fill: var(--color-white, #ffffff) !important;
}
svg .updatemenu-dropdown-button[opacity="1"] .updatemenu-item-text {
  fill: var(--color-black, #000000) !important;
}

/* Hover sur les options */
svg .updatemenu-dropdown-button:hover .updatemenu-item-rect {
  fill: var(--color-primary, #333) !important;
}
svg .updatemenu-dropdown-button:hover .updatemenu-item-text {
  fill: var(--color-text, #fff) !important;
}

@media (max-width: 900px) {
  .charts-filter-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .charts-filter-controls label,
  .charts-filter-controls select,
  .charts-filter-controls input {
    align-self: center;
    width: 80%;
  }

  #chart-container {
    width: 96%;
    margin: 10px 2%;
    height: auto;
    aspect-ratio: 9 / 16;
    max-height: 50vh;
  }
}

@media (max-width: 500px) {
  .charts-filter-controls select {
    font-size: 1rem;
  }

  .chart-title {
    font-size: 1.4rem;
  }
}

/* ------------- *\
    Formulaires
\* ------------- */
.form-table {
    margin: 0 auto;
    padding: 10px;
}

.form-table th {
    text-align: left;
    width: 30%;
}

.form-table td {
    width: 70%;
}

.form-table input[type="text"] {
    width: 100%;
}

.form-container {
    text-align: left;
    margin-top: 20px;
}

.addon-suppr {
    background-color: var(--color-danger);
    color: var(--color-black);
}

.form-label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.form-control {
    padding: 8px;
    box-sizing: border-box;
    width: 100%;
}

.form-select {
    padding: 8px;
    box-sizing: border-box;
    width: 100%;
}

/* ---------------- *\
    knp_pagination
\* ---------------- */
.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: var(--spacing-md) !important;
    gap: var(--spacing-sm);
}

.pagination span {
    border: 1px solid var(--color-shadow);
    border-radius: 4px;
    padding: 0;
    overflow: hidden;
}

/* Lien dans chaque span */
.pagination span a {
    display: block;
    padding: var(--spacing-sm) 0.75rem;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease;
}

/* Hover sur lien (plein clic sur le bloc) */
.pagination span a:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/* État actif (page actuelle) */
.pagination .current {
    display: inline-block;
    padding: var(--spacing-sm) 0.75rem;
    border: 1px solid var(--color-primary);
    border-radius: 4px;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: bold;
    pointer-events: none;
}

.input-group-sm .form-control {
    font-size: 0.875rem;
    padding: var(--spacing-xs) var(--spacing-sm);
}

/* ---------- *\
    Tableaux
\* ---------- */
.addon-tbl {
  border-collapse: collapse;
  border: none;
  overflow: hidden;
}

.addon-tbl th,
.addon-tbl td {
  border: none;
  padding: 2px;
}

.addon-tbl th a {
    color: var(--color-primary);
    text-decoration: none;
    position: relative;
    padding-right: 1.5rem; /* Espace pour flèche */
}

.addon-tbl th a.asc::after,
.addon-tbl th a.desc::after {
    content: '';
    position: absolute;
    right: var(--spacing-xs);
    top: 50%;
    transform: translateY(-50%);
    border: solid transparent;
    border-width: 0.4rem;
}

.addon-tbl th a.asc::after {
    border-bottom-color: var(--color-primary);
}

.addon-tbl th a.desc::after {
    border-top-color: var(--color-primary);
}

.addon-tbl th form {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin: 0;
}

.addon-tbl th .input-group {
    flex-shrink: 0;
}

.addon-tbl th input.form-control {
    font-size: 0.875rem;
    padding:var(--spacing-xs) var(--spacing-sm);
}

.addon-tbl tbody tr:nth-child(even) {
  background-color: var(--color-dark-text);
}

.addon-tbl .btn:hover {
  filter: brightness(1.3);
  transform: scale(1.02);
}

.addon-tbl tbody tr:hover {
  background-color: var(--color-secondary);
  transition: background-color 0.3s ease;
}

/* -------- *\
    Footer
\* -------- */
.f_footer {
  background-color: var(--color-secondary);
  color: var(--color-white);
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5px 5px;
  border-top: 1px solid var(--color-shadow);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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LG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQiwyQ0FBMkM7QUFDL0M7O0FBRUE7RUFDRSx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usd0NBQXdDO0VBQ3hDLHNDQUFzQztBQUN4Qzs7QUFFQTs7YUFFYTtBQUNiO0VBQ0Usd0NBQXdDO0VBQ3hDLHlCQUF5QjtFQUN6QixlQUFlO0VBQ2YsU0FBUztFQUNULE9BQU87RUFDUCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHlDQUF5QztBQUMzQyxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tYWluLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICBWYXJpYWJsZXMgZ2xvYmFsZXNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAvKiBDb3VsZXVycyAqL1xuICAtLWNvbG9yLXByaW1hcnk6ICM1QjlCRDU7XG4gIC0tY29sb3Itc2Vjb25kYXJ5OiAjMEUyQzQ2O1xuICAtLWNvbG9yLXRlcnRpYXJ5OiAjODAwMDgwO1xuICAtLWNvbG9yLWRhbmdlcjogI2FhMzIzMjtcbiAgLS1jb2xvci1zdWNjZXNzOiAjMjhhNzQ1O1xuICAtLWNvbG9yLXdhcm5pbmc6ICNmZmMxMDc7XG4gIC0tY29sb3Itd2hpdGU6ICNmZmZmZmY7XG4gIC0tY29sb3ItYmxhY2s6ICMwMDAwMDA7XG4gIC0tY29sb3ItdGV4dDogI2ZmZmZmZjtcbiAgLS1jb2xvci1kYXJrLXRleHQ6ICM0MTQxNDE7XG4gIC0tY29sb3Itc2hhZG93OiAjQzVDNUM1O1xuXG4gIC8qIFR5cG8gKi9cbiAgLS1mb250LW1haW46ICdSb2JvdG8gRmxleCcsIHNhbnMtc2VyaWY7XG5cbiAgLyogRXNwYWNlbWVudCAqL1xuICAtLXNwYWNpbmcteHM6IDAuMjVyZW07XG4gIC0tc3BhY2luZy1zbTogMC41cmVtO1xuICAtLXNwYWNpbmctbWQ6IDFyZW07XG4gIC0tc3BhY2luZy1sZzogMnJlbTtcblxuICAvKiBaLWluZGV4ICovXG4gIC0tei1kZWZhdWx0OiAxO1xuICAtLXotbmF2YmFyOiAxMDAwO1xuICAtLXotYmFja2dyb3VuZDogLTE7XG5cbiAgLyogRGltZW5zaW9ucyAqL1xuICAtLWZvb3Rlci1oZWlnaHQ6IDQxcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAgU3R5bGVzIGdsb2JhdXhcblxcKiAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaDEsXG5oNCxcbnAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5oMSxcbnAge1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1haW4pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxubWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1mb290ZXItaGVpZ2h0KTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmFja2dyb3VuZCk7XG59XG5cbi8qIC0tLS0tLS0tICpcXFxuICAgIEhlYWRlclxuXFwqIC0tLS0tLS0tICovXG4uaF9uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMXB4IDBweCB2YXIoLS1jb2xvci1zaGFkb3cpO1xuICB6LWluZGV4OiB2YXIoLS16LW5hdmJhcik7XG59XG5cbi5oX25hdi1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5oX25hdi1pY29uIHNwYW4ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmhfbmF2LWljb24gaW1nIHtcbiAgd2lkdGg6IDQwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xN2RlZykgdHJhbnNsYXRlWCg1cHgpO1xufVxuXG4uaF9oYW1idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaF9uYXZsaW5rcy1jb250YWluZXIgYSB7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oX25hdmxpbmtzLWNvbnRhaW5lciBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLmhfbmF2bGlua3MtY29udGFpbmVyIGE6aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi5oX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaF9kcm9wZG93bjpob3ZlciAuaF9kcm9wZG93bi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmhfZHJvcGRvd24ub3BlbiAuaF9kcm9wZG93bi1hcnJvdyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5oX25hdmxpbmstaXRlbTpob3Zlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuLmhfbmF2bGluay1pdGVtLmhfZHJvcGRvd24tdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaF9kcm9wZG93bi1hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmhfZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggIzAwMDAwMDMzO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWRlZmF1bHQpO1xufVxuXG4uaF9kcm9wZG93bi1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG59XG5cbi5oX25hdi1hdXRoZW50aWNhdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uaF9zaWduLXVzZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaF9zaWduLWJ0bnMgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbWFpbik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWluLXdpZHRoOiA5MHB4O1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmhfc2lnbi1idG5zIGJ1dHRvbjpudGgtY2hpbGQoMikge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLmhfbmF2YmFyIHtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIH1cblxuICAuaF9uYXYtaWNvbiB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAuaF9uYXYtaWNvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAuaF9tYWluLW5hdmxpbmtzIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gIC5oX2hhbWJ1cmdlciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhfaGFtYnVyZ2VyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDAuMTVzIGVhc2Utb3V0O1xuICB9XG5cbiAgLmhfaGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpLFxuICAuaF9oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICB9XG5cbiAgLmhfaGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcbiAgfVxuXG4gIC5oX2hhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03cHgpO1xuICB9XG5cbiAgLmhfaGFtYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApIHJvdGF0ZSgxMzVkZWcpO1xuICB9XG5cbiAgLmhfaGFtYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBlYXNlLW91dDtcbiAgfVxuXG4gIC5oX2hhbWJ1cmdlci5vcGVuIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKSByb3RhdGUoLTEzNWRlZyk7XG4gIH1cblxuICAuaF9uYXZsaW5rcy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDIwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3Itc2hhZG93KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSk7XG4gIH1cblxuICAuaF9uYXZsaW5rcy1jb250YWluZXIgYSwgXG4gIC5oX2Ryb3Bkb3duLXRvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG5cbiAgLmhfbmF2bGlua3MtY29udGFpbmVyLm9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlKTtcbiAgfVxuXG4gIC5oX2Ryb3Bkb3duLm9wZW4gLmhfZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXgtaGVpZ2h0OiAzNTBweDsgLyp2YWxldXIgYWRhcHTDqWUgw6AgdG9uIGNvbnRlbnUgKi9cbiAgfVxuXG4gIC5oX2Ryb3Bkb3duOmhvdmVyIC5oX2Ryb3Bkb3duLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cblxuICAuaF9uYXZsaW5rLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuXG4gIC5oX2Ryb3Bkb3duLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwcHggMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlLW91dDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gIH1cblxuICAuaF9kcm9wZG93bi1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDJweCAxMnB4O1xuICB9XG5cbiAgLmhfbmF2LWF1dGhlbnRpY2F0aW9uIHtcbiAgICBvcmRlcjogMztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5oX3NpZ24tdXNlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC5oX3NpZ24tdXNlciBpbWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG5cbiAgLmhfc2lnbi1idG5zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuaF9uYXYtaWNvbiBpbWcge1xuICAgIHdpZHRoOiAzMHB4O1xuICB9XG5cbiAgLmhfbmF2LWljb24gc3BhbiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLSAqXFxcbiAgICBCb3V0b25zXG5cXCogLS0tLS0tLS0tICovXG4uYnRuIHtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ZmlsdGVyO1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgYm9yZGVyOm5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICBvdXRsaW5lLXN0eWxlOm5vbmU7XG4gIHdpZHRoOi1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOmZpdC1jb250ZW50O1xuICBoZWlnaHQ6LW1vei1maXQtY29udGVudDtcbiAgaGVpZ2h0OmZpdC1jb250ZW50O1xuICBmb250LXNpemU6MS4ycmVtO1xuICBwYWRkaW5nOmNhbGMoLjZyZW0gKyAycHgpIDEuMjVyZW07XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgd29yZC13cmFwOm5vcm1hbDtcbiAgYm94LXNoYWRvdzowIDhweCA5cHggIzAwMDAwMDFmLDAgMTBweCAyNXB4IDhweCAjMDAwMDAwMjY7XG4gIGJvcmRlci1yYWRpdXM6NXB4O1xufVxuXG4uYnRuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJ0bi1zbWFsbCB7XG4gIHBhZGRpbmc6Y2FsYygwLjJyZW0gKyAycHgpIDAuNnJlbTtcbn1cblxuLmJ0bltjbGFzcyo9aG92ZXJhYmxlLV06bm90KC5idG4tcHJlc3MpLFxuLmJ0bltjbGFzcyo9aG92ZXJhYmxlLV06bm90KC5idG4tb3V0bGluZSksXG4uYnRuW2NsYXNzKj1saWdodC1ob3ZlcmFibGUtXTpub3QoLmJ0bi1wcmVzcyksXG4uYnRuW2NsYXNzKj1saWdodC1ob3ZlcmFibGUtXTpub3QoLmJ0bi1vdXRsaW5lKSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ZmlsdGVyLHRyYW5zZm9ybSxib3gtc2hhZG93IWltcG9ydGFudFxufVxuXG4uYnRuOmhvdmVyOm5vdCguYnRuLW91dGxpbmUpLFxuLmJ0bi5hY3RpdmU6bm90KC5idG4tb3V0bGluZSkge1xuICBmaWx0ZXI6YnJpZ2h0bmVzcygxMjUlKVxufVxuXG4uYnRuLXZhbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuLWxibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5idG4tZGJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYnRuLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLmJ0biAudGV4dC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLSAqXFxcbiAgICBNYXJnZXNcblxcKiAtLS0tLS0tLSAqL1xuLm1iLTMge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW4tbGVmdDogNSU7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIG1hcmdpbi1ib3R0b206dmFyKC0tc3BhY2luZy1tZCkhaW1wb3J0YW50XG59XG5cbi5tdC0zIHtcbiAgbWFyZ2luLXRvcDp2YXIoLS1zcGFjaW5nLW1kKSFpbXBvcnRhbnRcbn1cblxuLyogLS0tLS0tLS0gKlxcXG4gICAgQWxlcnRzXG5cXCogLS0tLS0tLS0gKi9cbi5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmFsZXJ0LWRhbmdlcixcbi5hbGVydC1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0gKlxcXG4gICAgR3JhcGhpcXVlc1xuXFwqIC0tLS0tLS0tLS0tLSAqL1xuLmNoYXJ0cy1maWx0ZXItY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2luZy1tZCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IHZhcigtLXNwYWNpbmctbWQpIDA7XG59XG5cbiNjaGFydC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMjBweCA1JTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4jdGVtcGVyYXR1cmVDaGFydCxcbiNiYXR0ZXJ5Q2hhcnQsXG4jbW90aW9uQ291bnRDaGFydCxcbiNtb3Rpb25QcmVkQ2hhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG59XG5cbiNwcmVzZW5jZS1wbG90IHtcbiAgbWF4LWhlaWdodDogNzB2aDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwO1xufVxuXG4jcHJlc2VuY2UtcGxvdC5sb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBCb3V0b24gcHJpbmNpcGFsIGFmZmljaMOpICovXG5zdmcgLnVwZGF0ZW1lbnUtaGVhZGVyIC51cGRhdGVtZW51LWl0ZW0tcmVjdCB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXdoaXRlLCAjZmZmZmZmKSAhaW1wb3J0YW50O1xufVxuc3ZnIC51cGRhdGVtZW51LWhlYWRlciAudXBkYXRlbWVudS1pdGVtLXRleHQge1xuICBmaWxsOiB2YXIoLS1jb2xvci1ibGFjaywgIzAwMDAwMCkgIWltcG9ydGFudDtcbn1cblxuLyogT3B0aW9ucyB2aXNpYmxlcyAoZG9udCBzw6lsZWN0aW9ubsOpZXMpICovXG5zdmcgLnVwZGF0ZW1lbnUtZHJvcGRvd24tYnV0dG9uW29wYWNpdHk9XCIxXCJdIC51cGRhdGVtZW51LWl0ZW0tcmVjdCB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXdoaXRlLCAjZmZmZmZmKSAhaW1wb3J0YW50O1xufVxuc3ZnIC51cGRhdGVtZW51LWRyb3Bkb3duLWJ1dHRvbltvcGFjaXR5PVwiMVwiXSAudXBkYXRlbWVudS1pdGVtLXRleHQge1xuICBmaWxsOiB2YXIoLS1jb2xvci1ibGFjaywgIzAwMDAwMCkgIWltcG9ydGFudDtcbn1cblxuLyogSG92ZXIgc3VyIGxlcyBvcHRpb25zICovXG5zdmcgLnVwZGF0ZW1lbnUtZHJvcGRvd24tYnV0dG9uOmhvdmVyIC51cGRhdGVtZW51LWl0ZW0tcmVjdCB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnksICMzMzMpICFpbXBvcnRhbnQ7XG59XG5zdmcgLnVwZGF0ZW1lbnUtZHJvcGRvd24tYnV0dG9uOmhvdmVyIC51cGRhdGVtZW51LWl0ZW0tdGV4dCB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXRleHQsICNmZmYpICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuY2hhcnRzLWZpbHRlci1jb250cm9scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIC5jaGFydHMtZmlsdGVyLWNvbnRyb2xzIGxhYmVsLFxuICAuY2hhcnRzLWZpbHRlci1jb250cm9scyBzZWxlY3QsXG4gIC5jaGFydHMtZmlsdGVyLWNvbnRyb2xzIGlucHV0IHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuXG4gICNjaGFydC1jb250YWluZXIge1xuICAgIHdpZHRoOiA5NiU7XG4gICAgbWFyZ2luOiAxMHB4IDIlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDkgLyAxNjtcbiAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuY2hhcnRzLWZpbHRlci1jb250cm9scyBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gIC5jaGFydC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLSAqXFxcbiAgICBGb3JtdWxhaXJlc1xuXFwqIC0tLS0tLS0tLS0tLS0gKi9cbi5mb3JtLXRhYmxlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uZm9ybS10YWJsZSB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMzAlO1xufVxuXG4uZm9ybS10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDcwJTtcbn1cblxuLmZvcm0tdGFibGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmFkZG9uLXN1cHByIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgIGtucF9wYWdpbmF0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbWQpICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLnBhZ2luYXRpb24gc3BhbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2hhZG93KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMaWVuIGRhbnMgY2hhcXVlIHNwYW4gKi9cbi5wYWdpbmF0aW9uIHNwYW4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbSkgMC43NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4vKiBIb3ZlciBzdXIgbGllbiAocGxlaW4gY2xpYyBzdXIgbGUgYmxvYykgKi9cbi5wYWdpbmF0aW9uIHNwYW4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogw4l0YXQgYWN0aWYgKHBhZ2UgYWN0dWVsbGUpICovXG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20pIDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pbnB1dC1ncm91cC1zbSAuZm9ybS1jb250cm9sIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIHZhcigtLXNwYWNpbmctc20pO1xufVxuXG4vKiAtLS0tLS0tLS0tICpcXFxuICAgIFRhYmxlYXV4XG5cXCogLS0tLS0tLS0tLSAqL1xuLmFkZG9uLXRibCB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFkZG9uLXRibCB0aCxcbi5hZGRvbi10YmwgdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDJweDtcbn1cblxuLmFkZG9uLXRibCB0aCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IC8qIEVzcGFjZSBwb3VyIGZsw6hjaGUgKi9cbn1cblxuLmFkZG9uLXRibCB0aCBhLmFzYzo6YWZ0ZXIsXG4uYWRkb24tdGJsIHRoIGEuZGVzYzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogdmFyKC0tc3BhY2luZy14cyk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjRyZW07XG59XG5cbi5hZGRvbi10YmwgdGggYS5hc2M6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmFkZG9uLXRibCB0aCBhLmRlc2M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmFkZG9uLXRibCB0aCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hZGRvbi10YmwgdGggLmlucHV0LWdyb3VwIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFkZG9uLXRibCB0aCBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjaW5nLXhzKSB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLmFkZG9uLXRibCB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLXRleHQpO1xufVxuXG4uYWRkb24tdGJsIC5idG46aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4zKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLmFkZG9uLXRibCB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xufVxuXG4vKiAtLS0tLS0tLSAqXFxcbiAgICBGb290ZXJcblxcKiAtLS0tLS0tLSAqL1xuLmZfZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHggNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2hhZG93KTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/