/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/root.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --font: "century-gothic", sans-serif;
  --font-size-small: 0.70rem;
  --font-size-normal: 0.90rem;
  --font-size-large: 1.10rem;
  --font-size-extralarge: 2rem;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --color-body: #F7F6F5;
  --color-text-black: #000000;
  --color-text-white: #FFFFFF;
  --color-primary: #FBCB3B;
  --color-primary-light: #ffe5c5;
  --color-secondary-niv-1: #F7F6F5;
  --color-secondary-niv-2: #EFEDE7;
  --color-secondary-niv-3: #E2DED3;
  --color-secondary-niv-4: #B7B09C;
  --color-alert: #F93D3D;
  --color-alert-light: #F7E4E4;
  --color-danger: #F9803D;
  --color-danger-light: #F9DCCD;
  --color-success: #79B51C;
  --color-success-light: #D6F4A6;
  --color-info: #00b4d8;
  --color-info-light: #caf0f8;
  --color-transparent: rgba(255,255,255,0);
  --color-white: #FFFFFF;
  --color-white-transparent-niv-1: rgba(255,255,255,0.3);
  --color-white-transparent-niv-2: rgba(255,255,255,0.6);
  --color-black: #000000;
  --color-black-transparent-niv-1: rgba(0,0,0,0.05);
  --color-black-transparent-niv-2: rgba(0,0,0,0.15);
  --color-black-transparent-niv-3: rgba(0,0,0,0.35);
  --color-agent: #8B5CF6;
  --color-agent-light: #e8e4f7;
  --gradient-agent: linear-gradient(135deg, #8B5CF6 0%, #A855F7 50%, #C084FC 100%);
  --gradient-agent-hover: linear-gradient(135deg, #6D28D9 0%, #7C3AED 50%, #8B5CF6 100%);
  --spacer: 30px;
  --radius: 8px;
  --radius-inner: 6px;
  --radius-circle: 1000px;
  --transition: all 150ms ease-in-out;
  --shadow: 0px 1px 1px rgba(0, 0, 0, 0.05),
  0px 5px 3px rgba(0, 0, 0, 0.05),
  0px 11px 7px rgba(0, 0, 0, 0.05),
  0px 19px 13px rgba(0, 0, 0, 0.05),
  0px 30px 20px rgba(0, 0, 0, 0.05);
  --shadow-reverse: 0px -10px 20px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
  :root {
    --font-size-small: 0.60rem;
    --font-size-normal: 0.80rem;
    --font-size-large: 1rem;
    --font-size-extralarge: 1.6rem;
  }
}
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/global.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
TABLE DES MATIÈRES
==========================================================================
1. Reset et éléments de base
2. Propriétés générales
3. Typographie
4. Couleurs
5. Utilitaires
6. Class : Button
7. Class : Badge
8. Class : Tooltip
9. Class : Breadcrumb
10. Class : Square Item Add
11. Class : Square Setting Btn
12. Class : Notice
13. Class : IA Overlay
14. Menu général pour modal
========================================================================== */
/* ==========================================================================
1. Reset et éléments de base
========================================================================== */
* {
  margin: 0;
  padding: 0;
}

html {
  width: 100%;
  background: var(--color-body);
}

body {
  font-family: var(--font);
  font-size: var(--font-size-normal);
  background: var(--color-body);
  color: var(--color-text-black);
  font-weight: var(--font-weight-normal);
  display: flex;
  flex-direction: column;
  width: 100%;
}

@media screen and (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
}
/* ==========================================================================
   2. Propriétés générales
   ========================================================================== */
a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

input {
  font-family: var(--font);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-normal);
}

button {
  border: none !important;
}

input[type=submit] {
  border: none !important;
}

.link {
  cursor: pointer;
}

.overflow-hidden {
  overflow: hidden;
}

.d-none {
  display: none !important;
}

.follow-href:not([datahref=""]) {
  cursor: pointer;
}

hr {
  height: 1px;
  border: none;
  background: var(--color-secondary-niv-4);
  margin: var(--spacer) 0;
}

@media screen and (max-width: 768px) {
  hr {
    margin: calc(var(--spacer) / 2) 0;
  }
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

[data-smooth-scroll-to] {
  cursor: pointer;
}

.switch-view-handler {
  cursor: pointer;
}

.dragging {
  transition: none !important;
  -webkit-user-select: none;
  user-select: none;
  cursor: grabbing;
}

/* ==========================================================================
   3. Typographie
   ========================================================================== */
.font {
  font-family: var(--font);
}

.font-size-small {
  font-size: var(--font-size-small);
}

.font-size-normal {
  font-size: var(--font-size-normal);
}

.font-size-large {
  font-size: var(--font-size-large);
}

.font-size-extralarge {
  font-size: var(--font-size-extralarge);
}

.font-weight-normal {
  font-weight: var(--font-weight-normal);
}

.font-weight-bold {
  font-weight: var(--font-weight-bold);
}

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

/* ==========================================================================
   4. Couleurs
   ========================================================================== */
.color-body {
  color: var(--color-body);
}

.color-text-black {
  color: var(--color-text-black);
}

.color-text-white {
  color: var(--color-text-white);
}

.color-primary {
  color: var(--color-primary);
}

.color-secondary-niv-1 {
  color: var(--color-secondary-niv-1);
}

.color-secondary-niv-2 {
  color: var(--color-secondary-niv-2);
}

.color-secondary-niv-3 {
  color: var(--color-secondary-niv-3);
}

.color-secondary-niv-4 {
  color: var(--color-secondary-niv-4);
}

.color-success {
  color: var(--color-info);
}

.color-success-light {
  color: var(--color-inflight);
}

.color-alert {
  color: var(--color-alert);
}

.color-alert-light {
  color: var(--color-alert-light);
}

.color-danger {
  color: var(--color-danger);
}

.color-danger-light {
  color: var(--color-danger-light);
}

.color-success {
  color: var(--color-success);
}

.color-success-light {
  color: var(--color-success-light);
}

.color-transparent {
  color: var(--color-transparent);
}

.color-white {
  color: var(--color-white);
}

.color-white-transparent-niv-1 {
  color: var(--color-white-transparent-niv-1);
}

.color-white-transparent-niv-2 {
  color: var(--color-white-transparent-niv-2);
}

.color-black {
  color: var(--color-black);
}

.color-black-transparent-niv-1 {
  color: var(--color-black-transparent-niv-1);
}

.color-black-transparent-niv-2 {
  color: var(--color-black-transparent-niv-2);
}

.background-body {
  background: var(--color-body);
}

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

.background-text-white {
  background: var(--color-text-white);
}

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

.background-secondary-niv-1 {
  background: var(--color-secondary-niv-1);
}

.background-secondary-niv-2 {
  background: var(--color-secondary-niv-2);
}

.background-secondary-niv-3 {
  background: var(--color-secondary-niv-3);
}

.background-secondary-niv-4 {
  background: var(--color-secondary-niv-4);
}

.background-info {
  background: var(--color-info);
}

.background-info-light {
  background: var(--color-info-light);
}

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

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

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

.background-danger-light {
  background: var(--color-danger-light);
}

.background-success {
  background: var(--color-success);
}

.background-success-light {
  background: var(--color-success-light);
}

.background-transparent {
  background: var(--color-transparent);
}

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

.background-white-transparent-niv-1 {
  background: var(--color-white-transparent-niv-1);
}

.background-white-transparent-niv-2 {
  background: var(--color-white-transparent-niv-2);
}

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

.background-black-transparent-niv-1 {
  background: var(--color-black-transparent-niv-1);
}

.background-black-transparent-niv-2 {
  background: var(--color-black-transparent-niv-2);
}

/* ==========================================================================
   5. Utilitaires
   ========================================================================== */
.radius {
  border-radius: var(--radius);
}

.radius-inner {
  border-radius: var(--radius-inner);
}

.radius-circle {
  border-radius: var(--radius-circle);
}

.transition {
  transition: var(--transition);
}

.box-shadow {
  box-shadow: var(--shadow);
}

.box-shadow-reverse {
  box-shadow: var(--shadow-reverse);
}

.relative {
  position: relative;
}

.m-1 {
  margin: calc(var(--spacer));
}

.m-2 {
  margin: calc(var(--spacer) * 2);
}

.m-3 {
  margin: calc(var(--spacer) * 3);
}

.m-4 {
  margin: calc(var(--spacer) * 4);
}

.m-1-2 {
  margin: calc(var(--spacer) / 2);
}

.m-1-4 {
  margin: calc(var(--spacer) / 4);
}

.mt-1 {
  margin-top: calc(var(--spacer));
}

.mt-2 {
  margin-top: calc(var(--spacer) * 2);
}

.mt-3 {
  margin-top: calc(var(--spacer) * 3);
}

.mt-4 {
  margin-top: calc(var(--spacer) * 4);
}

.mt-1-2 {
  margin-top: calc(var(--spacer) / 2);
}

.mt-1-4 {
  margin-top: calc(var(--spacer) / 4);
}

.mb-1 {
  margin-bottom: calc(var(--spacer));
}

.mb-2 {
  margin-bottom: calc(var(--spacer) * 2);
}

.mb-3 {
  margin-bottom: calc(var(--spacer) * 3);
}

.mb-4 {
  margin-bottom: calc(var(--spacer) * 4);
}

.mb-1-2 {
  margin-bottom: calc(var(--spacer) / 2);
}

.mb-1-4 {
  margin-bottom: calc(var(--spacer) / 4);
}

.ml-1 {
  margin-left: calc(var(--spacer));
}

.ml-2 {
  margin-left: calc(var(--spacer) * 2);
}

.ml-3 {
  margin-left: calc(var(--spacer) * 3);
}

.ml-4 {
  margin-left: calc(var(--spacer) * 4);
}

.ml-1-2 {
  margin-left: calc(var(--spacer) / 2);
}

.ml-1-4 {
  margin-left: calc(var(--spacer) / 4);
}

.mr-1 {
  margin-right: calc(var(--spacer));
}

.mr-2 {
  margin-right: calc(var(--spacer) * 2);
}

.mr-3 {
  margin-right: calc(var(--spacer) * 3);
}

.mr-4 {
  margin-right: calc(var(--spacer) * 4);
}

.mr-1-2 {
  margin-right: calc(var(--spacer) / 2);
}

.mr-1-4 {
  margin-right: calc(var(--spacer) / 4);
}

/* .mi-1 { margin-inline: calc(var(--spacer)); }
.mi-2 { margin-inline: calc(var(--spacer) * 2); }
.mi-3 { margin-inline: calc(var(--spacer) * 3); }
.mi-4 { margin-inline: calc(var(--spacer) * 4); }
.mi-1-2 { margin-inline: calc(var(--spacer) / 2); }
.mi-1-4 { margin-inline: calc(var(--spacer) / 4); }
.mb-1 { margin-block: calc(var(--spacer)); }
.mb-2 { margin-block: calc(var(--spacer) * 2); }
.mb-3 { margin-block: calc(var(--spacer) * 3); }
.mb-4 { margin-block: calc(var(--spacer) * 4); }
.mb-1-2 { margin-block: calc(var(--spacer) / 2); }
.mb-1-4 { margin-block: calc(var(--spacer) / 4); } */
.p-1 {
  padding: calc(var(--spacer));
}

.p-2 {
  padding: calc(var(--spacer) * 2);
}

.p-3 {
  padding: calc(var(--spacer) * 3);
}

.p-4 {
  padding: calc(var(--spacer) * 4);
}

.p-1-2 {
  padding: calc(var(--spacer) / 2);
}

.p-1-4 {
  padding: calc(var(--spacer) / 4);
}

.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top: calc(var(--spacer));
}

.pt-2 {
  padding-top: calc(var(--spacer) * 2);
}

.pt-3 {
  padding-top: calc(var(--spacer) * 3);
}

.pt-4 {
  padding-top: calc(var(--spacer) * 4);
}

.pt-1-2 {
  padding-top: calc(var(--spacer) / 2);
}

.pt-1-4 {
  padding-top: calc(var(--spacer) / 4);
}

.pb-1 {
  padding-bottom: calc(var(--spacer));
}

.pb-2 {
  padding-bottom: calc(var(--spacer) * 2);
}

.pb-3 {
  padding-bottom: calc(var(--spacer) * 3);
}

.pb-4 {
  padding-bottom: calc(var(--spacer) * 4);
}

.pb-1-2 {
  padding-bottom: calc(var(--spacer) / 2);
}

.pb-1-4 {
  padding-bottom: calc(var(--spacer) / 4);
}

.pl-1 {
  padding-left: calc(var(--spacer));
}

.pl-2 {
  padding-left: calc(var(--spacer) * 2);
}

.pl-3 {
  padding-left: calc(var(--spacer) * 3);
}

.pl-4 {
  padding-left: calc(var(--spacer) * 4);
}

.pl-1-2 {
  padding-left: calc(var(--spacer) / 2);
}

.pl-1-4 {
  padding-left: calc(var(--spacer) / 4);
}

.pr-1 {
  padding-right: calc(var(--spacer));
}

.pr-2 {
  padding-right: calc(var(--spacer) * 2);
}

.pr-3 {
  padding-right: calc(var(--spacer) * 3);
}

.pr-4 {
  padding-right: calc(var(--spacer) * 4);
}

.pr-1-2 {
  padding-right: calc(var(--spacer) / 2);
}

.pr-1-4 {
  padding-right: calc(var(--spacer) / 4);
}

.pi-1 {
  padding-inline: calc(var(--spacer));
}

.pi-2 {
  padding-inline: calc(var(--spacer) * 2);
}

.pi-3 {
  padding-inline: calc(var(--spacer) * 3);
}

.pi-4 {
  padding-inline: calc(var(--spacer) * 4);
}

.pi-1-2 {
  padding-inline: calc(var(--spacer) / 2);
}

.pi-1-4 {
  padding-inline: calc(var(--spacer) / 4);
}

.pb-1 {
  padding-block: calc(var(--spacer));
}

.pb-2 {
  padding-block: calc(var(--spacer) * 2);
}

.pb-3 {
  padding-block: calc(var(--spacer) * 3);
}

.pb-4 {
  padding-block: calc(var(--spacer) * 4);
}

.pb-1-2 {
  padding-block: calc(var(--spacer) / 2);
}

.pb-1-4 {
  padding-block: calc(var(--spacer) / 4);
}

.m-auto {
  margin: auto;
}

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

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

.flex {
  display: flex;
}

.flex-justify-start {
  justify-content: start;
}

.flex-justify-end {
  justify-content: end;
}

.flex-justify-center {
  justify-content: center;
}

.flex-align-start {
  align-items: start;
}

.flex-align-end {
  align-items: end;
}

.flex-align-center {
  align-items: center;
}

.gap-spacer {
  gap: var(--spacer);
}

.gap-spacer-small {
  gap: calc(var(--spacer) / 2);
}

.flex-basis-25 {
  flex-basis: 25%;
}

.w-100 {
  width: 100%;
}

/* ==========================================================================
   6. Button
   Note : .button = global / .btn = template
   ========================================================================== */
.button {
  background: var(--color-primary);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.button:hover {
  background: var(--color-secondary-niv-2);
}

.button:has(> span):not(:has(> svg)) {
  padding: calc(var(--spacer) / 3) calc(var(--spacer) / 2);
}

.button:has(> svg + span) {
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2) calc(var(--spacer) / 4) calc(var(--spacer) / 4);
}

.button:has(> span + svg) {
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 4) calc(var(--spacer) / 4) calc(var(--spacer) / 2);
}

.button.small {
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  gap: calc(var(--spacer) / 4);
  border-radius: var(--radius-inner);
}

.button.small:has(> span):not(:has(> svg)) {
  padding: calc(var(--spacer) / 6) calc(var(--spacer) / 2);
}

.button.small:has(> svg + span) {
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 2) calc(var(--spacer) / 8) calc(var(--spacer) / 8);
}

.button.small:has(> span + svg) {
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 8) calc(var(--spacer) / 8) calc(var(--spacer) / 2);
}

.button.full {
  width: 100%;
}

.button.not-full {
  width: max-content;
}

.button.disabled {
  cursor: not-allowed;
}

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

.button.active {
  background: var(--color-primary-light);
}

.button.success {
  background: var(--color-success);
  color: var(--color-text-white);
}

.button.success:hover {
  background: var(--color-success-light);
  color: var(--color-success);
}

.button.success.active {
  background: var(--color-success-light);
  color: var(--color-success);
}

.button.info {
  background: var(--color-info);
  color: var(--color-text-white);
}

.button.info:hover {
  background: var(--color-info-light);
  color: var(--color-info);
}

.button.info.active {
  background: var(--color-info-light);
  color: var(--color-info);
}

.button.alert {
  background: var(--color-alert);
  color: var(--color-text-white);
}

.button.alert:hover {
  background: var(--color-alert-light);
  color: var(--color-alert);
}

.button.alert.active {
  background: var(--color-alert-light);
  color: var(--color-alert);
}

.button.danger {
  background: var(--color-danger);
  color: var(--color-text-white);
}

.button.danger:hover {
  background: var(--color-danger-light);
  color: var(--color-alert);
}

.button.danger.active {
  background: var(--color-danger-light);
  color: var(--color-danger);
}

.button.light {
  background: var(--color-secondary-niv-2);
  color: var(--color-text-black);
}

.button.light:hover {
  background: var(--color-secondary-niv-1);
  color: var(--color-text-black);
}

.button.light.active {
  background: var(--color-secondary-niv-3);
  color: var(--color-text-black);
}

.button.ia {
  background: var(--gradient-agent);
  color: var(--color-text-white);
}

.button.ia:hover {
  background: var(--color-agent-light);
  color: var(--color-agent);
}

.button.ia.active {
  background: var(--color-agent-light);
  color: var(--color-agent);
}

.button svg {
  background: var(--color-text-white);
  color: var(--color-text-black);
  border-radius: calc(var(--radius) / 2);
  transition: var(--transition);
  padding: calc(var(--spacer) / 10);
  flex-grow: 0;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.button.small svg {
  border-radius: calc(var(--radius) / 2);
  padding: calc(var(--spacer) / 10);
  width: 18px;
  height: 18px;
}

.button:hover svg {
  background: var(--color-primary);
}

.button.success:hover svg {
  background: var(--color-success);
  color: var(--color-text-white);
}

.button.info:hover svg {
  background: var(--color-info);
  color: var(--color-text-white);
}

.button.alert:hover svg {
  background: var(--color-alert);
  color: var(--color-text-white);
}

.button.danger:hover svg {
  background: var(--color-danger);
  color: var(--color-text-white);
}

.button.light:hover svg {
  background: var(--color-secondary-niv-4);
  color: var(--color-text-white);
}

.button.ia:hover svg {
  background: var(--color-agent);
  color: var(--color-white);
}

/* ==========================================================================
   7. Badges
   ========================================================================== */
.badge {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4) calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  border-radius: var(--radius-circle);
  background: var(--color-black-transparent-niv-1);
  transition: var(--transition);
}

.badge.link:hover,
.badge.active {
  background: var(--color-secondary-niv-3);
}

.badge.primary {
  background: var(--color-primary);
  color: var(--color-black);
}

.badge.primary-light {
  background: var(--color-primary-light);
  color: var(--color-black);
}

.badge.primary-light.link:hover,
.badge.primary-light.active {
  background: var(--color-primary);
  color: var(--color-black);
}

.badge.success {
  background: var(--color-success);
  color: var(--color-white);
}

.badge.success-light {
  background: var(--color-success-light);
  color: var(--color-success);
}

.badge.success-light.link:hover,
.badge.success-light.active {
  background: var(--color-success);
  color: var(--color-success-light);
}

.badge.info {
  background: var(--color-info);
  color: var(--color-white);
}

.badge.info-light {
  background: var(--color-info-light);
  color: var(--color-info);
}

.badge.info-light.link:hover,
.badge.info-light.active {
  background: var(--color-info);
  color: var(--color-info-light);
}

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

.badge.danger-light {
  background: var(--color-danger-light);
  color: var(--color-danger);
}

.badge.danger-light.link:hover,
.badge.danger-light.active {
  background: var(--color-danger);
  color: var(--color-danger-light);
}

.badge.alert {
  background: var(--color-alert);
  color: var(--color-white);
}

.badge.alert-light {
  background: var(--color-alert-light);
  color: var(--color-alert);
}

.badge.alert-light.link:hover,
.badge.alert-light.active {
  background: var(--color-alert);
  color: var(--color-alert-light);
}

.badge.ia {
  background: var(--color-agent);
  color: var(--color-white);
}

.badge.ia-light {
  background: var(--color-agent-light);
  color: var(--color-agent);
}

.badge.ia-light.link:hover,
.badge.ia-light.active {
  background: var(--color-agent);
  color: var(--color-agent-light);
}

.badge.dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background: var(--color-black-transparent-niv-3);
  display: block;
  padding: 0;
}

.badge.primary.dot {
  background: var(--color-primary);
}

.badge.success.dot {
  background: var(--color-success);
}

.badge.info.dot {
  background: var(--color-info);
}

.badge.danger.dot {
  background: var(--color-danger);
}

.badge.alert.dot {
  background: var(--color-alert);
}

.badge.ia.dot {
  background: var(--color-agent);
}

.badge .dot {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background: var(--color-black-transparent-niv-3);
  display: block;
  padding: 0;
}

.badge.primary-light .dot {
  background: var(--color-primary);
}

.badge.primary-light.link:hover .dot,
.badge.primary-light.active .dot {
  background: var(--color-primary-light);
}

.badge.success-light .dot {
  background: var(--color-success);
}

.badge.success-light.link:hover .dot,
.badge.success-light.active .dot {
  background: var(--color-success-light);
}

.badge.info-light .dot {
  background: var(--color-info);
}

.badge.info-light.link:hover .dot,
.badge.info-light.active .dot {
  background: var(--color-info-light);
}

.badge.danger-light .dot {
  background: var(--color-danger);
}

.badge.danger-light.link:hover .dot,
.badge.danger-light.active .dot {
  background: var(--color-danger-light);
}

.badge.alert-light .dot {
  background: var(--color-alert);
}

.badge.alert-light.link:hover .dot,
.badge.alert-light.active .dot {
  background: var(--color-alert-light);
}

.badge.ia .dot {
  background: var(--color-agent);
}

.badge.ia-light.link:hover .dot,
.badge.ia-light.active .dot {
  background: var(--color-agent-light);
}

/* ==========================================================================
   8. Tooltip
   ========================================================================== */
.tooltip {
  position: absolute;
  background: var(--color-text-black);
  color: #FFF;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  padding: calc(var(--spacer) / 6) calc(var(--spacer) / 3);
  border-radius: calc(var(--radius) / 2);
  pointer-events: none;
  white-space: normal;
  word-wrap: break-word;
  z-index: 999;
  opacity: 0;
  transition: opacity 0.2s ease 0.05s, transform 0.2s ease 0.05s;
  transform: translateX(10px);
  max-width: 200px;
}

/* ==========================================================================
   9. Breadcrumb
   ========================================================================== */
.breadcrumb ul {
  list-style: none;
  margin: 0px;
  list-style: none;
  display: flex;
  gap: calc(var(--spacer) / 2);
  flex-wrap: wrap;
}

.breadcrumb ul li {
  position: relative;
}

.breadcrumb ul li:after {
  content: " ";
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 width=%2724%27 height=%2724%27 fill=%27rgba%28226,222,211,1%29%27%3E%3Cpath d=%27M12.1717 12.0005L9.34326 9.17203L10.7575 7.75781L15.0001 12.0005L10.7575 16.2431L9.34326 14.8289L12.1717 12.0005Z%27%3E%3C/path%3E%3C/svg%3E");
  width: 24px;
  height: 24px;
  display: block;
  position: absolute;
  right: -20px;
  top: -2px;
}

.breadcrumb ul li:last-child:after {
  display: none;
}

.breadcrumb ul li a {
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  background: var(--color-secondary-niv-1);
  font-size: var(--font-size-small);
  border-radius: var(--radius-inner);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}

.breadcrumb ul li a:hover {
  background: var(--color-secondary-niv-3);
}

.breadcrumb ul li a.active {
  background: var(--color-primary);
}

.breadcrumb ul li a.active:hover {
  background: var(--color-secondary-niv-4);
}

.breadcrumb ul li a svg {
  margin-bottom: -4px;
  width: 18px;
  height: 18px;
}

/* ==========================================================================
   10. Square Item Add
   ========================================================================== */
.square-item-add {
  position: absolute;
  z-index: 15;
  top: 0;
  bottom: 0;
  left: calc(100% + var(--spacer) / 2);
  height: 100%;
}

@media screen and (max-width: 768px) {
  .square-item-add {
    left: calc(100% - 5px);
  }
}
.square-item-add .square-item-add-content {
  position: sticky;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 4);
  background: var(--color-white);
  border-radius: var(--radius);
  top: 120px;
  box-shadow: var(--shadow);
  transition: var(--transition);
}

@media screen and (max-width: 992px) {
  .square-item-add .square-item-add-content {
    top: 100px;
  }
}
@media screen and (max-width: 768px) {
  .square-item-add .square-item-add-content {
    top: 10px;
  }
  .sticky-nav .square-item-add .square-item-add-content {
    top: 70px;
  }
}
.square-item-add .btn {
  display: flex;
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 4);
  transition: var(--transition);
  cursor: pointer;
  color: var(--color-text-black);
  background: var(--color-secondary-niv-2);
  transition: var(--transition);
}

.square-item-add .btn:hover {
  color: var(--color-text-black);
  background: var(--color-secondary-niv-3);
}

.square-item-add .btn.success {
  color: var(--color-text-white);
  background: var(--color-success);
}

.square-item-add .btn.success:hover {
  color: var(--color-text-black);
  background: var(--color-success-light);
}

.square-item-add .btn.primary {
  color: var(--color-text-black);
  background: var(--color-primary);
}

.square-item-add .btn.primary:hover {
  color: var(--color-text-black);
  background: var(--color-primary-light);
}

.square-item-add .btn.alert {
  color: var(--color-white);
  background: var(--color-alert);
}

.square-item-add .btn.alert:hover {
  color: var(--color-alert);
  background: var(--color-alert-light);
}

.square-item-add .btn svg {
  width: 24px;
  height: 24px;
}

@media screen and (max-width: 992px) {
  .square-item-add .btn svg {
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 768px) {
  .square-item-add .btn svg {
    width: 14px;
    height: 14px;
  }
}
/* ==========================================================================
   11. Square Setting Btn
   ========================================================================== */
.square-setting-btn {
  color: var(--color-text-black);
  padding: calc(var(--spacer) / 4);
  border-radius: var(--radius-inner);
  background: var(--color-secondary-niv-2);
  display: flex;
  transition: var(--transition);
  position: relative;
  z-index: 20;
  cursor: pointer;
}

@media screen and (max-width: 1200px) {
  .square-setting-btn {
    padding: calc(var(--spacer) / 8);
  }
}
.square-setting-btn:hover,
.square-setting-btn.active {
  color: var(--color-text-black);
  background: var(--color-primary);
}

.square-setting-btn.white {
  color: var(--color-text-black);
  padding: calc(var(--spacer) / 4);
  border-radius: var(--radius-inner);
  background: var(--color-white);
}

@media screen and (max-width: 1200px) {
  .square-setting-btn svg {
    width: 18px;
    height: 18px;
  }
}
.square-setting-nav {
  position: absolute;
  bottom: calc(100% + var(--spacer) / 2);
  right: 0;
  background: var(--color-white);
  box-shadow: var(--shadow);
  z-index: 40;
  border-radius: var(--radius-inner);
  opacity: 0;
  transform: translateY(calc(var(--spacer) / -2));
  transition: var(--transition);
  pointer-events: none;
  visibility: hidden;
  color: var(--color-text-black);
}

.square-setting-nav::before {
  content: "";
  position: absolute;
  bottom: -8px;
  right: 8px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid var(--color-white);
}

.square-setting-nav.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

.square-setting-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border-radius: var(--radius-inner);
}

.square-setting-nav ul li .nav-item {
  border-bottom: solid 1px var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  background: var(--color-transparent);
  display: block;
  transition: var(--transition);
  text-align: right;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
  cursor: pointer;
}

.square-setting-nav ul li:last-child .nav-item {
  border-bottom: none;
}

.square-setting-nav ul li .nav-item:hover {
  background: var(--color-secondary-niv-1);
}

.square-setting-nav ul li.disabled .nav-item {
  cursor: not-allowed;
}

.square-setting-nav ul li.alert .nav-item {
  color: var(--color-alert);
}

.square-setting-nav ul li.warning .nav-item {
  color: var(--color-danger);
}

.square-setting-nav ul li.success .nav-item {
  color: var(--color-success);
}

.square-setting-nav ul li.separator .nav-item {
  border-bottom: solid 1px var(--color-secondary-niv-4);
}

.square-setting-nav ul li.separator-up .nav-item {
  border-top: solid 1px var(--color-secondary-niv-4);
}

/* ==========================================================================
   12. Notice
   ========================================================================== */
.notice {
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 2);
}

.notice ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

.notice ul li {
  margin-bottom: calc(var(--spacer) / 4);
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.notice ul li:last-child {
  margin-bottom: 0;
}

.notice ul li.success {
  color: var(--color-success);
}

.notice ul li.error {
  color: var(--color-alert);
}

.notice ul li.warning {
  color: var(--color-danger);
}

.notice ul li.info {
  color: var(--color-info);
}

.notice ul li svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.notice ul li ul {
  margin: 0px;
  padding: 0px;
}

.notice ul li ul li {
  margin: 0px;
  padding: 0px;
}

.notice ul li .action button,
.notice ul li .action a {
  border: solid 1px var(--color-secondary-niv-3);
  background: transparent;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  color: inherit;
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  border-radius: var(--radius-inner);
  transition: var(--transition);
  cursor: pointer;
}

.notice ul li .action button:hover,
.notice ul li .action a:hover {
  background: var(--color-secondary-niv-3);
}

.notice ul li ul {
  padding-left: var(--spacer);
  width: 100%;
}

.notice ul li ul li {
  list-style: disc;
  display: list-item;
}

.notice.message {
  padding: var(--spacer);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.notice.message svg {
  flex-shrink: 0;
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
  fill: var(--color-secondary-niv-4);
  color: var(--color-secondary-niv-4);
}

.notice.message .title {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
}

.notice.message hr {
  height: 1px;
  border: none;
  background-color: var(--color-secondary-niv-3);
  width: 100%;
  margin: 0;
}

.notice.message ul li {
  flex-direction: column;
}

.notice ul li pre {
  background: var(--color-alert-light);
  border-radius: calc(var(--radius-inner) / 2);
  display: inline-block;
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 2);
  font-weight: var(--font-weight-bold);
  margin-top: calc(var(--spacer) / 4);
}

.notice-colored {
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 2);
  display: flex;
  gap: calc(var(--spacer) / 2);
}

.notice-colored svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.notice-colored.primary {
  background: var(--color-primary);
  color: var(--color-text-black);
}

.notice-colored.primary-light {
  background: var(--color-primary-light);
  color: var(--color-text-black);
}

.notice-colored.primary.bordered {
  border: solid 1px var(--color-primary-light);
  color: var(--color-primary);
  background: var(--color-white);
}

.notice-colored.secondary {
  background: var(--color-secondary-niv-3);
  color: var(--color-text-black);
}

.notice-colored.secondary.bordered {
  border: solid 1px var(--color-secondary-niv-3);
  color: var(--color-secondary-niv-4);
  background: var(--color-white);
}

.notice-colored.alert {
  background: var(--color-alert);
  color: var(--color-text-white);
}

.notice-colored.alert-light {
  background: var(--color-alert-light);
  color: var(--color-alert);
}

.notice-colored.alert.bordered {
  border: solid 1px var(--color-alert-light);
  color: var(--color-alert);
  background: var(--color-white);
}

.notice-colored.danger {
  background: var(--color-danger);
  color: var(--color-text-white);
}

.notice-colored.danger-light {
  background: var(--color-danger-light);
  color: var(--color-danger);
}

.notice-colored.danger.bordered {
  border: solid 1px var(--color-danger-light);
  color: var(--color-danger);
  background: var(--color-white);
}

.notice-colored.success {
  background: var(--color-success);
  color: var(--color-text-white);
}

.notice-colored.success-light {
  background: var(--color-success-light);
  color: var(--color-success);
}

.notice-colored.success.bordered {
  border: solid 1px var(--color-success-light);
  color: var(--color-success);
  background: var(--color-white);
}

.notice-colored.info {
  background: var(--color-info);
  color: var(--color-text-white);
}

.notice-colored.info-light {
  background: var(--color-info-light);
  color: var(--color-info);
}

.notice-colored.info.bordered {
  border: solid 1px var(--color-info-light);
  color: var(--color-info);
  background: var(--color-white);
}

.notice-colored.agent {
  background: var(--color-agent);
  color: var(--color-text-white);
}

.notice-colored.agent-light {
  background: var(--color-agent-light);
  color: var(--color-agent);
}

.notice-colored.agent.bordered {
  border: solid 1px var(--color-agent-light);
  color: var(--color-agent);
  background: var(--color-white);
}

/* ==========================================================================
13.1 Class : IA Overlay
========================================================================== */
.ia-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  border: solid 2px var(--color-agent);
  border-radius: var(--radius);
  pointer-events: none;
  z-index: 20;
}

.ia-overlay .ia-indicator {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 22px;
  height: 22px;
  background: var(--color-agent);
  border-radius: 0 0 0 var(--radius-inner);
  z-index: 100;
  display: flex;
  align-items: start;
  justify-content: end;
  box-shadow: var(--shadow);
  padding: 2px 2px 0px 0px;
  z-index: 20;
}

.ia-overlay .ia-indicator svg {
  width: 18px;
  height: 18px;
}

/* ==========================================================================
13.2 Class : Delete Overlay
========================================================================== */
.delete-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  border: solid 2px var(--color-alert);
  border-radius: var(--radius);
  pointer-events: none;
  z-index: 20;
}

.delete-overlay .delete-indicator {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 22px;
  height: 22px;
  background: var(--color-alert);
  border-radius: 0 0 0 var(--radius-inner);
  z-index: 100;
  display: flex;
  align-items: start;
  justify-content: end;
  box-shadow: var(--shadow);
  padding: 2px 2px 0px 0px;
  z-index: 20;
}

.delete-overlay .delete-indicator svg {
  width: 18px;
  height: 18px;
}

/* ==========================================================================
13.1 Class : Favorite Overlay
========================================================================== */
.favorite-overlay:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  bottom: 5px;
  right: 5px;
  z-index: 100;
  border: solid 2px var(--color-primary);
  border-radius: calc(var(--radius) / 1.5);
  pointer-events: none;
  z-index: 15;
}

.favorite-overlay .favorite-indicator {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 16px;
  height: 16px;
  background: var(--color-primary);
  border-radius: 0 0 calc(var(--radius) / 2) 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
  padding: 2px;
  z-index: 15;
  color: var(--color-white);
}

.favorite-overlay .favorite-indicator svg {
  width: 12px;
  height: 12px;
}

/* ==========================================================================
   14. Menu général pour modal
   ========================================================================== */
.menu {
  padding: var(--spacer);
  border-bottom: solid 1px var(--color-secondary-niv-3);
}

.menu ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

.menu ul li {
  margin-bottom: calc(var(--spacer) / 1.5);
}

.menu ul li:last-child {
  margin-bottom: 0;
}

.menu ul .item {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  cursor: pointer;
  padding-right: var(--spacer);
  position: relative;
}

.menu ul .item.active {
  cursor: not-allowed;
}

.menu ul .item .indicator {
  width: 6px;
  height: 6px;
  background: var(--color-secondary-niv-2);
  border-radius: 100px;
  transition: var(--transition);
}

.menu ul .item:hover .indicator {
  background: var(--color-primary);
}

.menu ul .item.active .indicator {
  background: var(--color-primary);
}

.menu ul .item.alert .indicator {
  background: var(--color-alert-light);
}

.menu ul .item.alert:hover .indicator {
  background: var(--color-alert);
}

.menu ul .item .title {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.menu ul .item .badge {
  position: absolute;
  right: 0px;
  top: -5px;
}

/* ==========================================================================
   15. Notifications Header - Animations
   ========================================================================== */
.notification-preview ul li {
  transition: all 0.3s ease;
  overflow: hidden;
}

.notification-preview .notification-action .notification-mark-read {
  transition: all 0.2s ease;
  cursor: pointer;
}

.notification-preview .notification-action .notification-mark-read:hover {
  transform: scale(1.1);
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius-inner);
}

.notification-preview .notification-action .notification-mark-read:active {
  transform: scale(0.95);
}

.notification-preview ul li:hover {
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
}

/* ==========================================================================
   16. Tabs
   ========================================================================== */
.tabs-container {
  width: 100%;
  position: relative;
}

.tabs-container .tabs-header {
  display: flex;
  gap: calc(var(--spacer) / 4);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--color-secondary-niv-3) transparent;
  margin-bottom: -1px;
}

.tabs-container .tabs-header::-webkit-scrollbar {
  height: 4px;
}

.tabs-container .tabs-header::-webkit-scrollbar-track {
  background: transparent;
}

.tabs-container .tabs-header::-webkit-scrollbar-thumb {
  background: var(--color-secondary-niv-3);
  border-radius: var(--radius-circle);
}

.tabs-container .tabs-header::-webkit-scrollbar-thumb:hover {
  background: var(--color-secondary-niv-4);
}

.tabs-container .tabs-header .tabs-btn {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 2) calc(var(--spacer) / 1.5);
  background: var(--color-secondary-niv-2);
  border: 1px solid var(--color-secondary-niv-3);
  border-bottom: none;
  border-radius: var(--radius) var(--radius) 0 0;
  font-family: var(--font);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  position: relative;
}

@media screen and (max-width: 768px) {
  .tabs-container .tabs-header .tabs-btn {
    padding: calc(var(--spacer) / 3) calc(var(--spacer) / 2);
    font-size: var(--font-size-small);
  }
}
.tabs-container .tabs-header .tabs-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .tabs-container .tabs-header .tabs-btn svg {
    width: 18px;
    height: 18px;
  }
}
.tabs-container .tabs-header .tabs-btn:hover {
  background: var(--color-secondary-niv-1);
  color: var(--color-text-black);
}

.tabs-container .tabs-header .tabs-btn.active {
  background: var(--color-white);
  color: var(--color-text-black);
  border: 1px solid var(--color-secondary-niv-3);
  border-bottom: 1px solid var(--color-white);
  z-index: 2;
}

.tabs-container .tabs-header .tabs-btn.danger,
.tabs-container .tabs-header .tabs-btn.active.danger {
  color: var(--color-danger);
}

.tabs-container .tabs-header .tabs-btn.danger:hover {
  color: var(--color-text-black);
}

.tabs-container .tabs-content {
  position: relative;
  width: 100%;
  border: 1px solid var(--color-secondary-niv-3);
  border-radius: 0 var(--radius) var(--radius) var(--radius);
  background: var(--color-white);
}

.tabs-container .tabs-content .tabs-panel {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.tabs-container .tabs-content .tabs-panel.active {
  display: block;
  opacity: 1;
}

.tabs-container .tabs-content .tabs-panel .tabs-panel-inner {
  padding: var(--spacer);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

@media screen and (max-width: 768px) {
  .tabs-container .tabs-content .tabs-panel .tabs-panel-inner {
    padding: calc(var(--spacer) / 2);
  }
}
.tabs-container .tabs-content .tabs-panel .tabs-panel-inner .title {
  font-family: var(--font);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-black);
}

.tabs-container .tabs-content .tabs-panel .tabs-action {
  background: var(--color-secondary-niv-1);
  border-top: solid 1px var(--color-secondary-niv-3);
  padding: var(--spacer);
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
}

.tabs-container .tabs-content .tabs-panel .tabs-action .action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

@media (max-width: 768px) {
  .tabs-container .tabs-content .tabs-panel .tabs-action .action {
    flex-direction: column;
    gap: calc(var(--spacer) / 2);
  }
}
.tabs-container .tabs-content .tabs-panel .tabs-action .action .left,
.tabs-container .tabs-content .tabs-panel .tabs-action .action .right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
}

@media (max-width: 768px) {
  .tabs-container .tabs-content .tabs-panel .tabs-action .action .right {
    order: -1;
    width: 100%;
    justify-content: center;
  }
  .tabs-container .tabs-content .tabs-panel .tabs-action .action .left {
    order: 2;
    width: 100%;
    justify-content: center;
  }
  .tabs-container .tabs-content .tabs-panel .tabs-action .action .right > *,
  .tabs-container .tabs-content .tabs-panel .tabs-action .action .left > * {
    flex: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.tabs-container .tabs-content .tabs-panel .tabs-action .modal-action-content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.tabs-container .tabs-content .tabs-panel .tabs-action .notice {
  background: var(--color-white);
}

/* ==========================================================================
 17. Mini Files
 ========================================================================== */
.mini-files-responsive {
  display: none;
}

@media screen and (max-width: 992px) {
  .mini-files-responsive {
    display: block;
  }
}
@media screen and (max-height: 860px) {
  .mini-files {
    padding: calc(var(--spacer) / 2) var(--spacer);
  }
}
.mini-files {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 6);
}

.mini-files .file {
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
  transition: var(--transition);
}

.mini-files .file:hover {
  background: var(--color-secondary-niv-2);
}

.mini-files .file.hidden-file {
  display: none;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(-10px);
}

.mini-files .file.showing {
  display: flex;
  animation: miniFileSlideIn 0.3s ease forwards;
}

.mini-files .file.hiding {
  display: flex;
  animation: miniFileSlideOut 0.3s ease forwards;
}

.mini-files .file .file-start {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
}

.mini-files .file .file-end {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
  width: 65px;
}

.mini-files .file .file-type {
  display: flex;
}

.mini-files .file .file-type img {
  width: 24px;
  height: 24px;
}

.mini-files .file .file-name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
}

.mini-files .file .file-action {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  width: 150px;
  justify-content: end;
}

.mini-files .file .file-action a {
  text-decoration: none;
}

.mini-files .file .file-action button {
  border: none;
}

.mini-files .file .file-action svg {
  width: 14px;
  height: 14px;
}

.mini-files .file .file-action a,
.mini-files .file .file-action button,
.mini-files .file .file-action .delete {
  aspect-ratio: 1;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--radius-inner) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.mini-files .file .file-action a,
.mini-files .file .file-action button {
  background: var(--color-black-transparent-niv-1);
}

.mini-files .file .file-action a:hover,
.mini-files .file .file-action button:hover {
  background: var(--color-black-transparent-niv-2);
}

.mini-files .file .file-action .delete {
  color: var(--color-alert);
  background: var(--color-alert-light);
}

.mini-files .file .file-action .delete:hover {
  color: var(--color-white);
  background: var(--color-alert);
}

.mini-files .files-more {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 8);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mini-files .files-more:hover {
  color: var(--color-text-black);
  transition: transform 0.3s ease;
}

.mini-files .files-more svg {
  width: 24px;
  height: 24px;
}

@keyframes miniFileSlideIn {
  from {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    max-height: 100px;
    transform: translateY(0);
  }
}
@keyframes miniFileSlideOut {
  from {
    opacity: 1;
    max-height: 100px;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
}
/* ==========================================================================
 18. Marker
 ========================================================================== */
.map {
  width: 100%;
  height: calc(100vh - 250px);
  margin-top: var(--spacer);
}

.leaflet-popup-content .button {
  justify-content: space-between;
}

.marker {
  position: relative;
}

.marker .pin {
  width: 30px;
}

.leaflet-popup-content .marker-modal {
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  font-size: var(--font-size-small);
}

.leaflet-popup-content .corner {
  position: absolute;
  bottom: calc(-2px - var(--spacer) / 2);
  left: 50%;
  color: var(--color-white);
  transform: translateX(-50%);
}

.leaflet-popup-content .title {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.leaflet-popup-content .infos {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 8);
  margin-bottom: calc(var(--spacer) / 4);
}

.leaflet-popup-content .infos .item {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 8);
}

.leaflet-popup-content .infos .item svg {
  width: 14px;
  height: 14px;
}

.leaflet-popup-content .button {
  border-radius: var(--radius-inner);
}

.leaflet-popup-content .thumb {
  width: 100%;
  border-radius: var(--radius-inner);
  aspect-ratio: 16/9;
}

/* ==========================================================================
 19. Mini List
 ========================================================================== */
.mini-list {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.mini-list .item {
  display: flex;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 4);
  border-bottom: solid 1px var(--color-black-transparent-niv-2);
  transition: var(--transition);
}

.mini-list.hover .item:hover {
  background: var(--color-black-transparent-niv-1);
  cursor: pointer;
}

.mini-list .item svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.mini-list .item img {
  width: 24px;
  height: 24px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: var(--radius-inner);
}

.mini-list .item .content {
  display: flex;
  gap: calc(var(--spacer) / 8);
  flex-direction: column;
  align-items: start;
}

.mini-list .item .title {
  font-weight: var(--font-weight-bold);
  font-size: calc(var(--font-size-small) * 1.5);
}

.mini-list .item .excerpt {
  font-style: italic;
  font-size: calc(var(--font-size-normal) * 0.8);
}

/* ==========================================================================
20. Filters
========================================================================== */
.filters {
  display: flex;
  align-items: center;
  gap: var(--spacer);
}

.filters .action {
  position: relative;
}

.filters .action .box {
  position: absolute;
  background: var(--color-white);
  top: calc(var(--spacer) * 2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-10px);
  transition: var(--transition);
}

.filters .action .box.active {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}

.filters .action .box * {
  white-space: nowrap;
}

.filters .action .box .corner {
  position: absolute;
  color: var(--color-white);
  left: 10px;
  top: -14px;
}

.filters .action .box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.filters .action .box ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2) calc(var(--spacer) / 4) calc(var(--spacer) / 2.5);
  border-bottom: solid 1px var(--color-secondary-niv-3);
  cursor: pointer;
  position: relative;
  transition: var(--transition);
}

.filters .action .box ul li:hover {
  background: var(--color-secondary-niv-2);
}

.filters .action .box ul li:first-child {
  border-radius: var(--radius) var(--radius) 0 0;
}

.filters .action .box ul li:last-child {
  border-bottom: none;
  border-radius: 0 0 var(--radius) var(--radius);
}

.filters .action .box ul li .title {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: calc(var(--spacer) / 4);
}

.filters .action .box ul li .title svg {
  width: 18px;
  height: 18px;
}

.filters .action .box ul li .title span {
  white-space: nowrap;
}

.filters .action .box ul li .indicator {
  color: var(--color-secondary-niv-4);
}

.filters .action .box ul li .indicator svg {
  width: 18px;
  height: 18px;
}

.filters .action .box .box-lvl-1 {
  position: absolute;
  background: var(--color-white);
  top: -8px;
  left: calc(100% + var(--spacer) / 2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  z-index: 100;
  display: flex;
  flex-direction: column;
  min-width: 300px;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-10px);
  transition: var(--transition);
}

.filters .action .box .box-lvl-1.active {
  pointer-events: auto;
  opacity: 1;
  transform: translateX(0);
}

.filters .action .box .box-lvl-1 .corner {
  position: absolute;
  color: var(--color-white);
  left: -14px;
  top: 14px;
}

.filters .action .box .box-lvl-1 .field-group .label {
  gap: 0;
}

.filters .action .box .box-lvl-1 .top {
  max-height: 170px;
  overflow: scroll;
  padding: calc(var(--spacer) / 2) var(--spacer) calc(var(--spacer) / 2) calc(var(--spacer) / 2);
  position: relative;
  z-index: 15;
}

.filters .action .box .box-lvl-1 .bottom {
  background: var(--color-secondary-niv-1);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 2);
  border-top: solid 1px var(--color-secondary-niv-3);
  border-radius: 0 0 var(--radius) var(--radius);
  position: relative;
  z-index: 10;
}

.filters .action .box .box-lvl-1 .bottom .clear {
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
  justify-content: start;
  padding-left: calc(var(--spacer) / 4);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}

.filters .action .box .box-lvl-1 .bottom .clear:hover {
  color: var(--color-alert);
}

.filters .action .box .box-lvl-1 .bottom .clear svg {
  width: 18px;
  height: 18px;
}

.filters .action .box .box-lvl-1 .bottom .scroll-indicator {
  position: absolute;
  z-index: 10;
  right: calc(var(--spacer) / 2);
  top: 10px;
  color: var(--color-secondary-niv-3);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.filters .action .box .box-lvl-1 .bottom .scroll-indicator.visible {
  opacity: 1;
}

.filters .filters-active {
  display: flex;
  gap: var(--spacer);
}

.filters .filters-active .active {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 6);
}

.filters .filters-active .active .name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

.filters .filters-active .active .list {
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
}

.filters .filters-active .active .list .filter-active {
  background: var(--color-secondary-niv-3);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 6);
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 2) calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  border-radius: var(--radius-circle);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: var(--transition);
}

.filters .filters-active .active .list .filter-active:hover {
  background: var(--color-alert);
  color: var(--color-white);
}

.filters .filters-active .active .list .filter-active svg {
  width: 18px;
  height: 18px;
}

.filters .filters-active .clear {
  align-self: end;
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
  justify-content: start;
  padding-left: calc(var(--spacer) / 4);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
  padding-bottom: calc(var(--spacer) / 8);
  transition: var(--transition);
  cursor: pointer;
}

.filters .filters-active .clear:hover {
  color: var(--color-alert);
}

.filters .filters-active .clear svg {
  width: 18px;
  height: 18px;
}

.filters-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 99;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.filters-overlay.active {
  pointer-events: auto;
  opacity: 1;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/general.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
.login {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.login .login-content {
  padding: var(--spacer);
}

.login .login-content .item {
  background: var(--color-white);
  box-shadow: var(--shadow);
  width: 100%;
  max-width: 420px;
  border-radius: var(--radius);
}

.login .login-content .item .item-content {
  padding: var(--spacer);
}

header {
  display: flex;
  justify-content: space-between;
  background: var(--color-white);
  position: sticky;
  top: 0;
  z-index: 1010;
  transition: transform 0.3s ease;
}

header .logo {
  border-right: solid 1px var(--color-secondary-niv-2);
  width: 100%;
  max-width: 240px;
  padding: calc(var(--spacer) / 2) var(--spacer);
  display: flex;
  gap: var(--spacer);
  align-items: center;
}

@media screen and (max-width: 992px) {
  header .logo {
    width: inherit;
  }
}
@media screen and (max-width: 768px) {
  header .logo {
    padding-inline: calc(var(--spacer) / 2);
  }
}
header .logo .logo-region {
  max-width: 300px;
  max-height: 60px;
  font-weight: var(--font-weight-bold);
}

@media screen and (max-width: 992px) {
  header .logo .logo-region {
    display: none;
  }
}
header .logo .logo-parkopey-small {
  display: none;
}

@media screen and (max-width: 992px) {
  header .logo .logo-parkopey-small {
    height: 30px;
    display: block;
  }
}
header .search {
  width: 100%;
  padding: calc(var(--spacer) / 2) var(--spacer);
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  header .search {
    padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  }
}
header .search .action {
  display: flex;
  position: relative;
  width: 100%;
}

header .search .action .label {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

header .search .action .label .label-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

@media screen and (max-width: 768px) {
  header .search .action .label .label-title {
    display: none;
  }
}
header .search .action .field {
  background: var(--color-white);
  width: 100%;
  padding: calc(var(--spacer) / 4) 0;
  border: none;
  border-bottom: solid 1px var(--color-secondary-niv-3);
  outline: none !important;
  transition: var(--transition);
  border-radius: 0;
}

header .search .action .field:hover {
  border-bottom: solid 1px var(--color-secondary-niv-2);
}

header .search .action .field:focus {
  border-bottom: solid 1px var(--color-secondary-niv-4);
}

header .search .action .btn {
  position: absolute;
  bottom: 5px;
  right: 0;
  width: 30px;
  height: 30px;
  background: var(--color-secondary-niv-2);
  border: none;
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: var(--transition);
}

header .search .action .btn:hover {
  background: var(--color-primary);
}

header .search .action .btn svg {
  fill: var(--color-text);
  width: 18px;
  height: 18px;
}

header .search .action .search-preview {
  position: absolute;
  top: 100%;
  left: calc(var(--spacer) / -2);
  width: calc(100% + var(--spacer));
  background: var(--color-white);
  margin-top: calc(var(--spacer) / 2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  opacity: 0;
  transform: translateY(var(--spacer));
  transition: var(--transition);
  pointer-events: none;
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  header .search .action .search-preview {
    width: calc(100vw - var(--spacer));
  }
}
header .search .action .search-preview.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

header .search .action .search-preview ul {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 480px;
  overflow: scroll;
}

header .search .action .search-preview ul li a {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  background: var(--color-transparent);
  padding: calc(var(--spacer) / 2);
  border-bottom: solid 1px var(--color-secondary-niv-2);
  background: var(--color-transparent);
  transition: var(--transition);
}

header .search .action .search-preview ul li:last-child a {
  border-bottom: none;
}

header .search .action .search-preview ul li a:hover {
  background: var(--color-secondary-niv-1);
}

header .search .action .search-preview ul li a img {
  width: 60px;
  height: 60px;
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  aspect-ratio: 1;
  object-fit: cover;
}

header .search .action .search-preview ul li a > svg {
  width: 60px;
  height: 60px;
}

header .search .action .search-preview ul li a .structure {
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
  display: flex;
  align-items: center;
}

header .search .action .search-preview ul li a .structure svg {
  margin-right: calc(var(--spacer) / 4);
  width: 16px;
  height: 16px;
}

header .search .action .search-preview ul li a .name {
  font-size: var(--font-size-large);
}

header .search .action .search-preview .result {
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-size-small);
}

header .search .action .search-preview .result .info {
  width: 100%;
}

header .search .action .search-preview .result .action {
  font-weight: var(--font-weight-bold);
  width: auto;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  transition: var(--transition);
}

header .search .action .search-preview .result .action:hover {
  color: var(--color-secondary-niv-4);
}

header .search .action .search-preview .result .action svg {
  width: 18px;
  height: 18px;
}

header .search .action .search-preview #recherche_global_afficher_plus.disabled {
  color: var(--color-secondary-niv-4);
  cursor: not-allowed;
}

header .search .action .search-preview.visible .recheche-global-no-result {
  padding: calc(var(--spacer) / 4);
}

header .notification {
  padding: calc(var(--spacer) / 2);
  display: flex;
  align-items: center;
}

@media screen and (max-width: 992px) {
  header .notification {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  header .notification {
    padding: calc(var(--spacer) / 4) calc(var(--spacer) / 4) calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  }
}
header .notification .action {
  display: flex;
  align-items: center;
  position: relative;
  gap: calc(var(--spacer) / 4);
}

@media screen and (max-width: 1200px) {
  header .notification .action .content {
    display: none;
  }
}
header .notification .action .content .title {
  white-space: nowrap;
  text-align: right;
  font-weight: var(--font-weight-bold);
}

header .notification .action .content .subtitle {
  white-space: nowrap;
  text-align: right;
  font-size: var(--font-size-small);
}

header .notification .action > .btn {
  aspect-ratio: 1;
  width: 60px;
  height: 60px;
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
}

@media screen and (max-width: 768px) {
  header .notification .action > .btn {
    width: 30px;
    height: 30px;
  }
  header .notification .action > .btn svg {
    width: 18px;
    height: 18px;
  }
}
header .notification .action > .btn:hover {
  background: var(--color-primary);
}

header .notification .action > .btn .dot {
  position: absolute;
  top: -4px;
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  background: var(--color-alert);
  border-radius: var(--radius-circle);
}

header .notification .action .notification-preview {
  position: absolute;
  top: 100%;
  right: calc(var(--spacer) / -2);
  width: calc(100% + var(--spacer));
  min-width: 300px;
  background: var(--color-white);
  margin-top: calc(var(--spacer) / 2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  opacity: 0;
  transform: translateY(var(--spacer));
  transition: var(--transition);
  pointer-events: none;
  visibility: hidden;
}

header .notification .action .notification-preview.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

header .notification .action .notification-preview ul {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 375px;
  overflow: scroll;
}

header .notification .action .notification-preview ul li {
  display: flex;
  justify-content: space-between;
  transition: var(--transition);
}

header .notification .action .notification-preview ul li:hover {
  background: var(--color-secondary-niv-1);
}

header .notification .action .notification-preview ul li a {
  border-bottom: solid 1px var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 2);
  background: var(--color-transparent);
  display: block;
  position: relative;
}

header .notification .action .notification-preview ul li a .title {
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
  text-align: left;
  white-space: inherit;
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

header .notification .action .notification-preview ul li.unread a .title svg {
  color: var(--color-alert);
}

header .notification .action .notification-preview ul li a .date {
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

header .notification .action .notification-preview ul li .notification-action {
  padding: calc(var(--spacer) / 4);
}

header .notification .action .notification-preview ul li .notification-action .notification-mark-read {
  width: 24px;
  height: 24px;
  background: var(--color-success);
  color: var(--color-text-white);
  border: none;
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
  flex-shrink: 0;
}

header .notification .action .notification-preview ul li .notification-action .notification-mark-read svg {
  width: 18px;
  height: 18px;
}

header .notification .action .notification-preview .btn {
  background: var(--color-secondary-niv-1);
  display: block;
  padding: calc(var(--spacer) / 2);
  text-align: center;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}

header .notification .action .notification-preview .btn:hover {
  background: var(--color-primary);
}

header .account {
  padding: calc(var(--spacer) / 2) var(--spacer) calc(var(--spacer) / 2) calc(var(--spacer) / 2);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

@media screen and (max-width: 768px) {
  header .account {
    padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2) calc(var(--spacer) / 4) calc(var(--spacer) / 4);
  }
}
header .account .action {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

@media screen and (max-width: 1200px) {
  header .account .action .content {
    display: none;
  }
}
header .account img {
  background: var(--color-secondary-niv-1);
  aspect-ratio: 1;
  object-fit: cover;
  width: 60px;
  height: 60px;
  border-radius: var(--radius);
}

@media screen and (max-width: 768px) {
  header .account img {
    width: 30px;
    height: 30px;
  }
}
header .account .name {
  font-weight: var(--font-weight-bold);
}

header .account .role {
  font-size: var(--font-size-small);
}

header .account .logout {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transition: var(--transition);
  border-radius: var(--radius);
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  header .account .logout {
    display: none;
  }
}
header .account .logout:hover {
  background: var(--color-secondary-niv-1);
}

.page {
  display: flex;
  align-items: start;
  width: 100%;
}

.page > .sidebar {
  max-width: 330px;
  width: 100%;
  padding-block: var(--spacer);
  display: flex;
  align-items: start;
  position: sticky;
  top: 90px; /* TAILLE DU HEADER */
}

@media screen and (max-width: 992px) {
  .page > .sidebar {
    max-width: 260px;
    padding-block: calc(var(--spacer) / 2);
  }
}
@media screen and (max-width: 768px) {
  .page > .sidebar {
    display: none;
  }
}
.page > .sidebar.resized {
  max-width: 235px;
}

@media screen and (max-width: 992px) {
  .page > .sidebar.resized {
    max-width: 165px;
  }
}
.page > .sidebar .nav-desktop {
  background: var(--color-primary);
  max-width: 200px;
  width: 100%;
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: calc(var(--spacer) / 2);
  position: relative;
  box-shadow: var(--shadow);
}

.page > .sidebar.resized .nav-desktop {
  max-width: 60px;
  padding: calc(var(--spacer) / 4);
}

.page > .sidebar .nav-desktop .logo {
  background: var(--color-white);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-bottom: calc(var(--spacer) / 4);
  color: var(--color-black);
  box-shadow: var(--shadow);
  margin-top: -30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.page > .sidebar.resized .nav-desktop .logo {
  display: none;
}

.page > .sidebar .nav-desktop .logo .logo-parkopey-small {
  height: 24px;
  width: auto;
}

.page > .sidebar .nav-desktop ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page > .sidebar .nav-desktop ul.top {
  margin-bottom: calc(var(--spacer) * 4);
}

.page > .sidebar.resized .nav-desktop ul.top {
  margin-bottom: calc(var(--spacer) * 2);
}

.page > .sidebar .nav-desktop ul.bottom {
  margin-top: calc(var(--spacer) * 4);
}

.page > .sidebar.resized .nav-desktop ul.bottom {
  margin-top: calc(var(--spacer) * 2);
}

.page > .sidebar .nav-desktop ul.top li {
  margin-bottom: calc(var(--spacer) / 4);
}

.page > .sidebar .nav-desktop ul.bottom li {
  margin-top: calc(var(--spacer) / 4);
}

.page > .sidebar .nav-desktop ul li.line {
  margin-block: calc(var(--spacer) / 2);
  border-top: solid 1px var(--color-black-transparent-niv-2);
}

.page > .sidebar .nav-desktop ul li a {
  display: block;
  padding: calc(var(--spacer) / 2);
  text-align: center;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  background: var(--color-transparent);
  border-radius: var(--radius-inner);
  transition: var(--transition);
}

.page > .sidebar .nav-desktop ul li a:hover {
  background: var(--color-white-transparent-niv-1);
}

.page > .sidebar .nav-desktop ul li.active a {
  background: var(--color-white-transparent-niv-1);
}

.page > .sidebar .nav-desktop ul li.active a:hover {
  background: var(--color-white-transparent-niv-2);
}

.page > .sidebar .nav-desktop ul li a .icon {
  position: relative;
  display: inline-block;
}

.page > .sidebar .nav-desktop ul li a .dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 6px;
  height: 6px;
  background: var(--color-alert);
  border-radius: var(--radius-circle);
}

.sidebar .nav-desktop.resized .title {
  display: none;
}

.page > .sidebar .nav-desktop .resize {
  position: absolute;
  bottom: -40px;
  left: 10px;
  width: 30px;
  height: 30px;
  background: var(--color-white);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
}

.page > .sidebar .nav-desktop .resize svg {
  transition: var(--transition);
  width: 18px;
  height: 18px;
}

.page > .sidebar .nav-desktop.resized .resize svg {
  transform: rotate(180deg);
}

.page > .sidebar .action {
  padding-inline: var(--spacer);
  width: 100%;
  max-width: 100px;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action {
    max-width: 60px;
    padding-inline: calc(var(--spacer) / 2);
  }
}
.page > .sidebar .action .display-mode {
  padding: calc(var(--spacer) / 2);
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: calc(var(--spacer) / 4);
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .display-mode {
    padding: calc(var(--spacer) / 4);
  }
}
.page > .sidebar .action .display-mode .item {
  background: var(--color-white);
  border-radius: var(--radius-inner);
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  aspect-ratio: 1;
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .display-mode .item {
    padding: 2px;
  }
}
.page > .sidebar .action .display-mode .item:hover {
  background: var(--color-secondary-niv-3);
}

.page > .sidebar .action .display-mode .item.current {
  background: var(--color-primary);
  cursor: inherit;
}

.page > .sidebar .action .display-mode .item svg {
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .display-mode .item svg {
    width: 14px;
    height: 14px;
  }
}
.page > .sidebar .action .btn-square {
  background: var(--color-secondary-niv-2);
  aspect-ratio: 1;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius);
  transition: var(--transition);
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .btn-square {
    width: 60px;
    height: 60px;
  }
}
.page > .sidebar .action .btn-square:hover {
  background: var(--color-white);
}

.page > .sidebar .action .btn-square.primary {
  background: var(--color-primary);
}

.page > .sidebar .action .btn-square.primary:hover {
  background: var(--color-primary-light);
}

.page > .sidebar .action .btn-back {
  background: var(--color-secondary-niv-2);
  aspect-ratio: 1;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: var(--radius);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .btn-back {
    width: 60px;
    height: 60px;
  }
}
.page > .sidebar .action .btn-back .background {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  position: absolute;
  z-index: 5;
  scale: 2;
  transition: var(--transition);
}

.page > .sidebar .action .btn-back .background.blank {
  opacity: 0.25;
}

.page > .sidebar .action .btn-back .overlay {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2));
  position: absolute;
  z-index: 10;
  transition: var(--transition);
}

.page > .sidebar .action .btn-back:hover .overlay {
  width: 200%;
  height: 200%;
}

.page > .sidebar .action .btn-back .content {
  position: relative;
  z-index: 10;
  text-align: center;
  color: var(--color-text-white);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  padding-inline: calc(var(--spacer) / 4);
  transition: var(--transition);
}

.page > .sidebar .action .btn-back:hover .content {
  color: var(--color-primary);
}

@media screen and (max-width: 992px) {
  .page > .sidebar .action .btn-back .content .title {
    display: none;
  }
}
.nav-responsive {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: calc(100% - var(--spacer) / 2);
  padding: calc(var(--spacer) / 4);
  background: var(--color-primary);
  display: flex;
  justify-content: center;
  box-shadow: var(--shadow-reverse);
}

@supports (-webkit-touch-callout: none) {
  .nav-responsive {
    padding-bottom: calc(var(--spacer) / 2);
  }
}
@media screen and (min-width: 768px) {
  .nav-responsive {
    display: none;
  }
}
.nav-responsive ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
}

.nav-responsive ul li {
  padding-inline: calc(var(--spacer) / 8);
}

.nav-responsive ul li a {
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 3);
  border-radius: var(--radius-inner);
  display: block;
  transition: var(--transition);
}

.nav-responsive ul li a:hover {
  background: var(--color-white-transparent-niv-1);
  border-radius: var(--radius-inner);
}

.nav-responsive ul li.active a {
  background: var(--color-white-transparent-niv-1);
}

.nav-responsive ul li.line {
  border-right: solid 1px var(--color-black-transparent-niv-2);
  padding: 0;
  margin-inline: calc(var(--spacer) / 4);
  height: 100%;
}

.page .page-content {
  width: 100%;
  padding-right: 240px;
  padding-bottom: var(--spacer);
}

@media screen and (max-width: 1200px) {
  .page .page-content {
    padding-right: 195px;
  }
}
@media screen and (max-width: 992px) {
  .page .page-content {
    padding-right: calc(var(--spacer) / 2);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content {
    padding: calc(var(--spacer) / 2);
    padding-bottom: calc(var(--spacer) * 2);
  }
}
.grid.grid-etablissements {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(2, 1fr);
    margin-block: calc(var(--spacer) / 2);
    gap: calc(var(--spacer) / 2);
    margin-right: calc(var(--spacer) * 2);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(1, 1fr);
    margin-right: var(--spacer);
  }
}
@media screen and (max-width: 576px) {
  .grid.grid-etablissements {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid.grid-etablissements.end {
  align-items: end;
}

.grid.grid-users {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .grid.grid-users {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .grid.grid-users {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .grid.grid-users {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .grid.grid-users {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .grid.grid-users {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--spacer) / 2);
    margin-right: calc(var(--spacer) * 2);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-users {
    margin-block: calc(var(--spacer) / 2);
    grid-template-columns: repeat(2, 1fr);
    margin-right: var(--spacer);
  }
}
@media screen and (max-width: 576px) {
  .grid.grid-users {
    grid-template-columns: repeat(2, 1fr);
  }
}
.grid.grid-suppliers {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--spacer) / 2);
    margin-right: calc(var(--spacer) * 2);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-suppliers {
    margin-block: calc(var(--spacer) / 2);
    grid-template-columns: repeat(2, 1fr);
    margin-right: var(--spacer);
  }
}
@media screen and (max-width: 576px) {
  .grid.grid-suppliers {
    grid-template-columns: repeat(2, 1fr);
  }
}
.grid.grid-contact {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
  align-items: end;
}

@media screen and (max-width: 3200px) {
  .grid.grid-contact {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .grid.grid-contact {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .grid.grid-contact {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .grid.grid-contact {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .grid.grid-contact {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--spacer) / 2);
    margin-right: calc(var(--spacer) * 2);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-contact {
    margin-block: calc(var(--spacer) / 2);
    grid-template-columns: repeat(2, 1fr);
    margin-right: var(--spacer);
  }
}
@media screen and (max-width: 576px) {
  .grid.grid-contact {
    grid-template-columns: repeat(2, 1fr);
  }
}
.grid.grid-contact-modal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacer);
  position: relative;
  align-items: end;
  width: calc(100% - 70px);
}

@media screen and (max-width: 1600px) {
  .grid.grid-contact-modal {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-contact-modal {
    grid-template-columns: repeat(1, 1fr);
    width: calc(100% - 40px);
  }
}
.grid.grid-etablissements.end {
  align-items: end;
}

.grid.grid-favorites,
.grid.grid-catalog {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media screen and (max-width: 2000px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (max-width: 1750px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 1500px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--spacer) / 2);
    margin-right: calc(var(--spacer) * 2);
  }
}
@media screen and (max-width: 768px) {
  .grid.grid-favorites,
  .grid.grid-catalog {
    margin-block: calc(var(--spacer) / 2);
    grid-template-columns: repeat(3, 1fr);
    margin-right: var(--spacer);
  }
}
@media screen and (max-width: 576px) {
  .grid.grid-favorites {
    grid-template-columns: repeat(2, 1fr);
  }
}
.grid.grid-favorites .square-item-small .content,
.grid.grid-catalog .square-item-small .content {
  padding: var(--spacer) calc(var(--spacer) / 2) calc(var(--spacer) / 2) calc(var(--spacer) / 2) !important;
}

.grid.grid-fournisseur-equipement,
.grid.grid-catalog-equipement {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  gap: var(--spacer);
  margin-block: var(--spacer);
  position: relative;
}

.grid.grid-favorites .favorite-overlay:after,
.grid.grid-favorites .favorite-overlay .favorite-indicator,
.grid.grid-catalog .catalog-overlay:after,
.grid.grid-catalog .catalog-overlay .catalog-indicator {
  display: none;
}

.page .page-content .grid .square-item-large {
  aspect-ratio: 1;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius);
  position: relative;
  color: var(--color-text-white);
  display: flex;
  background: var(--color-secondary-niv-3);
  min-height: 500px;
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large {
    min-height: 385px;
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-large {
    aspect-ratio: inherit;
    min-height: 360px;
  }
}
.page .page-content .grid .square-item-large.primary {
  cursor: pointer;
}

.page .page-content .grid .square-item-large.primary.referent {
  box-shadow: var(--shadow);
}

.page .page-content .grid .square-item-large.primary.attached {
  max-height: calc(100% - 60px);
  min-height: 440px;
  aspect-ratio: inherit;
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large.primary.attached {
    min-height: 355px;
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-large.primary.attached {
    aspect-ratio: inherit;
    min-height: 330px;
  }
}
.page .page-content .grid.sticky .square-item-large {
  position: sticky;
  top: 120px;
}

@media screen and (max-width: 992px) {
  .page .page-content .grid.sticky .square-item-large {
    top: 105px;
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid.sticky .square-item-large {
    position: inherit;
    top: inherit;
  }
}
.page .page-content .grid .square-item-large .badge-indicator,
.page .page-content .grid .square-item-small .badge-indicator {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 100;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-circle);
  background: var(--color-primary);
  color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
}

.page .page-content .grid .square-item-large .badge-indicator.white,
.page .page-content .grid .square-item-small .badge-indicator.white {
  background: var(--color-white);
  color: var(--color-primary);
}

.page .page-content .grid .square-item-large .badge-indicator.secondary,
.page .page-content .grid .square-item-small .badge-indicator.secondary {
  background: var(--color-primary-light);
}

.page .page-content .grid .square-item-large .badge-indicator svg,
.page .page-content .grid .square-item-small .badge-indicator svg {
  width: 18px;
  height: 18px;
}

.square-item-large .badge-indicator ~ .badge-indicator,
.square-item-small .badge-indicator ~ .badge-indicator {
  right: 50px;
}

.page .page-content .grid .square-item-large .background {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  position: absolute;
  z-index: 5;
}

.page .page-content .grid .square-item-large .background.blank {
  opacity: 0.35;
}

.page .page-content .grid .square-item-large .overlay {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
  position: absolute;
  z-index: 10;
  transition: var(--transition);
}

.page .page-content .grid .square-item-large:hover .overlay {
  width: 200%;
  height: 200%;
}

.page .page-content .grid .square-item-large .content {
  position: relative;
  z-index: 15;
  padding: var(--spacer);
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-large .content {
    gap: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
  }
}
.page .page-content .grid .square-item-large .content .position ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page .page-content .grid .square-item-large .content .position ul li {
  border-bottom: solid 1px var(--color-white-transparent-niv-2);
  padding-bottom: calc(var(--spacer) / 4);
  margin-bottom: calc(var(--spacer) / 4);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  width: 100%;
}

.page .page-content .grid .square-item-large .content .position ul li:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.page .page-content .grid .square-item-large .content .position ul li.condensed {
  flex-direction: row;
  justify-content: space-between;
}

.page .page-content .grid .square-item-large .content .position ul li .action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  transition: var(--transition);
}

.page .page-content .grid .square-item-large .content .position ul li .action:hover {
  color: var(--color-primary);
}

.page .page-content .grid .square-item-large .content .position ul li .label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.page .page-content .grid .square-item-large .content .position ul li .label svg {
  flex-shrink: 0;
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large .content .position ul li .label svg {
    width: 18px;
    height: 18px;
  }
}
.page .page-content .grid .square-item-large .content .position ul li .label .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large .content .position ul li .label .title {
    font-size: var(--font-size-small);
  }
}
@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large .content .position ul li .action svg {
    width: 18px;
    height: 18px;
  }
}
.page .page-content .grid .square-item-large .content .position ul li > .title {
  font-size: var(--font-size-extralarge);
  font-weight: var(--font-weight-bold);
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large .content .position ul li > .title {
    font-size: var(--font-size-large);
  }
}
.page .page-content .grid .square-item-large .content .position ul li .logo {
  background: var(--color-white);
  padding: calc(var(--spacer) / 2) var(--spacer);
  border-radius: var(--radius-inner);
  width: 100px;
}

@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-large .content .position ul li .logo {
    padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  }
}
.page .page-content .grid .square-item-large .content .position ul li .logo img {
  width: 100%;
  max-height: 75px;
  object-fit: contain;
}

.page .page-content .grid .square-item-large .content .spacer {
  height: 100%;
  background: var(--color-white);
  width: 1px;
}

.page .page-content .grid .square-item-large .content .bottom {
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.page .page-content .grid .square-item-large .content .bottom .info {
  display: flex;
  gap: calc(var(--spacer) / 4);
  flex-direction: column;
}

.page .page-content .grid .square-item-large .content .bottom .info .item {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-large .content .bottom .info svg {
    width: 18px;
    height: 18px;
  }
}
.page .page-content .grid .square-item-large .content .bottom .info .title {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.page .page-content .grid .square-item-large .content .bottom .action {
  position: relative;
}

.page .page-content .grid .square-item-small {
  aspect-ratio: 1;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-inner);
  position: relative;
  color: var(--color-text-white);
  display: flex;
  background: var(--color-secondary-niv-3);
  min-height: 190px;
  cursor: pointer;
}

.page .page-content .grid .square-item-small .background {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  position: absolute;
  z-index: 5;
  transition: var(--transition);
}

.page .page-content .grid .square-item-small .background.blank {
  opacity: 0.35;
}

.page .page-content .grid .square-item-small .overlay {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
  position: absolute;
  z-index: 10;
  transition: var(--transition);
}

.page .page-content .grid .square-item-small:hover .overlay {
  width: 200%;
  height: 200%;
}

.page .page-content .grid .square-item-small .content {
  position: relative;
  z-index: 15;
  padding: var(--spacer);
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  width: 100%;
  justify-content: space-between;
}

/* @media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-small .content {
    flex-direction: row;
    align-items: end;
  }
} */
@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-small .content {
    gap: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
    flex-direction: column;
    align-items: start;
  }
}
.page .page-content .grid .square-item-small .content .label {
  /* display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4); */
}

.page .page-content .grid .square-item-small .content .label svg {
  flex-shrink: 0;
  transition: var(--transition);
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-small .content .label svg {
    width: 18px;
    height: 18px;
  }
}
.page .page-content .grid .square-item-small:hover .content .label svg {
  fill: var(--color-primary);
}

.page .page-content .grid .square-item-small .content .label .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
}

@media screen and (max-width: 1200px) {
  .page .page-content .grid .square-item-small .content .label .title {
    font-size: var(--font-size-small);
  }
}
.page .page-content .grid .square-item-small .content .title {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
  padding-right: var(--spacer);
}

@media screen and (max-width: 1400px) {
  .page .page-content .grid .square-item-small .content .title {
    font-size: var(--font-size-normal);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .square-item-small .content .title {
    font-size: var(--font-size-large);
  }
}
.page .page-content .grid .square-item-small:hover .content .title {
  color: var(--color-primary);
}

.page .page-content .grid .square-item-small .content .title small {
  display: block;
  font-size: var(--font-size-small);
}

.page .page-content .grid .square-item-small .action {
  position: absolute;
  bottom: -60px;
  right: calc(var(--spacer) / 2);
  transition: var(--transition);
}

.page .page-content .grid .square-item-small:hover .action {
  bottom: calc(var(--spacer) / 2);
}

.page .page-content .grid .square-item-small .action .square-setting-btn svg {
  width: 18px;
  height: 18px;
}

/* --- SQUARE ITEM EQUPEMENT ------------------------------------------------------------------ */
.square-item-equipement {
  aspect-ratio: 1;
  width: 100%;
  border-radius: var(--radius);
  position: relative;
  color: var(--color-text-white);
  display: flex;
  background: var(--color-text-white);
  cursor: pointer;
  position: relative;
}

.square-item-equipement .background {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  position: absolute;
  z-index: 5;
  transition: var(--transition);
  border-radius: var(--radius);
}

.square-item-equipement .overlay {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2));
  position: absolute;
  opacity: 0;
  z-index: 10;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
}

.square-item-equipement:hover .overlay {
  opacity: 1;
}

.square-item-equipement.catalog .overlay {
  background: linear-gradient(to top right, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.35));
  opacity: 0.65;
}

.square-item-equipement:hover .overlay {
  opacity: 1;
}

.square-item-equipement .grid-content {
  position: relative;
  z-index: 15;
  padding: calc(var(--spacer) / 2);
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  width: 100%;
  justify-content: space-between;
}

.square-item-equipement:hover .grid-content {
  opacity: 1;
}

.square-item-equipement .indicator {
  position: absolute;
  bottom: calc(var(--spacer) / 2);
  left: calc(var(--spacer) / 2);
  background: var(--color-secondary-niv-2);
  z-index: 10;
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 8);
  color: var(--color-text-black);
  display: flex;
}

.square-item-equipement .indicator svg {
  width: 18px;
  height: 18px;
}

.square-item-equipement .alert-indicator {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  padding: calc(var(--spacer) / 3);
}

.square-item-equipement .alert-indicator > .badge-circle {
  background: var(--color-alert);
  border-radius: var(--radius-circle);
  width: 10px;
  height: 10px;
  box-shadow: var(--shadow);
}

.square-item-equipement.favorite-overlay .alert-indicator {
  left: 24px;
}

.square-item-equipement .action {
  position: absolute;
  bottom: 0;
  right: calc(var(--spacer) / 2);
  transition: var(--transition);
  z-index: 100;
  opacity: 0;
}

.square-item-equipement:hover .action {
  bottom: calc(var(--spacer) / 2);
  opacity: 1;
}

.square-item-equipement .action .square-setting-btn {
  padding: calc(var(--spacer) / 8);
}

.square-item-equipement .action .square-setting-btn svg {
  width: 18px;
  height: 18px;
}

.square-item-equipement.catalog .infos {
  z-index: 100;
  padding: calc(var(--spacer) / 2) calc(var(--spacer) * 2) calc(var(--spacer) / 2) calc(var(--spacer) / 2);
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: calc(var(--spacer) / 8);
}

.square-item-equipement.catalog .infos .name {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
}

/* --- SQUARE ITEM USER ------------------------------------------------------------------ */
.square-item-user {
  width: 100%;
  border-radius: var(--radius);
  position: relative;
  background: var(--color-white);
  display: flex;
}

.square-item-user .content {
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  padding: var(--spacer);
  justify-content: space-between;
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .square-item-user .content {
    gap: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
    flex-direction: row;
  }
}
.square-item-user .top {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.square-item-user .top .avatar {
  width: 60px;
  height: 60px;
  overflow: hidden;
  margin-top: -45px;
  border-radius: var(--radius-inner);
}

@media screen and (max-width: 992px) {
  .square-item-user .top .avatar {
    margin-top: -36px;
  }
}
@media screen and (max-width: 768px) {
  .square-item-user .top .avatar {
    margin-top: -22px;
  }
}
.square-item-user .top .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.square-item-user .top .avatar img.blank {
  background: var(--color-secondary-niv-3);
}

.square-item-user .top .info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.square-item-user .top .info .name {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
}

.square-item-user .top .info .user {
  font-weight: var(--font-weight-bold);
}

.square-item-user .top .info .mail {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-user .top .info .school {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.square-item-user .top .info .city {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-user .top .info .highlight {
  background: var(--color-black-transparent-niv-1);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 8);
  margin-top: calc(var(--spacer) / 4);
}

.square-item-user .bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.square-item-user .bottom .start {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.square-item-user .bottom .start .role svg {
  width: 18px;
  height: 18px;
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 8);
}

.square-item-user .bottom .start .role ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.square-item-user .bottom .start .role ul li {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
}

.square-item-user .bottom .end .action {
  position: relative;
}

/* --- SQUARE ITEM SUPPLIER ------------------------------------------------------------------ */
.square-item-supplier {
  width: 100%;
  border-radius: var(--radius);
  position: relative;
  background: var(--color-white);
  display: flex;
}

.square-item-supplier .content {
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  padding: var(--spacer);
  justify-content: space-between;
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .square-item-supplier .content {
    gap: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
  }
}
.square-item-supplier .top {
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
}

.square-item-supplier .top .logo {
  width: 100%;
  height: 90px;
  overflow: hidden;
  margin-top: -45px;
  border-radius: var(--radius-inner);
  background: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
}

@media screen and (max-width: 992px) {
  .square-item-supplier .top .logo {
    margin-top: -36px;
  }
}
@media screen and (max-width: 768px) {
  .square-item-supplier .top .logo {
    margin-top: -22px;
  }
}
.square-item-supplier .top .logo img {
  width: 60%;
  height: 80%;
  object-fit: contain;
}

.square-item-supplier .top .info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.square-item-supplier .top .info .name {
  font-size: calc(var(--font-size-large) * 1.25);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .zone {
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .siret {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .address {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .tel {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .mail {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .web {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-supplier .top .info .highlight {
  background: var(--color-black-transparent-niv-1);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 8);
  margin-top: calc(var(--spacer) / 4);
}

.square-item-supplier .top .repairer {
  border: solid 1px var(--color-black-transparent-niv-2);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  flex-direction: column;
  justify-content: start;
  gap: calc(var(--spacer) / 4);
}

.square-item-supplier .top .repairer .title {
  font-weight: var(--font-weight-bold);
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
}

.square-item-supplier .top .repairer .items {
  display: flex;
  gap: calc(var(--spacer) / 8);
  flex-wrap: wrap;
}

.square-item-supplier .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.square-item-supplier .bottom .start {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.square-item-supplier .bottom .start .inner {
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.square-item-supplier .bottom .start .inner svg {
  width: 18px;
  height: 18px;
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 8);
}

.square-item-supplier .bottom .start .inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.square-item-supplier .bottom .start .inner ul li {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
}

.square-item-supplier .bottom .end .action {
  position: relative;
}

/* --- SQUARE ITEM CONTACT ------------------------------------------------------------------ */
.square-item-contact {
  width: 100%;
  border-radius: var(--radius);
  position: relative;
  background: var(--color-white);
  display: flex;
}

.grid-contact-modal .square-item-contact {
  border: solid 1px var(--color-secondary-niv-3);
}

.square-item-contact.disabled {
  background: var(--color-secondary-niv-2);
}

.grid-contact-modal .square-item-contact.disabled {
  background: var(--color-secondary-niv-1);
  border: none;
}

.square-item-contact .content-contact {
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  padding: var(--spacer);
  justify-content: space-between;
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  .square-item-contact .content-contact {
    gap: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
  }
}
.square-item-contact .content-contact .badge-indicator {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 100;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-circle);
  background: var(--color-primary);
  color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
}

.square-item-contact .content-contact .badge-indicator.disabled {
  background: var(--color-white);
}

.square-item-contact .content-contact .badge-indicator svg {
  width: 14px;
  height: 14px;
}

.square-item-contact .top {
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
}

.square-item-contact .top .info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.square-item-contact .top .info .name {
  font-size: calc(var(--font-size-large) * 1.25);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .role {
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .siret {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .address {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .tel {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .mail {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .web {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.square-item-contact .top .info .highlight {
  background: var(--color-black-transparent-niv-1);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 8);
  margin-top: calc(var(--spacer) / 4);
}

.square-item-contact .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.square-item-contact .bottom .start {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.square-item-contact .bottom .start .inner {
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.square-item-contact .bottom .start .inner svg {
  width: 18px;
  height: 18px;
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 8);
}

.square-item-contact .bottom .start .inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.square-item-contact .bottom .start .inner ul li {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
}

.square-item-contact .bottom .end .action {
  position: relative;
}

/* --- GED ------------------------------------------------------------------ */
.ged > .action {
  display: flex;
  gap: calc(var(--spacer) / 2);
  margin-bottom: var(--spacer);
  justify-content: end;
}

.ged .filter {
  border: solid 1px var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  width: 100%;
}

.ged .filter .label-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

.ged .filter .list {
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.ged .filter .list .cat {
  background: var(--color-secondary-niv-2);
  font-size: var(--font-size-small);
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius-circle);
  transition: var(--transition);
  cursor: pointer;
}

.ged .filter .list .cat:hover {
  background: var(--color-primary);
}

.ged .filter .list .cat.active {
  background: var(--color-primary);
}

.ged .filter .list .cat.active:hover {
  background: var(--color-primary);
}

.ged .btn-add {
  background: var(--color-white);
  padding: calc(var(--spacer) / 4);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  cursor: pointer;
  box-shadow: var(--shadow);
}

.ged .btn-add svg {
  background: var(--color-success);
  color: var(--color-white);
  border-radius: var(--radius-inner);
  transition: var(--transition);
  padding: calc(var(--spacer) / 4);
  width: 24px;
  height: 24px;
  padding: calc(var(--spacer) / 2);
}

.ged .btn-add:hover svg {
  background: var(--color-success-light);
  color: var(--suucess);
}

.ged .ged-content {
  margin: 0 0 var(--spacer) 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.ged .ged-content.add {
  margin-bottom: 0;
}

.ged .ged-content .title {
  font-weight: var(--font-weight-bold);
}

.ged .ged-content.private .title {
  color: var(--color-danger);
}

.ged .ged-content .item {
  background: var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
}

.ged .ged-content.private .item {
  background: var(--color-danger-light);
}

.ged .ged-content .item .start,
.ged .ged-content .item .end {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
}

.ged .ged-content .item .type {
  display: flex;
}

.ged .ged-content .item .type img {
  width: 32px;
  height: 32px;
}

.ged .ged-content .item .name {
  font-weight: var(--font-weight-bold);
}

.ged .ged-content .item .cat ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.ged .ged-content .item .cat ul li {
  background: var(--color-white);
  font-size: var(--font-size-small);
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius-circle);
}

.ged .ged-content .item .action {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  width: 150px;
  justify-content: end;
}

.ged .ged-content .item .action a {
  text-decoration: none;
}

.ged .ged-content .item .action button {
  border: none;
}

.ged .ged-content .item .action svg {
  width: 18px;
  height: 18px;
}

.ged .ged-content .item .action .view,
.ged .ged-content .item .action .edit,
.ged .ged-content .item .action .delete {
  aspect-ratio: 1;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--radius-inner) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.ged .ged-content .item .action .view {
  background: var(--color-primary);
}

.ged .ged-content .item .action .view:hover {
  background: var(--color-white);
}

.ged .ged-content .item .action .edit {
  background: var(--color-black-transparent-niv-1);
}

.ged .ged-content .item .action .edit:hover {
  background: var(--color-black-transparent-niv-2);
}

.ged .ged-content .item .action .delete {
  color: var(--color-alert);
  background: var(--color-alert-light);
}

.ged .ged-content .item .action .delete:hover {
  color: var(--color-white);
  background: var(--color-alert);
}

.ged .ged-content.add,
.ged .ged-content.edit {
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 2);
  margin-bottom: var(--spacer);
  border-radius: var(--radius-inner);
}

.ged .ged-content.add .ged-content-header,
.ged .ged-content.edit .ged-content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacer);
}

.ged .ged-content.add .header-add .title,
.ged .ged-content.add .header-edit .title {
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
}

.ged .ged-content.add .radio-option,
.ged .ged-content.edit .radio-option {
  background: var(--color-white);
}

.ged .ged-content.add .footer-add,
.ged .ged-content.edit .footer-add {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ged .ged-content.add .notice,
.ged .ged-content.edit .notice {
  background: var(--color-white);
}

/* --- GRID CONTENT ------------------------------------------------------------------ */
.page .page-content .grid .grid-content {
  grid-column: 2/-1;
  display: flex;
  flex-direction: column;
  gap: var(--spacer);
  width: auto;
}

@media screen and (max-width: 992px) {
  .page .page-content .grid .grid-content {
    gap: calc(var(--spacer) / 2);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .grid-content {
    grid-column: inherit;
  }
}
/* --- GRID CONTENT > .item-position --- */
.page .page-content .grid .grid-content .item-position {
  background: var(--color-text-white);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 2);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(var(--spacer) / 2);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--spacer) / 2);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .grid-content .item-position {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* --- GRID CONTENT > .item-equipement --- */
.page .page-content .grid .grid-content .item-equipement {
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 2);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(var(--spacer) / 2);
  position: relative;
}

@media screen and (max-width: 3200px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media screen and (max-width: 2400px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 1600px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1400px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(4, 1fr);
    gap: calc(var(--spacer) / 2);
  }
}
@media screen and (max-width: 576px) {
  .page .page-content .grid .grid-content .item-equipement {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page .page-content .grid .grid-content .item-equipement .empty {
  grid-column: 1/-1;
  padding: calc(var(--spacer) / 2);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

.page .page-content .grid .grid-content .item-equipement .empty svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.page .page-content .grid .grid-bottom {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

/* --- GRID CONTENT > .view-navigation --- */
.page .page-content .grid .view-navigation {
  align-items: center;
  gap: calc(var(--spacer) / 8);
  padding: calc(var(--spacer) / 4);
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  display: inline-flex;
  flex-direction: row;
}

.page .page-content .grid .view-navigation .item {
  padding: calc(var(--spacer) / 4);
  background-color: transparent;
  display: inline-block;
  border-radius: var(--radius-inner);
  transition: var(--transition);
  display: flex;
  position: relative;
}

.page .page-content .grid .view-navigation .item:hover {
  background-color: var(--color-secondary-niv-3);
}

.page .page-content .grid .view-navigation .item.active {
  background-color: var(--color-secondary-niv-3);
  cursor: auto;
}

.page .page-content .grid .view-navigation .item svg {
  width: 24px;
  height: 24px;
  fill: var(--color-secondary-niv-4);
}

.page .page-content .grid .view-navigation .item.active svg {
  width: 24px;
  height: 24px;
  fill: var(--color-text-black);
}

@media screen and (max-width: 768px) {
  .page .page-content .grid .view-navigation .item svg,
  .page .page-content .grid .view-navigation .item.active svg {
    width: 18px;
    height: 18px;
  }
}
.page .page-content .grid .view-navigation .item.expert:before {
  content: "Mode expert";
  position: absolute;
  background: var(--color-text-black);
  padding: calc(var(--spacer) / 6) calc(var(--spacer) / 3);
  border-radius: var(--radius-inner);
  color: #FFF;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  top: 8px;
  left: 100%;
  opacity: 0;
  white-space: nowrap;
  transition: var(--transition);
  transform: translateX(10px);
}

.page .page-content .grid .view-navigation .item.expert:hover:before {
  opacity: 1;
  transform: translateX(-2px);
}

.page .page-content .grid .view-navigation .item.active.expert:before {
  display: none;
}

.shipping .shipping-container .shipping-content .alternative-action {
  /* OAUIIII bha je savais pas quoi donner comme nom de class */
  display: flex;
  align-items: center;
  justify-content: end;
  gap: calc(var(--spacer) / 2);
}

.shipping .shipping-container .shipping-content .btn-observation {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: calc(var(--spacer) / 8);
  margin-top: calc(var(--spacer) / 8);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-danger);
  transition: var(--transition);
  cursor: pointer;
}

.shipping .shipping-container .shipping-content .btn-observation:hover {
  color: var(--color-alert);
}

.shipping .shipping-container .shipping-content .btn-observation.active {
  color: var(--color-secondary-niv-4);
}

.shipping .shipping-container .shipping-content .btn-observation.active:hover {
  color: var(--color-secondary-niv-3);
}

.shipping .shipping-container .shipping-content .btn-observation svg {
  width: 18px;
  height: 18px;
}

/* A NE PLUS PRENDRE EN COMPTE */
/* .shipping-container {
	display: flex;
	gap: var(--spacer);
	justify-content: space-between;
}
.shipping .shipping-container .shipping-sidebar {
	width: 25%;
}
.shipping .shipping-container .shipping-sidebar .item {
  position: sticky;
  top: calc(var(--spacer) * -1);
  background: var(--color-secondary-niv-1);
  padding: var(--spacer);
  border-radius: var(--radius);
  z-index: 10;
  margin-bottom: calc(var(--spacer) / 2);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item {
  position: sticky;
  top: var(--spacer);
  background: var(--color-danger-light);
  padding: var(--spacer);
  border-radius: var(--radius);
}
.shipping .shipping-container .shipping-sidebar .item .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large);
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 1.5);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .title {
  color: var(--color-danger);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .label-title {
  color: var(--color-black-transparent-niv-3);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .field {
  border-bottom: solid 1px var(--color-black-transparent-niv-2);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .field:hover {
  border-bottom: solid 1px var(--color-black-transparent-niv-3);
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .button:hover {
  background: var(--color-white) !important;
}
.shipping .shipping-container.adjournment .shipping-sidebar .item .button.light {
  background: var(--color-black-transparent-niv-1);
}
.shipping .shipping-container .shipping-sidebar .item .navigation {
  position: absolute;
  top: 15px;
  right: -45px;
  width: 30px;
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 4) 0;
}
.shipping .shipping-container .shipping-sidebar .item .navigation .btn {
  transition: var(--transition);
  color: var(--color-text-black);
  cursor: pointer;
}
.shipping .shipping-container .shipping-sidebar .item .navigation .btn:hover {
  color: var(--color-secondary-niv-4);
}
.shipping .shipping-container .shipping-sidebar .item .navigation .btn.valid {
  color: var(--color-success);
}
.shipping .shipping-container .shipping-sidebar .item .navigation .btn.invalid,
.shipping .shipping-container .shipping-sidebar .item .navigation .btn.adjournment {
  color: var(--color-danger);
}
.shipping .shipping-container .shipping-sidebar .item .navigation svg {
  width: 18px;
  height: 18px;
}
.shipping .shipping-container .shipping-sidebar .action {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.shipping .shipping-container .shipping-content  {
	width: 75%;
}
.shipping .shipping-container .shipping-content .btn-observation {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: calc(var(--spacer) / 8);
  margin-top: calc(var(--spacer) / 8);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-danger);
  transition: var(--transition);
  cursor: pointer;
}
.shipping .shipping-container .shipping-content .btn-observation:hover {
  color: var(--color-alert);
}
.shipping .shipping-container .shipping-content .btn-observation.active {
  color: var(--color-secondary-niv-4);
}
.shipping .shipping-container .shipping-content .btn-observation.active:hover {
  color: var(--color-secondary-niv-3);
}
.shipping .shipping-container .shipping-content .btn-observation svg {
  width: 18px;
  height: 18px;
} */
.anomaly {
  display: flex;
  gap: calc(var(--spacer) / 2);
  flex-direction: column;
}

.grid.grid-etablissements .anomaly {
  background: var(--color-text-white);
  border-radius: var(--radius);
  padding: var(--spacer) calc(var(--spacer) / 2);
}

.anomaly .users {
  padding: var(--spacer);
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius);
  transition: var(--transition);
}

.anomaly .users .header-users {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer);
  padding-bottom: calc(var(--spacer) / 2);
  margin-bottom: calc(var(--spacer) / 1.5);
  border-bottom: solid 1px var(--color-secondary-niv-3);
}

.anomaly .users.close .header-users {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.anomaly .users .header-users .title-users {
  font-size: calc(var(--font-size-large) * 1.25);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}

.anomaly .users .header-users .action {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.anomaly .users .header-users .action .btn-close {
  width: 45px;
  height: 45px;
  background: var(--color-secondary-niv-3);
  border: none;
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  cursor: pointer;
}

.anomaly .users .header-users .action .btn-close:hover {
  background: var(--color-white);
}

.anomaly .users .header-users .action .btn-close svg {
  width: 24px;
  height: 24px;
}

.anomaly .users .header-users .action .btn-close.reverse svg {
  transform: rotate(180deg);
}

.anomaly .users .header-users .action .button {
  cursor: pointer;
  transition: var(--transition);
}

.anomaly .users .add-users {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

.anomaly .users.adding-user .add-users {
  max-height: none;
  opacity: 1;
  overflow: visible;
}

.anomaly .users .add-users .btn {
  position: absolute;
  bottom: 5px;
  right: 0;
  width: 30px;
  height: 30px;
  background: var(--color-secondary-niv-2);
  border: none;
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: var(--transition);
}

.anomaly .users .add-users .btn:hover {
  background: var(--color-primary);
}

.anomaly .users .list-users {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  margin-bottom: calc(var(--spacer) / 2);
  gap: calc(var(--spacer) / 2);
  transition: var(--transition);
}

.anomaly .users.close .list-users {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
}

.anomaly .user {
  background: var(--color-white);
  padding: calc(var(--spacer) / 4) var(--spacer) calc(var(--spacer) / 4) calc(var(--spacer) / 4);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  position: relative;
  width: fit-content;
}

.anomaly .user .avatar {
  width: 45px;
  height: 45px;
  background: var(--color-secondary-niv-2);
  border-radius: calc(var(--radius-inner) / 2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-secondary-niv-4);
  position: relative;
  overflow: hidden;
}

.anomaly .user .avatar img {
  position: absolute;
  top: 0;
  left: 0;
  width: 45px;
  height: 45px;
  object-fit: cover;
}

.anomaly .user .infos .name {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.anomaly .user .infos .mail {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-normal);
  color: var(--color-secondary-niv-4);
}

.anomaly .user .remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-secondary-niv-2);
  border-radius: calc(var(--radius-inner) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.anomaly .user .remove:hover {
  background: var(--color-alert);
  color: var(--color-white);
}

.anomaly .users .notice {
  background: var(--color-white);
}

.anomaly .add-anomaly {
  display: flex;
  gap: calc(var(--spacer) / 2);
  flex-direction: column;
}

.anomaly .add-anomaly .btn-add {
  padding: calc(var(--spacer) / 2) var(--spacer) calc(var(--spacer) / 2) calc(var(--spacer) / 2);
  background: var(--color-alert-light);
  color: var(--color-alert);
  border-radius: var(--radius);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  display: flex;
  align-items: center;
  justify-content: start;
  gap: var(--spacer);
  cursor: pointer;
  transition: var(--transition);
}

.anomaly .add-anomaly .btn-add:hover {
  background: var(--color-alert);
  color: var(--color-white);
}

.anomaly .add-anomaly .btn-add svg {
  padding: calc(var(--spacer) / 4);
  background: var(--color-alert);
  color: var(--color-white);
  border-radius: var(--radius-inner);
  width: 24px;
  height: 24px;
  transition: var(--transition);
}

.anomaly .add-anomaly .btn-add:hover svg {
  color: var(--color-alert);
  background: var(--color-white);
}

.anomaly .add-anomaly .btn-add.disabled {
  background: var(--color-secondary-niv-1);
  color: var(--color-secondary-niv-4);
  cursor: not-allowed;
}

.anomaly .add-anomaly .btn-add.disabled svg {
  background: var(--color-white);
  color: var(--color-secondary-niv-4);
}

.anomaly .add-anomaly .action {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: calc(var(--spacer) / 2);
}

.anomaly .list-anomaly {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.grid.grid-etablissements .anomaly .list-anomaly {
  gap: var(--spacer);
}

.anomaly .list-anomaly .title {
  font-weight: var(--font-weight-bold);
}

.grid.grid-etablissements .anomaly .list-anomaly .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large);
}

.anomaly .list-anomaly .title.in-progress {
  color: var(--color-danger);
}

.anomaly .list-anomaly .item {
  display: flex;
  gap: var(--spacer);
  align-items: center;
  justify-content: space-between;
  background: var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 2) var(--spacer);
  border-radius: var(--radius);
  position: relative;
}

.anomaly .list-anomaly .item.in-progress {
  background: var(--color-danger-light);
}

.anomaly .list-anomaly .item.line {
  flex-direction: column;
  align-items: start;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
}

.anomaly .list-anomaly .item.line .line-item {
  display: flex;
  gap: var(--spacer);
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.anomaly .list-anomaly .item.line .line-item.first {
  padding-bottom: calc(var(--spacer) / 2);
  border-bottom: solid 1px var(--color-black-transparent-niv-3);
}

.anomaly .list-anomaly .item .notification {
  position: absolute;
  top: calc(var(--spacer) / 4);
  right: calc(var(--spacer) / 4);
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background: var(--color-alert);
}

.anomaly .list-anomaly .item .start {
  display: flex;
  gap: var(--spacer);
  align-items: center;
}

.anomaly .list-anomaly .item .end {
  display: flex;
  gap: var(--spacer);
  align-items: center;
}

.anomaly .list-anomaly .item .equipment-item {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
}

.anomaly .list-anomaly .item .equipment-item img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: var(--radius-inner);
}

.anomaly .list-anomaly .item .equipment-item .info .name {
  font-size: calc(var(--font-size-large) / 1.1);
  font-weight: var(--font-weight-bold);
}

.anomaly .list-anomaly .item .equipment-item .info .position {
  color: var(--color-black-transparent-niv-3);
  font-weight: var(--font-weight-bold);
}

.anomaly .list-anomaly .item .title-item {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
}

.anomaly .list-anomaly .item.in-progress .title-item {
  color: var(--color-black-transparent-niv-3);
}

.anomaly .list-anomaly .item .date-item.limit {
  background: var(--color-white);
  color: var(--color-danger);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
}

.anomaly .list-anomaly .item .date-item .info {
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
  font-weight: var(--font-weight-bold);
}

.anomaly .list-anomaly .item .feature-item.danger {
  color: var(--color-danger);
}

.anomaly .list-anomaly .item .feature-item .info {
  display: flex;
  gap: calc(var(--spacer) / 4);
  align-items: center;
  font-weight: var(--font-weight-bold);
}

.anomaly .list-anomaly .item .end .action {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
}

.anomaly .list-anomaly .item .end .action .btn-view {
  padding: calc(var(--spacer) / 4);
  background: var(--color-primary);
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
}

.anomaly .list-anomaly .item .end .action .btn-view:hover {
  background: var(--color-white);
}

.anomaly .list-anomaly .item.in-progress .end .action .btn-view {
  background: var(--color-danger);
  color: var(--color-white);
}

.anomaly .list-anomaly .item.in-progress .end .action .btn-view:hover {
  background: var(--color-white);
  color: var(--color-danger);
}

.anomaly .assignment {
  display: flex;
  gap: var(--spacer);
  justify-content: space-between;
}

.anomaly .assignment .assignment-sidebar {
  width: 25%;
}

.anomaly .assignment .assignment-sidebar .sticky {
  top: 30px;
  position: sticky;
}

.anomaly .assignment .assignment-content {
  width: 75%;
  display: flex;
  gap: var(--spacer);
  flex-direction: column;
  padding: var(--spacer);
  border: solid 1px var(--color-secondary-niv-3);
  border-radius: var(--radius);
}

.anomaly .assignment .assignment-content .item {
  display: flex;
  width: 100%;
}

.anomaly .assignment .assignment-content .item.left {
  justify-content: flex-start;
}

.anomaly .assignment .assignment-content .item.right {
  justify-content: flex-end;
}

.anomaly .assignment .assignment-content .item .item-content {
  display: flex;
  max-width: 80%;
  gap: var(--spacer);
  width: 100%;
}

.anomaly .assignment .assignment-content .item.right .item-content {
  flex-direction: row-reverse;
}

.anomaly .assignment .assignment-content .item .item-content .avatar {
  width: 45px;
  height: 45px;
  position: relative;
  border-radius: var(--radius-circle);
  background: var(--color-secondary-niv-2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 width=%2724%27 height=%2724%27 fill=%27currentColor%27%3E%3Cpath d=%27M4 22C4 17.5817 7.58172 14 12 14C16.4183 14 20 17.5817 20 22H18C18 18.6863 15.3137 16 12 16C8.68629 16 6 18.6863 6 22H4ZM12 13C8.685 13 6 10.315 6 7C6 3.685 8.685 1 12 1C15.315 1 18 3.685 18 7C18 10.315 15.315 13 12 13ZM12 11C14.21 11 16 9.21 16 7C16 4.79 14.21 3 12 3C9.79 3 8 4.79 8 7C8 9.21 9.79 11 12 11Z%27%3E%3C/path%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.anomaly .assignment .assignment-content .item .item-content .avatar img {
  width: 45px;
  height: 45px;
  object-fit: cover;
  position: absolute;
  z-index: 10;
}

.anomaly .assignment .assignment-content .item .item-content .bubble {
  background: var(--color-secondary-niv-1);
  padding: var(--spacer);
  border-radius: var(--radius);
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.anomaly .assignment .assignment-content .item.left .item-content .bubble {
  background: var(--color-secondary-niv-2);
}

.anomaly .assignment .assignment-content .item.right .item-content .bubble {
  background: var(--color-secondary-niv-3);
}

.anomaly .assignment .assignment-content .item.writing .item-content .bubble {
  background: var(--color-secondary-niv-1);
}

.anomaly .assignment .assignment-content .item.left .item-content .bubble::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 16px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid var(--color-secondary-niv-2);
}

.anomaly .assignment .assignment-content .item.right .item-content .bubble::before {
  content: "";
  position: absolute;
  right: -8px;
  top: 16px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid var(--color-secondary-niv-3);
}

.anomaly .assignment .assignment-content .item.writing .item-content .bubble::before {
  content: "";
  position: absolute;
  right: -8px;
  bottom: 16px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid var(--color-secondary-niv-1);
}

.anomaly .assignment .assignment-content .item .item-content .bubble .field-container {
  padding: 0;
  margin: 0;
  width: 100%;
}

.anomaly .assignment .assignment-content .item .item-content .bubble .field-container .field-group:last-child {
  margin-bottom: 0;
}

.anomaly .assignment .assignment-content .item.writing .item-content .bubble textarea {
  background: var(--color-white);
}

.anomaly .assignment .assignment-content .item .item-content .bubble .action .btn-valid {
  font-weight: var(--font-weight-bold);
  color: var(--color-success);
  text-align: center;
  background: var(--color-success-light);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
  cursor: pointer;
  transition: var(--transition);
  mix-blend-mode: multiply;
}

.anomaly .assignment .assignment-content .item .item-content .bubble .action .btn-valid:hover {
  color: var(--color-white);
  background: var(--color-success);
}

.anomaly .assignment .assignment-content .item.end {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  padding: var(--spacer) 0;
  margin-top: var(--spacer);
  border-top: solid 1px var(--color-secondary-niv-2);
}

.anomaly .assignment .assignment-content .item.end svg {
  width: 60px;
  height: 60px;
  color: var(--color-secondary-niv-3);
}

.anomaly .assignment .assignment-content .item.end .title {
  font-size: var(--font-size-extralarge);
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
}

.anomaly .assignment .assignment-content .item.end .link {
  color: var(--color-secondary-niv-4);
  text-decoration: underline;
  transition: var(--transition);
}

.anomaly .assignment .assignment-content .item.end .link:hover {
  color: var(--color-primary);
}

.suppliers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacer);
}

@media screen and (max-width: 768px) {
  .suppliers {
    grid-template-columns: repeat(1, 1fr);
    gap: calc(var(--spacer) / 2);
  }
}
.suppliers .suppliers-item {
  background: var(--color-white);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 10;
}

.suppliers .suppliers-item .top {
  padding: var(--spacer) var(--spacer) 0 var(--spacer);
}

.suppliers .suppliers-item .bottom {
  border-top: solid 1px var(--color-secondary-niv-3);
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 2) var(--spacer);
}

.suppliers .suppliers-item .field-group label {
  display: flex;
  flex-direction: row;
  align-items: start;
}

.suppliers .suppliers-item .field-group label > *:first-child {
  flex: 0 0 120px;
}

@media screen and (max-width: 1600px) {
  .suppliers .suppliers-item .field-group label > *:first-child {
    flex: 0 0 90px;
  }
}
.suppliers .suppliers-item .field-group label > *:not(:first-child) {
  flex: 1;
}

.suppliers .suppliers-item .field-group label input {
  padding-top: 0;
}

.suppliers .suppliers-item .field-group label textarea {
  width: 100%;
}

/* .suppliers .suppliers-item .field-group label input:disabled {
	border-color: var(--color-white);
	color: var(--color-text-black);
	opacity: 1;
} */
.suppliers .suppliers-item .field-group label .text {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  border-bottom: solid 1px var(--color-secondary-niv-3);
  padding: 0 0 calc(var(--spacer) / 3) 0;
}

.suppliers .suppliers-item .action {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.suppliers .suppliers-item .action .btn-delete {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: var(--transition);
  color: var(--color-alert);
}

.suppliers .suppliers-item .action .btn-cancel {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: var(--transition);
}

.suppliers-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.suppliers-header .title {
  font-size: var(--font-size-large);
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
}

.maintenance .maintenance-container {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.maintenance .maintenance-action {
  display: flex;
  gap: calc(var(--spacer) / 2);
  margin-bottom: var(--spacer);
  justify-content: end;
}

.maintenance .maintenance-action .filter {
  border: solid 1px var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  width: 100%;
}

.maintenance .maintenance-action .filter .label-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

.maintenance .maintenance-action .filter .list {
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.maintenance .maintenance-action .filter .list .cat {
  background: var(--color-secondary-niv-2);
  font-size: var(--font-size-small);
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 4);
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius-circle);
  transition: var(--transition);
  cursor: pointer;
}

.maintenance .maintenance-action .filter .list .cat:hover {
  background: var(--color-primary);
}

.maintenance .maintenance-action .filter .list .cat.active {
  background: var(--color-primary);
}

.maintenance .maintenance-action .filter .list .cat.active:hover {
  background: var(--color-primary);
}

.maintenance .maintenance-action .btn-add {
  background: var(--color-white);
  padding: calc(var(--spacer) / 4);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  cursor: pointer;
  box-shadow: var(--shadow);
}

.maintenance .maintenance-action .btn-add svg {
  background: var(--color-success);
  color: var(--color-white);
  border-radius: var(--radius-inner);
  transition: var(--transition);
  padding: calc(var(--spacer) / 4);
  width: 24px;
  height: 24px;
  padding: calc(var(--spacer) / 2);
}

.maintenance .maintenance-action .btn-add:hover svg {
  background: var(--color-success-light);
  color: var(--suucess);
}

.maintenance .maintenance-item {
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 2) var(--spacer);
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacer) / 2);
}

@media screen and (max-width: 992px) {
  .maintenance .maintenance-item {
    flex-direction: column;
    align-items: start;
    padding: calc(var(--spacer) / 2);
  }
}
.maintenance .maintenance-item .start {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
  width: 100%;
}

.maintenance .maintenance-item .end {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: center;
}

@media screen and (max-width: 992px) {
  .maintenance .maintenance-item .end {
    flex-direction: column;
    align-items: start;
    width: 100%;
  }
}
.maintenance .maintenance-item .maintenance-content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
}

.maintenance .maintenance-item .maintenance-content .date {
  font-size: var(--font-size-large);
}

.maintenance .maintenance-item .maintenance-content .excerpt {
  font-style: italic;
  color: var(--color-secondary-niv-4);
}

.maintenance .maintenance-item .maintenance-content .infos {
  display: flex;
  align-items: center;
  gap: var(--spacer);
}

.maintenance .maintenance-item .maintenance-content .infos svg {
  width: 18px;
  height: 18px;
  fill: var(--color-secondary-niv-4);
}

.maintenance .maintenance-item .maintenance-content .infos .approved {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  font-weight: bold;
}

.maintenance .maintenance-item .maintenance-content .infos .files {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.maintenance .maintenance-item .status .badge {
  white-space: nowrap;
}

.maintenance .maintenance-item .action {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  width: 150px;
  justify-content: end;
}

@media screen and (max-width: 992px) {
  .maintenance .maintenance-item .action {
    width: 100%;
    justify-content: start;
  }
}
.maintenance .maintenance-item .action .view,
.maintenance .maintenance-item .action .edit,
.maintenance .maintenance-item .action .delete,
.maintenance .maintenance-item .action .anomaly {
  aspect-ratio: 1;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--radius-inner) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.maintenance .maintenance-item .action svg {
  width: 18px;
  height: 18px;
}

.maintenance .maintenance-item .action .view {
  background: var(--color-primary);
}

.maintenance .maintenance-item .action .edit {
  background: var(--color-black-transparent-niv-2);
}

.maintenance .maintenance-item .action .delete {
  color: var(--color-alert);
  background: var(--color-alert-light);
}

.maintenance .maintenance-item .action .anomaly {
  color: var(--color-white);
  background: var(--color-alert);
}

/* Note : Ne pas prendre en compte */
.page-template .zone {
  display: flex;
  gap: calc(var(--spacer) / 2);
  align-items: start;
  background: var(--color-white);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 2);
  margin-bottom: calc(var(--spacer) / 2);
  flex-wrap: wrap;
}

.page-template .zone.bordered {
  border: solid 1px var(--color-secondary-niv-3);
  background: transparent;
}

.page-template .zone.no-flex {
  display: block;
}

.page-template .zone .title {
  width: 100%;
}

.page-template .zone hr {
  height: 1px;
  border: none;
  background-color: var(--color-secondary-niv-3);
  width: 100%;
  margin: 0;
  margin-bottom: calc(var(--spacer) / 2);
}

.expert-mode {
  padding: var(--spacer);
  background: var(--color-white);
  border-radius: var(--radius);
}

.expert-mode .line {
  padding-block: calc(var(--spacer) / 4);
  border-top: solid 1px var(--color-secondary-niv-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer);
  position: relative;
}

.expert-mode .line.ia-overlay {
  border: none;
}

.expert-mode .line.ia-overlay:before {
  left: -15px;
  right: -15px;
  top: -2px;
  bottom: -1px;
  z-index: 1;
  border-radius: calc(var(--radius-inner) / 1.5);
  border: solid 2px var(--color-agent-light);
}

.expert-mode .line.ia-overlay .ia-indicator {
  border-radius: calc(var(--radius-inner) / 1.5);
  right: -45px;
  top: -1px;
  padding: 2px;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  background: var(--color-agent);
}

.expert-mode .line.delete-overlay {
  border: none;
}

.expert-mode .line.delete-overlay:before {
  left: -15px;
  right: -15px;
  top: -2px;
  bottom: -1px;
  z-index: 1;
  border-radius: calc(var(--radius-inner) / 1.5);
  border: solid 2px var(--color-alert-light);
}

.expert-mode .line.delete-overlay .delete-indicator {
  border-radius: calc(var(--radius-inner) / 1.5);
  right: -45px;
  top: -1px;
  padding: 2px;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  background: var(--color-alert);
}

.expert-mode .line .start,
.expert-mode .line .end {
  display: flex;
  align-items: center;
}

.expert-mode .line.equipment .start,
.expert-mode .line.equipment .end {
  align-self: flex-start;
}

.expert-mode .line .start {
  gap: calc(var(--spacer) / 2);
  width: 100%;
}

@media screen and (max-width: 1200px) {
  .expert-mode .line .start {
    gap: calc(var(--spacer) / 8);
  }
}
.expert-mode .line .end {
  gap: var(--spacer);
}

.expert-mode .line .drag {
  cursor: grab;
}

.expert-mode .line .drag svg {
  width: 18px;
  height: 18px;
  color: var(--color-secondary-niv-4);
  transition: var(--transition);
}

.expert-mode .line .drag:hover svg {
  color: var(--color-text-black);
}

.expert-mode .line .level.niv-1 {
  flex: 0 0 24px;
}

.expert-mode .line .level.niv-2 {
  flex: 0 0 48px;
}

.expert-mode .line .level.niv-3 {
  flex: 0 0 72px;
}

.expert-mode .line .level.niv-4 {
  flex: 0 0 96px;
}

.expert-mode .line .level.niv-5 {
  flex: 0 0 120px;
}

@media screen and (max-width: 1200px) {
  .expert-mode .line .level.niv-1 {
    flex: 0 0 12px;
  }
  .expert-mode .line .level.niv-2 {
    flex: 0 0 24px;
  }
  .expert-mode .line .level.niv-3 {
    flex: 0 0 36px;
  }
  .expert-mode .line .level.niv-4 {
    flex: 0 0 48px;
  }
  .expert-mode .line .level.niv-5 {
    flex: 0 0 60px;
  }
}
.expert-mode .line .level svg {
  width: 24px;
  height: 24px;
}

.expert-mode .line .infos {
  align-self: flex-start;
}

.expert-mode .line.equipment .start-responsive {
  display: flex;
  align-items: start;
  gap: var(--spacer);
  width: 100%;
}

@media screen and (max-width: 1400px) {
  .expert-mode .line.equipment .start-responsive {
    flex-direction: column;
    gap: 0;
  }
}
.expert-mode .line.equipment .start-responsive .infos {
  width: 390px;
}

@media screen and (max-width: 1900px) {
  .expert-mode .line.equipment .start-responsive .infos {
    width: 250px;
  }
}
@media screen and (max-width: 1400px) {
  .expert-mode .line.equipment .start-responsive .infos {
    width: inherit;
  }
}
.expert-mode .line .infos .title {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.expert-mode .line .infos .title b {
  font-size: var(--font-size-large);
}

.expert-mode .line.equipment .infos .title b {
  font-size: calc(var(--font-size-large) / 1.1);
}

.expert-mode .line .infos .title svg {
  width: 18px;
  height: 18px;
}

.expert-mode .line .infos .title svg.favorite {
  width: 14px;
  height: 14px;
  color: var(--color-primary);
}

.expert-mode .line .infos .more {
  color: var(--color-secondary-niv-4);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 8);
  cursor: pointer;
  transition: color 0.3s ease;
}

.expert-mode .line .infos .more:hover {
  color: var(--color-text-black);
}

.expert-mode .line .infos .disabled {
  opacity: 0.35;
}

.expert-mode .line .infos .separator {
  height: calc(var(--spacer) / 4);
}

.expert-mode .line .infos .list {
  margin-top: calc(var(--spacer) / 4);
  overflow: hidden;
  transition: all 0.3s ease;
}

.expert-mode .line.equipment .infos .list.hidden-list {
  display: none;
  opacity: 0;
  max-height: 0;
  transform: translateY(-10px);
}

.expert-mode .line.equipment .infos .list.showing {
  display: block;
  animation: equipmentListSlideIn 0.3s ease forwards;
}

.expert-mode .line.equipment .infos .list.hiding {
  display: block;
  animation: equipmentListSlideOut 0.3s ease forwards;
}

.expert-mode .line .complements {
  align-self: flex-start;
  margin-top: calc(var(--spacer) / 4);
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--spacer) / 4);
}

.expert-mode .line img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: var(--radius-inner);
  align-self: flex-start;
}

.expert-mode .line .indicator {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: calc(var(--spacer) / 4);
}

.expert-mode .line .indicator svg {
  width: 18px;
  height: 18px;
}

.expert-mode .line .indicator .dangerous {
  padding: 4px;
  background: var(--color-alert);
  color: var(--color-white);
  border-radius: var(--radius-inner);
  display: flex;
}

.expert-mode .line .indicator .educational {
  padding: 4px;
  background: var(--color-info-light);
  color: var(--color-info);
  border-radius: var(--radius-inner);
  display: flex;
}

.expert-mode .line .indicator .anomaly {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacer) / 8);
  flex-direction: row;
  font-weight: var(--font-weight-bold);
  padding: 4px 10px 4px 4px;
  border-radius: var(--radius-inner);
}

.expert-mode .line .indicator .anomaly.current {
  background: var(--color-alert-light);
  color: var(--color-alert);
}

.expert-mode .line .indicator .anomaly.resolved {
  background: var(--color-success-light);
  color: var(--color-success);
}

.expert-mode .line .interaction {
  display: flex;
  gap: calc(var(--spacer) / 4);
  padding: calc(var(--spacer) / 4);
  background: var(--color-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: var(--transition);
}

.expert-mode .line .interaction .btn {
  display: flex;
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 4);
  transition: var(--transition);
  cursor: pointer;
  color: var(--color-text-black);
  background: var(--color-secondary-niv-2);
  transition: var(--transition);
}

.expert-mode .line .interaction .btn:hover {
  color: var(--color-text-black);
  background: var(--color-secondary-niv-3);
}

.expert-mode .line .interaction .btn.success {
  color: var(--color-text-white);
  background: var(--color-success);
}

.expert-mode .line .interaction .btn.success:hover {
  color: var(--color-text-black);
  background: var(--color-success-light);
}

.expert-mode .line .interaction .btn.primary {
  color: var(--color-text-black);
  background: var(--color-primary);
}

.expert-mode .line .interaction .btn.primary:hover {
  color: var(--color-text-black);
  background: var(--color-primary-light);
}

.expert-mode .line .interaction .btn.alert {
  color: var(--color-white);
  background: var(--color-alert);
}

.expert-mode .line .interaction .btn.alert:hover {
  color: var(--color-alert);
  background: var(--color-alert-light);
}

.expert-mode .line .interaction .btn svg {
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 768px) {
  .expert-mode .line .interaction .btn svg {
    width: 14px;
    height: 14px;
  }
}
.expert-mode .line .action {
  position: relative;
}

@keyframes equipmentListSlideIn {
  from {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    max-height: 500px;
    transform: translateY(0);
  }
}
@keyframes equipmentListSlideOut {
  from {
    opacity: 1;
    max-height: 500px;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
}
#cam-preview,
#cam-video {
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius);
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/connexion.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.connexion {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  width: 100vw;
  background-color: var(--color-body);
}

.connexion .connexion-content {
  padding: var(--spacer);
  display: flex;
  width: calc(100% - var(--spacer) * 2);
  align-items: center;
  justify-content: center;
}

.connexion .connexion-content .item-content {
  max-width: 480px;
  width: 100%;
  background: var(--color-white);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: var(--spacer);
}

.connexion .connexion-content .item-content .header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: calc(var(--spacer) * 2);
}

.connexion .connexion-content .item-content .header .logo {
  margin-bottom: calc(var(--spacer) / 2);
  height: 50px;
}

.connexion .connexion-content .item-content .header .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large);
  text-align: center;
}

.connexion .connexion-content .item-content .content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 2);
}

.connexion .connexion-content .item-content .content .notice {
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer) / 2);
}

.connexion .connexion-content .item-content .content .notice.password {
  font-size: var(--font-size-small);
}

.connexion .connexion-content .item-content .content .notice ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

.connexion .connexion-content .item-content .content .notice ul li {
  margin-bottom: calc(var(--spacer) / 4);
  display: flex;
  gap: calc(var(--spacer) / 4);
}

.connexion .connexion-content .item-content .content .notice ul li:last-child {
  margin-bottom: 0;
}

.connexion .connexion-content .item-content .content .notice ul li.success {
  color: var(--color-success);
}

.connexion .connexion-content .item-content .content .notice ul li.error {
  color: var(--color-alert);
}

.connexion .connexion-content .item-content .content .notice ul li.info {
  color: var(--color-secondary-niv-4);
}

.connexion .connexion-content .item-content .content .notice ul li pre {
  background: var(--color-alert-light);
  border-radius: calc(var(--radius-inner) / 2);
  display: inline-block;
  padding: calc(var(--spacer) / 8) calc(var(--spacer) / 2);
  font-weight: var(--font-weight-bold);
  margin-top: calc(var(--spacer) / 4);
}

.connexion .connexion-content .item-content .content .notice svg {
  flex-shrink: 0;
  min-width: 18px;
  min-height: 18px;
  width: 18px;
  height: 18px;
}

.connexion .connexion-content .item-content .content .notice.password svg {
  flex-shrink: 0;
  min-width: 14px;
  min-height: 14px;
  width: 14px;
  height: 14px;
}

.connexion .connexion-content .item-content .content .notice.message svg {
  flex-shrink: 0;
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
  fill: var(--color-secondary-niv-4);
  color: var(--color-secondary-niv-4);
}

.connexion .connexion-content .item-content .content .notice span {
  flex: 1;
}

.connexion .connexion-content .item-content .content .notice.message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  padding: var(--spacer);
}

.connexion .connexion-content .item-content .content .notice .title {
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.connexion .connexion-content .item-content .content .notice .text {
  text-align: center;
}

.connexion .connexion-content .item-content .content .notice .code {
  background: var(--color-secondary-niv-2);
  border-radius: calc(var(--radius-inner) / 2);
  padding: calc(var(--spacer) / 2) var(--spacer);
  display: inline-block;
  margin-top: calc(var(--spacer) / 2);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-extralarge);
}

.connexion .connexion-content .item-content .content .action {
  margin-top: var(--spacer);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

.connexion .connexion-content .item-content .content .action .btn-connexion {
  width: 100%;
  padding: calc(var(--spacer) / 2);
  background: var(--color-primary);
  border: none;
  border-radius: var(--radius-inner);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: var(--transition);
}

.connexion .connexion-content .item-content .content .action .btn-connexion:hover {
  background: var(--color-secondary-niv-4);
  color: var(--color-text-black);
}

.connexion .connexion-content .item-content .content .action .forgot-password {
  color: var(--color-secondary-niv-4);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}

.connexion .connexion-content .item-content .content .action .forgot-password:hover {
  color: var(--color-text-black);
}
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/form.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
   TABLE DES MATIÈRES
   ==========================================================================
   1. Conteneurs de champs
   2. Titres et séparateurs
   3. Structure des champs
   4. Labels
   5. Champs de saisie
   6. Gestion des mots de passe
   7. Cases à cocher
   8. Boutons radio
   9. Interrupteurs (Toggle Switch)
   10. Curseurs (Range Slider)
   11. Notifications
   12. Zone de dépôt (Dropzone)
   13. Groupes de contrôles personnalisés
   ========================================================================== */
/* ==========================================================================
   1. Conteneurs de champs
   ========================================================================== */
.field-container {
  margin-bottom: calc(var(--spacer) / 1.5);
  padding: var(--spacer) var(--spacer) calc(var(--spacer) / 1.5) var(--spacer);
  width: calc(100% - var(--spacer) * 2);
  position: relative;
}

@media screen and (max-width: 768px) {
  .field-container {
    margin-bottom: calc(var(--spacer) / 2);
    padding: calc(var(--spacer) / 2);
    width: calc(100% - var(--spacer));
  }
}
.field-container.background {
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius);
}

.field-container.background .notice {
  background: var(--color-white);
}

.field-container.background.danger {
  background: var(--color-danger-light);
  border-radius: var(--radius);
}

.field-container.background.danger .field-title {
  color: var(--color-danger);
}

.field-container.background.danger .label-title {
  color: var(--color-black-transparent-niv-3);
}

.field-container.bordered {
  border: solid 1px var(--color-secondary-niv-3);
  border-radius: var(--radius);
}

.field-container.shadow {
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: var(--color-white);
}

.field-container .close,
.field-container .edit {
  position: absolute;
  top: calc(var(--spacer) / 2);
  right: calc(var(--spacer) / 2);
  width: 30px;
  height: 30px;
  background: var(--color-secondary-niv-2);
  border: none;
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: var(--transition);
  cursor: pointer;
}

.field-container .close:hover,
.field-container .edit:hover {
  background: var(--color-primary);
}

.field-group {
  gap: 0;
}

.field-container .field-title.bordered:has(+ .d-none) {
  border-bottom: 0;
}

.field-container hr.field:has(+ .d-none) {
  display: none;
}

/* ==========================================================================
   2. Titres et séparateurs
   ========================================================================== */
.field-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large);
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 1.5);
}

.field-title.bordered {
  padding-bottom: calc(var(--spacer) / 2);
  margin-bottom: calc(var(--spacer) / 1.5);
  border-bottom: solid 1px var(--color-secondary-niv-3);
}

.field-title.large {
  font-size: var(--font-size-extralarge);
}

.field-title.highlight {
  color: var(--color-black);
}

.field-title.boxed {
  color: var(--color-black);
  background: var(--color-secondary-niv-2);
  padding: calc(var(--spacer) / 2);
  border-radius: var(--radius-inner);
}

hr.field {
  margin-top: 0;
  padding: 0;
  margin-bottom: calc(var(--spacer) / 1.5);
}

/* ==========================================================================
   3. Structure des champs
   ========================================================================== */
.field-content {
  position: relative;
}

.field-col {
  display: flex;
  gap: var(--spacer);
  width: 100%;
  position: relative;
}

@media screen and (max-width: 1600px) {
  .field-col {
    display: block;
  }
}
.field-col.center {
  align-items: center;
}

.field-col hr {
  border-color: var(--color-black-transparent-niv-2);
  border-width: 0.5px;
  margin-bottom: calc(var(--spacer) / 1.5);
}

.field-col .button {
  justify-content: space-between;
}

.field-group {
  margin-bottom: calc(var(--spacer) / 1.5);
  width: 100%;
  position: relative;
}

.field-text {
  font-weight: var(--font-weight-bold);
}

.field-text .badge.dot {
  margin-left: 5px;
}

.field-helper {
  font-size: var(--font-size-small);
}

.field-helper svg {
  width: 16px;
  height: 16px;
  margin-bottom: -4px;
}

.field-group img {
  width: 100%;
  max-width: 170px;
}

/* ==========================================================================
   4. Labels
   ========================================================================== */
.label {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacer) / 4);
  position: relative;
}

.field-group.center .label {
  align-items: center;
}

.label.center {
  align-items: center;
}

.label-inline {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.label-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
}

.label-title.info {
  position: relative;
  background-position: center left;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 width=%2714%27 height=%2714%27 fill=%27rgba%28183,176,156,1%29%27%3E%3Cpath d=%27M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 9.5C12.8284 9.5 13.5 8.82843 13.5 8C13.5 7.17157 12.8284 6.5 12 6.5C11.1716 6.5 10.5 7.17157 10.5 8C10.5 8.82843 11.1716 9.5 12 9.5ZM14 15H13V10.5H10V12.5H11V15H10V17H14V15Z%27%3E%3C/path%3E%3C/svg%3E");
  padding-left: calc(var(--spacer) / 1.5);
}

.ia .label-title .ia-avatar {
  color: var(--color-agent);
  background: var(--color-agent-light);
  padding: 5px;
  border-radius: var(--radius-inner);
  display: flex;
  margin-bottom: -8px;
  margin-top: -8px;
}

.ia .label-title .ia-avatar svg {
  width: 18px;
  height: 18px;
}

/* ==========================================================================
   5. Champs de saisie
   ========================================================================== */
.field {
  background: var(--color-transparent);
  width: 100%;
  padding: calc(var(--spacer) / 3) 0;
  border: none;
  border-bottom: solid 1px var(--color-secondary-niv-4);
  outline: none !important;
  transition: var(--transition);
  border-radius: 0;
  font-family: var(--font);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
}

.field.ia {
  color: var(--color-agent);
}

.field:hover {
  border-bottom: solid 1px var(--color-secondary-niv-3);
}

.field.ia:hover {
  border-bottom: solid 1px var(--color-agent-light);
}

.field:focus {
  border-bottom: solid 1px var(--color-primary);
}

.field.ia:focus {
  border-bottom: solid 1px var(--color-agent);
}

.ia .ia-field-del {
  color: var(--color-agent);
  background: var(--color-agent-light);
  padding: 5px;
  border-radius: var(--radius-inner);
  display: flex;
  margin-bottom: -8px;
  margin-top: -8px;
  position: absolute;
  bottom: 15px;
  right: 0px;
  transition: var(--transition);
  cursor: pointer;
}

.ia .ia-field-del:hover {
  color: var(--color-alert);
}

.ia .ia-field-del.up {
  top: 5px;
  bottom: inherit;
}

.ia .ia-field-del svg {
  width: 12px;
  height: 12px;
}

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

textarea.field {
  min-height: 100px;
  resize: vertical;
  padding: calc(var(--spacer) / 2);
  background-color: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  border: none !important;
  width: calc(100% - var(--spacer));
}

textarea.field.field-small {
  min-height: inherit;
}

select.field {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 width=%2718%27 height=%2718%27 fill=%27rgba%280,0,0,0.5%29%27%3E%3Cpath d=%27M12 15.0006L7.75732 10.758L9.17154 9.34375L12 12.1722L14.8284 9.34375L16.2426 10.758L12 15.0006Z%27%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: var(--spacer);
}

/* ==========================================================================
   6. Gestion des mots de passe
   ========================================================================== */
.toggle-password {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: var(--color-secondary-niv-4);
  transition: var(--transition);
}

.toggle-password:hover {
  color: var(--color-secondary-niv-3);
}

.toggle-password .eye-icon {
  display: none;
  width: 18px;
  height: 18px;
}

.password-hidden .eye-open {
  display: block;
}

.password-visible .eye-closed {
  display: block;
}

/* ==========================================================================
   7. Cases à cocher
   ========================================================================== */
.checkbox-container {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  cursor: pointer;
  position: relative;
  margin-bottom: calc(var(--spacer) / 4);
}

.field-group .checkbox-container:last-child {
  margin-bottom: 0;
}

.checkbox-container .checkbox-input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkbox-container .checkbox-custom {
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-secondary-niv-3);
  background-color: var(--color-white);
  border-radius: var(--radius-inner);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  flex-shrink: 0;
}

.checkbox-container .checkbox-custom::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: var(--color-primary);
  border-radius: calc(var(--radius-inner) / 2);
  opacity: 0;
  transition: var(--transition);
}

.checkbox-container .checkbox-input:checked ~ .checkbox-custom::after {
  opacity: 1;
}

.checkbox-container .checkbox-input:focus ~ .checkbox-custom {
  border-color: var(--color-primary);
}

.checkbox-container .checkbox-label {
  font-size: var(--font-size-normal);
}

.checkbox-container.checkbox-disabled {
  cursor: not-allowed;
  color: var(--color-secondary-niv-4);
}

/* ==========================================================================
   8. Boutons radio
   ========================================================================== */
input[type=radio]:disabled ~ label {
  cursor: not-allowed;
  color: var(--color-secondary-niv-4);
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--spacer) / 2);
  margin-top: calc(var(--spacer) / 4);
}

.radio-group .radio-container {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  cursor: pointer;
  position: relative;
}

.radio-group .radio-container .radio-input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.radio-group .radio-container .radio-custom {
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-secondary-niv-3);
  background-color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  flex-shrink: 0;
}

.radio-group .radio-container .radio-custom::after {
  content: "";
  width: 10px;
  height: 10px;
  background-color: var(--color-primary);
  border-radius: 50%;
  opacity: 0;
  transition: var(--transition);
}

.radio-group .radio-container .radio-input:checked ~ .radio-custom::after {
  opacity: 1;
}

.radio-group .radio-container .radio-input:focus ~ .radio-custom {
  border-color: var(--color-primary);
}

.radio-group .radio-container .radio-label {
  font-size: var(--font-size-normal);
}

.radio-group-large {
  position: relative;
  width: 100%;
  height: calc(var(--spacer) * 1.5);
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
}

.radio-group-large input[type=radio] {
  display: none;
}

.radio-group-large label {
  position: relative;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
  cursor: pointer;
  transition: var(--transition);
  z-index: 10;
}

.radio-group-large .slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: var(--color-secondary-niv-4);
  transition: var(--transition);
  box-shadow: var(--shadow);
  z-index: 1;
}

.radio-group-large input[type=radio]:checked + label {
  color: var(--color-white);
}

.radio-group-large input.value-default:checked ~ .slider {
  left: 0;
  background: var(--color-secondary-niv-4);
}

.radio-group-large input.value-default:disabled ~ .slider {
  left: 0;
  background: var(--color-secondary-niv-4);
}

.radio-group-large input.value-default:not(:checked) + label {
  color: var(--color-white);
  background: var(--color-secondary-niv-3) !important;
}

.radio-group-large input.value-success + label {
  color: var(--color-success);
}

.radio-group-large input.value-success:checked + label {
  background: var(--color-success);
}

.radio-group-large input.value-success:checked + .slider {
  left: 50%;
  background: var(--color-success);
}

.radio-group-large input.value-alert:not(:checked) + label {
  color: var(--color-alert);
}

.radio-group-large input.value-alert:checked + label {
  background: var(--color-alert);
}

.radio-group-large input.value-alert:checked ~ .slider {
  left: 50%;
  background: var(--color-alert);
}

.radio-group-large.disabled {
  opacity: 0.6;
  pointer-events: none;
  cursor: not-allowed;
}

.radio-group-large input:disabled + label {
  color: var(--color-secondary-niv-4) !important;
  cursor: not-allowed;
}

.radio-group-large input.value-default:disabled .slider {
  background: var(--color-secondary-niv-3) !important;
  left: 0 !important;
}

.radio-group-large input[type=radio]:disabled:checked + label {
  color: var(--color-white) !important;
}

/* ==========================================================================
   9. Interrupteurs (Toggle Switch)
   ========================================================================== */
.toggle-switch {
  position: relative;
  display: inline-block;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  display: none;
}

.toggle-switch .switch-label {
  display: block;
  width: 46px;
  height: 24px;
  background-color: var(--color-secondary-niv-2);
  border-radius: var(--radius-circle);
  cursor: pointer;
  transition: var(--transition);
  position: relative;
}

.toggle-switch .switch-label .switch-button {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  background-color: var(--color-white);
  border-radius: 50%;
  transition: var(--transition);
}

.toggle-switch input:checked + .switch-label {
  background-color: var(--color-primary);
}

.toggle-switch input:checked + .switch-label .switch-button {
  transform: translateX(22px);
}

.toggle-switch input:focus + .switch-label {
  box-shadow: 0 0 1px var(--color-primary);
}

.toggle-switch-avatar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--spacer) / 2);
  margin-top: calc(var(--spacer) / 4);
}

.toggle-switch-avatar input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-switch-avatar .avatar-option {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--color-secondary-niv-1);
  border: 1px solid var(--color-secondary-niv-3);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  transition: var(--transition);
  padding: calc(var(--spacer) / 4);
}

.toggle-switch-avatar .avatar-option:hover {
  border-color: var(--color-secondary-niv-4);
}

.toggle-switch-avatar input[type=radio]:checked + .avatar-option {
  border-color: var(--color-primary);
  background: var(--color-primary-light);
}

.toggle-switch-avatar .video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: var(--radius-inner);
  overflow: hidden;
}

.toggle-switch-avatar .video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.toggle-switch-avatar .avatar-label {
  text-align: center;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-normal);
  color: var(--color-text-black);
  padding: calc(var(--spacer) / 4) 0;
  margin-top: calc(var(--spacer) / 4);
}

.toggle-switch-avatar input[type=radio]:checked + .avatar-option .avatar-label {
  color: var(--color-text-black);
}

@media screen and (max-width: 768px) {
  .toggle-switch-avatar {
    gap: calc(var(--spacer) / 3);
  }
  .toggle-switch-avatar .avatar-option {
    padding: calc(var(--spacer) / 6);
  }
}
/* ==========================================================================
   10. Curseurs (Range Slider)
   ========================================================================== */
.range-container {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  margin-top: calc(var(--spacer) / 4);
}

.range-container .range-slider {
  flex: 1;
  -webkit-appearance: none;
  height: 6px;
  background: var(--color-secondary-niv-2);
  border-radius: var(--radius-circle);
  outline: none;
}

.range-container .range-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-primary);
  cursor: pointer;
}

.range-container .range-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-primary);
  cursor: pointer;
  border: none;
}

.range-container .range-value {
  min-width: 60px;
  text-align: center;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

/* ==========================================================================
   10. Notice
   ========================================================================== */
.field-group .notice {
  margin-top: calc(var(--spacer) / 4);
}

.ia-notice {
  background: var(--gradient-agent);
  color: var(--color-text-white);
  padding: calc(var(--spacer) / 3);
  border-radius: var(--radius-inner);
  display: flex;
  gap: var(--spacer);
  align-items: start;
  justify-content: space-between;
  margin-top: calc(var(--spacer) / 3);
}

.ia-notice .title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-small);
}

.ia-notice .inject {
  background: var(--color-text-white);
  display: flex;
  color: var(--color-agent);
  border-radius: calc(var(--radius-inner) / 2);
  transition: var(--transition);
  cursor: pointer;
}

.ia-notice .inject:hover {
  background: var(--color-agent-light);
}

/* ==========================================================================
   12. Zone de dépôt (Dropzone)
   ========================================================================== */
.dropzone-container {
  position: relative;
  width: 100%;
  margin-top: calc(var(--spacer) / 4);
}

.dropzone-container .dropzone {
  background-color: var(--color-secondary-niv-1);
  border: 2px dashed var(--color-secondary-niv-3);
  border-radius: var(--radius-inner);
  padding: calc(var(--spacer));
  text-align: center;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacer) / 2);
}

.dropzone-container .dropzone:hover,
.dropzone-container .dropzone.dragover {
  background-color: var(--color-secondary-niv-2);
  border-color: var(--color-primary);
}

.dropzone-container .dropzone .dropzone-icon {
  color: var(--color-secondary-niv-4);
  margin-bottom: calc(var(--spacer) / 4);
}

.dropzone-container .dropzone .dropzone-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-black);
}

.dropzone-container .dropzone .dropzone-text {
  font-size: var(--font-size-small);
  color: var(--color-secondary-niv-4);
}

.dropzone-container .dropzone input[type=file] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.dropzone-container .preview-container {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--spacer) / 2);
  margin-top: calc(var(--spacer) / 2);
}

.dropzone-container .preview-container .image-preview {
  position: relative;
  width: 80px;
  height: 80px;
  background-color: var(--color-secondary-niv-1);
  border-radius: var(--radius-inner);
  overflow: hidden;
}

.dropzone-container .preview-container .image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dropzone-container .preview-container .image-preview .remove-image {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 20px;
  height: 20px;
  background-color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-alert);
  font-size: 12px;
  transition: var(--transition);
}

.dropzone-container .preview-container .image-preview .remove-image:hover {
  background-color: var(--color-alert);
  color: var(--color-white);
}

.dropzone-container .preview-container .filename {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
  width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.dropzone-container .preview-container .image-preview.not-found {
  border: 1px solid var(--color-danger);
}

/* ==========================================================================
   13. Groupes de contrôles personnalisés
   ========================================================================== */
.radio-group {
  display: flex;
  gap: calc(var(--spacer) / 4);
  flex-wrap: wrap;
}

.radio-group input[type=radio] {
  display: none;
}

.radio-group input.value-success:checked + label {
  color: var(--color-white);
  background-color: var(--color-success) !important;
}

.radio-group input.value-alert:checked + label {
  color: var(--color-white);
  background-color: var(--color-alert) !important;
}

.radio-option {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  font-family: var(--font);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-black);
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  cursor: pointer;
  transition: var(--transition);
  outline: none;
  box-shadow: none;
  border: none;
}

.field-container.background .radio-option {
  background: var(--color-white);
}

.radio-option:hover {
  background: var(--color-secondary-niv-2);
}

.radio-option svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.radio-group input[type=radio]:checked + label {
  background: var(--color-primary);
}

.ia .radio-group input[type=radio]:checked + label,
.ia .radio-group input[type=radio].ia:checked + label {
  background: var(--gradient-agent);
  color: var(--color-text-white);
}

.checkbox-group {
  display: flex;
  gap: calc(var(--spacer) / 4);
  flex-wrap: wrap;
}

.checkbox-group input[type=checkbox] {
  display: none;
}

.checkbox-group input[type=checkbox]:checked + label {
  background: var(--color-primary) !important;
}

.checkbox-option {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  font-family: var(--font);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-black);
  background: var(--color-secondary-niv-1);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  cursor: pointer;
  transition: var(--transition);
  outline: none;
  box-shadow: none;
  border: none;
}

.field-container.background .checkbox-option {
  background: var(--color-white);
}

.checkbox-option:hover {
  background: var(--color-secondary-niv-2);
}

.checkbox-option svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.checkbox-group input[type=checkbox]:checked + label {
  background: var(--color-primary);
}

/* ==========================================================================
   14. Input File
   ========================================================================== */
.field-file {
  padding: calc(var(--spacer) / 3);
  background: var(--color-secondary-niv-1);
  border: 1px solid var(--color-secondary-niv-3);
  border-radius: var(--radius);
  font-family: var(--font);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-black);
  cursor: pointer;
  transition: var(--transition);
}

.field-file:hover {
  background: var(--color-secondary-niv-2);
  border-color: var(--color-secondary-niv-4);
}

.field-file:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-white);
}

.field-file::file-selector-button {
  padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
  margin-right: calc(var(--spacer) / 2);
  background: var(--color-primary);
  border: none;
  border-radius: var(--radius-inner);
  font-family: var(--font);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: var(--transition);
}

.field-file::file-selector-button:hover {
  background: var(--color-secondary-niv-4);
}

.file-input-container {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
}

.file-input-hidden {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.file-input-custom {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 4);
  font-family: var(--font);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  background: var(--color-primary);
  border-radius: var(--radius);
  padding: calc(var(--spacer) / 3) calc(var(--spacer) / 2);
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
}

.file-input-custom:hover {
  background: var(--color-secondary-niv-2);
}

.file-input-custom svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.file-input-filename {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.file-input-filename.has-file {
  color: var(--color-text-black);
}

/* ==========================================================================
   15. Chargement
   ========================================================================== */
.loading-field {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer) / 2);
  background: var(--color-secondary-niv-1);
  padding: calc(var(--spacer) / 4) var(--spacer) calc(var(--spacer) / 4) calc(var(--spacer) / 4);
  border-radius: var(--radius);
  width: fit-content;
}

.loading-field .loading-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid var(--color-secondary-niv-3);
  border-top: 3px solid var(--color-primary);
  border-radius: var(--radius-circle);
  animation: spin 1s linear infinite;
  flex-shrink: 0;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loading-field .loading-text {
  font-family: var(--font);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  color: var(--color-secondary-niv-4);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNFO0FBTkY7O0FBUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBTEY7O0FBT0E7RUFDRTtBQUpGOztBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFKRjs7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSEY7O0FBS0E7RUFDRTtJQUNFO0VBRkY7QUFDRjtBQUlBO0VBQ0U7SUFDRTtFQUZGO0FBQ0Y7QUFJQTtFQUNDO0VBQ0E7RUFDQztBQUZGOztBQUlBO0VBQ0U7SUFDRTtFQURGO0FBQ0Y7QUFHQTtFQUNFO0FBREY7O0FBR0E7RUFDRTtJQUNFO0lBQ0E7RUFBRjtBQUNGO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUFGOztBQUVBO0VBQ0U7SUFDRTtFQUNGO0FBQ0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBQUNGOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFFRjs7QUFBQTtFQUNFO0VBQ0E7RUFDQTtBQUdGOztBQURBO0VBQ0U7SUFDRTtFQUlGO0FBQ0Y7QUFGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFJRjs7QUFGQTtFQUNFO0FBS0Y7O0FBSEE7RUFDRTtBQU1GOztBQUpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFPRjs7QUFMQTtFQUNFO0FBUUY7O0FBTkE7RUFDRTtFQUNBO0VBQ0E7QUFTRjs7QUFQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFVRjs7QUFSQTtFQUNFO0lBQ0U7RUFXRjtBQUNGO0FBVEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVdGOztBQVRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVlGOztBQVRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVlGOztBQVZBO0VBQ0U7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QTtFQUNFO0lBQ0U7SUFDQTtFQTZGRjtBQUNGO0FBdkZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXlGRjs7QUF2RkE7RUFDRTtJQUNFO0VBMEZGO0FBQ0Y7QUF4RkE7RUFDRTtJQUNFO0VBMEZGO0FBQ0Y7QUF4RkE7RUFDRTtJQUNFO0VBMEZGO0FBQ0Y7QUF4RkE7RUFDRTtJQUNFO0VBMEZGO0FBQ0Y7QUF4RkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VBMEZGO0FBQ0Y7QUF4RkE7RUFDRTtJQUNFO0lBQ0E7RUEwRkY7QUFDRjtBQXhGQTtFQUNFO0lBQ0U7RUEwRkY7QUFDRjtBQXhGQTtFQUNFO0FBMEZGOztBQXhGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEyRkY7O0FBekZBO0VBQ0U7SUFDRTtFQTRGRjtBQUNGO0FBMUZBO0VBQ0U7SUFDRTtFQTRGRjtBQUNGO0FBMUZBO0VBQ0U7SUFDRTtFQTRGRjtBQUNGO0FBMUZBO0VBQ0U7SUFDRTtFQTRGRjtBQUNGO0FBMUZBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RUE0RkY7QUFDRjtBQTFGQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VBNEZGO0FBQ0Y7QUExRkE7RUFDRTtJQUNFO0VBNEZGO0FBQ0Y7QUExRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNEZGOztBQTFGQTtFQUNFO0lBQ0U7RUE2RkY7QUFDRjtBQTNGQTtFQUNFO0lBQ0U7RUE2RkY7QUFDRjtBQTNGQTtFQUNFO0lBQ0U7RUE2RkY7QUFDRjtBQTNGQTtFQUNFO0lBQ0U7RUE2RkY7QUFDRjtBQTNGQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VBNkZGO0FBQ0Y7QUEzRkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFQTZGRjtBQUNGO0FBM0ZBO0VBQ0U7SUFDRTtFQTZGRjtBQUNGO0FBM0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNkZGOztBQTNGQTtFQUNFO0lBQ0U7RUE4RkY7QUFDRjtBQTVGQTtFQUNFO0lBQ0U7RUE4RkY7QUFDRjtBQTVGQTtFQUNFO0lBQ0U7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SUQ7O0FBOUhBO0VBQ0M7QUFpSUQ7O0FBL0hBO0VBQ0M7RUFDQTtFQUNBO0FBa0lEOztBQWhJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBbUlEOztBQWpJQTtFQUNDO0FBb0lEOztBQWpJQTs7K0VBQUE7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb0lEOztBQWxJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcUlEOztBQW5JQTtFQUNDO0lBQUs7RUF1SUo7RUF0SUQ7SUFBTztFQXlJTjtBQUNGO0FBeElBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUEwSUQsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcm9vdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9nZW5lcmFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb25uZXhpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2Zvcm0uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC0tZm9udDogXCJjZW50dXJ5LWdvdGhpY1wiLCBzYW5zLXNlcmlmO1xuXG4gIC0tZm9udC1zaXplLXNtYWxsOiAwLjcwcmVtO1xuICAtLWZvbnQtc2l6ZS1ub3JtYWw6IDAuOTByZW07XG4gIC0tZm9udC1zaXplLWxhcmdlOiAxLjEwcmVtO1xuICAtLWZvbnQtc2l6ZS1leHRyYWxhcmdlOiAycmVtO1xuXG4gIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuXG4gIC0tY29sb3ItYm9keTogI0Y3RjZGNTtcbiAgLS1jb2xvci10ZXh0LWJsYWNrOiAjMDAwMDAwO1xuICAtLWNvbG9yLXRleHQtd2hpdGU6ICNGRkZGRkY7XG5cbiAgLS1jb2xvci1wcmltYXJ5OiAjRkJDQjNCO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICNmZmU1YzU7XG5cbiAgLS1jb2xvci1zZWNvbmRhcnktbml2LTE6ICNGN0Y2RjU7XG4gIC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yOiAjRUZFREU3O1xuICAtLWNvbG9yLXNlY29uZGFyeS1uaXYtMzogI0UyREVEMztcbiAgLS1jb2xvci1zZWNvbmRhcnktbml2LTQ6ICNCN0IwOUM7XG5cbiAgLS1jb2xvci1hbGVydDogI0Y5M0QzRDtcbiAgLS1jb2xvci1hbGVydC1saWdodDogI0Y3RTRFNDtcbiAgLS1jb2xvci1kYW5nZXI6ICNGOTgwM0Q7XG4gIC0tY29sb3ItZGFuZ2VyLWxpZ2h0OiAjRjlEQ0NEO1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICM3OUI1MUM7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodDogI0Q2RjRBNjtcbiAgLS1jb2xvci1pbmZvOiAjMDBiNGQ4O1xuICAtLWNvbG9yLWluZm8tbGlnaHQ6ICNjYWYwZjg7XG5cbiAgLS1jb2xvci10cmFuc3BhcmVudDogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgLS1jb2xvci13aGl0ZTogI0ZGRkZGRjtcbiAgLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMTogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuICAtLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50LW5pdi0yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XG4gIC0tY29sb3ItYmxhY2s6ICMwMDAwMDA7XG4gIC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTE6IHJnYmEoMCwwLDAsMC4wNSk7XG4gIC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTI6IHJnYmEoMCwwLDAsMC4xNSk7XG4gIC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTM6IHJnYmEoMCwwLDAsMC4zNSk7XG5cbiAgLS1jb2xvci1hZ2VudDogIzhCNUNGNjtcbiAgLS1jb2xvci1hZ2VudC1saWdodDogI2U4ZTRmNztcbiAgLS1ncmFkaWVudC1hZ2VudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzhCNUNGNiAwJSwgI0E4NTVGNyA1MCUsICNDMDg0RkMgMTAwJSk7XG4gIC0tZ3JhZGllbnQtYWdlbnQtaG92ZXI6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2RDI4RDkgMCUsICM3QzNBRUQgNTAlLCAjOEI1Q0Y2IDEwMCUpO1xuXG4gIC0tc3BhY2VyOiAzMHB4O1xuICAtLXJhZGl1czogOHB4O1xuICAtLXJhZGl1cy1pbm5lcjogNnB4O1xuICAtLXJhZGl1cy1jaXJjbGU6IDEwMDBweDtcbiAgLS10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gIC0tc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpLFxuICAwcHggNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDUpLFxuICAwcHggMTFweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA1KSxcbiAgMHB4IDE5cHggMTNweCByZ2JhKDAsIDAsIDAsIDAuMDUpLFxuICAwcHggMzBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0tc2hhZG93LXJldmVyc2U6IDBweCAtMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZm9udC1zaXplLXNtYWxsOiAwLjYwcmVtO1xuICAgIC0tZm9udC1zaXplLW5vcm1hbDogMC44MHJlbTtcbiAgICAtLWZvbnQtc2l6ZS1sYXJnZTogMXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1leHRyYWxhcmdlOiAxLjZyZW07XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVEFCTEUgREVTIE1BVEnDiFJFU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIFJlc2V0IGV0IMOpbMOpbWVudHMgZGUgYmFzZVxuMi4gUHJvcHJpw6l0w6lzIGfDqW7DqXJhbGVzXG4zLiBUeXBvZ3JhcGhpZVxuNC4gQ291bGV1cnNcbjUuIFV0aWxpdGFpcmVzXG42LiBDbGFzcyA6IEJ1dHRvblxuNy4gQ2xhc3MgOiBCYWRnZVxuOC4gQ2xhc3MgOiBUb29sdGlwXG45LiBDbGFzcyA6IEJyZWFkY3J1bWJcbjEwLiBDbGFzcyA6IFNxdWFyZSBJdGVtIEFkZFxuMTEuIENsYXNzIDogU3F1YXJlIFNldHRpbmcgQnRuXG4xMi4gQ2xhc3MgOiBOb3RpY2VcbjEzLiBDbGFzcyA6IElBIE92ZXJsYXlcbjE0LiBNZW51IGfDqW7DqXJhbCBwb3VyIG1vZGFsXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gUmVzZXQgZXQgw6lsw6ltZW50cyBkZSBiYXNlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuaHRtbCB7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib2R5KTsgfVxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbm9ybWFsKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9keSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMi4gUHJvcHJpw6l0w6lzIGfDqW7DqXJhbGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXQgeyBmb250LWZhbWlseTogdmFyKC0tZm9udCk7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpOyB9XG5idXR0b24geyBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7IGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5saW5rIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4ub3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLmQtbm9uZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZm9sbG93LWhyZWY6bm90KFtkYXRhaHJlZj1cIlwiXSkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmhyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZXIpIDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBociB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSAwO1xuICB9XG59XG5cbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBtYXJnaW46IDA7IH1cbmlucHV0W3R5cGU9bnVtYmVyXSB7IC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbltkYXRhLXNtb290aC1zY3JvbGwtdG9dIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4uc3dpdGNoLXZpZXctaGFuZGxlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMy4gVHlwb2dyYXBoaWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9udCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250KTsgfVxuLmZvbnQtc2l6ZS1zbWFsbCB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTsgfVxuLmZvbnQtc2l6ZS1ub3JtYWwgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpOyB9XG4uZm9udC1zaXplLWxhcmdlIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpOyB9XG4uZm9udC1zaXplLWV4dHJhbGFyZ2UgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1leHRyYWxhcmdlKTsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpOyB9XG4uZm9udC13ZWlnaHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTsgfVxuLmZvbnQtc3Ryb2tlIHsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDQuIENvdWxldXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbG9yLWJvZHkgeyBjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7IH1cbi5jb2xvci10ZXh0LWJsYWNrIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spOyB9XG4uY29sb3ItdGV4dC13aGl0ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTsgfVxuLmNvbG9yLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5jb2xvci1zZWNvbmRhcnktbml2LTEgeyBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTsgfVxuLmNvbG9yLXNlY29uZGFyeS1uaXYtMiB7IGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpOyB9XG4uY29sb3Itc2Vjb25kYXJ5LW5pdi0zIHsgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7IH1cbi5jb2xvci1zZWNvbmRhcnktbml2LTQgeyBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTsgfVxuLmNvbG9yLXN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7IH1cbi5jb2xvci1zdWNjZXNzLWxpZ2h0IHsgY29sb3I6IHZhcigtLWNvbG9yLWluZmxpZ2h0KTsgfVxuLmNvbG9yLWFsZXJ0IHsgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTsgfVxuLmNvbG9yLWFsZXJ0LWxpZ2h0IHsgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTsgfVxuLmNvbG9yLWRhbmdlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpOyB9XG4uY29sb3ItZGFuZ2VyLWxpZ2h0ICB7IGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpOyB9XG4uY29sb3Itc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmNvbG9yLXN1Y2Nlc3MtbGlnaHQgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodCk7IH1cbi5jb2xvci10cmFuc3BhcmVudCB7IGNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7IH1cbi5jb2xvci13aGl0ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IH1cbi5jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMSB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMSk7IH1cbi5jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMiB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMik7IH1cbi5jb2xvci1ibGFjayB7IGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7IH1cbi5jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMSB7IGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMSk7IH1cbi5jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMiB7IGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMik7IH1cblxuLmJhY2tncm91bmQtYm9keSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvZHkpOyB9XG4uYmFja2dyb3VuZC10ZXh0LWJsYWNrIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7IH1cbi5iYWNrZ3JvdW5kLXRleHQtd2hpdGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTsgfVxuLmJhY2tncm91bmQtcHJpbWFyeSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uYmFja2dyb3VuZC1zZWNvbmRhcnktbml2LTEgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpOyB9XG4uYmFja2dyb3VuZC1zZWNvbmRhcnktbml2LTIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpOyB9XG4uYmFja2dyb3VuZC1zZWNvbmRhcnktbml2LTMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpOyB9XG4uYmFja2dyb3VuZC1zZWNvbmRhcnktbml2LTQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpOyB9XG4uYmFja2dyb3VuZC1pbmZvIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mbyApOyB9XG4uYmFja2dyb3VuZC1pbmZvLWxpZ2h0IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1saWdodCk7IH1cbi5iYWNrZ3JvdW5kLWFsZXJ0IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQgKTsgfVxuLmJhY2tncm91bmQtYWxlcnQtbGlnaHQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7IH1cbi5iYWNrZ3JvdW5kLWRhbmdlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7IH1cbi5iYWNrZ3JvdW5kLWRhbmdlci1saWdodCAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpOyB9XG4uYmFja2dyb3VuZC1zdWNjZXNzIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5iYWNrZ3JvdW5kLXN1Y2Nlc3MtbGlnaHQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0KTsgfVxuLmJhY2tncm91bmQtdHJhbnNwYXJlbnQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7IH1cbi5iYWNrZ3JvdW5kLXdoaXRlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpOyB9XG4uYmFja2dyb3VuZC13aGl0ZS10cmFuc3BhcmVudC1uaXYtMSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50LW5pdi0xKTsgfVxuLmJhY2tncm91bmQtd2hpdGUtdHJhbnNwYXJlbnQtbml2LTIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMik7IH1cbi5iYWNrZ3JvdW5kLWJsYWNrIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2spOyB9XG4uYmFja2dyb3VuZC1ibGFjay10cmFuc3BhcmVudC1uaXYtMSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0xKTsgfVxuLmJhY2tncm91bmQtYmxhY2stdHJhbnNwYXJlbnQtbml2LTIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDUuIFV0aWxpdGFpcmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJhZGl1cyB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IH1cbi5yYWRpdXMtaW5uZXIgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpOyB9XG4ucmFkaXVzLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpOyB9XG4udHJhbnNpdGlvbiB7IHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pOyB9XG4uYm94LXNoYWRvdyB7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IH1cbi5ib3gtc2hhZG93LXJldmVyc2UgeyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcmV2ZXJzZSk7IH1cblxuLnJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tLTEgeyBtYXJnaW46IGNhbGModmFyKC0tc3BhY2VyKSk7IH1cbi5tLTIgeyBtYXJnaW46IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpOyB9XG4ubS0zIHsgbWFyZ2luOiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm0tNCB7IG1hcmdpbjogY2FsYyh2YXIoLS1zcGFjZXIpICogNCk7IH1cbi5tLTEtMiB7IG1hcmdpbjogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7IH1cbi5tLTEtNCB7IG1hcmdpbjogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi5tdC0xIHsgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpKTsgfVxuLm10LTIgeyBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLm10LTMgeyBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm10LTQgeyBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0KTsgfVxuLm10LTEtMiB7IG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ubXQtMS00IHsgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi5tYi0xIHsgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpKTsgfVxuLm1iLTIgeyBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLm1iLTMgeyBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm1iLTQgeyBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0KTsgfVxuLm1iLTEtMiB7IG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ubWItMS00IHsgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi5tbC0xIHsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2VyKSk7IH1cbi5tbC0yIHsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpOyB9XG4ubWwtMyB7IG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm1sLTQgeyBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpICogNCk7IH1cbi5tbC0xLTIgeyBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7IH1cbi5tbC0xLTQgeyBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi5tci0xIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikpOyB9XG4ubXItMiB7IG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7IH1cbi5tci0zIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm1yLTQgeyBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpOyB9XG4ubXItMS0yIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTsgfVxuLm1yLTEtNCB7IG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi8qIC5taS0xIHsgbWFyZ2luLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpKTsgfVxuLm1pLTIgeyBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLm1pLTMgeyBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm1pLTQgeyBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0KTsgfVxuLm1pLTEtMiB7IG1hcmdpbi1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ubWktMS00IHsgbWFyZ2luLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH1cbi5tYi0xIHsgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikpOyB9XG4ubWItMiB7IG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7IH1cbi5tYi0zIHsgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikgKiAzKTsgfVxuLm1iLTQgeyBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpOyB9XG4ubWItMS0yIHsgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTsgfVxuLm1iLTEtNCB7IG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7IH0gKi9cblxuXG4ucC0xIHsgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpKTsgfVxuLnAtMiB7IHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpOyB9XG4ucC0zIHsgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wLTQgeyBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0KTsgfVxuLnAtMS0yIHsgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7IH1cbi5wLTEtNCB7IHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucHQtMCB7IHBhZGRpbmctdG9wOiAwOyB9XG4ucHQtMSB7IHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNlcikpOyB9XG4ucHQtMiB7IHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLnB0LTMgeyBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wdC00IHsgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpOyB9XG4ucHQtMS0yIHsgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ucHQtMS00IHsgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucGItMSB7IHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikpOyB9XG4ucGItMiB7IHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLnBiLTMgeyBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wYi00IHsgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpOyB9XG4ucGItMS0yIHsgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ucGItMS00IHsgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucGwtMSB7IHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpKTsgfVxuLnBsLTIgeyBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpOyB9XG4ucGwtMyB7IHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wbC00IHsgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlcikgKiA0KTsgfVxuLnBsLTEtMiB7IHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7IH1cbi5wbC0xLTQgeyBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucHItMSB7IHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSk7IH1cbi5wci0yIHsgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7IH1cbi5wci0zIHsgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wci00IHsgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpICogNCk7IH1cbi5wci0xLTIgeyBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTsgfVxuLnByLTEtNCB7IHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucGktMSB7IHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNlcikpOyB9XG4ucGktMiB7IHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTsgfVxuLnBpLTMgeyBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5waS00IHsgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpOyB9XG4ucGktMS0yIHsgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpOyB9XG4ucGktMS00IHsgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG4ucGItMSB7IHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSk7IH1cbi5wYi0yIHsgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7IH1cbi5wYi0zIHsgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpICogMyk7IH1cbi5wYi00IHsgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpICogNCk7IH1cbi5wYi0xLTIgeyBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTsgfVxuLnBiLTEtNCB7IHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyB9XG5cbi5tLWF1dG8geyBtYXJnaW46IGF1dG87IH1cbi5teC1hdXRvIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuLm15LWF1dG8geyBtYXJnaW4tdG9wOiBhdXRvOyBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG5cbi5mbGV4IHsgZGlzcGxheTogZmxleDt9XG4uZmxleC1qdXN0aWZ5LXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuLmZsZXgtanVzdGlmeS1lbmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDsgfVxuLmZsZXgtanVzdGlmeS1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLmZsZXgtYWxpZ24tc3RhcnQgeyBhbGlnbi1pdGVtczogc3RhcnQ7IH1cbi5mbGV4LWFsaWduLWVuZCB7IGFsaWduLWl0ZW1zOiBlbmQ7IH1cbi5mbGV4LWFsaWduLWNlbnRlciB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5nYXAtc3BhY2VyIHsgZ2FwOiB2YXIoLS1zcGFjZXIpOyB9XG4uZ2FwLXNwYWNlci1zbWFsbCB7IGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7IH1cbi5mbGV4LWJhc2lzLTI1IHsgZmxleC1iYXNpczogMjUlOyB9XG5cbi53LTEwMCB7IHdpZHRoOiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBCdXR0b25cbiAgIE5vdGUgOiAuYnV0dG9uID0gZ2xvYmFsIC8gLmJ0biA9IHRlbXBsYXRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xufVxuLmJ1dHRvbjpoYXMoPiBzcGFuKTpub3QoOmhhcyg+IHN2ZykpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMykgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uYnV0dG9uOmhhcyg+IHN2ZyArIHNwYW4pIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uYnV0dG9uOmhhcyg+IHNwYW4gKyBzdmcpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uYnV0dG9uLnNtYWxsIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KSBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG59XG4uYnV0dG9uLnNtYWxsOmhhcyg+IHNwYW4pOm5vdCg6aGFzKD4gc3ZnKSkge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDYpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLmJ1dHRvbi5zbWFsbDpoYXMoPiBzdmcgKyBzcGFuKSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG59XG4uYnV0dG9uLnNtYWxsOmhhcyg+IHNwYW4gKyBzdmcpIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KSBjYWxjKHZhcigtLXNwYWNlcikgLyA4KSBjYWxjKHZhcigtLXNwYWNlcikgLyA4ICkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uYnV0dG9uLmZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idXR0b24ubm90LWZ1bGwge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG4uYnV0dG9uLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uYnV0dG9uLmluZm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuLmJ1dHRvbi5pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cbi5idXR0b24uaW5mby5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xufVxuLmJ1dHRvbi5hbGVydCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuLmJ1dHRvbi5hbGVydDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmJ1dHRvbi5kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4uYnV0dG9uLmRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG4uYnV0dG9uLmRhbmdlci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5idXR0b24ubGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4uYnV0dG9uLmxpZ2h0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuLmJ1dHRvbi5saWdodC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4uYnV0dG9uLmlhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQtYWdlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4uYnV0dG9uLmlhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWdlbnQpO1xufVxuLmJ1dHRvbi5pYS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG59XG4uYnV0dG9uIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzKSAvIDIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMTApO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG59XG4uYnV0dG9uLnNtYWxsIHN2ZyB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpIC8gMik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMTApO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbn1cbi5idXR0b246aG92ZXIgc3ZnIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uYnV0dG9uLnN1Y2Nlc3Mgc3ZnIHt9XG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIgc3ZnIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cbi5idXR0b24uaW5mbyBzdmcge31cbi5idXR0b24uaW5mbzpob3ZlciBzdmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuLmJ1dHRvbi5hbGVydCBzdmcge31cbi5idXR0b24uYWxlcnQ6aG92ZXIgc3ZnIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4uYnV0dG9uLmRhbmdlciBzdmcge31cbi5idXR0b24uZGFuZ2VyOmhvdmVyIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cbi5idXR0b24ubGlnaHQgc3ZnIHt9XG4uYnV0dG9uLmxpZ2h0OmhvdmVyIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cbi5idXR0b24uaWEgc3ZnIHt9XG4uYnV0dG9uLmlhOmhvdmVyIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFnZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIEJhZGdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0xKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4gLmJhZGdlLmxpbms6aG92ZXIsXG4uYmFkZ2UuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5iYWRnZS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG4uYmFkZ2UucHJpbWFyeS1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuIC5iYWRnZS5wcmltYXJ5LWxpZ2h0Lmxpbms6aG92ZXIsXG4uYmFkZ2UucHJpbWFyeS1saWdodC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cbi5iYWRnZS5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uYmFkZ2Uuc3VjY2Vzcy1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4gLmJhZGdlLnN1Y2Nlc3MtbGlnaHQubGluazpob3Zlcixcbi5iYWRnZS5zdWNjZXNzLWxpZ2h0LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodCk7XG59XG4uYmFkZ2UuaW5mbyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWluZm8pO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmJhZGdlLmluZm8tbGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xufVxuIC5iYWRnZS5pbmZvLWxpZ2h0Lmxpbms6aG92ZXIsXG4uYmFkZ2UuaW5mby1saWdodC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8tbGlnaHQpO1xufVxuLmJhZGdlLmRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uYmFkZ2UuZGFuZ2VyLWxpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4gLmJhZGdlLmRhbmdlci1saWdodC5saW5rOmhvdmVyLFxuLmJhZGdlLmRhbmdlci1saWdodC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyLWxpZ2h0KTtcbn1cbi5iYWRnZS5hbGVydCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5iYWRnZS5hbGVydC1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbiAuYmFkZ2UuYWxlcnQtbGlnaHQubGluazpob3Zlcixcbi5iYWRnZS5hbGVydC1saWdodC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7XG59XG4uYmFkZ2UuaWEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uYmFkZ2UuaWEtbGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG59XG4gLmJhZGdlLmlhLWxpZ2h0Lmxpbms6aG92ZXIsXG4uYmFkZ2UuaWEtbGlnaHQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQpO1xuICBjb2xvcjogIHZhcigtLWNvbG9yLWFnZW50LWxpZ2h0KTtcbn1cbi5iYWRnZS5kb3Qge1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0zKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG4uYmFkZ2UucHJpbWFyeS5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5iYWRnZS5zdWNjZXNzLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmJhZGdlLmluZm8uZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mbyk7XG59XG4uYmFkZ2UuZGFuZ2VyLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4uYmFkZ2UuYWxlcnQuZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmJhZGdlLmlhLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFnZW50KTtcbn1cbi5iYWRnZSAuZG90IHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLmJhZGdlLnByaW1hcnktbGlnaHQgLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuIC5iYWRnZS5wcmltYXJ5LWxpZ2h0Lmxpbms6aG92ZXIgLmRvdCxcbi5iYWRnZS5wcmltYXJ5LWxpZ2h0LmFjdGl2ZSAuZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG4uYmFkZ2Uuc3VjY2Vzcy1saWdodCAuZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4gLmJhZGdlLnN1Y2Nlc3MtbGlnaHQubGluazpob3ZlciAuZG90LFxuLmJhZGdlLnN1Y2Nlc3MtbGlnaHQuYWN0aXZlIC5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0KTtcbn1cbi5iYWRnZS5pbmZvLWxpZ2h0IC5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cbiAuYmFkZ2UuaW5mby1saWdodC5saW5rOmhvdmVyIC5kb3QsXG4uYmFkZ2UuaW5mby1saWdodC5hY3RpdmUgLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWluZm8tbGlnaHQpO1xufVxuLmJhZGdlLmRhbmdlci1saWdodCAuZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbiAuYmFkZ2UuZGFuZ2VyLWxpZ2h0Lmxpbms6aG92ZXIgLmRvdCxcbi5iYWRnZS5kYW5nZXItbGlnaHQuYWN0aXZlIC5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpO1xufVxuLmJhZGdlLmFsZXJ0LWxpZ2h0IC5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG4gLmJhZGdlLmFsZXJ0LWxpZ2h0Lmxpbms6aG92ZXIgLmRvdCxcbi5iYWRnZS5hbGVydC1saWdodC5hY3RpdmUgLmRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbn1cbi5iYWRnZS5pYSAuZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQpO1xufVxuIC5iYWRnZS5pYS1saWdodC5saW5rOmhvdmVyIC5kb3QsXG4uYmFkZ2UuaWEtbGlnaHQuYWN0aXZlIC5kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBUb29sdGlwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMyk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzKSAvIDIpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB6LWluZGV4OiA5OTk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlIDAuMDVzLCB0cmFuc2Zvcm0gMC4ycyBlYXNlIDAuMDVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIG1heC13aWR0aDogMjAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBCcmVhZGNydW1iXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJlYWRjcnVtYiB7fVxuLmJyZWFkY3J1bWIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJyZWFkY3J1bWIgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYnJlYWRjcnVtYiB1bCBsaTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J3JnYmEoMjI2LDIyMiwyMTEsMSknJTNFJTNDcGF0aCBkPSdNMTIuMTcxNyAxMi4wMDA1TDkuMzQzMjYgOS4xNzIwM0wxMC43NTc1IDcuNzU3ODFMMTUuMDAwMSAxMi4wMDA1TDEwLjc1NzUgMTYuMjQzMUw5LjM0MzI2IDE0LjgyODlMMTIuMTcxNyAxMi4wMDA1WiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMjBweDtcbiAgdG9wOiAtMnB4O1xufVxuLmJyZWFkY3J1bWIgdWwgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnJlYWRjcnVtYiB1bCBsaSBhIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5icmVhZGNydW1iIHVsIGxpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLmJyZWFkY3J1bWIgdWwgbGkgYS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5icmVhZGNydW1iIHVsIGxpIGEuYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5icmVhZGNydW1iIHVsIGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEwLiBTcXVhcmUgSXRlbSBBZGRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zcXVhcmUtaXRlbS1hZGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE1O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogY2FsYygxMDAlICsgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikpO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3F1YXJlLWl0ZW0tYWRkIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSA1cHgpO1xuICB9XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5zcXVhcmUtaXRlbS1hZGQtY29udGVudCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHRvcDogMTIwcHg7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnNxdWFyZS1pdGVtLWFkZCAuc3F1YXJlLWl0ZW0tYWRkLWNvbnRlbnQge1xuICAgIHRvcDogMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcXVhcmUtaXRlbS1hZGQgLnNxdWFyZS1pdGVtLWFkZC1jb250ZW50IHtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbiAgLnN0aWNreS1uYXYgLnNxdWFyZS1pdGVtLWFkZCAuc3F1YXJlLWl0ZW0tYWRkLWNvbnRlbnQge1xuICAgIHRvcDogNzBweDtcbiAgfVxufVxuLnNxdWFyZS1pdGVtLWFkZCAuYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4uc3VjY2VzcyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4uc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodCk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4ucHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4ucHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4uYWxlcnQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4uYWxlcnQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7XG59XG4uc3F1YXJlLWl0ZW0tYWRkIC5idG4gc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5zcXVhcmUtaXRlbS1hZGQgLmJ0biBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNxdWFyZS1pdGVtLWFkZCAuYnRuIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICB9XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTEuIFNxdWFyZSBTZXR0aW5nIEJ0blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNxdWFyZS1zZXR0aW5nLWJ0biB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNxdWFyZS1zZXR0aW5nLWJ0biB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIH1cbn1cbi5zcXVhcmUtc2V0dGluZy1idG46aG92ZXIsXG4uc3F1YXJlLXNldHRpbmctYnRuLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uc3F1YXJlLXNldHRpbmctYnRuLndoaXRlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLnNxdWFyZS1zZXR0aW5nLWJ0biBzdmcge31cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuc3F1YXJlLXNldHRpbmctYnRuIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG59XG4uc3F1YXJlLXNldHRpbmctbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IGNhbGMoMTAwJSArIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpKTtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgei1pbmRleDogNDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXNwYWNlcikgLyAtMikpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtOHB4O1xuICByaWdodDogOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5zcXVhcmUtc2V0dGluZy1uYXYudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uc3F1YXJlLXNldHRpbmctbmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaSB7fVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaSAubmF2LWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zcXVhcmUtc2V0dGluZy1uYXYgdWwgbGk6bGFzdC1jaGlsZCAubmF2LWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaSAubmF2LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaS5kaXNhYmxlZCAubmF2LWl0ZW0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaS5hbGVydCAubmF2LWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaS53YXJuaW5nIC5uYXYtaXRlbSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaS5zdWNjZXNzIC5uYXYtaXRlbSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zcXVhcmUtc2V0dGluZy1uYXYgdWwgbGkuc2VwYXJhdG9yIC5uYXYtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnNxdWFyZS1zZXR0aW5nLW5hdiB1bCBsaS5zZXBhcmF0b3ItdXAgLm5hdi1pdGVtIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEyLiBOb3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm90aWNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4ubm90aWNlIHVsIHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5ub3RpY2UgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5ub3RpY2UgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubm90aWNlIHVsIGxpLnN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4ubm90aWNlIHVsIGxpLmVycm9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5ub3RpY2UgdWwgbGkud2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuLm5vdGljZSB1bCBsaS5pbmZvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xufVxuLm5vdGljZSB1bCBsaSBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cbi5ub3RpY2UgdWwgbGkgdWwge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbn1cbi5ub3RpY2UgdWwgbGkgdWwgbGkge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbn1cbi5ub3RpY2UgdWwgbGkgLmFjdGlvbiB7fVxuLm5vdGljZSB1bCBsaSAuYWN0aW9uIGJ1dHRvbixcbi5ub3RpY2UgdWwgbGkgLmFjdGlvbiBhIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5vdGljZSB1bCBsaSAuYWN0aW9uIGJ1dHRvbjpob3Zlcixcbi5ub3RpY2UgdWwgbGkgLmFjdGlvbiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5ub3RpY2UgdWwgbGkgdWwge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlcik7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5vdGljZSB1bCBsaSB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cbi5ub3RpY2UubWVzc2FnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4ubm90aWNlLm1lc3NhZ2Ugc3ZnIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi13aWR0aDogNDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgZmlsbDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG4ubm90aWNlLm1lc3NhZ2UgLnRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4ubm90aWNlLm1lc3NhZ2UgLnRleHQge31cbi5ub3RpY2UubWVzc2FnZSBociB7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG4ubm90aWNlLm1lc3NhZ2UgdWwgbGkge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm5vdGljZSB1bCBsaSBwcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLm5vdGljZS1jb2xvcmVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4ubm90aWNlLWNvbG9yZWQgc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ubm90aWNlLWNvbG9yZWQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4ubm90aWNlLWNvbG9yZWQucHJpbWFyeS1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4ubm90aWNlLWNvbG9yZWQucHJpbWFyeS5ib3JkZXJlZCB7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5ub3RpY2UtY29sb3JlZC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4ubm90aWNlLWNvbG9yZWQuc2Vjb25kYXJ5LmJvcmRlcmVkIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5ub3RpY2UtY29sb3JlZC5hbGVydCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuLm5vdGljZS1jb2xvcmVkLmFsZXJ0LWxpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLm5vdGljZS1jb2xvcmVkLmFsZXJ0LmJvcmRlcmVkIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4ubm90aWNlLWNvbG9yZWQuZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuLm5vdGljZS1jb2xvcmVkLmRhbmdlci1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuLm5vdGljZS1jb2xvcmVkLmRhbmdlci5ib3JkZXJlZCB7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLWRhbmdlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4ubm90aWNlLWNvbG9yZWQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4ubm90aWNlLWNvbG9yZWQuc3VjY2Vzcy1saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4ubm90aWNlLWNvbG9yZWQuc3VjY2Vzcy5ib3JkZXJlZCB7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5ub3RpY2UtY29sb3JlZC5pbmZvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mbyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cbi5ub3RpY2UtY29sb3JlZC5pbmZvLWxpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cbi5ub3RpY2UtY29sb3JlZC5pbmZvLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItaW5mby1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLm5vdGljZS1jb2xvcmVkLmFnZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG4ubm90aWNlLWNvbG9yZWQuYWdlbnQtbGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG59XG4ubm90aWNlLWNvbG9yZWQuYWdlbnQuYm9yZGVyZWQge1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMTMuMSBDbGFzcyA6IElBIE92ZXJsYXlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5pYS1vdmVybGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJvcmRlcjogc29saWQgMnB4IHZhcigtLWNvbG9yLWFnZW50KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB6LWluZGV4OiAyMDtcbn1cbi5pYS1vdmVybGF5IC5pYS1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hZ2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgcGFkZGluZzogMnB4IDJweCAwcHggMHB4O1xuICAgei1pbmRleDogMjA7XG59XG4uaWEtb3ZlcmxheSAuaWEtaW5kaWNhdG9yIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4xMy4yIENsYXNzIDogRGVsZXRlIE92ZXJsYXlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kZWxldGUtb3ZlcmxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXI6IHNvbGlkIDJweCB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgei1pbmRleDogMjA7XG59XG4uZGVsZXRlLW92ZXJsYXkgLmRlbGV0ZS1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgcGFkZGluZzogMnB4IDJweCAwcHggMHB4O1xuICAgei1pbmRleDogMjA7XG59XG4uZGVsZXRlLW92ZXJsYXkgLmRlbGV0ZS1pbmRpY2F0b3Igc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEzLjEgQ2xhc3MgOiBGYXZvcml0ZSBPdmVybGF5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmF2b3JpdGUtb3ZlcmxheTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJvcmRlcjogc29saWQgMnB4IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzKSAvIDEuNSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTU7XG59XG4uZmF2b3JpdGUtb3ZlcmxheSAuZmF2b3JpdGUtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgY2FsYyh2YXIoLS1yYWRpdXMpIC8gMikgMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHotaW5kZXg6IDE1O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uZmF2b3JpdGUtb3ZlcmxheSAuZmF2b3JpdGUtaW5kaWNhdG9yIHN2ZyB7XG4gICB3aWR0aDogMTJweDtcbiAgIGhlaWdodDogMTJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE0LiBNZW51IGfDqW7DqXJhbCBwb3VyIG1vZGFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWVudSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLm1lbnUgdWwge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm1lbnUgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAxLjUpO1xufVxuLm1lbnUgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubWVudSB1bCAuaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1lbnUgdWwgLml0ZW0uYWN0aXZlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5tZW51IHVsIC5pdGVtLmFsZXJ0IHt9XG4ubWVudSB1bCAuaXRlbSAuaW5kaWNhdG9yIHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5tZW51IHVsIC5pdGVtOmhvdmVyIC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5tZW51IHVsIC5pdGVtLmFjdGl2ZSAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubWVudSB1bCAuaXRlbS5hbGVydCAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xufVxuLm1lbnUgdWwgLml0ZW0uYWxlcnQ6aG92ZXIgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5tZW51IHVsIC5pdGVtIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLm1lbnUgdWwgLml0ZW0gLmJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMHB4O1xuICB0b3A6IC01cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxNS4gTm90aWZpY2F0aW9ucyBIZWFkZXIgLSBBbmltYXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm90aWZpY2F0aW9uLXByZXZpZXcgdWwgbGkge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubm90aWZpY2F0aW9uLXByZXZpZXcgLm5vdGlmaWNhdGlvbi1hY3Rpb24gLm5vdGlmaWNhdGlvbi1tYXJrLXJlYWQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ub3RpZmljYXRpb24tcHJldmlldyAubm90aWZpY2F0aW9uLWFjdGlvbiAubm90aWZpY2F0aW9uLW1hcmstcmVhZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbn1cblxuLm5vdGlmaWNhdGlvbi1wcmV2aWV3IC5ub3RpZmljYXRpb24tYWN0aW9uIC5ub3RpZmljYXRpb24tbWFyay1yZWFkOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxNi4gVGFic1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBoZWlnaHQ6IDRweDtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1oZWFkZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtaGVhZGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlciAudGFicy1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAxLjUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMCAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC50YWJzLWNvbnRhaW5lciAudGFicy1oZWFkZXIgLnRhYnMtYnRuIHtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMykgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgfVxufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlciAudGFicy1idG4gc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGFicy1jb250YWluZXIgLnRhYnMtaGVhZGVyIC50YWJzLWJ0biBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xuICB9XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtaGVhZGVyIC50YWJzLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1oZWFkZXIgLnRhYnMtYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICB6LWluZGV4OiAyO1xufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlciAudGFicy1idG4uZGFuZ2VyLFxuLnRhYnMtY29udGFpbmVyIC50YWJzLWhlYWRlciAudGFicy1idG4uYWN0aXZlLmRhbmdlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtaGVhZGVyIC50YWJzLWJ0bi5kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLXBhbmVsLWlubmVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLXBhbmVsLWlubmVyIHtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLXBhbmVsLWlubmVyIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbn1cbi50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLXBhbmVsLWlubmVyIHAge31cbi50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLWFjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGFicy1hY3Rpb24gLmFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGFicy1jb250YWluZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGFicy1hY3Rpb24gLmFjdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKS8yKTtcbiAgfVxufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRhYnMtYWN0aW9uIC5hY3Rpb24gLmxlZnQsXG4udGFicy1jb250YWluZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGFicy1hY3Rpb24gLmFjdGlvbiAucmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRhYnMtY29udGFpbmVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRhYnMtYWN0aW9uIC5hY3Rpb24gLnJpZ2h0IHtcbiAgICBvcmRlcjogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLnRhYnMtY29udGFpbmVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRhYnMtYWN0aW9uIC5hY3Rpb24gLmxlZnQge1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLWFjdGlvbiAuYWN0aW9uIC5yaWdodCA+ICosXG4gIC50YWJzLWNvbnRhaW5lciAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50YWJzLWFjdGlvbiAuYWN0aW9uIC5sZWZ0ID4gKiB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLnRhYnMtY29udGFpbmVyIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRhYnMtYWN0aW9uIC5tb2RhbC1hY3Rpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4udGFicy1jb250YWluZXIgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGFicy1hY3Rpb24gLm5vdGljZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAxNy4gTWluaSBGaWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWluaS1maWxlcy1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5taW5pLWZpbGVzLXJlc3BvbnNpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODYwcHgpIHtcbiAgLm1pbmktZmlsZXMge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIHZhcigtLXNwYWNlcik7XG4gIH1cbn1cbi5taW5pLWZpbGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA2KTtcbn1cbi5taW5pLWZpbGVzIC5maWxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4ubWluaS1maWxlcyAuZmlsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG4ubWluaS1maWxlcyAuZmlsZS5oaWRkZW4tZmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG59XG4ubWluaS1maWxlcyAuZmlsZS5zaG93aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYW5pbWF0aW9uOiBtaW5pRmlsZVNsaWRlSW4gMC4zcyBlYXNlIGZvcndhcmRzO1xufVxuXG4ubWluaS1maWxlcyAuZmlsZS5oaWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbmltYXRpb246IG1pbmlGaWxlU2xpZGVPdXQgMC4zcyBlYXNlIGZvcndhcmRzO1xufVxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtc3RhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDY1cHg7XG59XG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLXR5cGUgaW1nIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLW5hbWUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLWFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHdpZHRoOiAxNTBweDtcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XG59XG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS1hY3Rpb24gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLWFjdGlvbiBidXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG59XG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS1hY3Rpb24gc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLWFjdGlvbiBhLFxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtYWN0aW9uIGJ1dHRvbixcbi5taW5pLWZpbGVzIC5maWxlIC5maWxlLWFjdGlvbiAuZGVsZXRlIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICB3aWR0aDogMjhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtYWN0aW9uIGEsXG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS1hY3Rpb24gYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTEpO1xufVxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtYWN0aW9uIGE6aG92ZXIsXG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS1hY3Rpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTIpO1xufVxuLm1pbmktZmlsZXMgLmZpbGUgLmZpbGUtYWN0aW9uIC5kZWxldGUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7XG59XG4ubWluaS1maWxlcyAuZmlsZSAuZmlsZS1hY3Rpb24gLmRlbGV0ZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5taW5pLWZpbGVzIC5maWxlcy1tb3JlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuLm1pbmktZmlsZXMgLmZpbGVzLW1vcmU6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG4ubWluaS1maWxlcyAuZmlsZXMtbW9yZSBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQGtleWZyYW1lcyBtaW5pRmlsZVNsaWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtaW5pRmlsZVNsaWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gMTguIE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAubWFwIHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjUwcHgpO1xuICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2VyKTtcbiB9XG4gLmxlYWZsZXQtcG9wdXAtY29udGVudCAuYnV0dG9uIHtcbiAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiB9XG5cbi5tYXJrZXIge1xuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gfVxuIC5tYXJrZXIgLnBpbiB7XG4gICAgIHdpZHRoOiAzMHB4O1xuIH1cbiAubGVhZmxldC1wb3B1cC1jb250ZW50IC5tYXJrZXItbW9kYWwge1xuICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuIH1cblxuIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLmNvcm5lciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBib3R0b206IGNhbGMoLTJweCAtIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpKTtcbiAgIGxlZnQ6IDUwJTtcbiAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gfVxuIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLnRpdGxlIHtcbiAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gfVxuIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLmluZm9zIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKS8gNCk7XG4gfVxuIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLmluZm9zIC5pdGVtIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiB9XG4gLmxlYWZsZXQtcG9wdXAtY29udGVudCAuaW5mb3MgLml0ZW0gc3ZnIHtcbiAgIHdpZHRoOiAxNHB4O1xuICAgaGVpZ2h0OiAxNHB4O1xuIH1cbiAubGVhZmxldC1wb3B1cC1jb250ZW50IC5idXR0b24ge1xuICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiB9XG4gLmxlYWZsZXQtcG9wdXAtY29udGVudCAudGh1bWIge1xuICAgd2lkdGg6IDEwMCU7XG4gICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuIH1cblxuIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIDE5LiBNaW5pIExpc3RcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1pbmktbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5taW5pLWxpc3QuaG92ZXIge31cbi5taW5pLWxpc3QgLml0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTIpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLm1pbmktbGlzdC5ob3ZlciAuaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5taW5pLWxpc3QgLml0ZW0gc3ZnIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4ubWluaS1saXN0IC5pdGVtIGltZyB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG59XG4ubWluaS1saXN0IC5pdGVtIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG4ubWluaS1saXN0IC5pdGVtIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXNpemUtc21hbGwpICogMS41KTtcbn1cbi5taW5pLWxpc3QgLml0ZW0gLmV4Y2VycHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1zaXplLW5vcm1hbCkgKiAwLjgpO1xufVxuXG4gLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjIwLiBGaWx0ZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmlsdGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5idXR0b24ge31cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0b3A6IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICB6LWluZGV4OiAxMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveC5hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94ICoge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IC5jb3JuZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGxlZnQ6IDEwcHg7XG4gIHRvcDogLTE0cHg7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggdWwgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIuNSk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggdWwgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpIDAgMDtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCB1bCBsaSAudGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IHVsIGxpIC50aXRsZSBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IHVsIGxpIC50aXRsZSBzcGFuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCB1bCBsaSAuaW5kaWNhdG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggdWwgbGkgLmluZGljYXRvciBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IC5ib3gtbHZsLTEgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHRvcDogLThweDtcbiAgbGVmdDogY2FsYygxMDAlICsgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCAuYm94LWx2bC0xLmFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggLmJveC1sdmwtMSAuY29ybmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBsZWZ0OiAtMTRweDtcbiAgdG9wOiAxNHB4O1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IC5ib3gtbHZsLTEgLmZpZWxkLWdyb3VwIHt9XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggLmJveC1sdmwtMSAuZmllbGQtZ3JvdXAgLmxhYmVsIHtcbiAgZ2FwOiAwO1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IC5ib3gtbHZsLTEgLnRvcCB7XG4gIG1heC1oZWlnaHQ6IDE3MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSB2YXIoLS1zcGFjZXIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1O1xufVxuLmZpbHRlcnMgLmFjdGlvbiAuYm94IC5ib3gtbHZsLTEgLmJvdHRvbSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCAuYm94LWx2bC0xIC5ib3R0b20gLmNsZWFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCAuYm94LWx2bC0xIC5ib3R0b20gLmNsZWFyOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCAuYm94LWx2bC0xIC5ib3R0b20gLmNsZWFyIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uZmlsdGVycyAuYWN0aW9uIC5ib3ggLmJveC1sdmwtMSAuYm90dG9tIC5zY3JvbGwtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB0b3A6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cbi5maWx0ZXJzIC5hY3Rpb24gLmJveCAuYm94LWx2bC0xIC5ib3R0b20gLnNjcm9sbC1pbmRpY2F0b3IudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZmlsdGVycyAuZmlsdGVycy1hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG59XG4uZmlsdGVycyAuZmlsdGVycy1hY3RpdmUgLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNik7XG59XG4uZmlsdGVycyAuZmlsdGVycy1hY3RpdmUgLmFjdGl2ZSAubmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5maWx0ZXJzIC5maWx0ZXJzLWFjdGl2ZSAuYWN0aXZlIC5saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5maWx0ZXJzIC5maWx0ZXJzLWFjdGl2ZSAuYWN0aXZlIC5saXN0IC5maWx0ZXItYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA2KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5maWx0ZXJzIC5maWx0ZXJzLWFjdGl2ZSAuYWN0aXZlIC5saXN0IC5maWx0ZXItYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmZpbHRlcnMgLmZpbHRlcnMtYWN0aXZlIC5hY3RpdmUgLmxpc3QgLmZpbHRlci1hY3RpdmUgc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbi5maWx0ZXJzIC5maWx0ZXJzLWFjdGl2ZSAuY2xlYXIge1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWx0ZXJzIC5maWx0ZXJzLWFjdGl2ZSAuY2xlYXI6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmZpbHRlcnMgLmZpbHRlcnMtYWN0aXZlIC5jbGVhciBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLmZpbHRlcnMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogOTk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLmZpbHRlcnMtb3ZlcmxheS5hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3BhY2l0eTogMTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNDAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge31cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHt9XG5cbi5sb2dpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbi5sb2dpbiAubG9naW4tY29udGVudCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG59XG4ubG9naW4gLmxvZ2luLWNvbnRlbnQgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmxvZ2luIC5sb2dpbi1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xufVxuXG5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuaGVhZGVyIC5sb2dvIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjQwcHg7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIHZhcigtLXNwYWNlcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIGhlYWRlciAubG9nbyB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGhlYWRlciAubG9nbyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG5oZWFkZXIgLmxvZ28gLmxvZ28tcmVnaW9uIHtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0bWF4LWhlaWdodDogNjBweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgaGVhZGVyIC5sb2dvIC5sb2dvLXJlZ2lvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuaGVhZGVyIC5sb2dvIC5sb2dvLXBhcmtvcGV5LXNtYWxsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIGhlYWRlciAubG9nbyAubG9nby1wYXJrb3BleS1zbWFsbCB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5oZWFkZXIgLnNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSB2YXIoLS1zcGFjZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyIC5zZWFyY2gge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLmxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5sYWJlbCAubGFiZWwtdGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5sYWJlbCAubGFiZWwtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLmZpZWxkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLmZpZWxkOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5maWVsZDpmb2N1cyB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuYnRuIHN2ZyB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXRleHQpO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gLTIpO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tc3BhY2VyKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zcGFjZXIpKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zcGFjZXIpKTtcbiAgfVxufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWF4LWhlaWdodDogNDgwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyB1bCBsaSB7fVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLnNlYXJjaC1wcmV2aWV3IHVsIGxpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgdWwgbGkgYSBpbWcge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgdWwgbGkgYSA+IHN2ZyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyB1bCBsaSBhIC5zdHJ1Y3R1cmUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgdWwgbGkgYSAuc3RydWN0dXJlIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyB1bCBsaSBhIC5uYW1lIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgLnJlc3VsdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLnNlYXJjaC1wcmV2aWV3IC5yZXN1bHQgLmluZm8ge1xuICB3aWR0aDogMTAwJTtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLnNlYXJjaC1wcmV2aWV3IC5yZXN1bHQgLmFjdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgd2lkdGg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuaGVhZGVyIC5zZWFyY2ggLmFjdGlvbiAuc2VhcmNoLXByZXZpZXcgLnJlc3VsdCAuYWN0aW9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG5oZWFkZXIgLnNlYXJjaCAuYWN0aW9uIC5zZWFyY2gtcHJldmlldyAucmVzdWx0IC5hY3Rpb24gc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLnNlYXJjaC1wcmV2aWV3ICNyZWNoZXJjaGVfZ2xvYmFsX2FmZmljaGVyX3BsdXMuZGlzYWJsZWQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbmhlYWRlciAuc2VhcmNoIC5hY3Rpb24gLnNlYXJjaC1wcmV2aWV3LnZpc2libGUgLnJlY2hlY2hlLWdsb2JhbC1uby1yZXN1bHQge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICBoZWFkZXIgLm5vdGlmaWNhdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyIC5ub3RpZmljYXRpb24ge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAuY29udGVudCB7fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIGhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gLmNvbnRlbnQgLnRpdGxlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gLmNvbnRlbnQgLnN1YnRpdGxlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gPiAuYnRuIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiA+IC5idG4ge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICBoZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uID4gLmJ0biBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiA+IC5idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gPiAuYnRuIC5kb3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA1cHgpO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAubm90aWZpY2F0aW9uLXByZXZpZXcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIC0yKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXNwYWNlcikpO1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc3BhY2VyKSk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAubm90aWZpY2F0aW9uLXByZXZpZXcudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWF4LWhlaWdodDogMzc1cHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSBhIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSBhIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAubm90aWZpY2F0aW9uLXByZXZpZXcgdWwgbGkudW5yZWFkIGEgLnRpdGxlIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSBhIC50ZXh0IHt9XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSBhIC5kYXRlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gLm5vdGlmaWNhdGlvbi1wcmV2aWV3IHVsIGxpIC5ub3RpZmljYXRpb24tYWN0aW9uIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG5oZWFkZXIgLm5vdGlmaWNhdGlvbiAuYWN0aW9uIC5ub3RpZmljYXRpb24tcHJldmlldyB1bCBsaSAubm90aWZpY2F0aW9uLWFjdGlvbiAubm90aWZpY2F0aW9uLW1hcmstcmVhZCB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAubm90aWZpY2F0aW9uLXByZXZpZXcgdWwgbGkgLm5vdGlmaWNhdGlvbi1hY3Rpb24gLm5vdGlmaWNhdGlvbi1tYXJrLXJlYWQgc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbmhlYWRlciAubm90aWZpY2F0aW9uIC5hY3Rpb24gLm5vdGlmaWNhdGlvbi1wcmV2aWV3IC5idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuaGVhZGVyIC5ub3RpZmljYXRpb24gLmFjdGlvbiAubm90aWZpY2F0aW9uLXByZXZpZXcgLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuaGVhZGVyIC5hY2NvdW50IHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgdmFyKC0tc3BhY2VyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGhlYWRlciAuYWNjb3VudCB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIH1cbn1cbmhlYWRlciAuYWNjb3VudCAuYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbmhlYWRlciAuYWNjb3VudCAuYWN0aW9uIC5jb250ZW50IHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgaGVhZGVyIC5hY2NvdW50IC5hY3Rpb24gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmhlYWRlciAuYWNjb3VudCBpbWcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyIC5hY2NvdW50IGltZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5oZWFkZXIgLmFjY291bnQgLm5hbWUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5oZWFkZXIgLmFjY291bnQgLnJvbGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG59XG5oZWFkZXIgLmFjY291bnQgLmxvZ291dCB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGhlYWRlciAuYWNjb3VudCAubG9nb3V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5oZWFkZXIgLmFjY291bnQgLmxvZ291dDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG59XG5cbi5wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYWdlID4gLnNpZGViYXIge1xuICBtYXgtd2lkdGg6IDMzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc3BhY2VyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDkwcHg7IC8qIFRBSUxMRSBEVSBIRUFERVIgKi9cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlID4gLnNpZGViYXIge1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlID4gLnNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wYWdlID4gLnNpZGViYXIucmVzaXplZCB7XG4gIG1heC13aWR0aDogMjM1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAucGFnZSA+IC5zaWRlYmFyLnJlc2l6ZWQge1xuICAgIG1heC13aWR0aDogMTY1cHg7XG4gIH1cbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xufVxuLnBhZ2UgPiAuc2lkZWJhci5yZXNpemVkIC5uYXYtZGVza3RvcCB7XG4gIG1heC13aWR0aDogNjBweDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCAubG9nbyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgbWFyZ2luLXRvcDogLTMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnBhZ2UgPiAuc2lkZWJhci5yZXNpemVkIC5uYXYtZGVza3RvcCAubG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCAubG9nbyAubG9nby1wYXJrb3BleS1zbWFsbCB7XG4gIGhlaWdodDogMjRweDtcbiAgd2lkdGg6IGF1dG87XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHVsLnRvcCB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpO1xufVxuLnBhZ2UgPiAuc2lkZWJhci5yZXNpemVkIC5uYXYtZGVza3RvcCB1bC50b3Age1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHVsLmJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAqIDQpO1xufVxuLnBhZ2UgPiAuc2lkZWJhci5yZXNpemVkIC5uYXYtZGVza3RvcCB1bC5ib3R0b20ge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHVsIGxpIHt9XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCB1bC50b3AgbGkge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHVsLmJvdHRvbSBsaSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAubmF2LWRlc2t0b3AgdWwgbGkubGluZSB7XG4gIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMik7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAubmF2LWRlc2t0b3AgdWwgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50LW5pdi0xKTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIHVsIGxpLmFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUtdHJhbnNwYXJlbnQtbml2LTEpO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAubmF2LWRlc2t0b3AgdWwgbGkuYWN0aXZlIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMik7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCB1bCBsaSBhIC5pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCB1bCBsaSBhIC5kb3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAubmF2LWRlc2t0b3AgdWwgbGkgYSAudGl0bGUge1x0fVxuLnNpZGViYXIgLm5hdi1kZXNrdG9wLnJlc2l6ZWQgLnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLm5hdi1kZXNrdG9wIC5yZXNpemUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5uYXYtZGVza3RvcCAucmVzaXplIHN2ZyB7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLnBhZ2UgPiAuc2lkZWJhciAubmF2LWRlc2t0b3AucmVzaXplZCAucmVzaXplIHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24ge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2VyKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24ge1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIHtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHQucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmRpc3BsYXktbW9kZSB7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG5cdH1cbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIC5pdGVtIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuXHRwYWRkaW5nOiA1cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGFzcGVjdC1yYXRpbzogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIC5pdGVtIHtcblx0XHRwYWRkaW5nOiAycHg7XG5cdH1cbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIC5pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIC5pdGVtLmN1cnJlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0Y3Vyc29yOiBpbmhlcml0O1xufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5kaXNwbGF5LW1vZGUgLml0ZW0gc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuZGlzcGxheS1tb2RlIC5pdGVtIHN2ZyB7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAxNHB4O1xuXHR9XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmJ0bi1zcXVhcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tc3F1YXJlIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuYnRuLXNxdWFyZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuYnRuLXNxdWFyZS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmJ0bi1zcXVhcmUucHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuYnRuLWJhY2sge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjayAuYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgc2NhbGU6IDI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjayAuYmFja2dyb3VuZC5ibGFuayB7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmJ0bi1iYWNrIC5vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNiksIHJnYmEoMCwgMCwgMCwgMC4yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjazpob3ZlciAub3ZlcmxheSB7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmJ0bi1iYWNrIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjazpob3ZlciAuY29udGVudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5wYWdlID4gLnNpZGViYXIgLmFjdGlvbiAuYnRuLWJhY2sgLmNvbnRlbnQgc3ZnIHt9XG4ucGFnZSA+IC5zaWRlYmFyIC5hY3Rpb24gLmJ0bi1iYWNrIC5jb250ZW50IC50aXRsZSB7fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UgPiAuc2lkZWJhciAuYWN0aW9uIC5idG4tYmFjayAuY29udGVudCAudGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5hdi1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXJldmVyc2UpO1xufVxuQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgLm5hdi1yZXNwb25zaXZlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtcmVzcG9uc2l2ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm5hdi1yZXNwb25zaXZlIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm5hdi1yZXNwb25zaXZlIHVsIGxpIHtcbiAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpO1xufVxuLm5hdi1yZXNwb25zaXZlIHVsIGxpIGEge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KSBjYWxjKHZhcigtLXNwYWNlcikgLyAzKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLm5hdi1yZXNwb25zaXZlIHVsIGxpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG59XG4ubmF2LXJlc3BvbnNpdmUgdWwgbGkuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC1uaXYtMSk7XG59XG4ubmF2LXJlc3BvbnNpdmUgdWwgbGkubGluZSB7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0yKTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWlubGluZTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBhZ2UgLnBhZ2UtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAyNDBweDtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlcik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNDAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHt9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTk1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7fVxuXG4ucGFnZSAucGFnZS1jb250ZW50LnJlc2l6ZWQge31cblxuLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zcGFjZXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQwMHB4KSB7XG4gIC5ncmlkLmdyaWQtZXRhYmxpc3NlbWVudHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZ3JpZC5ncmlkLWV0YWJsaXNzZW1lbnRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5ncmlkLmdyaWQtZXRhYmxpc3NlbWVudHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbn1cbi5ncmlkLmdyaWQtZXRhYmxpc3NlbWVudHMuZW5kIHtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbn1cbi5ncmlkLmdyaWQtdXNlcnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwMHB4KSB7XG4gIC5ncmlkLmdyaWQtdXNlcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0MDBweCkge1xuICAuZ3JpZC5ncmlkLXVzZXJzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC11c2VycyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5ncmlkLmdyaWQtdXNlcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5ncmlkLmdyaWQtdXNlcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZC5ncmlkLXVzZXJzIHtcbiAgICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZXIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuZ3JpZC5ncmlkLXVzZXJzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG4uZ3JpZC5ncmlkLXN1cHBsaWVycyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zcGFjZXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC1zdXBwbGllcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0MDBweCkge1xuICAuZ3JpZC5ncmlkLXN1cHBsaWVycyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5ncmlkLmdyaWQtc3VwcGxpZXJzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC1zdXBwbGllcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5ncmlkLmdyaWQtc3VwcGxpZXJzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQuZ3JpZC1zdXBwbGllcnMge1xuICAgIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5ncmlkLmdyaWQtc3VwcGxpZXJzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG4uZ3JpZC5ncmlkLWNvbnRhY3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwMHB4KSB7XG4gIC5ncmlkLmdyaWQtY29udGFjdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQwMHB4KSB7XG4gIC5ncmlkLmdyaWQtY29udGFjdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5ncmlkLmdyaWQtY29udGFjdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5ncmlkLmdyaWQtY29udGFjdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmdyaWQuZ3JpZC1jb250YWN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQuZ3JpZC1jb250YWN0IHtcbiAgICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZXIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuZ3JpZC5ncmlkLWNvbnRhY3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbi5ncmlkLmdyaWQtY29udGFjdC1tb2RhbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogZW5kO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmdyaWQuZ3JpZC1jb250YWN0LW1vZGFsIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZC5ncmlkLWNvbnRhY3QtbW9kYWwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG59XG4uZ3JpZC5ncmlkLWV0YWJsaXNzZW1lbnRzLmVuZCB7XG5cdGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbi5ncmlkLmdyaWQtZmF2b3JpdGVzLFxuLmdyaWQuZ3JpZC1jYXRhbG9nIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAsIDFmcik7XG5cdGdhcDogdmFyKC0tc3BhY2VyKTtcblx0bWFyZ2luLWJsb2NrOiB2YXIoLS1zcGFjZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjAwcHgpIHtcblx0LmdyaWQuZ3JpZC1mYXZvcml0ZXMsXG5cdC5ncmlkLmdyaWQtY2F0YWxvZyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQwMHB4KSB7XG5cdC5ncmlkLmdyaWQtZmF2b3JpdGVzLFxuXHQuZ3JpZC5ncmlkLWNhdGFsb2cge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIwMDBweCkge1xuXHQuZ3JpZC5ncmlkLWZhdm9yaXRlcyxcblx0LmdyaWQuZ3JpZC1jYXRhbG9nIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNzUwcHgpIHtcblx0LmdyaWQuZ3JpZC1mYXZvcml0ZXMsXG5cdC5ncmlkLmdyaWQtY2F0YWxvZyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG5cdC5ncmlkLmdyaWQtZmF2b3JpdGVzLFxuXHQuZ3JpZC5ncmlkLWNhdGFsb2cge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQuZ3JpZC5ncmlkLWZhdm9yaXRlcyxcblx0LmdyaWQuZ3JpZC1jYXRhbG9nIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHQuZ3JpZC5ncmlkLWZhdm9yaXRlcyxcblx0LmdyaWQuZ3JpZC1jYXRhbG9nIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRcdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyKTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmdyaWQuZ3JpZC1mYXZvcml0ZXMsXG5cdC5ncmlkLmdyaWQtY2F0YWxvZyB7XG5cdFx0bWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2VyKTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcblx0LmdyaWQuZ3JpZC1mYXZvcml0ZXMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn1cbi5ncmlkLmdyaWQtZmF2b3JpdGVzIC5zcXVhcmUtaXRlbS1zbWFsbCxcbi5ncmlkLmdyaWQtY2F0YWxvZyAuc3F1YXJlLWl0ZW0tc21hbGwge31cbi5ncmlkLmdyaWQtZmF2b3JpdGVzIC5zcXVhcmUtaXRlbS1zbWFsbCAuY29udGVudCxcbi5ncmlkLmdyaWQtY2F0YWxvZyAuc3F1YXJlLWl0ZW0tc21hbGwgLmNvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZXIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpICFpbXBvcnRhbnQ7XG59XG4uZ3JpZC5ncmlkLWZvdXJuaXNzZXVyLWVxdWlwZW1lbnQsXG4uZ3JpZC5ncmlkLWNhdGFsb2ctZXF1aXBlbWVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNwYWNlcik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ncmlkLmdyaWQtZmF2b3JpdGVzIC5mYXZvcml0ZS1vdmVybGF5OmFmdGVyLFxuLmdyaWQuZ3JpZC1mYXZvcml0ZXMgLmZhdm9yaXRlLW92ZXJsYXkgLmZhdm9yaXRlLWluZGljYXRvcixcbi5ncmlkLmdyaWQtY2F0YWxvZyAuY2F0YWxvZy1vdmVybGF5OmFmdGVyLFxuLmdyaWQuZ3JpZC1jYXRhbG9nIC5jYXRhbG9nLW92ZXJsYXkgLmNhdGFsb2ctaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSB7XG4gICAgbWluLWhlaWdodDogMzg1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIHtcbiAgICBhc3BlY3QtcmF0aW86IGluaGVyaXQ7XG4gICAgbWluLWhlaWdodDogMzYwcHg7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlLnByaW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZS5wcmltYXJ5LnJlZmVyZW50IHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlLnByaW1hcnkuYXR0YWNoZWQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgbWluLWhlaWdodDogNDQwcHg7XG4gIGFzcGVjdC1yYXRpbzogaW5oZXJpdDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZS5wcmltYXJ5LmF0dGFjaGVkIHtcbiAgICBtaW4taGVpZ2h0OiAzNTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UucHJpbWFyeS5hdHRhY2hlZCB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbmhlcml0O1xuICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkLnN0aWNreSAuc3F1YXJlLWl0ZW0tbGFyZ2Uge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDEyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZC5zdGlja3kgLnNxdWFyZS1pdGVtLWxhcmdlIHtcbiAgICB0b3A6IDEwNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkLnN0aWNreSAuc3F1YXJlLWl0ZW0tbGFyZ2Uge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIHRvcDogaW5oZXJpdDtcbiAgfVxufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmJhZGdlLWluZGljYXRvcixcbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWRnZS1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5iYWRnZS1pbmRpY2F0b3Iud2hpdGUsXG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbCAuYmFkZ2UtaW5kaWNhdG9yLndoaXRlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuYmFkZ2UtaW5kaWNhdG9yLnNlY29uZGFyeSxcbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWRnZS1pbmRpY2F0b3Iuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuYmFkZ2UtaW5kaWNhdG9yIHN2Zyxcbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWRnZS1pbmRpY2F0b3Igc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLnNxdWFyZS1pdGVtLWxhcmdlIC5iYWRnZS1pbmRpY2F0b3IgfiAuYmFkZ2UtaW5kaWNhdG9yLFxuLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWRnZS1pbmRpY2F0b3IgfiAuYmFkZ2UtaW5kaWNhdG9yIHtcbiAgcmlnaHQ6IDUwcHg7XG59XG5cblxuXG5cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmJhY2tncm91bmQuYmxhbmsge1xuICBvcGFjaXR5OiAwLjM1O1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLm92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHJnYmEoMCwwLDAsMC40KSwgcmdiYSgwLDAsMCwwKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2U6aG92ZXIgLm92ZXJsYXkge1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB7fVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQgLnBvc2l0aW9uIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQgLnBvc2l0aW9uIHVsIGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50LW5pdi0yKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAucG9zaXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAucG9zaXRpb24gdWwgbGkuY29uZGVuc2VkIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQgLnBvc2l0aW9uIHVsIGxpIC5hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAuYWN0aW9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tbGFyZ2UgLmNvbnRlbnQgLnBvc2l0aW9uIHVsIGxpIC5sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAucG9zaXRpb24gdWwgbGkgLmxhYmVsIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAubGFiZWwgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAubGFiZWwgLnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAubGFiZWwgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAuYWN0aW9uIHN2ZyB7fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAuYWN0aW9uIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAucG9zaXRpb24gdWwgbGkgPiAudGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1leHRyYWxhcmdlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSA+IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAucG9zaXRpb24gdWwgbGkgLmxvZ28ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIHZhcigtLXNwYWNlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHdpZHRoOiAxMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAubG9nbyB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5wb3NpdGlvbiB1bCBsaSAubG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzVweDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5zcGFjZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgd2lkdGg6IDFweDtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAuYm90dG9tIC5pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5ib3R0b20gLmluZm8gLml0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpXG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAuYm90dG9tIC5pbmZvIHN2ZyB7fVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5ib3R0b20gLmluZm8gc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLWxhcmdlIC5jb250ZW50IC5ib3R0b20gLmluZm8gLnRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1sYXJnZSAuY29udGVudCAuYm90dG9tIC5hY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIG1pbi1oZWlnaHQ6IDE5MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwge1xuXG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5iYWNrZ3JvdW5kLmJsYW5rIHtcbiAgb3BhY2l0eTogMC4zNTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCByZ2JhKDAsMCwwLDAuNCksIHJnYmEoMCwwLDAsMCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsOmhvdmVyIC5vdmVybGF5IHtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxNTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLyogQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIH1cbn0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5jb250ZW50IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbCAuY29udGVudCAubGFiZWwge1xuICAvKiBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpOyAqL1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwgLmNvbnRlbnQgLmxhYmVsIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbCAuY29udGVudCAubGFiZWwgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsOmhvdmVyIC5jb250ZW50IC5sYWJlbCBzdmcge1xuICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5jb250ZW50IC5sYWJlbCAudGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwgLmNvbnRlbnQgLmxhYmVsIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbCAuY29udGVudCAudGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlcik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwgLmNvbnRlbnQgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbCAuY29udGVudCAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcbiAgfVxufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGw6aG92ZXIgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwgLmNvbnRlbnQgLnRpdGxlIHNtYWxsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5hY3Rpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTYwcHg7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5zcXVhcmUtaXRlbS1zbWFsbDpob3ZlciAuYWN0aW9uIHtcbiAgYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnNxdWFyZS1pdGVtLXNtYWxsIC5hY3Rpb24gLnNxdWFyZS1zZXR0aW5nLWJ0biB7fVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuc3F1YXJlLWl0ZW0tc21hbGwgLmFjdGlvbiAuc3F1YXJlLXNldHRpbmctYnRuIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qIC0tLSBTUVVBUkUgSVRFTSBFUVVQRU1FTlQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc3F1YXJlLWl0ZW0tZXF1aXBlbWVudCB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3F1YXJlLWl0ZW0tZXF1aXBlbWVudCB7fVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQgLmJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQgLm92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHJnYmEoMCwwLDAsMC42KSwgcmdiYSgwLDAsMCwwLjIpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQ6aG92ZXIgLm92ZXJsYXkge1xuICBvcGFjaXR5OiAxO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQuY2F0YWxvZyAub3ZlcmxheSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsIHJnYmEoMCwwLDAsMC44NSksIHJnYmEoMCwwLDAsMC4zNSkpO1xuXHRvcGFjaXR5OiAwLjY1O1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQ6aG92ZXIgLm92ZXJsYXkge1xuXHRvcGFjaXR5OiAxO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQgLmdyaWQtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc3F1YXJlLWl0ZW0tZXF1aXBlbWVudDpob3ZlciAuZ3JpZC1jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50IC5pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGxlZnQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50IC5pbmRpY2F0b3Igc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50IC5hbGVydC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDMpO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQgLmFsZXJ0LWluZGljYXRvciA+IC5iYWRnZS1jaXJjbGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQuZmF2b3JpdGUtb3ZlcmxheSAuYWxlcnQtaW5kaWNhdG9yIHtcblx0bGVmdDogMjRweDtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50IC5hY3Rpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgei1pbmRleDogMTAwO1xuICBvcGFjaXR5OiAwO1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQ6aG92ZXIgLmFjdGlvbiB7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIG9wYWNpdHk6IDE7XG59XG4uc3F1YXJlLWl0ZW0tZXF1aXBlbWVudCAuYWN0aW9uIC5zcXVhcmUtc2V0dGluZy1idG4ge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50IC5hY3Rpb24gLnNxdWFyZS1zZXR0aW5nLWJ0biBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQuY2F0YWxvZyB7fVxuLnNxdWFyZS1pdGVtLWVxdWlwZW1lbnQuY2F0YWxvZyAuaW5mb3Mge1xuXHR6LWluZGV4OiAxMDA7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAqIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbn1cbi5zcXVhcmUtaXRlbS1lcXVpcGVtZW50LmNhdGFsb2cgLmluZm9zIC5uYW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIC0tLSBTUVVBUkUgSVRFTSBVU0VSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNxdWFyZS1pdGVtLXVzZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uc3F1YXJlLWl0ZW0tdXNlciAuY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNxdWFyZS1pdGVtLXVzZXIgLmNvbnRlbnQge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLnNxdWFyZS1pdGVtLXVzZXIgLnRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uc3F1YXJlLWl0ZW0tdXNlciAudG9wIC5hdmF0YXIge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiAtNDVweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmF2YXRhciB7XG4gICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmF2YXRhciB7XG4gICAgbWFyZ2luLXRvcDogLTIycHg7XG4gIH1cbn1cbi5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmF2YXRhciBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmF2YXRhciBpbWcuYmxhbmsge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpXG59XG4uc3F1YXJlLWl0ZW0tdXNlciAudG9wIC5pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmluZm8gLm5hbWUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmluZm8gLnVzZXIge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3F1YXJlLWl0ZW0tdXNlciAudG9wIC5pbmZvIC5tYWlsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLXVzZXIgLnRvcCAuaW5mbyAuc2Nob29sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbm9ybWFsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLXVzZXIgLnRvcCAuaW5mbyAuY2l0eSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC50b3AgLmluZm8gLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0xKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXG59XG4uc3F1YXJlLWl0ZW0tdXNlciAuYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuLnNxdWFyZS1pdGVtLXVzZXIgLmJvdHRvbSAuc3RhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLnNxdWFyZS1pdGVtLXVzZXIgLmJvdHRvbSAuc3RhcnQgLnJvbGUge31cbi5zcXVhcmUtaXRlbS11c2VyIC5ib3R0b20gLnN0YXJ0IC5yb2xlIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC5ib3R0b20gLnN0YXJ0IC5yb2xlIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnNxdWFyZS1pdGVtLXVzZXIgLmJvdHRvbSAuc3RhcnQgLnJvbGUgdWwgbGkge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbi5zcXVhcmUtaXRlbS11c2VyIC5ib3R0b20gLnN0YXJ0IC5zdGF0dXMge31cbi5zcXVhcmUtaXRlbS11c2VyIC5ib3R0b20gLmVuZCB7fVxuLnNxdWFyZS1pdGVtLXVzZXIgLmJvdHRvbSAuZW5kIC5hY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIC0tLSBTUVVBUkUgSVRFTSBTVVBQTElFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zcXVhcmUtaXRlbS1zdXBwbGllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAuY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC5jb250ZW50IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5sb2dvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogLTQ1cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAubG9nbyB7XG4gICAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgfVxufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC50b3AgLmxvZ28gaW1nIHtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA4MCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAubG9nbyBpbWcuYmxhbmsge31cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5pbmZvIC5uYW1lIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZS1sYXJnZSkgKiAxLjI1KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC50b3AgLmluZm8gLnpvbmUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAuaW5mbyAuc2lyZXQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAuaW5mbyAuYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5pbmZvIC50ZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAuaW5mbyAubWFpbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAuaW5mbyAud2ViIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC50b3AgLmluZm8gLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0xKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC50b3AgLnJlcGFpcmVyIHtcblx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTIpO1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBzdGFydDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAudG9wIC5yZXBhaXJlciAudGl0bGUge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLnRvcCAucmVwYWlyZXIgLml0ZW1zIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC5ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLmJvdHRvbSAuc3RhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC5ib3R0b20gLnN0YXJ0IC5pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLmJvdHRvbSAuc3RhcnQgLmlubmVyIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbn1cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAuYm90dG9tIC5zdGFydCAuaW5uZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uc3F1YXJlLWl0ZW0tc3VwcGxpZXIgLmJvdHRvbSAuc3RhcnQgLmlubmVyIHVsIGxpIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xufVxuLnNxdWFyZS1pdGVtLXN1cHBsaWVyIC5ib3R0b20gLnN0YXJ0IC5zdGF0dXMge31cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAuYm90dG9tIC5lbmQge31cbi5zcXVhcmUtaXRlbS1zdXBwbGllciAuYm90dG9tIC5lbmQgLmFjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogLS0tIFNRVUFSRSBJVEVNIENPTlRBQ1QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc3F1YXJlLWl0ZW0tY29udGFjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5ncmlkLWNvbnRhY3QtbW9kYWwgLnNxdWFyZS1pdGVtLWNvbnRhY3Qge1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QuZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xufVxuLmdyaWQtY29udGFjdC1tb2RhbCAuc3F1YXJlLWl0ZW0tY29udGFjdC5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC5jb250ZW50LWNvbnRhY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcXVhcmUtaXRlbS1jb250YWN0IC5jb250ZW50LWNvbnRhY3Qge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC5jb250ZW50LWNvbnRhY3QgLmJhZGdlLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLmNvbnRlbnQtY29udGFjdCAuYmFkZ2UtaW5kaWNhdG9yLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLmNvbnRlbnQtY29udGFjdCAuYmFkZ2UtaW5kaWNhdG9yIHN2ZyB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAudG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLnRvcCAuaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAudG9wIC5pbmZvIC5uYW1lIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZS1sYXJnZSkgKiAxLjI1KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLnRvcCAuaW5mbyAucm9sZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC50b3AgLmluZm8gLnNpcmV0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLnRvcCAuaW5mbyAuYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC50b3AgLmluZm8gLnRlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC50b3AgLmluZm8gLm1haWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbm9ybWFsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLnRvcCAuaW5mbyAud2ViIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLnRvcCAuaW5mbyAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAuYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLmJvdHRvbSAuc3RhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLnNxdWFyZS1pdGVtLWNvbnRhY3QgLmJvdHRvbSAuc3RhcnQgLmlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5zcXVhcmUtaXRlbS1jb250YWN0IC5ib3R0b20gLnN0YXJ0IC5pbm5lciBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAuYm90dG9tIC5zdGFydCAuaW5uZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAuYm90dG9tIC5zdGFydCAuaW5uZXIgdWwgbGkge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG59XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAuYm90dG9tIC5zdGFydCAuc3RhdHVzIHt9XG4uc3F1YXJlLWl0ZW0tY29udGFjdCAuYm90dG9tIC5lbmQge31cbi5zcXVhcmUtaXRlbS1jb250YWN0IC5ib3R0b20gLmVuZCAuYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiAtLS0gR0VEIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlZCB7fVxuLmdlZCA+IC5hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbn1cbi5nZWQgLmZpbHRlciB7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5nZWQgLmZpbHRlciAubGFiZWwtdGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG4uZ2VkIC5maWx0ZXIgLmxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmdlZCAuZmlsdGVyIC5saXN0IC5jYXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmdlZCAuZmlsdGVyIC5saXN0IC5jYXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5nZWQgLmZpbHRlciAubGlzdCAuY2F0LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmdlZCAuZmlsdGVyIC5saXN0IC5jYXQuYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZ2VkIC5idG4tYWRkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG4uZ2VkIC5idG4tYWRkIHN2ZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLmdlZCAuYnRuLWFkZDpob3ZlciBzdmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXN1dWNlc3MpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZXIpIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uZ2VkIC5nZWQtY29udGVudC5wdWJsaWMge31cbi5nZWQgLmdlZC1jb250ZW50LnByaXZhdGUge31cbi5nZWQgLmdlZC1jb250ZW50LmFkZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZ2VkIC5nZWQtY29udGVudCAudGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uZ2VkIC5nZWQtY29udGVudC5wcml2YXRlIC50aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpXG59XG4uZ2VkIC5nZWQtY29udGVudC5wcml2YXRlIC5pdGVtIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyLWxpZ2h0KTtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5zdGFydCxcbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5lbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLnR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLnR5cGUgaW1nIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmNhdCB7fVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmNhdCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KVxufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmNhdCB1bCBsaSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KSBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICB3aWR0aDogMTUwcHg7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmFjdGlvbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmFjdGlvbiBidXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG59XG4uZ2VkIC5nZWQtY29udGVudCAuaXRlbSAuYWN0aW9uIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uZ2VkIC5nZWQtY29udGVudCAuaXRlbSAuYWN0aW9uIC52aWV3LFxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmFjdGlvbiAuZWRpdCxcbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24gLmRlbGV0ZSB7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDI4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cy1pbm5lcikgLyAyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24gLnZpZXcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24gLnZpZXc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uZ2VkIC5nZWQtY29udGVudCAuaXRlbSAuYWN0aW9uIC5lZGl0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTEpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQgLml0ZW0gLmFjdGlvbiAuZWRpdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0yKTtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24gLmRlbGV0ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbn1cbi5nZWQgLmdlZC1jb250ZW50IC5pdGVtIC5hY3Rpb24gLmRlbGV0ZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5nZWQgLmdlZC1jb250ZW50LmFkZCxcbi5nZWQgLmdlZC1jb250ZW50LmVkaXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbn1cbi5nZWQgLmdlZC1jb250ZW50LmFkZCAuZ2VkLWNvbnRlbnQtaGVhZGVyLFxuLmdlZCAuZ2VkLWNvbnRlbnQuZWRpdCAuZ2VkLWNvbnRlbnQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQuYWRkIC5oZWFkZXItYWRkIC50aXRsZSxcbi5nZWQgLmdlZC1jb250ZW50LmFkZCAuaGVhZGVyLWVkaXQgLnRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5nZWQgLmdlZC1jb250ZW50LmFkZCAucmFkaW8tb3B0aW9uLFxuLmdlZCAuZ2VkLWNvbnRlbnQuZWRpdCAucmFkaW8tb3B0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmdlZCAuZ2VkLWNvbnRlbnQuYWRkIC5mb290ZXItYWRkLFxuLmdlZCAuZ2VkLWNvbnRlbnQuZWRpdCAuZm9vdGVyLWFkZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5nZWQgLmdlZC1jb250ZW50LmFkZCAubm90aWNlLFxuLmdlZCAuZ2VkLWNvbnRlbnQuZWRpdCAubm90aWNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG5cbi8qIC0tLSBHUklEIENPTlRFTlQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQge1xuICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1jb250ZW50IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiBpbmhlcml0O1xuICB9XG59XG4vKiAtLS0gR1JJRCBDT05URU5UID4gLml0ZW0tcG9zaXRpb24gLS0tICovXG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tcG9zaXRpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tcG9zaXRpb24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI0MDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tcG9zaXRpb24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tcG9zaXRpb24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tcG9zaXRpb24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1wb3NpdGlvbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1jb250ZW50IC5pdGVtLXBvc2l0aW9uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1wb3NpdGlvbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuXG4vKiAtLS0gR1JJRCBDT05URU5UID4gLml0ZW0tZXF1aXBlbWVudCAtLS0gKi9cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1lcXVpcGVtZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tZXF1aXBlbWVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjQwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1lcXVpcGVtZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1jb250ZW50IC5pdGVtLWVxdWlwZW1lbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tZXF1aXBlbWVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1lcXVpcGVtZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC5ncmlkLWNvbnRlbnQgLml0ZW0tZXF1aXBlbWVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1jb250ZW50IC5pdGVtLWVxdWlwZW1lbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1jb250ZW50IC5pdGVtLWVxdWlwZW1lbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1lcXVpcGVtZW50IC5lbXB0eSB7XG5cdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLmdyaWQtY29udGVudCAuaXRlbS1lcXVpcGVtZW50IC5lbXB0eSBzdmcge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAuZ3JpZC1ib3R0b20ge1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlXG59XG4vKiAtLS0gR1JJRCBDT05URU5UID4gLnZpZXctbmF2aWdhdGlvbiAtLS0gKi9cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnZpZXctbmF2aWdhdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnZpZXctbmF2aWdhdGlvbiAuaXRlbSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBhZ2UgLnBhZ2UtY29udGVudCAuZ3JpZCAudmlldy1uYXZpZ2F0aW9uIC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnZpZXctbmF2aWdhdGlvbiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBjdXJzb3I6IGF1dG87XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0gc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZmlsbDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnZpZXctbmF2aWdhdGlvbiAuaXRlbS5hY3RpdmUgc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZmlsbDogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0gc3ZnLFxuICAucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0uYWN0aXZlIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0uZXhwZXJ0IHt9XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0uZXhwZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTW9kZSBleHBlcnRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweClcbn1cbi5wYWdlIC5wYWdlLWNvbnRlbnQgLmdyaWQgLnZpZXctbmF2aWdhdGlvbiAuaXRlbS5leHBlcnQ6aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpXG59XG4ucGFnZSAucGFnZS1jb250ZW50IC5ncmlkIC52aWV3LW5hdmlnYXRpb24gLml0ZW0uYWN0aXZlLmV4cGVydDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNoaXBwaW5nIHt9XG5cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50IC5hbHRlcm5hdGl2ZS1hY3Rpb24ge1xuXHQvKiBPQVVJSUlJIGJoYSBqZSBzYXZhaXMgcGFzIHF1b2kgZG9ubmVyIGNvbW1lIG5vbSBkZSBjbGFzcyAqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50IC5idG4tb2JzZXJ2YXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIgLnNoaXBwaW5nLWNvbnRlbnQgLmJ0bi1vYnNlcnZhdGlvbjpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctY29udGVudCAuYnRuLW9ic2VydmF0aW9uLmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIgLnNoaXBwaW5nLWNvbnRlbnQgLmJ0bi1vYnNlcnZhdGlvbi5hY3RpdmU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50IC5idG4tb2JzZXJ2YXRpb24gc3ZnIHtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcbn1cblxuXG5cblxuLyogQSBORSBQTFVTIFBSRU5EUkUgRU4gQ09NUFRFICovXG4vKiAuc2hpcHBpbmctY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zcGFjZXIpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctc2lkZWJhciB7XG5cdHdpZHRoOiAyNSU7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogY2FsYyh2YXIoLS1zcGFjZXIpICogLTEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lci5hZGpvdXJubWVudCAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdmFyKC0tc3BhY2VyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyLWxpZ2h0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMS41KTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyLmFkam91cm5tZW50IC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC50aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIuYWRqb3Vybm1lbnQgLnNoaXBwaW5nLXNpZGViYXIgLml0ZW0gLmxhYmVsLXRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0zKTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyLmFkam91cm5tZW50IC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC5maWVsZCB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMik7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lci5hZGpvdXJubWVudCAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSAuZmllbGQ6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTMpO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIuYWRqb3Vybm1lbnQgLnNoaXBwaW5nLXNpZGViYXIgLml0ZW0gLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIuYWRqb3Vybm1lbnQgLnNoaXBwaW5nLXNpZGViYXIgLml0ZW0gLmJ1dHRvbi5saWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0xKTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAtNDVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KSAwO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIgLnNoaXBwaW5nLXNpZGViYXIgLml0ZW0gLm5hdmlnYXRpb24gLmJ0biB7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC5uYXZpZ2F0aW9uIC5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1zaWRlYmFyIC5pdGVtIC5uYXZpZ2F0aW9uIC5idG4udmFsaWQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSAubmF2aWdhdGlvbiAuYnRuLmludmFsaWQsXG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSAubmF2aWdhdGlvbiAuYnRuLmFkam91cm5tZW50IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctc2lkZWJhciAuaXRlbSAubmF2aWdhdGlvbiBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIgLnNoaXBwaW5nLXNpZGViYXIgLmFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG5cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50ICB7XG5cdHdpZHRoOiA3NSU7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctY29udGVudCAuYnRuLW9ic2VydmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gOCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50IC5idG4tb2JzZXJ2YXRpb246aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLnNoaXBwaW5nIC5zaGlwcGluZy1jb250YWluZXIgLnNoaXBwaW5nLWNvbnRlbnQgLmJ0bi1vYnNlcnZhdGlvbi5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5zaGlwcGluZyAuc2hpcHBpbmctY29udGFpbmVyIC5zaGlwcGluZy1jb250ZW50IC5idG4tb2JzZXJ2YXRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG59XG4uc2hpcHBpbmcgLnNoaXBwaW5nLWNvbnRhaW5lciAuc2hpcHBpbmctY29udGVudCAuYnRuLW9ic2VydmF0aW9uIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59ICovXG5cbi5hbm9tYWx5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5ncmlkLmdyaWQtZXRhYmxpc3NlbWVudHMgLmFub21hbHkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2VyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5hbm9tYWx5IC51c2VycyB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmFub21hbHkgLnVzZXJzLmNsb3NlIHt9XG4uYW5vbWFseSAudXNlcnMgLmhlYWRlci11c2VycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDEuNSk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLmFub21hbHkgLnVzZXJzLmNsb3NlIC5oZWFkZXItdXNlcnMge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5hbm9tYWx5IC51c2VycyAuaGVhZGVyLXVzZXJzIC5zdGFydCB7fVxuLmFub21hbHkgLnVzZXJzIC5oZWFkZXItdXNlcnMgLmVuZCB7fVxuLmFub21hbHkgLnVzZXJzIC5oZWFkZXItdXNlcnMgLnRpdGxlLXVzZXJzIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZS1sYXJnZSkgKiAxLjI1KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5hbm9tYWx5IC51c2VycyAuaGVhZGVyLXVzZXJzIC5hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmFub21hbHkgLnVzZXJzIC5oZWFkZXItdXNlcnMgLmFjdGlvbiAuYnRuLWNsb3NlIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hbm9tYWx5IC51c2VycyAuaGVhZGVyLXVzZXJzIC5hY3Rpb24gLmJ0bi1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5hbm9tYWx5IC51c2VycyAuaGVhZGVyLXVzZXJzIC5hY3Rpb24gLmJ0bi1jbG9zZSBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLmFub21hbHkgLnVzZXJzIC5oZWFkZXItdXNlcnMgLmFjdGlvbiAuYnRuLWNsb3NlLnJldmVyc2Ugc3Zne1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmFub21hbHkgLnVzZXJzIC5oZWFkZXItdXNlcnMgLmFjdGlvbiAuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5hbm9tYWx5IC51c2VycyAuYWRkLXVzZXJzIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5hbm9tYWx5IC51c2Vycy5hZGRpbmctdXNlciAuYWRkLXVzZXJzIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uYW5vbWFseSAudXNlcnMgLmFkZC11c2VycyAuYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5hbm9tYWx5IC51c2VycyAuYWRkLXVzZXJzIC5idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5hbm9tYWx5IC51c2VycyAubGlzdC11c2VycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmFub21hbHkgLnVzZXJzLmNsb3NlIC5saXN0LXVzZXJzIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xufVxuLmFub21hbHkgLnVzZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIHZhcigtLXNwYWNlcikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmFub21hbHkgLnVzZXIgLmF2YXRhciB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5hbm9tYWx5IC51c2VyIC5hdmF0YXIgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmFub21hbHkgLnVzZXIgLmluZm9zIHt9XG4uYW5vbWFseSAudXNlciAuaW5mb3MgLm5hbWUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uYW5vbWFseSAudXNlciAuaW5mb3MgLm1haWwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5hbm9tYWx5IC51c2VyIC5yZW1vdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogNHB4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtaW5uZXIpIC8gMik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYW5vbWFseSAudXNlciAucmVtb3ZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmFub21hbHkgLnVzZXJzIC5ub3RpY2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uYW5vbWFseSAuYWRkLWFub21hbHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmFub21hbHkgLmFkZC1hbm9tYWx5IC5idG4tYWRkIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgdmFyKC0tc3BhY2VyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmFub21hbHkgLmFkZC1hbm9tYWx5IC5idG4tYWRkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmFub21hbHkgLmFkZC1hbm9tYWx5IC5idG4tYWRkIHN2ZyB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmFub21hbHkgLmFkZC1hbm9tYWx5IC5idG4tYWRkOmhvdmVyIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5hbm9tYWx5IC5hZGQtYW5vbWFseSAuYnRuLWFkZC5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkXG59XG4uYW5vbWFseSAuYWRkLWFub21hbHkgLmJ0bi1hZGQuZGlzYWJsZWQgc3ZnIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5hbm9tYWx5IC5hZGQtYW5vbWFseSAuYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5ncmlkLmdyaWQtZXRhYmxpc3NlbWVudHMgLmFub21hbHkgLmxpc3QtYW5vbWFseSB7XG5cdGdhcDogdmFyKC0tc3BhY2VyKTtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLmdyaWQuZ3JpZC1ldGFibGlzc2VtZW50cyAuYW5vbWFseSAubGlzdC1hbm9tYWx5IC50aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAudGl0bGUuaW4tcHJvZ3Jlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlcik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgdmFyKC0tc3BhY2VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbS5pbi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlci1saWdodCk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtLmxpbmUge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogc3RhcnQ7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0ubGluZSAubGluZS1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zcGFjZXIpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHdpZHRoOiAxMDAlO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbS5saW5lIC5saW5lLWl0ZW0uZmlyc3Qge1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMyk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydCk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5zdGFydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0gLmVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0gLmVxdWlwbWVudC1pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0gLmVxdWlwbWVudC1pdGVtIGltZyB7XG5cdHdpZHRoOiA0NHB4O1xuXHRoZWlnaHQ6IDQ0cHg7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbSAuZXF1aXBtZW50LWl0ZW0gLmluZm8ge31cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0gLmVxdWlwbWVudC1pdGVtIC5pbmZvIC5uYW1lIHtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtc2l6ZS1sYXJnZSkgLyAxLjEpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5lcXVpcG1lbnQtaXRlbSAuaW5mbyAucG9zaXRpb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC50aXRsZS1pdGVtIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbS5pbi1wcm9ncmVzcyAudGl0bGUtaXRlbSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMyk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5kYXRlLWl0ZW0ge31cbi5hbm9tYWx5IC5saXN0LWFub21hbHkgLml0ZW0gLmRhdGUtaXRlbS5saW1pdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbSAuZGF0ZS1pdGVtIC5pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbSAuZmVhdHVyZS1pdGVtIHt9XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5mZWF0dXJlLWl0ZW0uZGFuZ2VyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5mZWF0dXJlLWl0ZW0gLmluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5lbmQgLmFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYW5vbWFseSAubGlzdC1hbm9tYWx5IC5pdGVtIC5lbmQgLmFjdGlvbiAuYnRuLXZpZXcge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbSAuZW5kIC5hY3Rpb24gLmJ0bi12aWV3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbS5pbi1wcm9ncmVzcyAuZW5kIC5hY3Rpb24gLmJ0bi12aWV3IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKVxufVxuLmFub21hbHkgLmxpc3QtYW5vbWFseSAuaXRlbS5pbi1wcm9ncmVzcyAuZW5kIC5hY3Rpb24gLmJ0bi12aWV3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKVxufVxuXG4uYW5vbWFseSAuYXNzaWdubWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtc2lkZWJhciB7XG4gIHdpZHRoOiAyNSU7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1zaWRlYmFyIC5zdGlja3kge1xuICB0b3A6IDMwcHg7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IHtcbiAgd2lkdGg6IDc1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS5sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS5yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICB3aWR0aDogMTAwJTtcblxufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS5yaWdodCAuaXRlbS1jb250ZW50IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbSAuaXRlbS1jb250ZW50IC5hdmF0YXIge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J2N1cnJlbnRDb2xvciclM0UlM0NwYXRoIGQ9J000IDIyQzQgMTcuNTgxNyA3LjU4MTcyIDE0IDEyIDE0QzE2LjQxODMgMTQgMjAgMTcuNTgxNyAyMCAyMkgxOEMxOCAxOC42ODYzIDE1LjMxMzcgMTYgMTIgMTZDOC42ODYyOSAxNiA2IDE4LjY4NjMgNiAyMkg0Wk0xMiAxM0M4LjY4NSAxMyA2IDEwLjMxNSA2IDdDNiAzLjY4NSA4LjY4NSAxIDEyIDFDMTUuMzE1IDEgMTggMy42ODUgMTggN0MxOCAxMC4zMTUgMTUuMzE1IDEzIDEyIDEzWk0xMiAxMUMxNC4yMSAxMSAxNiA5LjIxIDE2IDdDMTYgNC43OSAxNC4yMSAzIDEyIDNDOS43OSAzIDggNC43OSA4IDdDOCA5LjIxIDkuNzkgMTEgMTIgMTFaJyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbSAuaXRlbS1jb250ZW50IC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS5sZWZ0IC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLnJpZ2h0IC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLndyaXRpbmcgLml0ZW0tY29udGVudCAuYnViYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0ubGVmdCAuaXRlbS1jb250ZW50IC5idWJibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC04cHg7XG4gIHRvcDogMTZweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLnJpZ2h0IC5pdGVtLWNvbnRlbnQgLmJ1YmJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC04cHg7XG4gIHRvcDogMTZweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0ud3JpdGluZyAuaXRlbS1jb250ZW50IC5idWJibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOHB4O1xuICBib3R0b206IDE2cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSAuZmllbGQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0gLml0ZW0tY29udGVudCAuYnViYmxlIC5maWVsZC1jb250YWluZXIgLmZpZWxkLWdyb3VwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS53cml0aW5nIC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSB0ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0gLml0ZW0tY29udGVudCAuYnViYmxlIC5yYWRpby1vcHRpb24sXG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSAuY2hlY2tib3gtb3B0aW9uIHt9XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtIC5pdGVtLWNvbnRlbnQgLmJ1YmJsZSAuYWN0aW9uIHtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0gLml0ZW0tY29udGVudCAuYnViYmxlIC5hY3Rpb24gLmJ0bi12YWxpZCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbSAuaXRlbS1jb250ZW50IC5idWJibGUgLmFjdGlvbiAuYnRuLXZhbGlkOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLmVuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcikgMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2VyKTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLmVuZCBzdmcge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbn1cbi5hbm9tYWx5IC5hc3NpZ25tZW50IC5hc3NpZ25tZW50LWNvbnRlbnQgLml0ZW0uZW5kIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWV4dHJhbGFyZ2UpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLmFub21hbHkgLmFzc2lnbm1lbnQgLmFzc2lnbm1lbnQtY29udGVudCAuaXRlbS5lbmQgLmxpbmsge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pXG59XG4uYW5vbWFseSAuYXNzaWdubWVudCAuYXNzaWdubWVudC1jb250ZW50IC5pdGVtLmVuZCAubGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnN1cHBsaWVycyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2VyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zdXBwbGllcnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgfVxufVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWZvcm0ge31cbi5zdXBwbGllcnMgLnN1cHBsaWVycy1pdGVtIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHotaW5kZXg6IDEwO1xufVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWl0ZW0gLnRvcCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcikgdmFyKC0tc3BhY2VyKSAwIHZhcigtLXNwYWNlcik7XG59XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuYm90dG9tIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpdmFyKC0tc3BhY2VyKVxufVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWl0ZW0gLmZpZWxkLWdyb3VwIHt9XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuZmllbGQtZ3JvdXAgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuZmllbGQtZ3JvdXAgbGFiZWwgPiAqOmZpcnN0LWNoaWxkIHtcbiAgZmxleDogMCAwIDEyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5zdXBwbGllcnMgLnN1cHBsaWVycy1pdGVtIC5maWVsZC1ncm91cCBsYWJlbCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXg6IDAgMCA5MHB4O1xuICB9XG59XG5cbi5zdXBwbGllcnMgLnN1cHBsaWVycy1pdGVtIC5maWVsZC1ncm91cCBsYWJlbCA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICBmbGV4OiAxO1xufVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWl0ZW0gLmZpZWxkLWdyb3VwIGxhYmVsIGlucHV0IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuZmllbGQtZ3JvdXAgbGFiZWwgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC5zdXBwbGllcnMgLnN1cHBsaWVycy1pdGVtIC5maWVsZC1ncm91cCBsYWJlbCBpbnB1dDpkaXNhYmxlZCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG5cdG9wYWNpdHk6IDE7XG59ICovXG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuZmllbGQtZ3JvdXAgbGFiZWwgLnRleHQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMykgMDtcbn1cbi5zdXBwbGllcnMgLnN1cHBsaWVycy1pdGVtIC5hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuYWN0aW9uIC5zdGFydCB7fVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWl0ZW0gLmFjdGlvbiAuZW5kIHt9XG4uc3VwcGxpZXJzIC5zdXBwbGllcnMtaXRlbSAuYWN0aW9uIC5idG4tZGVsZXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLnN1cHBsaWVycyAuc3VwcGxpZXJzLWl0ZW0gLmFjdGlvbiAuYnRuLWNhbmNlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5zdXBwbGllcnMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLnN1cHBsaWVycy1oZWFkZXIgLnRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4ubWFpbnRlbmFuY2Uge31cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtYWN0aW9uICB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlcik7XG5cdGp1c3RpZnktY29udGVudDogZW5kO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1hY3Rpb24gLmZpbHRlciB7XG5cdGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHR3aWR0aDogMTAwJTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtYWN0aW9uIC5maWx0ZXIgLmxhYmVsLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1hY3Rpb24gLmZpbHRlciAubGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWFjdGlvbiAuZmlsdGVyIC5saXN0IC5jYXQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1hY3Rpb24gLmZpbHRlciAubGlzdCAuY2F0OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWFjdGlvbiAuZmlsdGVyIC5saXN0IC5jYXQuYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWFjdGlvbiAuZmlsdGVyIC5saXN0IC5jYXQuYWN0aXZlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWFjdGlvbiAuYnRuLWFkZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1hY3Rpb24gLmJ0bi1hZGQgc3ZnIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWFjdGlvbiAuYnRuLWFkZDpob3ZlciBzdmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0KTtcblx0Y29sb3I6IHZhcigtLXN1dWNlc3MpO1xufVxuXG5cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpIHZhcigtLXNwYWNlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogc3RhcnQ7XG5cdFx0cGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdH1cbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuc3RhcnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuZW5kIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuZW5kIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBzdGFydDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5tYWludGVuYW5jZS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAubWFpbnRlbmFuY2UtY29udGVudCAuZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAubWFpbnRlbmFuY2UtY29udGVudCAuZXhjZXJwdCB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWl0ZW0gLm1haW50ZW5hbmNlLWNvbnRlbnQgLmluZm9zIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zcGFjZXIpO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5tYWludGVuYW5jZS1jb250ZW50IC5pbmZvcyBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHRmaWxsOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5tYWludGVuYW5jZS1jb250ZW50IC5pbmZvcyAuYXBwcm92ZWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAubWFpbnRlbmFuY2UtY29udGVudCAuaW5mb3MgLmZpbGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuc3RhdHVzIHt9XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWl0ZW0gLnN0YXR1cyAuYmFkZ2Uge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHR3aWR0aDogMTUwcHg7XG5cdGp1c3RpZnktY29udGVudDogZW5kO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcblx0Lm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGp1c3RpZnktY29udGVudDogc3RhcnQ7XG5cdH1cbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuYWN0aW9uIC52aWV3LFxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24gLmVkaXQsXG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWl0ZW0gLmFjdGlvbiAuZGVsZXRlLFxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24gLmFub21hbHkge1xuXHRhc3BlY3QtcmF0aW86IDE7XG5cdHdpZHRoOiAyOHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtaW5uZXIpIC8gMik7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWFpbnRlbmFuY2UgLm1haW50ZW5hbmNlLWl0ZW0gLmFjdGlvbiBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24gLnZpZXcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuYWN0aW9uIC5lZGl0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2stdHJhbnNwYXJlbnQtbml2LTIpO1xufVxuLm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS1pdGVtIC5hY3Rpb24gLmRlbGV0ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hbGVydCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbn1cbi5tYWludGVuYW5jZSAubWFpbnRlbmFuY2UtaXRlbSAuYWN0aW9uIC5hbm9tYWx5IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuXG4vKiBOb3RlIDogTmUgcGFzIHByZW5kcmUgZW4gY29tcHRlICovXG4ucGFnZS10ZW1wbGF0ZSB7fVxuLnBhZ2UtdGVtcGxhdGUgLnpvbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ucGFnZS10ZW1wbGF0ZSAuem9uZS5ib3JkZXJlZCB7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhZ2UtdGVtcGxhdGUgLnpvbmUubm8tZmxleCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnBhZ2UtdGVtcGxhdGUgLnpvbmUgLnRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFnZS10ZW1wbGF0ZSAuem9uZSBociB7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuXG4uZXhwZXJ0LW1vZGUge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUge1xuXHRwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcblx0Ym9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Z2FwOiB2YXIoLS1zcGFjZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuaWEtb3ZlcmxheSB7XG5cdGJvcmRlcjogbm9uZTtcbn1cbi5leHBlcnQtbW9kZSAubGluZS5pYS1vdmVybGF5OmJlZm9yZSB7XG5cdGxlZnQ6IC0xNXB4O1xuXHRyaWdodDogLTE1cHg7XG5cdHRvcDogLTJweDtcblx0Ym90dG9tOiAtMXB4O1xuXHR6LWluZGV4OiAxO1xuXHRib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cy1pbm5lcikgLyAxLjUpO1xuXHRib3JkZXI6IHNvbGlkIDJweCB2YXIoLS1jb2xvci1hZ2VudC1saWdodCk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuaWEtb3ZlcmxheSAuaWEtaW5kaWNhdG9yIHtcblx0Ym9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtaW5uZXIpIC8gMS41KTtcblx0cmlnaHQ6IC00NXB4O1xuXHR0b3A6IC0xcHg7XG5cdHBhZGRpbmc6IDJweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGJhY2tncm91bmQ6ICB2YXIoLS1jb2xvci1hZ2VudCk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZGVsZXRlLW92ZXJsYXkge1xuXHRib3JkZXI6IG5vbmU7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZGVsZXRlLW92ZXJsYXk6YmVmb3JlIHtcblx0bGVmdDogLTE1cHg7XG5cdHJpZ2h0OiAtMTVweDtcblx0dG9wOiAtMnB4O1xuXHRib3R0b206IC0xcHg7XG5cdHotaW5kZXg6IDE7XG5cdGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDEuNSk7XG5cdGJvcmRlcjogc29saWQgMnB4IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcbn1cbi5leHBlcnQtbW9kZSAubGluZS5kZWxldGUtb3ZlcmxheSAuZGVsZXRlLWluZGljYXRvciB7XG5cdGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDEuNSk7XG5cdHJpZ2h0OiAtNDVweDtcblx0dG9wOiAtMXB4O1xuXHRwYWRkaW5nOiAycHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRiYWNrZ3JvdW5kOiAgdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5zdGFydCxcbi5leHBlcnQtbW9kZSAubGluZSAuZW5kIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5leHBlcnQtbW9kZSAubGluZS5lcXVpcG1lbnQgLnN0YXJ0LFxuLmV4cGVydC1tb2RlIC5saW5lLmVxdWlwbWVudCAuZW5kIHtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuc3RhcnQge1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHR3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQuZXhwZXJ0LW1vZGUgLmxpbmUgLnN0YXJ0IHtcblx0XHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpO1xuXHR9XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmVuZCB7XG5cdGdhcDogdmFyKC0tc3BhY2VyKTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuZHJhZyB7XG5cdGN1cnNvcjogZ3JhYjtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuZHJhZyBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcblx0dHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmRyYWc6aG92ZXIgc3ZnIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbCB7fVxuLmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbC5uaXYtMCB7fVxuLmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbC5uaXYtMSB7XG5cdGZsZXg6IDAgMCBjYWxjKDI0cHggKiAxKTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAubGV2ZWwubml2LTIge1xuXHRmbGV4OiAwIDAgY2FsYygyNHB4ICogMik7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmxldmVsLm5pdi0zIHtcblx0ZmxleDogMCAwIGNhbGMoMjRweCAqIDMpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbC5uaXYtNCB7XG5cdGZsZXg6IDAgMCBjYWxjKDI0cHggKiA0KTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAubGV2ZWwubml2LTUge1xuXHRmbGV4OiAwIDAgY2FsYygyNHB4ICogNSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbC5uaXYtMSB7XG5cdFx0ZmxleDogMCAwIGNhbGMoMjRweCAqIDAuNSk7XG5cdH1cblx0LmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbC5uaXYtMiB7XG5cdFx0ZmxleDogMCAwIGNhbGMoMjRweCAqIDEpO1xuXHR9XG5cdC5leHBlcnQtbW9kZSAubGluZSAubGV2ZWwubml2LTMge1xuXHRcdGZsZXg6IDAgMCBjYWxjKDI0cHggKiAxLjUpO1xuXHR9XG5cdC5leHBlcnQtbW9kZSAubGluZSAubGV2ZWwubml2LTQge1xuXHRcdGZsZXg6IDAgMCBjYWxjKDI0cHggKiAyKTtcblx0fVxuXHQuZXhwZXJ0LW1vZGUgLmxpbmUgLmxldmVsLm5pdi01IHtcblx0XHRmbGV4OiAwIDAgY2FsYygyNHB4ICogMi41KTtcblx0fVxufVxuLmV4cGVydC1tb2RlIC5saW5lIC5sZXZlbCBzdmcge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmZvcyB7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZXF1aXBtZW50IC5zdGFydC1yZXNwb25zaXZlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXHRnYXA6IHZhcigtLXNwYWNlcik7XG5cdHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG5cdC5leHBlcnQtbW9kZSAubGluZS5lcXVpcG1lbnQgLnN0YXJ0LXJlc3BvbnNpdmUge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAwO1xuXHR9XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZXF1aXBtZW50IC5zdGFydC1yZXNwb25zaXZlIC5pbmZvcyB7XG5cdHdpZHRoOiAzOTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5MDBweCkge1xuXHQuZXhwZXJ0LW1vZGUgLmxpbmUuZXF1aXBtZW50IC5zdGFydC1yZXNwb25zaXZlIC5pbmZvcyB7XG5cdFx0d2lkdGg6IDI1MHB4O1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0LmV4cGVydC1tb2RlIC5saW5lLmVxdWlwbWVudCAuc3RhcnQtcmVzcG9uc2l2ZSAuaW5mb3Mge1xuXHRcdHdpZHRoOiBpbmhlcml0O1xuXHR9XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZXF1aXBtZW50IC5zdGFydC1yZXNwb25zaXZlIC5jb21wbGVtZW50cyB7fVxuXG5cbi5leHBlcnQtbW9kZSAubGluZSAuaW5mb3MgLnRpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW5mb3MgLnRpdGxlIGIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUuZXF1aXBtZW50IC5pbmZvcyAudGl0bGUgYiB7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LXNpemUtbGFyZ2UpIC8gMS4xKTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW5mb3MgLnRpdGxlIHN2ZyB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmluZm9zIC50aXRsZSBzdmcuZmF2b3JpdGUge1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmluZm9zIC5tb3JlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW5mb3MgLm1vcmU6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmluZm9zIC5kaXNhYmxlZCB7XG5cdG9wYWNpdHk6IDAuMzU7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmluZm9zIC5zZXBhcmF0b3Ige1xuXHRoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmZvcyAubGlzdCB7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmV4cGVydC1tb2RlIC5saW5lLmVxdWlwbWVudCAuaW5mb3MgLmxpc3QuaGlkZGVuLWxpc3Qge1xuXHRkaXNwbGF5OiBub25lO1xuXHRvcGFjaXR5OiAwO1xuXHRtYXgtaGVpZ2h0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lLmVxdWlwbWVudCAuaW5mb3MgLmxpc3Quc2hvd2luZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRhbmltYXRpb246IGVxdWlwbWVudExpc3RTbGlkZUluIDAuM3MgZWFzZSBmb3J3YXJkcztcbn1cbi5leHBlcnQtbW9kZSAubGluZS5lcXVpcG1lbnQgLmluZm9zIC5saXN0LmhpZGluZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRhbmltYXRpb246IGVxdWlwbWVudExpc3RTbGlkZU91dCAwLjNzIGVhc2UgZm9yd2FyZHM7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmNvbXBsZW1lbnRzIHtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSBpbWcge1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW5kaWNhdG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBlbmQ7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4uZXhwZXJ0LW1vZGUgLmxpbmUgLmluZGljYXRvciBzdmcge1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmRpY2F0b3IgLmRhbmdlcm91cyB7XG5cdHBhZGRpbmc6IDRweDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmRpY2F0b3IgLmVkdWNhdGlvbmFsIHtcblx0cGFkZGluZzogNHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWxpZ2h0KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmRpY2F0b3IgLmFub21hbHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA4KTtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRwYWRkaW5nOiA0cHggMTBweCA0cHggNHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbmRpY2F0b3IgLmFub21hbHkuY3VycmVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0LWxpZ2h0KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW5kaWNhdG9yIC5hbm9tYWx5LnJlc29sdmVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW50ZXJhY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5leHBlcnQtbW9kZSAubGluZSAuaW50ZXJhY3Rpb24gLmJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLnN1Y2Nlc3Mge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLnN1Y2Nlc3M6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLnByaW1hcnkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLnByaW1hcnk6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ibGFjayk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLmFsZXJ0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuLmFsZXJ0OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQtbGlnaHQpO1xufVxuLmV4cGVydC1tb2RlIC5saW5lIC5pbnRlcmFjdGlvbiAuYnRuIHN2ZyB7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuZXhwZXJ0LW1vZGUgLmxpbmUgLmludGVyYWN0aW9uIC5idG4gc3ZnIHtcblx0XHR3aWR0aDogMTRweDtcblx0XHRoZWlnaHQ6IDE0cHg7XG5cdH1cbn1cbi5leHBlcnQtbW9kZSAubGluZSAuYWN0aW9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5Aa2V5ZnJhbWVzIGVxdWlwbWVudExpc3RTbGlkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0bWF4LWhlaWdodDogNTAwcHg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGVxdWlwbWVudExpc3RTbGlkZU91dCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0bWF4LWhlaWdodDogNTAwcHg7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblx0fVxufVxuXG4jY2FtLXByZXZpZXcsXG4jY2FtLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG5cblxuIiwiLmNvbm5leGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tc3BhY2VyKSogMikpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpICogMik7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5oZWFkZXIgLmxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuaGVhZGVyIC50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLm5vdGljZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlLnBhc3N3b3JkIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHVsIHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLm5vdGljZSB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHVsIGxpLnN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5ub3RpY2UgdWwgbGkuZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHVsIGxpLmluZm8ge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLm5vdGljZSB1bCBsaSBwcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbGVydC1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDgpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4td2lkdGg6IDE4cHg7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5ub3RpY2UucGFzc3dvcmQgc3ZnIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi13aWR0aDogMTRweDtcbiAgbWluLWhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLm5vdGljZS5tZXNzYWdlIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIHNwYW4ge1xuICBmbGV4OiAxO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpO1xufVxuLmNvbm5leGlvbiAuY29ubmV4aW9uLWNvbnRlbnQgLml0ZW0tY29udGVudCAuY29udGVudCAubm90aWNlIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5ub3RpY2UgLnRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5ub3RpY2UgLmNvZGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cy1pbm5lcikgLyAyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMikgdmFyKC0tc3BhY2VyKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1leHRyYWxhcmdlKTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLmFjdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5hY3Rpb24gLmJ0bi1jb25uZXhpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLmFjdGlvbiAuYnRuLWNvbm5leGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbn1cbi5jb25uZXhpb24gLmNvbm5leGlvbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgLmNvbnRlbnQgLmFjdGlvbiAuZm9yZ290LXBhc3N3b3JkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uY29ubmV4aW9uIC5jb25uZXhpb24tY29udGVudCAuaXRlbS1jb250ZW50IC5jb250ZW50IC5hY3Rpb24gLmZvcmdvdC1wYXNzd29yZDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEUgREVTIE1BVEnDiFJFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEuIENvbnRlbmV1cnMgZGUgY2hhbXBzXG4gICAyLiBUaXRyZXMgZXQgc8OpcGFyYXRldXJzXG4gICAzLiBTdHJ1Y3R1cmUgZGVzIGNoYW1wc1xuICAgNC4gTGFiZWxzXG4gICA1LiBDaGFtcHMgZGUgc2Fpc2llXG4gICA2LiBHZXN0aW9uIGRlcyBtb3RzIGRlIHBhc3NlXG4gICA3LiBDYXNlcyDDoCBjb2NoZXJcbiAgIDguIEJvdXRvbnMgcmFkaW9cbiAgIDkuIEludGVycnVwdGV1cnMgKFRvZ2dsZSBTd2l0Y2gpXG4gICAxMC4gQ3Vyc2V1cnMgKFJhbmdlIFNsaWRlcilcbiAgIDExLiBOb3RpZmljYXRpb25zXG4gICAxMi4gWm9uZSBkZSBkw6lww7R0IChEcm9wem9uZSlcbiAgIDEzLiBHcm91cGVzIGRlIGNvbnRyw7RsZXMgcGVyc29ubmFsaXPDqXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxLiBDb250ZW5ldXJzIGRlIGNoYW1wc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAxLjUpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIpIHZhcigtLXNwYWNlcikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMS41KSB2YXIoLS1zcGFjZXIpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1zcGFjZXIpICogMikpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2VyKSk7XG4gIH1cbn1cbi5maWVsZC1jb250YWluZXIuYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4uZmllbGQtY29udGFpbmVyLmJhY2tncm91bmQgLm5vdGljZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5maWVsZC1jb250YWluZXIuYmFja2dyb3VuZC5kYW5nZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmZpZWxkLWNvbnRhaW5lci5iYWNrZ3JvdW5kLmRhbmdlciAuZmllbGQtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5maWVsZC1jb250YWluZXIuYmFja2dyb3VuZC5kYW5nZXIgLmxhYmVsLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50LW5pdi0zKTtcbn1cbi5maWVsZC1jb250YWluZXIuYm9yZGVyZWQge1xuICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmZpZWxkLWNvbnRhaW5lci5zaGFkb3cge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uZmllbGQtY29udGFpbmVyIC5jbG9zZSxcbi5maWVsZC1jb250YWluZXIgLmVkaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZmllbGQtY29udGFpbmVyIC5jbG9zZTpob3Zlcixcbi5maWVsZC1jb250YWluZXIgLmVkaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmZpZWxkLWdyb3VwIHtcbiAgZ2FwOiAwO1xufVxuXG4uZmllbGQtY29udGFpbmVyIC5maWVsZC10aXRsZS5ib3JkZXJlZDpoYXMoKyAuZC1ub25lKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4uZmllbGQtY29udGFpbmVyIGhyLmZpZWxkOmhhcygrIC5kLW5vbmUpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIuIFRpdHJlcyBldCBzw6lwYXJhdGV1cnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZmllbGQtdGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxhcmdlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDEuNSk7XG59XG4uZmllbGQtdGl0bGUuYm9yZGVyZWQge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDEuNSk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xufVxuLmZpZWxkLXRpdGxlLmxhcmdlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZXh0cmFsYXJnZSk7XG59XG4uZmllbGQtdGl0bGUuaGlnaGxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cbi5maWVsZC10aXRsZS5ib3hlZCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xufVxuXG5oci5maWVsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDEuNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAzLiBTdHJ1Y3R1cmUgZGVzIGNoYW1wc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5maWVsZC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmllbGQtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5maWVsZC1jb2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uZmllbGQtY29sLmNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZmllbGQtY29sIGhyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjay10cmFuc3BhcmVudC1uaXYtMik7XG4gIGJvcmRlci13aWR0aDogMC41cHg7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2VyKSAvIDEuNSk7XG59XG4uZmllbGQtY29sIC5idXR0b24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZmllbGQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyAxLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZpZWxkLWdyb3VwLmNlbnRlciB7fVxuLmZpZWxkLWdyb3VwLmlhIHt9XG4uZmllbGQtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cbi5maWVsZC10ZXh0IC5iYWRnZS5kb3Qge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLmZpZWxkLWhlbHBlciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbn1cbi5maWVsZC1oZWxwZXIgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogLTRweDtcbn1cbi5maWVsZC1ncm91cCBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxNzBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDQuIExhYmVsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmllbGQtZ3JvdXAuY2VudGVyIC5sYWJlbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubGFiZWwuY2VudGVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5sYWJlbC1pbmxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmxhYmVsLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmxhYmVsLXRpdGxlLmluZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIGZpbGw9J3JnYmEoMTgzLDE3NiwxNTYsMSknJTNFJTNDcGF0aCBkPSdNMTIgMjJDNi40NzcxNSAyMiAyIDE3LjUyMjggMiAxMkMyIDYuNDc3MTUgNi40NzcxNSAyIDEyIDJDMTcuNTIyOCAyIDIyIDYuNDc3MTUgMjIgMTJDMjIgMTcuNTIyOCAxNy41MjI4IDIyIDEyIDIyWk0xMiA5LjVDMTIuODI4NCA5LjUgMTMuNSA4LjgyODQzIDEzLjUgOEMxMy41IDcuMTcxNTcgMTIuODI4NCA2LjUgMTIgNi41QzExLjE3MTYgNi41IDEwLjUgNy4xNzE1NyAxMC41IDhDMTAuNSA4LjgyODQzIDExLjE3MTYgOS41IDEyIDkuNVpNMTQgMTVIMTNWMTAuNUgxMFYxMi41SDExVjE1SDEwVjE3SDE0VjE1WiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMS41KTtcbn1cbi5pYSAubGFiZWwtdGl0bGUge31cbi5pYSAubGFiZWwtdGl0bGUgLmlhLWF2YXRhciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFnZW50LWxpZ2h0KTtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuO1xufVxuLmlhIC5sYWJlbC10aXRsZSAuaWEtYXZhdGFyIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA1LiBDaGFtcHMgZGUgc2Fpc2llXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZpZWxkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMykgMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uZmllbGQuaWEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWdlbnQpO1xufVxuLmZpZWxkOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG59XG4uZmllbGQuaWE6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItYWdlbnQtbGlnaHQpO1xufVxuLmZpZWxkOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmZpZWxkLmlhOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLWFnZW50KTtcbn1cbi5pYSAuaWEtZmllbGQtZGVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFnZW50KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQtbGlnaHQpO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pbm5lcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IC04cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxNXB4O1xuICByaWdodDogMHB4O1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmlhIC5pYS1maWVsZC1kZWw6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLmlhIC5pYS1maWVsZC1kZWwudXAge1xuICB0b3A6IDVweDtcbiAgYm90dG9tOiBpbmhlcml0O1xufVxuLmlhIC5pYS1maWVsZC1kZWwgc3ZnIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbn1cbi5jZW50ZXIgLmZpZWxkIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50ZXh0YXJlYS5maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjZXIpKTtcbn1cbnRleHRhcmVhLmZpZWxkLmZpZWxkLXNtYWxsIHtcbiAgbWluLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc2VsZWN0LmZpZWxkIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyBmaWxsPSdyZ2JhKDAsMCwwLDAuNSknJTNFJTNDcGF0aCBkPSdNMTIgMTUuMDAwNkw3Ljc1NzMyIDEwLjc1OEw5LjE3MTU0IDkuMzQzNzVMMTIgMTIuMTcyMkwxNC44Mjg0IDkuMzQzNzVMMTYuMjQyNiAxMC43NThMMTIgMTUuMDAwNlonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBHZXN0aW9uIGRlcyBtb3RzIGRlIHBhc3NlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvZ2dsZS1wYXNzd29yZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDVweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4udG9nZ2xlLXBhc3N3b3JkOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG59XG4udG9nZ2xlLXBhc3N3b3JkIC5leWUtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHhcbn1cbi5wYXNzd29yZC1oaWRkZW4gLmV5ZS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucGFzc3dvcmQtdmlzaWJsZSAuZXllLWNsb3NlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNy4gQ2FzZXMgw6AgY29jaGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5maWVsZC1ncm91cCAuY2hlY2tib3gtY29udGFpbmVyOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNoZWNrYm94LWNvbnRhaW5lciAuY2hlY2tib3gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cbi5jaGVja2JveC1jb250YWluZXIgLmNoZWNrYm94LWN1c3RvbSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5jaGVja2JveC1jb250YWluZXIgLmNoZWNrYm94LWN1c3RvbTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtaW5uZXIpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmNoZWNrYm94LWNvbnRhaW5lciAuY2hlY2tib3gtaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja2JveC1jdXN0b206OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5jaGVja2JveC1jb250YWluZXIgLmNoZWNrYm94LWlucHV0OmZvY3VzIH4gLmNoZWNrYm94LWN1c3RvbSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY2hlY2tib3gtY29udGFpbmVyIC5jaGVja2JveC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG59XG4uY2hlY2tib3gtY29udGFpbmVyLmNoZWNrYm94LWRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBCb3V0b25zIHJhZGlvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiBsYWJlbCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnJhZGlvLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5yYWRpby1ncm91cCAucmFkaW8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmFkaW8tZ3JvdXAgLnJhZGlvLWNvbnRhaW5lciAucmFkaW8taW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cbi5yYWRpby1ncm91cCAucmFkaW8tY29udGFpbmVyIC5yYWRpby1jdXN0b20ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5yYWRpby1ncm91cCAucmFkaW8tY29udGFpbmVyIC5yYWRpby1jdXN0b206OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4ucmFkaW8tZ3JvdXAgLnJhZGlvLWNvbnRhaW5lciAucmFkaW8taW5wdXQ6Y2hlY2tlZCB+IC5yYWRpby1jdXN0b206OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5yYWRpby1ncm91cCAucmFkaW8tY29udGFpbmVyIC5yYWRpby1pbnB1dDpmb2N1cyB+IC5yYWRpby1jdXN0b20ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJhZGlvLWdyb3VwIC5yYWRpby1jb250YWluZXIgLnJhZGlvLWxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbm9ybWFsKTtcbn1cblxuLnJhZGlvLWdyb3VwLWxhcmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNlcikgKiAxLjUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucmFkaW8tZ3JvdXAtbGFyZ2UgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbm9ybWFsKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgei1pbmRleDogMTA7XG59XG4ucmFkaW8tZ3JvdXAtbGFyZ2UgLnNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICB6LWluZGV4OiAxO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0LnZhbHVlLWRlZmF1bHQ6Y2hlY2tlZCB+IC5zbGlkZXIge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0LnZhbHVlLWRlZmF1bHQ6ZGlzYWJsZWQgfiAuc2xpZGVyIHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5yYWRpby1ncm91cC1sYXJnZSBpbnB1dC52YWx1ZS1kZWZhdWx0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMykgIWltcG9ydGFudDtcbn1cbi5yYWRpby1ncm91cC1sYXJnZSBpbnB1dC52YWx1ZS1zdWNjZXNzICsgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4ucmFkaW8tZ3JvdXAtbGFyZ2UgaW5wdXQudmFsdWUtc3VjY2VzczpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5yYWRpby1ncm91cC1sYXJnZSBpbnB1dC52YWx1ZS1zdWNjZXNzOmNoZWNrZWQgKyAuc2xpZGVyIHtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5yYWRpby1ncm91cC1sYXJnZSBpbnB1dC52YWx1ZS1hbGVydDpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0LnZhbHVlLWFsZXJ0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cbi5yYWRpby1ncm91cC1sYXJnZSBpbnB1dC52YWx1ZS1hbGVydDpjaGVja2VkIH4gLnNsaWRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuXG4ucmFkaW8tZ3JvdXAtbGFyZ2UuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0OmRpc2FibGVkICsgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0LnZhbHVlLWRlZmF1bHQ6ZGlzYWJsZWQgLnNsaWRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMykgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xufVxuLnJhZGlvLWdyb3VwLWxhcmdlIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBJbnRlcnJ1cHRldXJzIChUb2dnbGUgU3dpdGNoKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50b2dnbGUtc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udG9nZ2xlLXN3aXRjaCBpbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udG9nZ2xlLXN3aXRjaCAuc3dpdGNoLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udG9nZ2xlLXN3aXRjaCAuc3dpdGNoLWxhYmVsIC5zd2l0Y2gtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgbGVmdDogM3B4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4udG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkICsgLnN3aXRjaC1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnRvZ2dsZS1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIC5zd2l0Y2gtbGFiZWwgLnN3aXRjaC1idXR0b24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjJweCk7XG59XG4udG9nZ2xlLXN3aXRjaCBpbnB1dDpmb2N1cyArIC5zd2l0Y2gtbGFiZWwge1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4udG9nZ2xlLXN3aXRjaC1hdmF0YXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi50b2dnbGUtc3dpdGNoLWF2YXRhciBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG4udG9nZ2xlLXN3aXRjaC1hdmF0YXIgLmF2YXRhci1vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnRvZ2dsZS1zd2l0Y2gtYXZhdGFyIC5hdmF0YXItb3B0aW9uOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLnRvZ2dsZS1zd2l0Y2gtYXZhdGFyIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmF2YXRhci1vcHRpb24ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cbi50b2dnbGUtc3dpdGNoLWF2YXRhciAudmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50b2dnbGUtc3dpdGNoLWF2YXRhciAudmlkZW8tY29udGFpbmVyIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50b2dnbGUtc3dpdGNoLWF2YXRhciAuYXZhdGFyLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgMDtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG59XG4udG9nZ2xlLXN3aXRjaC1hdmF0YXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuYXZhdGFyLW9wdGlvbiAuYXZhdGFyLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRvZ2dsZS1zd2l0Y2gtYXZhdGFyIHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDMpO1xuICB9XG5cbiAgLnRvZ2dsZS1zd2l0Y2gtYXZhdGFyIC5hdmF0YXItb3B0aW9uIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA2KTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIEN1cnNldXJzIChSYW5nZSBTbGlkZXIpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJhbmdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLnJhbmdlLWNvbnRhaW5lciAucmFuZ2Utc2xpZGVyIHtcbiAgZmxleDogMTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucmFuZ2UtY29udGFpbmVyIC5yYW5nZS1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFuZ2UtY29udGFpbmVyIC5yYW5nZS1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5yYW5nZS1jb250YWluZXIgLnJhbmdlLXZhbHVlIHtcbiAgbWluLXdpZHRoOiA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEwLiBOb3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZmllbGQtZ3JvdXAgLm5vdGljZSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmlhLW5vdGljZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWdyYWRpZW50LWFnZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyAzKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZXIpO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMyk7XG59XG4uaWEtbm90aWNlIC50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xufVxuLmlhLW5vdGljZSAudGV4dCB7fVxuLmlhLW5vdGljZSAuaW5qZWN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hZ2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWlubmVyKSAvIDIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmlhLW5vdGljZSAuaW5qZWN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWdlbnQtbGlnaHQpO1xufVxuLmlhLW5vdGljZSAuaW5qZWN0IHN2ZyB7fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTIuIFpvbmUgZGUgZMOpcMO0dCAoRHJvcHpvbmUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRyb3B6b25lLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAuZHJvcHpvbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAuZHJvcHpvbmU6aG92ZXIsXG4uZHJvcHpvbmUtY29udGFpbmVyIC5kcm9wem9uZS5kcmFnb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZHJvcHpvbmUtY29udGFpbmVyIC5kcm9wem9uZSAuZHJvcHpvbmUtaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbn1cbi5kcm9wem9uZS1jb250YWluZXIgLmRyb3B6b25lIC5kcm9wem9uZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAuZHJvcHpvbmUgLmRyb3B6b25lLXRleHQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAuZHJvcHpvbmUgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZHJvcHpvbmUtY29udGFpbmVyIC5wcmV2aWV3LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uZHJvcHpvbmUtY29udGFpbmVyIC5wcmV2aWV3LWNvbnRhaW5lciAuaW1hZ2UtcHJldmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWlubmVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5kcm9wem9uZS1jb250YWluZXIgLnByZXZpZXctY29udGFpbmVyIC5pbWFnZS1wcmV2aWV3IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAucHJldmlldy1jb250YWluZXIgLmltYWdlLXByZXZpZXcgLnJlbW92ZS1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAucHJldmlldy1jb250YWluZXIgLmltYWdlLXByZXZpZXcgLnJlbW92ZS1pbWFnZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5kcm9wem9uZS1jb250YWluZXIgLnByZXZpZXctY29udGFpbmVyIC5maWxlbmFtZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogODBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRyb3B6b25lLWNvbnRhaW5lciAucHJldmlldy1jb250YWluZXIgLmltYWdlLXByZXZpZXcubm90LWZvdW5kIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBHcm91cGVzIGRlIGNvbnRyw7RsZXMgcGVyc29ubmFsaXPDqXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmFkaW8tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ucmFkaW8tZ3JvdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5yYWRpby1ncm91cCBpbnB1dC52YWx1ZS1zdWNjZXNzOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG4ucmFkaW8tZ3JvdXAgaW5wdXQudmFsdWUtYWxlcnQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpICFpbXBvcnRhbnQ7XG59XG4ucmFkaW8tb3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KSBjYWxjKHZhcigtLXNwYWNlcikgLyAyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuLmZpZWxkLWNvbnRhaW5lci5iYWNrZ3JvdW5kIC5yYWRpby1vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4ucmFkaW8tb3B0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbn1cbi5yYWRpby1vcHRpb24gc3ZnIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4ucmFkaW8tZ3JvdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmlhIC5yYWRpby1ncm91cCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLFxuLmlhIC5yYWRpby1ncm91cCBpbnB1dFt0eXBlPVwicmFkaW9cIl0uaWE6Y2hlY2tlZCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQtYWdlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG5cbi5jaGVja2JveC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5jaGVja2JveC1ncm91cCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNoZWNrYm94LWdyb3VwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuLmNoZWNrYm94LW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5maWVsZC1jb250YWluZXIuYmFja2dyb3VuZCAuY2hlY2tib3gtb3B0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmNoZWNrYm94LW9wdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMik7XG59XG4uY2hlY2tib3gtb3B0aW9uIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLmNoZWNrYm94LWdyb3VwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE0LiBJbnB1dCBGaWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZpZWxkLWZpbGUge1xuICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMyk7XG4gICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTEpO1xuICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0zKTtcbiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICBmb250LWZhbWlseTogdmFyKC0tZm9udCk7XG4gICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ub3JtYWwpO1xuICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uZmllbGQtZmlsZTpob3ZlciB7XG4gICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTIpO1xuICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xufVxuLmZpZWxkLWZpbGU6Zm9jdXMge1xuICAgb3V0bGluZTogbm9uZTtcbiAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uZmllbGQtZmlsZTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG4gICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICBib3JkZXI6IG5vbmU7XG4gICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5uZXIpO1xuICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQpO1xuICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG4uZmllbGQtZmlsZTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi00KTtcbn1cbi5maWxlLWlucHV0LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG59XG4uZmlsZS1pbnB1dC1oaWRkZW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG9wYWNpdHk6IDA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmZpbGUtaW5wdXQtY3VzdG9tIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiBjYWxjKHZhcigtLXNwYWNlcikgLyA0KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDMpIGNhbGModmFyKC0tc3BhY2VyKSAvIDIpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmZpbGUtaW5wdXQtY3VzdG9tOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LW5pdi0yKTtcbn1cbi5maWxlLWlucHV0LWN1c3RvbSBzdmcge1xuXHRmbGV4LXNocmluazogMDtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcbn1cbi5maWxlLWlucHV0LWZpbGVuYW1lIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTQpO1xuXHRmbGV4OiAxO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5maWxlLWlucHV0LWZpbGVuYW1lLmhhcy1maWxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmxhY2spO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTUuIENoYXJnZW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubG9hZGluZy1maWVsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogY2FsYyh2YXIoLS1zcGFjZXIpIC8gMik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtMSk7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2VyKSAvIDQpIHZhcigtLXNwYWNlcikgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCkgY2FsYyh2YXIoLS1zcGFjZXIpIC8gNCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5sb2FkaW5nLWZpZWxkIC5sb2FkaW5nLXNwaW5uZXIge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktbml2LTMpO1xuXHRib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuXHRhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuXHRmbGV4LXNocmluazogMDtcbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG5cdDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cblx0MTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbi5sb2FkaW5nLWZpZWxkIC5sb2FkaW5nLXRleHQge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1uaXYtNCk7XG59Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/