/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./src/scss/index.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * UdeC Design System - Main Index
 *
 * Archivo principal que importa todos los estilos base.
 * Importa este archivo para tener el sistema completo.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Fonts - Tipografías Roboto y Poppins */
/**
 * UdeC Design System - Fonts
 *
 * Declaraciones @font-face para Roboto y Poppins.
 * Usa fuentes locales en formato woff2 del tema.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Roboto - Variable Font */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Roboto-VariableFont.woff2) format("woff2-variations");
}
@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Roboto-Italic-VariableFont.woff2) format("woff2-variations");
}
/* Poppins - Regular */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/Poppins-Regular.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/Poppins-Italic.woff2) format("woff2");
}
/* Poppins - Medium (500) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Poppins-Medium.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Poppins-MediumItalic.woff2) format("woff2");
}
/* Poppins - SemiBold (600) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/Poppins-SemiBold.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/Poppins-SemiBoldItalic.woff2) format("woff2");
}
/* Poppins - Bold (700) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/Poppins-Bold.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/Poppins-BoldItalic.woff2) format("woff2");
}
/* Variables - Design tokens */
/**
 * UdeC Design System - Variables (Design Tokens)
 *
 * Variables de diseño extraídas desde Figma.
 * Este archivo contiene todos los tokens del sistema de diseño.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Global color */
:root {
  /* Color code */
  /* color */
  --color-feedback-green-200: #b6decb;
  --color-feedback-green-600: #2b9467;
  --color-feedback-red-100: var(--color-secondary-red-100);
  --color-feedback-red-600: var(--color-secondary-red-600);
  --color-feedback-yellow-200: var(--color-primary-yellow-200);
  --color-feedback-yellow-600: var(--color-primary-yellow-600);
  --color-neutral-gray-50: #F5F5F5;
  --color-neutral-gray-100: #E6E6E6;
  --color-neutral-gray-200: #D1D1D1;
  --color-neutral-gray-300: #BDBDBD;
  --color-neutral-gray-400: #ABABAB;
  --color-neutral-gray-500: #A0A0A0;
  --color-neutral-gray-600: #808080;
  --color-neutral-gray-700: #5E5E5E;
  --color-neutral-gray-800: #383838;
  --color-neutral-gray-900: #1A1A1A;
  --color-neutral-white-0: #ffffff;
  --color-primary-blue-50: #c7d5ed;
  --color-primary-blue-100: #a6b6d3;
  --color-primary-blue-200: #8598b9;
  --color-primary-blue-300: #64799e;
  --color-primary-blue-400: #435b84;
  --color-primary-blue-500: #223c6a;
  --color-primary-blue-600: #1b3055;
  --color-primary-blue-700: #142440;
  --color-primary-blue-800: #0e182a;
  --color-primary-blue-900: #070c15;
  --color-primary-yellow-50: #F6F4EE;
  --color-primary-yellow-100: #ECDFC5;
  --color-primary-yellow-200: #E8CC96;
  --color-primary-yellow-300: #EAB653;
  --color-primary-yellow-400: #EFA71A;
  --color-primary-yellow-500: #E69B0A;
  --color-primary-yellow-600: #B57C0D;
  --color-primary-yellow-700: #825A0C;
  --color-primary-yellow-800: #5B400B;
  --color-primary-yellow-900: #34250A;
  --color-secondary-red-50: #F5EFF0;
  --color-secondary-red-100: #ECD5D7;
  --color-secondary-red-200: #E0ADB3;
  --color-secondary-red-300: #D67680;
  --color-secondary-red-400: #D83243;
  --color-secondary-red-500: #D21428;
  --color-secondary-red-600: #991523;
  --color-secondary-red-700: #6D131C;
  --color-secondary-red-800: #470F15;
  --color-secondary-red-900: #270C0F;
  --color-purple: #5E65D4;
  --color-green: #4DAC82;
  --color-light-blue: #5798DC;
  --color-salmon: #E25241;
  --color-dark-blue: #142440;
  --color-orange: #EF702E;
}

/* Specific color */
:root {
  /* Mode 1 */
  /* color */
  --background-color-bg-accent: var(--color-primary-yellow-500);
  --color-background-alt: var(--color-primary-blue-700);
  --color-background-overlay: var(--color-neutral-gray-800);
  --color-background-surface: var(--color-neutral-gray-50);
  --color-button-primary-bg-default: var(--color-primary-yellow-500);
  --color-button-primary-bg-disabled: var(--color-neutral-gray-200);
  --color-button-primary-bg-hover: var(--color-primary-yellow-300);
  --color-button-primary-bg-press: var(--color-primary-yellow-500);
  --color-button-primary-border-focus: var(--color-primary-blue-900);
  --color-button-primary-text: var(--color-text-default);
  --color-icon-dark: var(--color-primary-blue-900);
  --color-icon-default: var(--color-primary-blue-500);
  --color-icon-disabled: var(--color-neutral-gray-700);
  --color-icon-on-primary: var(--color-neutral-gray-50);
  --color-input-bg-disabled: var(--color-neutral-gray-200);
  --color-input-border-default: var(--color-neutral-gray-400);
  --color-input-border-error: var(--color-feedback-red-600);
  --color-input-border-focus: var(--color-primary-blue-900);
  --color-input-border-success: var(--color-feedback-green-600);
  --color-input-border-warning: var(--color-feedback-yellow-600);
  --color-input-helper-text: var(--color-neutral-gray-700);
  --color-input-label-text: var(--color-primary-blue-900);
  --color-input-placeholder: var(--color-neutral-gray-500);
  --color-input-text: var(--color-primary-blue-900);
  --color-link-default: var(--color-primary-blue-400);
  --color-link-disabled: var(--color-neutral-gray-700);
  --color-link-hover: var(--color-primary-blue-900);
  --color-link-visited: var(--color-primary-blue-700);
  --color-tag-bg-default: var(--color-primary-blue-50);
  --color-tag-bg-disabled: var(--color-neutral-gray-200);
  --color-tag-bg-hover: var(--color-primary-blue-200);
  --color-tag-bg-press: var(--color-primary-blue-500);
  --color-tag-border-focus: var(--color-primary-blue-900);
  --color-tag-text-default: var(--color-text-default);
  --color-tag-text-hover: var(--color-text-on-primary);
  --color-text-default: var(--color-primary-blue-900);
  --color-text-disabled: var(--color-neutral-gray-700);
  --color-text-muted: var(--color-primary-blue-500);
  --color-text-on-primary: var(--color-neutral-gray-50);
  --color-text-placeholder: var(--color-neutral-gray-700);
  --color-category: var(--color-primary-blue-500);
  --color-category-culture: var(--color-purple);
  --color-category-health-environment: var(--color-green);
  --color-category-science-technology: var(--color-light-blue);
  --color-category-humanities-society: var(--color-salmon);
  --color-category-university: var(--color-dark-blue);
  --color-category-sport: var(--color-orange);
  --color-category-academic-activities: var(--color-primary-yellow-500);
}

/* Global number */
:root {
  /* Mode 1 */
  /* number */
  --breakpoint-mobile: 23.4375rem;
  --breakpoint-tablet: 80rem;
  --breakpoint-desktop: 90rem;
  --elevation-0: 0rem;
  --elevation-1: 0.0625rem;
  --elevation-2: 0.125rem;
  --radius-none: 0rem;
  --radius-xs: 0.125rem;
  --radius-s: 0.25rem;
  --radius-m: 0.5rem;
  --radius-l: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 624.9375rem;
  --spacing-0: 0rem;
  --spacing-4: 0.25rem;
  --spacing-8: 0.5rem;
  --spacing-12: 0.75rem;
  --spacing-16: 1rem;
  --spacing-20: 1.25rem;
  --spacing-24: 1.5rem;
  --spacing-28: 1.75rem;
  --spacing-32: 2rem;
  --spacing-36: 2.25rem;
  --spacing-40: 2.5rem;
  --spacing-44: 2.75rem;
  --spacing-48: 3rem;
  --spacing-60: 3.75rem;
  --spacing-64: 4rem;
  --spacing-80: 5rem;
  --spacing-100: 6.25rem;
  --spacing-160: 10rem;
  --z-index-0: 0rem;
  --z-index-10: 0.625rem;
  --z-index-50: 3.125rem;
  --z-index-100: 6.25rem;
  --z-index-1000: 62.5rem;
}

/* Specific number */
:root {
  /* clamp calculation */
  --button-padding-inline: clamp(0.5rem, 0.1479rem + 1.5023vw, 1.5rem);
  /*8-24*/
  --button-padding-block: clamp(0.25rem, 0.0739rem + 0.7512vw, 0.75rem);
  /*4-12*/
  --button-rounded-padding-inline: clamp(0.75rem, 0.4859rem + 1.1268vw, 1.5rem);
  /*12-24*/
  --button-padding-block-m: var(--spacing-4);
  /*4-4*/
  --button-gap: clamp(0.25rem, 0.162rem + 0.3756vw, 0.5rem);
  /*4-8*/
  --button-text-gap: clamp(0.75rem, 0.662rem + 0.3756vw, 1rem);
  /*12-16*/
  --card-padding: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
  /*16-24*/
  --spacing-component-gap: clamp(0.75rem, 0.4859rem + 1.1268vw, 1.5rem);
  /*12-24*/
  --spacing-section-block: clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem);
  /*40-80*/
  --spacing-section-inline: clamp(0.75rem, -0.7465rem + 6.385vw, 5rem);
  /*40-80*/
  /* Mobile */
  /* number */
  --button-padding: var(--spacing-8);
  --card-padding: var(--spacing-16);
  --forms-input-padding: var(--spacing-12);
  --forms-input-height: var(--spacing-40);
  --icon-size-medium: var(--spacing-24);
  --icon-size-small: var(--spacing-24);
  --icon-size-large: var(--spacing-32);
  --layout-grid-columns: 0.125rem;
  --layout-grid-gutter: var(--spacing-12);
  --layout-grid-margin: var(--spacing-12);
  --layout-max-width: 23.4375rem;
  --modal-spacing: var(--spacing-16);
  --radius-card: var(--radius-none);
  --radius-button-m: var(--radius-s);
  --radius-button-s: var(--radius-s);
  --radius-input: var(--radius-s);
  --radius-tag: var(--radius-s);
  --radius-button-l: var(--radius-m);
  --radius-icon-button: var(--radius-full);
  --spacing-component-gap: var(--spacing-8);
  --spacing-container-padding: var(--spacing-12);
  --spacing-section-padding: var(--spacing-12);
  --tag-padding: var(--spacing-8);
  --toast-spacing: var(--spacing-16);
  --tooltip-spacing: var(--spacing-8);
  --z-index-base: var(--z-index-0);
  --z-index-dropdown: var(--z-index-10);
  --z-index-sticky: var(--z-index-50);
  --z-index-modal: var(--z-index-100);
  --z-index-toast: var(--z-index-1000);
  /* Tablet */
  /* number */
}
@media screen and (min-width: 376px) {
  :root {
    --button-padding: var(--spacing-12);
    --card-padding: var(--spacing-24);
    --forms-input-padding: var(--spacing-16);
    --forms-input-height: var(--spacing-48);
    --icon-size-medium: var(--spacing-24);
    --icon-size-small: var(--spacing-24);
    --icon-size-large: var(--spacing-32);
    --layout-grid-columns: 0.375rem;
    --layout-grid-gutter: var(--spacing-24);
    --layout-grid-margin: var(--spacing-60);
    --layout-max-width: 67.5rem;
    --modal-spacing: var(--spacing-24);
    --radius-card: var(--radius-none);
    --radius-button-m: var(--radius-s);
    --radius-button-s: var(--radius-s);
    --radius-input: var(--radius-s);
    --radius-tag: var(--radius-s);
    --radius-button-l: var(--radius-m);
    --radius-icon-button: var(--radius-full);
    --spacing-component-gap: var(--spacing-12);
    --spacing-container-padding: var(--spacing-24);
    --spacing-section-padding: var(--spacing-60);
    --tag-padding: var(--spacing-12);
    --toast-spacing: var(--spacing-24);
    --tooltip-spacing: var(--spacing-8);
    --z-index-base: var(--z-index-0);
    --z-index-dropdown: var(--z-index-10);
    --z-index-sticky: var(--z-index-50);
    --z-index-modal: var(--z-index-100);
    --z-index-toast: var(--z-index-1000);
  }
}
:root {
  /* Desktop */
  /* number */
}
@media screen and (min-width: 1440px) {
  :root {
    --button-padding: var(--spacing-12);
    --card-padding: var(--spacing-24);
    --forms-input-padding: var(--spacing-16);
    --forms-input-height: var(--spacing-48);
    --icon-size-medium: var(--spacing-24);
    --icon-size-small: var(--spacing-24);
    --icon-size-large: var(--spacing-32);
    --layout-grid-columns: 0.75rem;
    --layout-grid-gutter: var(--spacing-32);
    --layout-grid-margin: var(--spacing-80);
    --layout-max-width: 80rem;
    --modal-spacing: var(--spacing-32);
    --radius-card: var(--radius-none);
    --radius-button-m: var(--radius-s);
    --radius-button-s: var(--radius-s);
    --radius-input: var(--radius-s);
    --radius-tag: var(--radius-s);
    --radius-button-l: var(--radius-m);
    --radius-icon-button: var(--radius-full);
    --spacing-component-gap: var(--spacing-16);
    --spacing-container-padding: var(--spacing-32);
    --spacing-section-padding: var(--spacing-80);
    --tag-padding: var(--spacing-12);
    --toast-spacing: var(--spacing-32);
    --tooltip-spacing: var(--spacing-8);
    --z-index-base: var(--z-index-0);
    --z-index-dropdown: var(--z-index-10);
    --z-index-sticky: var(--z-index-50);
    --z-index-modal: var(--z-index-100);
    --z-index-toast: var(--z-index-1000);
  }
}

/* Extras */
:root {
  --transition-15: all .15s ease-in-out;
  --shadow-title-l: 0 0 60px var(--color-text-default);
  --shadow-title: 0 0 30px var(--color-text-default);
  --shadow-title-s: 0 0 10px var(--color-text-default);
}

/* Typography - Font Sizes */
:root {
  /* Fluid typography usando clamp() desde theme.json */
  --font-size-hero: clamp(2.5rem, 1.5rem + 3vw, 4.375rem);
  --font-size-4xl: clamp(2rem, 1.5rem + 1.5vw, 3rem);
  --font-size-3xl: clamp(1.75rem, 1.25rem + 1.25vw, 2.5rem);
  --font-size-2xl: clamp(1.5rem, 1rem + 1vw, 2rem);
  --font-size-xl: clamp(1.25rem, 1rem + 0.5vw, 1.5rem);
  --font-size-l: clamp(1.125rem, 1rem + 0.25vw, 1.25rem);
  --font-size-base: clamp(1rem, 0.875rem + 0.25vw, 1.125rem);
  --font-size-m: clamp(1rem, 0.875rem + 0vw, 1rem);
  --font-size-s: clamp(0.875rem, 0.75rem + 0vw, 0.875rem);
  --font-size-xs: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  /* Font families */
  --font-family-poppins: 'Poppins', sans-serif;
  --font-family-roboto: 'Roboto', sans-serif;
  --font-family-heading: var(--font-family-poppins);
  --font-family-body: var(--font-family-roboto);
  /* Font weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* Line heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
}

/* Reset - Normalización de estilos */
/**
 * UdeC Design System - Reset
 *
 * Reset CSS básico para normalizar estilos entre navegadores.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reset margins & paddings */
* {
  margin: 0;
  padding: 0;
}

/* HTML & Body */
html,
body {
  scroll-behavior: smooth;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Media elements */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Form elements */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

/* Typography */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Lists */
ul,
ol {
  list-style: none;
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Remove default button styles */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  appearance: button;
}

/* Remove default input styles */
input,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Remove search input cancel button (Webkit) */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

/* Remove spinner (number input) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

/* Accessibility - Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Typography - Estilos básicos para elementos HTML */
/**
 * UdeC Design System - Typography
 *
 * Estilos base de tipografía aplicados a elementos HTML.
 * Establece la jerarquía tipográfica y estilos de texto.
 *
 * @package @udec/style-library
 * @version 1.0.0
 */
/* Body */
body {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  color: var(--color-text-default);
  background-color: var(--color-neutral-white-0);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-heading);
  line-height: var(--line-height-tight);
  margin-bottom: var(--spacing-16);
}

h1 {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-24);
}

h2 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-20);
}

h3 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
}

h4 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
}

h5 {
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
}

h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li {
  color: currentColor;
}

/* Párrafo destacadoo */
p.featured {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
}

/* Links */
a {
  color: var(--color-link-default);
  transition: color 0.15s ease-in-out;
}

a:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}

a:focus {
  outline: 2px solid var(--color-link-default);
  outline-offset: 2px;
}

a:visited {
  color: var(--color-link-visited);
}

.main a[href]:not(:where(.udec-button, [href^="#"], [href^="javascript:" i], [href^="/"]:not([href^="//"]), [href*="//udec.cl"], [href*="//udec.localhost"], [href*="//udec.bloom-ux.com"], [href^="mailto:"], [href^="tel:"]))::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 12px;
  margin-left: var(--spacing-4);
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.33337%2026.6667V5.33333H14.9744V6.66667H6.66671V25.3333H25.3334V17.0257H26.6667V26.6667H5.33337ZM12.9847%2019.959L12.041%2019.0153L24.3897%206.66667H18.6667V5.33333H26.6667V13.3333H25.3334V7.61033L12.9847%2019.959Z%22%20fill%3D%22%23223C6A%22%2F%3E%3C%2Fsvg%3E");
  background-position: center right;
  background-size: cover;
  filter: grayscale(1) contrast(10) invert(1);
}

/* Typography */
strong,
b {
  font-weight: var(--font-weight-bold);
}

em,
i {
  font-style: italic;
}

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

mark {
  background-color: var(--color-primary-yellow-200);
  color: var(--color-text-default);
  padding-inline: var(--spacing-4);
}

code,
kbd,
samp,
pre {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9em;
}

code {
  background-color: var(--color-background-surface);
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--radius-s);
}

pre {
  background-color: var(--color-background-surface);
  padding: var(--spacing-16);
  border-radius: var(--radius-m);
  overflow-x: auto;
}

pre code {
  background-color: transparent;
  padding: 0;
}

/* Lists - Estilos predeterminados basados en wp-block-list */
ol {
  padding-left: var(--spacing-24);
  list-style-type: decimal;
}

ol li {
  padding-left: 5px;
  margin-bottom: var(--spacing-12);
}

ol li:last-child {
  margin-bottom: 0;
}

ol li::marker {
  font-weight: var(--font-weight-bold);
}

ol ol {
  margin-top: var(--spacing-12);
}

/* Default lists only - bullets visible only in content lists */
.main ul {
  list-style-type: square;
  padding-left: var(--spacing-20);
  list-style-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%2711%27 viewBox=%270 0 10 11%27 fill=%27none%27%3E%3Crect width=%2710%27 height=%2710%27 fill=%27%23223C6A%27/%3E%3C/svg%3E");
}

.main ul li {
  padding-left: 5px;
  margin-bottom: var(--spacing-12);
}

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

.main ul li::marker {
  color: var(--color-primary-blue-500);
}

.main ul ul {
  margin-top: var(--spacing-12);
}

/* Reset list styles for non-content lists */
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Images */
figure {
  margin: 0;
}

figcaption {
  font-size: var(--font-size-s);
  color: var(--color-text-muted);
  margin-top: var(--spacing-8);
}

/* Tables */
table {
  width: 100%;
}

th {
  font-weight: var(--font-weight-semibold);
  text-align: left;
}

th,
td {
  padding: var(--spacing-12);
  border-bottom: 1px solid var(--color-background-surface);
}

/* Blockquote */
blockquote {
  margin: var(--spacing-32) 0;
  padding-left: var(--spacing-24);
  border-left: 4px solid var(--background-color-bg-accent);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  font-style: italic;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-muted);
}

/* Hidden */
[hidden] {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Focus visible */
:focus-visible {
  outline: 2px solid var(--color-primary-blue-500);
  outline-offset: 2px;
}

/* Selection */
::selection {
  background-color: var(--color-primary-yellow-300);
  color: var(--color-text-default);
}

/**
 * UdeC Design System - Forms
 *
 * Sistema de formularios con nomenclatura BEM.
 * Incluye inputs, textareas, selects, labels y estados de validación.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Form Group - Contenedor de campo */
.form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--spacing-32);
  gap: var(--spacing-12);
}

/* Form Label */
.form-label {
  margin-bottom: 0;
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-medium);
  color: var(--color-input-label-text);
}

.form-label .required {
  color: var(--color-primary-yellow-500);
}

/* Form Control - Input base */
.form-control {
  padding: var(--spacing-12);
  border-radius: var(--radius-s);
  appearance: none;
  background-color: transparent;
  border: 1px solid var(--color-input-border-default);
  color: var(--color-input-text);
  width: 100%;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.form-control::placeholder {
  color: var(--color-input-placeholder);
}

.form-control:focus {
  outline: none;
  border-color: var(--color-input-border-focus);
}

.form-control:disabled {
  background-color: var(--color-input-bg-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}

/* Estados de validación */
.form-control:not(:placeholder-shown):invalid:not(:focus) {
  background-color: var(--color-feedback-red-100);
  border-color: var(--color-input-border-error);
}

/* Modificadores de estado para form-control */
.form-control--error {
  background-color: var(--color-feedback-red-100);
  border-color: var(--color-input-border-error);
}

.form-control--success {
  border-color: var(--color-input-border-success);
}

.form-control--warning {
  border-color: var(--color-input-border-warning);
}

/* Textarea */
textarea.form-control {
  line-height: 1.5;
  padding: var(--spacing-16);
  min-height: 90px;
  resize: vertical;
}

/* Select */
select.form-control {
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M8.19141 9.69225L11.9992 13.5L15.8069 9.69225H8.19141Z%27 fill=%27%23070C15%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 24px 24px;
  padding-right: 3rem;
}

select.form-control option {
  font-weight: var(--font-weight-regular);
  font-style: normal;
  background-color: var(--color-neutral-white-0);
}

select.form-control option[value=""] {
  font-style: italic;
}

/* Helper Text */
.form-helper {
  font-size: var(--font-size-s);
  color: var(--color-input-helper-text);
  margin-top: var(--spacing-4);
}

.form-helper--error {
  color: var(--color-input-border-error);
}

.form-helper--success {
  color: var(--color-input-border-success);
}

/* Form Submit Button */
.form-submit {
  width: fit-content;
  margin-inline: auto;
  padding: var(--spacing-4) var(--spacing-24);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  color: var(--color-button-primary-text);
  background-color: var(--color-button-primary-bg-default);
  border: none;
  border-radius: var(--radius-m);
  transition: background-color 0.3s ease-in-out;
  cursor: pointer;
}

.form-submit:hover {
  background-color: var(--color-button-primary-bg-hover);
}

.form-submit:disabled {
  cursor: not-allowed;
  background-color: var(--color-button-primary-bg-disabled);
  color: var(--color-button-primary-text);
  opacity: 0.6;
}

/* Checkbox y Radio */
.form-check {
  display: flex;
  align-items: center;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-12);
}

.form-check__input {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--color-input-border-default);
  border-radius: var(--radius-s);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

.form-check__input:checked {
  background-color: var(--color-primary-blue-500);
  border-color: var(--color-primary-blue-500);
}

.form-check__input:focus {
  outline: 2px solid var(--color-input-border-focus);
  outline-offset: 2px;
}

.form-check__input[type=radio] {
  border-radius: var(--radius-full);
}

.form-check__label {
  font-size: var(--font-size-base);
  color: var(--color-text-default);
  cursor: pointer;
}

/* Form específico de contacto */
.form--contact {
  max-width: 37.5rem;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive */
@media screen and (min-width: 768px) {
  .form-control {
    min-width: 210px;
  }
  .form-submit {
    margin-left: auto;
  }
}
/* Horizontal rule */
hr {
  border: none;
  border-top: 1px solid var(--color-neutral-gray-200);
  margin: var(--spacing-32) 0;
}

.hr--title,
.hr--narrow {
  border-top-width: 5px;
  border-top-color: var(--color-primary-yellow-500);
  width: 50px;
}

.hr--dash {
  border-top-style: dashed;
  border-top-color: var(--color-neutral-gray-200);
}

.hr--brush {
  border-top: 1px solid transparent;
  /* Degradado más complejo */
  background-clip: padding-box;
  /* Recorta el degradado solo al padding */
  /* Si quieres que el degradado cubra todo el borde superior */
  border-image: linear-gradient(to right, transparent, var(--color-primary-yellow-500), var(--color-primary-yellow-500), var(--color-primary-yellow-500), transparent) 1;
}

/* Layout - Sistema de layouts y containers */
/**
 * UdeC Design System - Layout
 *
 * Sistema de layout: containers, grids y utilidades de alineación.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Sections */
.section {
  padding-top: var(--spacing-section-padding);
  padding-bottom: var(--spacing-section-padding);
}

/* Main content */
.main {
  min-height: 50vh;
}

/* Ancho máximo en elementos dentro de entry-content */
.main .entry-content > h1,
.main .entry-content > h2,
.main .entry-content > h3,
.main .entry-content > h4,
.main .entry-content > h5,
.main .entry-content > h6,
.main .entry-content > p,
.main .entry-content > ul,
.main .entry-content > ol,
.main .entry-content > blockquote {
  max-width: 43.75rem;
}

/* Containers */
.container {
  position: relative;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-12);
  padding-right: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .container {
    padding-left: var(--spacing-24);
    padding-right: var(--spacing-24);
  }
}
@media screen and (min-width: 1024px) {
  .container {
    padding-left: var(--spacing-44);
    padding-right: var(--spacing-44);
  }
}
@media screen and (min-width: 1280px) {
  .container {
    padding-left: var(--spacing-60);
    padding-right: var(--spacing-60);
  }
}
@media screen and (min-width: 1440px) {
  .container {
    padding-left: var(--spacing-80);
    padding-right: var(--spacing-80);
  }
}
/* Alignment (WordPress compatible) */
.alignwide {
  max-width: 1440px;
  width: 98vw;
  margin-left: calc(50% - 49vw);
  margin-right: calc(50% - 49vw);
}

@media screen and (min-width: 1480px) {
  .alignwide {
    margin-left: calc(50% - 50vw + (100vw - 1440px) / 2);
    margin-right: calc(50% - 50vw + (100vw - 1440px) / 2);
  }
}
.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/**
 * UdeC Design System - Site Header
 *
 * Cabecera principal del sitio basada en el diseño existente del tema.
 *
 * Dependencias: variables.css, reset.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.site-header {
  color: #fff;
  background-color: var(--color-primary-blue-500);
}
@media screen and (min-width: 1024px) {
  .site-header {
    background-color: var(--color-primary-blue-700);
  }
}
.site-header > .container {
  display: grid;
  grid-template-areas: "logo-mobile toggler-mobile-nav" "navbar navbar" "topbar topbar" "language-search language-search";
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .site-header > .container {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1024px) {
  .site-header > .container {
    grid-template-areas: "topbar language-search" "navbar navbar";
    grid-template-columns: 1fr auto;
  }
}
.site-header .menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header a {
  font-weight: 400;
  color: #fff;
}
.site-header a:hover {
  text-decoration: underline;
}
.site-header__logo-mobile {
  grid-area: logo-mobile;
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-12);
  justify-self: flex-start;
  margin-right: auto;
  margin-left: var(--spacing-12);
  line-height: 1;
}
.site-header__logo-mobile img {
  width: 7.8rem;
}
@media screen and (min-width: 1024px) {
  .site-header__logo-mobile {
    display: none;
  }
}
.site-header__toggler-mobile-nav {
  grid-area: toggler-mobile-nav;
  justify-self: flex-end;
  display: block;
  height: 100%;
  padding: var(--spacing-16);
  background-color: transparent;
  border: none;
  border-left: 1px solid var(--color-primary-blue-700);
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .site-header__toggler-mobile-nav {
    display: none;
  }
}
.site-header__toggler-mobile-nav span {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #fff;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__toggler-mobile-nav .bar1 {
  transform-origin: 6px 6px;
}
.site-header__toggler-mobile-nav .bar2 {
  margin-bottom: 6px;
  margin-top: 6px;
}
.site-header__toggler-mobile-nav .bar3 {
  transform-origin: 6px -6px;
}
.site-header__topbar {
  display: none;
  grid-area: topbar;
}
@media screen and (max-width: 1023px) {
  .site-header__topbar {
    background-color: var(--color-primary-blue-700);
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__topbar {
    display: flex;
    justify-content: flex-end;
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
  }
}
.site-header__topbar .menu {
  font-size: var(--font-size-s);
}
.site-header__topbar .menu li {
  margin-bottom: 0;
}
.site-header__topbar .menu li + li {
  border-left: 1px solid var(--color-primary-blue-500);
}
.site-header__topbar .menu a {
  display: block;
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}
@media screen and (min-width: 1024px) {
  .site-header__topbar .menu li:last-child a {
    padding-right: 0;
  }
}
.site-header__language-search {
  position: relative;
  grid-area: language-search;
  display: none;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-s);
}
@media screen and (max-width: 1023px) {
  .site-header__language-search {
    background-color: var(--color-primary-blue-700);
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__language-search {
    display: flex;
    justify-content: unset;
    height: 100%;
    margin-left: var(--spacing-container-padding);
    padding-left: var(--spacing-container-padding);
    text-align: right;
    border-left: 1px solid var(--color-primary-blue-500);
  }
}
.site-header__language-search .search-form {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  top: 0;
  right: 0;
  width: 50rem;
  height: 0px;
  opacity: 0;
  background-color: var(--color-primary-blue-700);
  transition: 0.3s ease-in-out;
}
.site-header__language-search .search-form .search-form__container {
  position: relative;
}
.site-header__language-search .search-form .search-field {
  width: 100%;
  max-width: 100%;
  padding: var(--spacing-4) calc(var(--spacing-12) + var(--spacing-24) + 24px) var(--spacing-4) var(--spacing-12);
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-m);
  color: var(--color-neutral-white-0);
  background-color: transparent;
  border: 1px solid var(--color-primary-blue-300);
  border-radius: var(--spacing-4);
  box-shadow: none;
  opacity: 1;
}
.site-header__language-search .search-form button {
  display: flex;
  align-items: center;
  color: var(--color-neutral-white-0);
  background: transparent;
  border: none;
  cursor: pointer;
}
.site-header__language-search .search-form button svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--color-neutral-white-0) !important;
}
.site-header__language-search .search-form button.search-submit {
  position: absolute;
  top: 50%;
  right: var(--spacing-12);
  margin-top: -0.75rem;
}
.site-header__language-search .search-form button.search-close {
  padding-block: var(--spacing-4);
  padding-inline: var(--button-padding);
}
.site-header__language-search .site-header__language-link {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.site-header__language-search .site-header__toggle-search {
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 1.5rem;
  padding: 0;
  text-align: center;
  background-color: transparent;
  border: none;
}
.site-header__language-search .site-header__language-link + .site-header__toggle-search {
  position: relative;
  margin-left: calc(var(--spacing-12) * 2);
}
.site-header__language-search .site-header__language-link + .site-header__toggle-search::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: calc(var(--spacing-12) * -1);
  background-color: var(--color-primary-blue-500);
}
.site-header.site-header--search-active .search-form {
  height: 100%;
  opacity: 1;
}
.site-header__navbar {
  display: none;
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  grid-area: navbar;
  background-color: var(--color-primary-blue-500);
}
@media screen and (max-width: 1023px) {
  .site-header__navbar {
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__navbar {
    display: unset;
  }
}
.site-header__navbar .container {
  display: flex;
  gap: var(--spacing-32);
}
.site-header__navbar__logo {
  display: none;
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
  align-self: center;
  align-content: center;
  justify-self: flex-start;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .site-header__navbar__logo {
    display: flex;
    width: 9.5rem;
  }
}
.site-header__navbar .menu {
  justify-content: center;
  align-items: center;
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-m);
  line-height: 1.35;
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .site-header__navbar .menu {
    font-size: var(--font-size-s);
  }
}
.site-header__navbar .menu li.current-menu-item a::after,
.site-header__navbar .menu li.current-menu-parent a::after,
.site-header__navbar .menu li.current-menu-ancestor a::after {
  opacity: 1;
  transform: translate3d(0, 0.2em, 0);
}
.site-header__navbar .menu a {
  position: relative;
  display: block;
  padding: var(--spacing-24) var(--spacing-8);
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 1060px) {
  .site-header__navbar .menu a {
    padding-left: var(--spacing-12);
    padding-right: var(--spacing-12);
  }
}
@media screen and (min-width: 1200px) {
  .site-header__navbar .menu a {
    padding-left: var(--spacing-16);
    padding-right: var(--spacing-16);
  }
}
.site-header__navbar .menu a::after {
  content: "";
  position: absolute;
  left: var(--spacing-16);
  width: calc(100% - var(--spacing-16) * 2);
  height: 1px;
  margin-top: 1.5em;
  background-color: var(--color-primary-yellow-500);
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
}
.site-header__navbar .menu a:hover::after, .site-header__navbar .menu a:focus::after {
  opacity: 1;
  transform: translate3d(0, 0.2em, 0);
}
.site-header__navbar .menu .sub-menu {
  display: none;
}

@media screen and (max-width: 1023px) {
  .site-header--mobile-nav-active > .container .menu {
    display: flex;
    flex-direction: column;
  }
  .site-header--mobile-nav-active > .container .menu li {
    border-left: none;
  }
  .site-header--mobile-nav-active > .container .menu a {
    text-align: center;
    padding: var(--spacing-12) var(--spacing-24);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav {
    background-color: var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar1 {
    transform: translate(0px, 2px) rotate(45deg);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar3 {
    transform: translate(-1px, -1px) rotate(-45deg);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar2 {
    opacity: 0;
    transform: rotate(0deg) scale(0.2);
  }
  .site-header--mobile-nav-active .site-header__language-search {
    display: flex;
    padding-top: var(--spacing-24);
    padding-bottom: var(--spacing-24);
    border-top: 1px solid var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .search-form {
    height: 100%;
    opacity: 1;
    right: unset;
    place-content: center;
  }
  .site-header--mobile-nav-active .search-form button.search-close {
    display: none;
  }
  .site-header--mobile-nav-active .site-header__topbar {
    display: unset;
  }
  .site-header--mobile-nav-active .site-header__topbar .menu {
    font-size: var(--font-size-s);
  }
  .site-header--mobile-nav-active .site-header__topbar .menu li + li {
    border-top: 1px solid var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .site-header__navbar {
    display: flex;
    order: 1;
  }
  .site-header--mobile-nav-active .site-header__navbar .menu {
    flex-direction: column;
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
  }
  .site-header--mobile-nav-active .site-header__navbar .menu a {
    padding: var(--spacing-16) var(--spacing-24);
  }
}
/**
 * UdeC Design System - Site Footer
 *
 * Footer principal del sitio basado en el diseño existente del tema.
 * Incluye menú principal, logos institucionales y colofón legal.
 *
 * Nomenclatura BEM:
 * - .site-footer: Contenedor principal
 * - .site-footer__menu: Menú principal del footer
 * - .site-footer__logos: Contenedor de logos institucionales
 * - .site-footer__colofon: Sección de copyright y enlaces legales
 *
 * Dependencias: variables.css, reset.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* ============================================
   Footer Container
   ============================================ */
.site-footer {
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

@media screen and (min-width: 1024px) {
  .site-footer {
    padding-top: var(--spacing-80);
    padding-bottom: var(--spacing-80);
  }
}
.site-footer .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-40);
}

.site-footer a {
  color: inherit;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer hr {
  width: 100%;
  height: 1px;
  border: none;
  background-color: var(--color-primary-blue-500);
}

/* ============================================
   Footer Menu
   ============================================ */
.site-footer__menu {
  display: flex;
  justify-content: center;
  gap: var(--spacing-container-padding);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 1023px) {
  .site-footer__menu {
    flex-direction: column;
    text-align: center;
  }
}
.site-footer__menu > li {
  margin-bottom: var(--spacing-container-padding);
}

.site-footer__menu > li > a {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
}

.site-footer__menu .sub-menu {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
  margin: var(--spacing-component-gap) 0 0 0;
  padding: 0;
  list-style: none;
  font-weight: var(--font-weight-regular);
}

/* ============================================
   Logos Section
   ============================================ */
.site-footer__logos {
  display: flex;
  align-items: center;
  gap: var(--spacing-60);
}

@media screen and (max-width: 1023px) {
  .site-footer__logos {
    flex-direction: column;
    gap: var(--spacing-20);
  }
}
/* ============================================
   Colofon Section
   ============================================ */
.site-footer__colofon {
  text-align: center;
}

.site-footer__colofon .menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__colofon .menu li {
  margin-bottom: 0;
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}

.site-footer__colofon .menu li + li {
  border-left: 1px solid var(--color-primary-blue-500);
}

@media screen and (max-width: 1023px) {
  .site-footer__colofon .menu {
    flex-wrap: wrap;
    justify-content: center;
  }
}
/**
 * UdeC Design System - Cards Grid Pattern
 *
 * Sistema de grid responsivo para mostrar múltiples tarjetas.
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.pattern-cards {
  padding-top: var(--spacing-80);
  padding-bottom: var(--spacing-80);
}

@media screen and (max-width: 1280px) {
  .pattern-cards {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
}
/* Título y descripción de la sección */
.pattern-cards__header {
  margin-bottom: var(--spacing-48);
}

.pattern-cards__title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-default);
  margin-bottom: var(--spacing-16);
}

.pattern-cards__description {
  font-size: var(--font-size-l);
  line-height: var(--line-height-normal);
  color: var(--color-text-muted);
  max-width: 700px;
}

/* Grid responsivo */
.pattern-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-24);
  margin-top: var(--spacing-48);
}

@media screen and (max-width: 1200px) {
  .pattern-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/* Cards dentro del grid tienen altura 100% */
.pattern-cards__grid .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pattern-cards__grid .card .card__actions {
  margin-top: auto;
  padding-top: var(--flow-space);
}

/* Grid de 2 columnas */
.pattern-cards__grid--two {
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 768px) {
  .pattern-cards__grid--two {
    grid-template-columns: 1fr;
  }
}
/* Grid de 4 columnas */
.pattern-cards__grid--four {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 1200px) {
  .pattern-cards__grid--four {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards__grid--four {
    grid-template-columns: 1fr;
  }
}
/* Componentes básicos */
/**
 * UdeC Design System - Buttons
 *
 * Sistema de botones con múltiples variantes usando nomenclatura BEM.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Button Base */
.udec-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-8);
  padding: var(--spacing-4) var(--spacing-12);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--radius-m);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  background-color: var(--color-button-primary-bg-default);
  color: var(--color-button-primary-text);
}

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

.udec-button:focus {
  outline: 2px solid var(--color-button-primary-border-focus);
  outline-offset: 2px;
}

.udec-button:active {
  background-color: var(--color-button-primary-bg-press);
}

.udec-button:disabled {
  background-color: var(--color-button-primary-bg-disabled);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}

/* Button Modifiers - Size */
.udec-button--small {
  padding: var(--spacing-4) var(--spacing-8);
  font-size: var(--font-size-s);
}

.udec-button--large {
  padding: var(--spacing-8) var(--spacing-24);
  font-size: var(--font-size-l);
}

/* Button Modifiers - Style Variants */
.udec-button--outline {
  background-color: transparent;
  border-color: var(--color-primary-blue-500);
  color: var(--color-primary-blue-500);
}

.udec-button--outline:hover {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
}

.udec-button--text {
  background-color: transparent;
  color: var(--color-link-default);
  padding: var(--spacing-4) var(--spacing-12);
  border: none;
}

.udec-button--text:hover {
  background-color: transparent;
  color: var(--color-link-hover);
  text-decoration: underline;
}

.udec-button--rounded {
  padding-inline: var(--spacing-16);
  border-radius: var(--radius-full);
}

.udec-button--secondary {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
}

.udec-button--secondary:hover {
  background-color: var(--color-primary-blue-700);
}

/* Button with Icon */
.udec-button--icon {
  gap: var(--spacing-8);
}

.udec-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  transition: background-color 0.15s ease-in-out;
  flex-shrink: 0;
}

.udec-button__icon svg {
  width: 100%;
  height: 100%;
  fill: var(--color-primary-blue-900);
}

.udec-button:hover .udec-button__icon {
  background-color: var(--color-primary-yellow-300);
}

/* Combinaciones comunes */
.udec-button--rounded.udec-button--secondary {
  border-radius: var(--radius-full);
}

.udec-button--text.udec-button--icon {
  padding: var(--spacing-4) var(--spacing-12);
}

/* Responsive */
@media screen and (max-width: 767px) {
  .udec-button {
    font-size: var(--font-size-s);
  }
  .udec-button--large {
    padding: var(--spacing-6) var(--spacing-24);
    font-size: var(--font-size-base);
  }
}
/**
 * UdeC Design System - Category Tags
 *
 * Tags de categorías con cuadrado de color usando ::before.
 * El color se controla mediante la variable CSS --udec-category-color.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.udec-category-tag {
  --color-category: var(--udec-category-color, var(--color-primary-blue-500));
  display: inline-flex;
  align-items: baseline;
  gap: var(--spacing-8);
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  background-color: transparent;
  color: currentColor;
  text-decoration: none;
  transition: opacity 0.15s ease-in-out;
}

.udec-category-tag::before {
  --background-tag: var(--color-category);
  content: "";
  display: inline-block;
  width: 0.625rem;
  /* 10px */
  height: 0.625rem;
  /* 10px */
  background-color: var(--background-tag);
  flex: 0 0 0.625rem;
}

/* Hover state para enlaces */
a.udec-category-tag:hover {
  opacity: 0.85;
}

/* Categorías con colores específicos usando data-category */
.udec-category-tag[data-category=culture] {
  --udec-category-color: var(--color-category-culture);
}

.udec-category-tag[data-category=health-environment] {
  --udec-category-color: var(--color-category-health-environment);
}

.udec-category-tag[data-category=science-technology] {
  --udec-category-color: var(--color-category-science-technology);
}

.udec-category-tag[data-category=humanities-society] {
  --udec-category-color: var(--color-category-humanities-society);
}

.udec-category-tag[data-category=university] {
  --udec-category-color: var(--color-category-university);
}

.udec-category-tag[data-category=sport] {
  --udec-category-color: var(--color-category-sport);
}

.udec-category-tag[data-category=academic-activities] {
  --udec-category-color: var(--color-category-academic-activities);
}

/* Responsive */
@media screen and (max-width: 767px) {
  .udec-category-tag {
    font-size: var(--font-size-s);
  }
}
/* Breadcrumb */
.udec-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--font-size-m);
  gap: var(--spacing-8);
}

.udec-breadcrumb__last {
  font-weight: bold;
}

/* Pagination */
.udec-pagination {
  align-items: center;
  display: flex;
  font-family: var(--wp--preset--font-family--poppins);
  gap: var(--spacing-16);
  justify-content: center;
  margin-block: var(--spacing-40);
}

.udec-pagination a,
.udec-pagination__current {
  display: flex;
  height: 2rem;
  line-height: 1;
  place-content: center;
  place-items: center;
  text-align: center;
  transition: all 0.3s ease-in-out;
  width: 2rem;
}

.udec-pagination__current {
  background-color: var(--color-primary-yellow-200);
  border-radius: 50%;
}

.udec-pagination__next,
.udec-pagination__prev {
  background-color: var(--color-primary-yellow-500);
  background-position: 50%;
  background-size: 75%;
  border-radius: 50%;
}

.udec-pagination__next:hover,
.udec-pagination__prev:hover {
  background-color: var(--color-primary-yellow-200);
  cursor: pointer;
}

.udec-pagination__prev {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.7437%2023.077L14.6873%2022.118L9.23601%2016.6666H25.3333V15.3333H9.23601L14.6873%209.88197L13.7437%208.92297L6.66668%2016L13.7437%2023.077Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
}

.udec-pagination__next {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.2563%2023.077L17.3127%2022.118L22.764%2016.6666H6.66666V15.3333H22.764L17.3127%209.88197L18.2563%208.92297L25.3333%2016L18.2563%2023.077Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
}

/* Accordion */
:root {
  --udec-accordion-icon-display: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.333%2026.6663V16.6663H5.33301V15.333H15.333V5.33301H16.6663V15.333H26.6663V16.6663H16.6663V26.6663H15.333Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
  --udec-accordion-icon-colapse: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016.6663V15.333H24V16.6663H8Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E") ;
}

.udec-accordion {
  margin-bottom: var(--spacing-container-padding);
}

@media screen and (min-width: 1440px) {
  .udec-accordion {
    margin-bottom: var(--spacing-24);
  }
}
.udec-accordion__header {
  margin-bottom: 0;
  margin-top: 0;
}

.udec-accordion__link {
  background-color: var(--color-neutral-gray-50);
  color: var(--color-primary-blue-500);
  display: block;
  font-family: var(--font-family-heading);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 600;
  padding: var(--spacing-12) var(--spacing-60) var(--spacing-12) var(--spacing-container-padding);
  position: relative;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.udec-accordion__link:hover {
  text-decoration: none;
}

@media screen and (min-width: 767px) {
  .udec-accordion__link {
    padding-bottom: var(--spacing-24);
    padding-right: var(--spacing-container-padding);
    padding-top: var(--spacing-24);
  }
}
.udec-accordion__link:after {
  background-color: var(--background-color-bg-accent);
  background-image: var(--udec-accordion-icon-display);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 18px;
  border-radius: var(--radius-icon-button);
  content: "";
  height: 26px;
  position: absolute;
  right: var(--spacing-container-padding);
  top: calc(50% - 13px);
  width: 26px;
}

@media screen and (min-width: 767px) {
  .udec-accordion__link:after {
    background-size: 32px;
    height: 40px;
    top: calc(50% - 20px);
    width: 40px;
  }
}
.udec-accordion__description,
.udec-accordion__text {
  display: block;
  max-width: 43.75rem;
}

.udec-accordion__description {
  color: var(--color-text-default);
  font-family: var(--font-family-body);
  font-size: var(--font-size-m);
  font-weight: 400;
  margin-bottom: 0;
  margin-top: var(--spacing-4);
  transition: all 0.2s ease-in-out;
}

.udec-accordion .udec-accordion__link:hover {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.udec-accordion .udec-accordion__link:hover .udec-accordion__description {
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__link {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__description {
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__link:after {
  background-image: var(--udec-accordion-icon-colapse);
}

.udec-accordion__content {
  margin-left: auto;
  margin-right: auto;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-left: var(--spacing-container-padding);
  padding-right: var(--spacing-container-padding);
  transition: all 0.3s ease-in-out;
}

.udec-accordion__content.is-open {
  border-bottom: 1px solid var(--background-color-bg-accent);
  border-left: 1px solid var(--background-color-bg-accent);
  border-right: 1px solid var(--background-color-bg-accent);
  margin-bottom: var(--spacing-24);
  max-height: 1999px;
  opacity: 1;
  padding-bottom: var(--spacing-44);
  padding-top: var(--spacing-44);
}

.udec-accordion__content > :first-child {
  margin-top: 0;
}

/* Tabs */
ul.udec-tabs__nav {
  align-items: center;
  display: flex;
  list-style: none;
  margin: 0;
  overflow-x: auto;
  padding-left: 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  ul.udec-tabs__nav {
    margin-right: calc(var(--spacing-12) * -1);
    padding-right: var(--spacing-12);
  }
}
ul.udec-tabs__nav li {
  margin-bottom: 0;
  padding-left: 0;
}

.udec-tabs__nav li + li {
  margin-left: var(--spacing-8);
}

@media screen and (min-width: 992px) {
  .udec-tabs__nav li + li {
    margin-left: var(--spacing-12);
  }
}
.udec-tabs__nav li a {
  background-color: var(--color-background-surface);
  border-bottom: 5px solid var(--color-background-surface);
  color: var(--color-text-default);
  display: block;
  font-family: var(--wp--preset--font-family--poppins);
  font-size: var(--wp--preset--font-size--l);
  font-weight: 500;
  padding: var(--spacing-8) var(--spacing-24);
  text-decoration: none;
  transition: all 0.15s linear;
  white-space: nowrap;
}

@media screen and (min-width: 767px) {
  .udec-tabs__nav li a {
    padding: var(--spacing-12) var(--spacing-32);
  }
}
.udec-tabs__nav li:not(.tab-active) a:focus,
.udec-tabs__nav li:not(.tab-active) a:hover {
  background-color: var(--color-text-muted);
  border-color: var(--color-text-muted);
  color: var(--color-neutral-white-0);
}

.udec-tabs__nav .tab-active a {
  background-color: var(--color-background-alt);
  border-bottom: 5px solid var(--background-color-bg-accent);
  color: var(--color-neutral-white-0);
  cursor: default;
}

.udec-tabs__content {
  border: 1px solid var(--background-color-bg-accent);
}

.udec-tabs__tab {
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.udec-tabs__tab--active {
  height: auto;
  opacity: 1;
  overflow: unset;
  padding: var(--spacing-44) var(--spacing-container-padding);
  transition: opacity 0.25s linear;
}

.udec-tabs__tab > * {
  margin-block-end: 0;
}

.udec-tabs__tab > :first-child {
  margin-top: 0;
}

/* Feedback Messages */
.udec-feedback {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--spacing-16);
  gap: var(--spacing-8);
  text-align: center;
  background-color: var(--color-neutral-gray-50);
  border-radius: var(--radius-s);
}

.udec-feedback__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-semibold);
  margin: 0;
}

.udec-feedback__message {
  font-size: var(--font-size-base);
  color: var(--color-text-default);
  margin: 0;
}

.udec-feedback__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  margin-top: var(--spacing-24);
  margin-bottom: var(--spacing-8);
}

/* Modificadores de feedback */
.udec-feedback--success {
  background-color: var(--color-feedback-green-200);
}

.udec-feedback--error {
  background-color: var(--color-feedback-red-100);
}

.udec-feedback--warning {
  background-color: var(--color-feedback-yellow-200);
}

/* Responsive */
@media screen and (min-width: 768px) {
  .udec-feedback {
    padding: var(--spacing-32) var(--spacing-16);
  }
  .udec-feedback__buttons {
    flex-direction: row;
  }
}
/* Banner */
.udec-banner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 30rem;
  padding-block: var(--wp--preset--spacing--80);
  padding-inline: var(--wp--preset--spacing--12);
  color: var(--color-neutral-white-0);
  background-color: var(--color-neutral-gray-50);
  background-position: 50%;
  box-sizing: border-box;
  overflow: clip;
}

.udec-banner__image-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.udec-banner__overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-primary-blue-500);
  mix-blend-mode: multiply;
}

.udec-banner__overlay--noise::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27200%27 height=%27200%27 fill=%27none%27 viewBox=%270 0 200 200%27%3E%3Cg filter=%27url%28%23a%29%27%3E%3Cpath fill=%27%23d9d9d9%27 d=%27M0 0h200v200H0z%27/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id=%27a%27 width=%27200%27 height=%27200%27 x=%270%27 y=%270%27 color-interpolation-filters=%27sRGB%27 filterUnits=%27userSpaceOnUse%27%3E%3CfeFlood flood-opacity=%270%27 result=%27BackgroundImageFix%27/%3E%3CfeBlend in=%27SourceGraphic%27 in2=%27BackgroundImageFix%27 result=%27shape%27/%3E%3CfeTurbulence baseFrequency=%271 1%27 numOctaves=%273%27 result=%27noise%27 seed=%274360%27 stitchTiles=%27stitch%27 type=%27fractalNoise%27/%3E%3CfeColorMatrix in=%27noise%27 result=%27alphaNoise%27 type=%27luminanceToAlpha%27/%3E%3CfeComponentTransfer in=%27alphaNoise%27 result=%27coloredNoise1%27%3E%3CfeFuncA tableValues=%271 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0%27 type=%27discrete%27/%3E%3C/feComponentTransfer%3E%3CfeComposite in=%27coloredNoise1%27 in2=%27shape%27 operator=%27in%27 result=%27noise1Clipped%27/%3E%3CfeComponentTransfer in=%27alphaNoise%27 result=%27coloredNoise2%27%3E%3CfeFuncA tableValues=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1%27 type=%27discrete%27/%3E%3C/feComponentTransfer%3E%3CfeComposite in=%27coloredNoise2%27 in2=%27shape%27 operator=%27in%27 result=%27noise2Clipped%27/%3E%3CfeFlood flood-color=%27rgba%28166, 182, 211, 0.1%29%27 result=%27color1Flood%27/%3E%3CfeComposite in=%27color1Flood%27 in2=%27noise1Clipped%27 operator=%27in%27 result=%27color1%27/%3E%3CfeFlood flood-color=%27rgba%2820, 36, 64, 0.5%29%27 result=%27color2Flood%27/%3E%3CfeComposite in=%27color2Flood%27 in2=%27noise2Clipped%27 operator=%27in%27 result=%27color2%27/%3E%3CfeMerge result=%27effect1_noise_910_6145%27%3E%3CfeMergeNode in=%27shape%27/%3E%3CfeMergeNode in=%27color1%27/%3E%3CfeMergeNode in=%27color2%27/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 199px;
  mix-blend-mode: multiply;
  opacity: 0.6;
  pointer-events: none;
}

.udec-banner > .container {
  position: relative;
  width: 100%;
  z-index: 1;
}

.udec-banner > .container a:not(.udec-button) {
  text-decoration: underline;
  color: inherit;
}

.udec-banner > .container a:not(.udec-button):hover {
  color: var(--color-primary-yellow-500);
}

.udec-banner > .container.text-center {
  max-width: 43.75rem;
}

.udec-banner > .container.text-center > hr.hr--narrow {
  margin-left: auto;
  margin-right: auto;
}

/**
 * UdeC Design System - Banner Card Pattern
 *
 * Patrón de banner con cover hero arriba y grid de tarjetas con overlay negativo.
 * Ideal para homepage y páginas destacadas.
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.banner-card {
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
}

@media screen and (max-width: 1440px) {
  .banner-card {
    margin-top: var(--spacing-60);
    margin-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 992px) {
  .banner-card {
    margin-top: var(--spacing-40);
    margin-bottom: var(--spacing-40);
  }
}
/* Cover hero con imagen de fondo */
.banner-card__cover {
  position: relative;
  min-height: 420px;
  margin-bottom: calc(var(--spacing-100) * -1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-60) var(--spacing-24);
}

@media screen and (min-width: 768px) {
  .banner-card__cover {
    min-height: 500px;
  }
}
/* Overlay gradient oscuro sobre la imagen */
.banner-card__cover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 100%);
  z-index: 0;
  opacity: 0.6;
}

/* Contenido del hero */
.banner-card__cover-content {
  position: relative;
  z-index: 1;
  color: var(--color-neutral-white-0);
  text-align: center;
  max-width: 800px;
}

.banner-card__title {
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-neutral-white-0);
  margin-bottom: var(--spacing-24);
  text-shadow: 0 0 90px var(--color-text-default);
}

.banner-card__description {
  font-size: var(--font-size-l);
  line-height: var(--line-height-normal);
  color: var(--color-neutral-white-0);
  text-shadow: 0 0 60px var(--color-text-default);
}

/* Grid de tarjetas con overlay negativo */
.banner-card__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-24);
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--spacing-24);
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 991px) and (max-width: 1280px) {
  .banner-card__grid:has(.card:nth-child(4)) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .banner-card__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 580px) {
  .banner-card__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/* Tarjetas dentro del banner tienen sombra */
.banner-card__grid .card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.banner-card__grid .card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/**
 * UdeC Design System - Carousel Component
 *
 * Sistema de carousels basado en Splide.js
 * Incluye navegación (flechas, contador), controles de reproducción y barra de progreso.
 *
 * Este archivo contiene SOLO los estilos del componente carousel.
 * Los patterns que utilizan carousels están en archivos separados:
 * - pattern-testimonies.css: Pattern de testimonios con carousel
 * - pattern-media-text.css: Pattern de carousel + tarjeta de contenido
 *
 * Nomenclatura BEM:
 * - .udec-carousel: Base del componente
 * - .udec-carousel--gallery: Variante de galería con navegación superpuesta
 * - .udec-carousel__nav: Contenedor de navegación
 * - .udec-carousel__slide--testimony: Slide de testimonio
 *
 * Dependencias: variables.css, @splidejs/splide/css/core
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Splide Core Import - Debe ser importado externamente */
/* @import '@splidejs/splide/css/core'; */
/* ============================================
   Variables de Splide
   ============================================ */
:root {
  --splide--arrows--bottom: 0;
  --splide--arrows--width: calc(var(--splide--arrow--size) * 2 + var(--splide--arrows--gap));
  --splide--arrows--gap: var(--spacing-12);
  --splide--arrow--size: calc(var(--icon-size-large) + (var(--spacing-4) * 2));
  --splide--arrow--svg--size: var(--icon-size-large);
}

@media screen and (max-width: 768px) {
  :root {
    --splide--arrow--size: calc(var(--icon-size-small) + (var(--spacing-4) * 2));
    --splide--arrow--svg--size: var(--icon-size-small);
  }
}
/* ============================================
   Carousel Base
   ============================================ */
.udec-carousel {
  position: relative;
}

/* Slider Container */
.udec-carousel .splide__list {
  list-style: none;
}

.udec-carousel .splide__list li {
  margin-bottom: 0;
  padding-left: 0;
}

.udec-carousel__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--spacing-24);
}

/* Navigation Modifiers */
.udec-carousel__nav--fixed {
  position: absolute;
  bottom: 0;
  right: 0;
  width: fit-content;
  padding: var(--spacing-8) var(--spacing-16);
  background-color: var(--color-neutral-white-0);
  z-index: 10;
}

/* ============================================
   Arrows
   ============================================ */
.udec-carousel .splide__arrows {
  order: 10;
  display: flex;
  gap: var(--splide--arrows--gap);
  z-index: 1;
  width: var(--splide--arrows--width);
  max-width: var(--splide--arrows--width);
  margin: 0;
}

/* Arrow Buttons */
.udec-carousel .splide__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--splide--arrow--size);
  height: var(--splide--arrow--size);
  padding: var(--spacing-4) 0;
  background-color: var(--color-button-primary-bg-default);
  border-radius: var(--radius-full);
  border: none;
  opacity: 1;
  transition: background-color 0.25s ease-in-out;
  cursor: pointer;
  position: static;
  transform: none;
}

.udec-carousel .splide__arrow:hover {
  background-color: var(--color-button-primary-bg-hover);
}

.udec-carousel .splide__arrow:disabled {
  background-color: var(--color-button-primary-bg-disabled);
  cursor: not-allowed;
}

.udec-carousel .splide__arrow:disabled:hover {
  background-color: transparent;
}

/* Arrow SVG Icons */
.udec-carousel .splide__arrow__icon {
  width: var(--splide--arrow--svg--size);
  height: var(--splide--arrow--svg--size);
  background-position: center;
  transition: fill 0.25s ease-in-out;
}

.udec-carousel .splide__arrow--prev .splide__arrow__icon {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.7437%2023.077L14.6873%2022.118L9.23601%2016.6666H25.3333V15.3333H9.23601L14.6873%209.88197L13.7437%208.92297L6.66668%2016L13.7437%2023.077Z%22%20fill%3D%22currentColor%22%20%2F%3E%3C%2Fsvg%3E");
}

.udec-carousel .splide__arrow--next .splide__arrow__icon {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.2563%208.92297L17.3127%209.88197L22.764%2015.3333H6.66668V16.6666H22.764L17.3127%2022.118L18.2563%2023.077L25.3333%2016L18.2563%208.92297Z%22%20fill%3D%22currentColor%22%20%2F%3E%3C%2Fsvg%3E");
}

/* ============================================
   Counter
   ============================================ */
.udec-carousel .splide__counter {
  order: 5;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}

/* ============================================
   Play/Pause Toggle
   ============================================ */
.udec-carousel .splide__toggle {
  cursor: pointer;
  display: flex;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background-color: transparent;
  border: none;
}

.udec-carousel .splide__toggle__icon {
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.udec-carousel .splide__toggle .splide__toggle__icon {
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M10 15.577L15.577 12L10 8.423V15.577ZM12.0033 21C10.7588 21 9.58867 20.7638 8.493 20.2915C7.3975 19.8192 6.4445 19.1782 5.634 18.3685C4.8235 17.5588 4.18192 16.6067 3.70925 15.512C3.23642 14.4175 3 13.2479 3 12.0033C3 10.7588 3.23617 9.58867 3.7085 8.493C4.18083 7.3975 4.82183 6.4445 5.6315 5.634C6.44117 4.8235 7.39333 4.18192 8.488 3.70925C9.5825 3.23642 10.7521 3 11.9967 3C13.2413 3 14.4113 3.23617 15.507 3.7085C16.6025 4.18083 17.5555 4.82183 18.366 5.6315C19.1765 6.44117 19.8181 7.39333 20.2908 8.488C20.7636 9.5825 21 10.7521 21 11.9967C21 13.2413 20.7638 14.4113 20.2915 15.507C19.8192 16.6025 19.1782 17.5555 18.3685 18.366C17.5588 19.1765 16.6067 19.8181 15.512 20.2908C14.4175 20.7636 13.2479 21 12.0033 21ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E");
}

.udec-carousel .splide__toggle.is-active .splide__toggle__icon {
  background-image: url("data:image/svg+xml,%3Csvg width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M13.077 20.6667H14.4103V11.3333H13.077V20.6667ZM17.5897 20.6667H18.923V11.3333H17.5897V20.6667ZM16.0043 28C14.345 28 12.7849 27.6851 11.324 27.0553C9.86333 26.4256 8.59267 25.5709 7.512 24.4913C6.43133 23.4118 5.57589 22.1422 4.94567 20.6827C4.31522 19.2233 4 17.6639 4 16.0043C4 14.345 4.31489 12.7849 4.94467 11.324C5.57444 9.86333 6.42911 8.59267 7.50867 7.512C8.58822 6.43133 9.85778 5.57589 11.3173 4.94567C12.7767 4.31522 14.3361 4 15.9957 4C17.655 4 19.2151 4.31489 20.676 4.94467C22.1367 5.57445 23.4073 6.42911 24.488 7.50867C25.5687 8.58822 26.4241 9.85778 27.0543 11.3173C27.6848 12.7767 28 14.3361 28 15.9957C28 17.655 27.6851 19.2151 27.0553 20.676C26.4256 22.1367 25.5709 23.4073 24.4913 24.488C23.4118 25.5687 22.1422 26.4241 20.6827 27.0543C19.2233 27.6848 17.6639 28 16.0043 28ZM16 26.6667C18.9778 26.6667 21.5 25.6333 23.5667 23.5667C25.6333 21.5 26.6667 18.9778 26.6667 16C26.6667 13.0222 25.6333 10.5 23.5667 8.43333C21.5 6.36667 18.9778 5.33333 16 5.33333C13.0222 5.33333 10.5 6.36667 8.43333 8.43333C6.36667 10.5 5.33333 13.0222 5.33333 16C5.33333 18.9778 6.36667 21.5 8.43333 23.5667C10.5 25.6333 13.0222 26.6667 16 26.6667Z%27 fill=%27black%27/%3E%3C/svg%3E");
}

/* ============================================
   Progress Bar
   ============================================ */
.udec-carousel .splide__progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
}

.udec-carousel .splide__progress__bar {
  height: 5px;
  background-color: var(--color-primary-yellow-500);
}

/* ============================================
   Carousel Gallery (Galería simple)
   ============================================ */
/* Image sizing */
.udec-carousel figure {
  width: 100%;
}

.udec-carousel figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ============================================
   Carousel de alto completo
   ============================================ */
.udec-carousel--fullheight,
.udec-carousel--fullheight .splide__track,
.udec-carousel--fullheight .splide__list,
.udec-carousel--fullheight .splide__slide,
.udec-carousel--fullheight figure,
.udec-carousel--fullheight figure img {
  height: 100%;
}

.udec-carousel--fullheight figure img {
  width: 100%;
  object-fit: cover;
}

/* ============================================
   Testimony Slide
   ============================================ */
.carousel__slide--testimony {
  max-width: 67.5rem;
  margin-left: 0 !important;
  margin-bottom: var(--spacing-48);
  background: transparent;
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto;
  column-gap: var(--spacing-24);
  row-gap: var(--spacing-16);
}

@media screen and (min-width: 767px) {
  .carousel__slide--testimony {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto;
    column-gap: var(--spacing-48);
    row-gap: 0;
  }
}
/* Testimony Media (Image with Quote Icon) */
.carousel__slide--testimony__media {
  position: relative;
  aspect-ratio: 1/1;
  margin-right: var(--z-index-50);
  border: none;
}

@media screen and (min-width: 767px) {
  .carousel__slide--testimony__media {
    max-height: none !important;
    height: 21.25rem !important;
  }
}
@media screen and (max-width: 766px) {
  .carousel__slide--testimony__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 12rem !important;
  }
}
/* Quote Icon */
.carousel__slide--testimony__media::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2792%27 height=%2785%27 viewBox=%270 0 92 85%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect width=%2792%27 height=%2785%27 fill=%27%23C7D5ED%27/%3E%3Cpath d=%27M51.0425 65V46.5225C51.0425 32.2625 60.37 22.5975 73.5 20L75.9875 25.3775C69.9075 27.67 66 34.4725 66 40H76V65H51.0425ZM16 65V46.5225C16 32.2625 25.37 22.5975 38.5 20L40.99 25.3775C34.9075 27.67 31 34.4725 31 40H40.9575V65H16Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: calc(var(--z-index-50) * -1);
  display: block;
  width: 5.75rem;
  height: 5.313rem;
  pointer-events: none;
}

.carousel__slide--testimony__media figure {
  width: 100%;
  height: 100%;
  margin: 0;
  border: none;
}

.carousel__slide--testimony__media figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
  border: none;
}

/* Testimony Content */
.carousel__slide--testimony__content {
  padding: 0 !important;
  gap: 0 !important;
}

@media screen and (max-width: 766px) {
  .carousel__slide--testimony__content {
    grid-column: 1;
    grid-row: 2;
    max-width: 30rem;
  }
}
.carousel__slide--testimony__content > p {
  margin-top: 0;
  margin-bottom: var(--spacing-16);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
}

/* Testimony Author */
.carousel__slide--testimony__author {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-top: var(--spacing-16);
  margin-bottom: 0;
}

.carousel__slide--testimony__author p {
  margin: 0;
  font-family: var(--font-family-body);
  font-size: var(--font-size-s);
}

/* Navigation Side - Menú de lavegación lateral */
/* Navigation side */
.udec-navigation-side__title {
  display: flex;
  align-items: center;
  margin-bottom: var(--spacing-24);
  gap: var(--spacing-8);
  font-size: var(--font-size-base);
}

.udec-navigation-side__title a {
  color: var(--color-text-default);
}

.udec-navigation-side__title::before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-primary-blue-500);
  flex: 0 0 0.625rem;
}

.udec-navigation-side__menu {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20);
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.udec-navigation-side__menu li {
  width: 100%;
}

.udec-navigation-side__menu li a {
  display: block;
  width: 100%;
  transition: all 0.15s ease-in-out;
  font-weight: 400;
  text-decoration: none;
  font-size: var(--font-size-m);
  color: var(--color-link-default);
}

.udec-navigation-side__menu li a:hover,
.udec-navigation-side__menu li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-ancestor > a {
  font-weight: 700;
  color: var(--color-text-default);
}

.udec-navigation-side__menu > li > a:hover,
.udec-navigation-side__menu > li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-ancestor > a,
.udec-navigation-side__menu > li.current-menu-item li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-item li > a:hover,
.udec-navigation-side__menu > li:has(li.current-menu-item) li.current-menu-item > a,
.udec-navigation-side__menu > li:has(li.current-menu-item) li > a:hover {
  padding-left: var(--spacing-8);
  border-left: 3px solid var(--color-primary-yellow-500);
}

.udec-navigation-side__menu ul {
  display: none;
  flex-direction: column;
}

.udec-navigation-side__menu > li.current-menu-item:has(ul),
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul),
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) {
  padding-top: var(--card-padding);
  padding-bottom: var(--card-padding);
  border-top: 1px solid var(--color-neutral-gray-200);
  border-bottom: 1px solid var(--color-neutral-gray-200);
}

.udec-navigation-side__menu > li.current-menu-item:has(ul) li > a,
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul) li > a,
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) li > a {
  transition: all 0.15s ease-in-out;
}

.udec-navigation-side__menu > li.current-menu-item:has(ul) > ul,
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul) > ul,
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) > ul {
  display: flex;
  margin-top: var(--spacing-12);
  padding-left: calc(var(--spacing-8) + 3px);
  gap: var(--spacing-8);
  list-style: none;
}

.udec-navigation-side__menu ul ul {
  position: relative;
  width: auto;
  height: auto;
  margin-top: var(--spacing-12);
  padding-left: var(--spacing-8);
  gap: var(--spacing-8);
  opacity: 1;
  visibility: visible;
  background-color: transparent;
  border: none;
  list-style: none;
}

.udec-navigation-side__menu ul ul li a:not(.wp-element-button) {
  padding: 0 var(--spacing-12);
}

.udec-navigation-side__toggler-mobile-nav {
  display: none;
}

@media screen and (max-width: 781px) {
  .udec-navigation-side {
    position: relative;
    width: 100%;
    margin-block-start: 0;
    padding-top: var(--spacing-12);
    padding-right: var(--forms-input-padding);
    padding-bottom: var(--forms-input-padding);
    padding-left: var(--forms-input-padding);
    border: 1px solid var(--color-input-border-default);
    border-top-right-radius: var(spacing-4);
    border-radius: var(--spacing-4);
  }
  .udec-navigation-side__title {
    margin-bottom: 0;
  }
  .udec-navigation-side__toggler-mobile-nav {
    display: block;
    height: var(--spacing-48);
    width: var(--spacing-60);
    margin-left: auto;
    background-color: transparent;
    border: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
  }
  .udec-navigation-side__toggler-mobile-nav::before {
    content: "";
    display: inline-block;
    width: var(--icon-size-medium);
    height: var(--icon-size-medium);
    background-image: url("data:image/svg+xml,%0A%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M8.19214 9.69225L11.9999 13.5L15.8076 9.69225H8.19214Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
  }
  .udec-navigation-side__menu {
    padding-top: 0;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.5s ease-out;
  }
  .udec-navigation-side__menu > li:first-of-type {
    margin-top: var(--spacing-16);
    padding-top: var(--spacing-12);
    border-top: 1px solid var(--color-primary-blue-100);
  }
  .udec-navigation-side--mobile-nav-active .udec-navigation-side__toggler-mobile-nav::before {
    transform: rotate(180deg);
  }
}
/* Cards - Sistema de tarjetas */
/**
 * UdeC Design System - Card Base
 *
 * Sistema base de tarjetas con flow space automático.
 * Todas las tarjetas extienden de esta clase base.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: var(--spacing-16);
  background-color: var(--color-neutral-white-0);
}

@media screen and (min-width: 768px) {
  .card {
    padding: var(--spacing-24);
  }
}
/* Flow space system - espaciado automático entre elementos */
.card > * + * {
  margin: 0;
  margin-block-start: var(--flow-space, 1em);
}

/* Imagen al inicio de la card */
.card :is(.card__image + *) {
  --flow-space: var(--spacing-32);
}

/* Espacio después de headings */
.card :is(h2 + *, h3 + *, h4 + *) {
  --flow-space: var(--spacing-4);
}

@media screen and (min-width: 768px) {
  .card :is(h2 + *, h3 + *, h4 + *) {
    --flow-space: var(--spacing-12);
  }
}
/* Imagen después de otros elementos */
.card :is(* + .card__image) {
  --flow-space: var(--spacing-24);
}

@media screen and (min-width: 768px) {
  .card :is(* + .card__image) {
    --flow-space: var(--spacing-32);
  }
}
@media screen and (min-width: 1280px) {
  .card :is(* + .card__image) {
    --flow-space: var(--spacing-48);
  }
}
/* Párrafos */
.card p {
  --flow-space: var(--spacing-4);
}

@media screen and (min-width: 768px) {
  .card p {
    --flow-space: var(--spacing-12);
  }
}
/* Actions siempre al final */
.card .card__actions {
  --flow-space: var(--spacing-24);
  margin-top: auto;
}

/* Card Image */
.card__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Card Content */
.card__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}

/* Links en headings */
.card :is(h2 a, h3 a, h4 a) {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-default);
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}

.card :is(h2 a:hover, h3 a:hover, h4 a:hover) {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-link-hover);
}

/* Card Actions */
.card__actions {
  display: flex;
  gap: var(--spacing-12);
  align-items: center;
}

/**
 * UdeC Design System - Card Variants
 *
 * Variantes de tarjetas: simple, light, dark
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Card Simple - con hover completo y link envolvente */
.card-simple {
  position: relative;
  transition: background-color 0.15s ease-in-out;
}

/* Pseudo-elemento para hacer toda la tarjeta clickeable */
.card-simple:has(a[href]) a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
}

.card-simple:hover {
  background-color: var(--color-primary-blue-50);
}

.card-simple:hover .button-icon__icon {
  background-color: var(--background-color-bg-accent);
}

/* Card Light - variante clara */
.card-light {
  background-color: var(--color-neutral-white-0);
  color: var(--color-text-default);
}

.card-light:has(a:focus) {
  background-color: var(--color-primary-blue-50);
}

/* Card Dark - variante oscura */
.card-dark {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.card-dark h2,
.card-dark h3,
.card-dark h4 {
  color: var(--color-neutral-white-0);
}

.card-dark p {
  color: var(--color-neutral-gray-100);
}

.card-dark :is(h2 a, h3 a, h4 a) {
  color: var(--color-neutral-white-0);
}

.card-dark:has(a[href]):hover {
  background-color: var(--color-primary-blue-500);
}

.card-dark .button-icon__icon {
  background-color: var(--color-primary-yellow-500);
}

.card-dark .button-icon__icon svg {
  fill: var(--color-primary-blue-700);
}

/**
 * UdeC Design System - Card News
 *
 * Tarjeta específica para noticias con imagen, categoría y título.
 *
 * Dependencias: card-base.css, category-tag.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-news {
  position: relative;
  width: 100%;
  padding: 0;
  overflow: hidden;
  transition: transform 0.15s ease-in-out;
}

.card-news__image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.card-news__content {
  padding: var(--spacing-16);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .card-news__content {
    padding: var(--spacing-24);
  }
}
.card-news__category {
  order: -1;
}

.card-news__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0;
}

@media screen and (min-width: 768px) {
  .card-news__title {
    font-size: var(--font-size-2xl);
  }
}
.card-news__title a {
  color: var(--color-text-default);
  text-decoration: none;
  transition: color 0.15s ease-in-out;
}

.card-news__title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-link-hover);
}

.card-news__excerpt {
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-text-muted);
}

.card-news__date {
  font-size: var(--font-size-s);
  color: var(--color-neutral-gray-600);
}

/* Link envolvente para toda la tarjeta */
.card-news__link {
  position: static;
}

.card-news__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Hover effect */
.card-news:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.card-news:hover .card-news__title a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/**
 * UdeC Design System - Card Testimony
 *
 * Tarjeta de testimonio con imagen y contenido.
 * Incluye decoración de comillas en la imagen.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-testimony {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

/* Image Container */
.card-testimony .wp-block-image,
.card-testimony__image {
  position: relative;
  height: 13.125rem;
  width: 100%;
}

.card-testimony .wp-block-image img,
.card-testimony__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}

/* Quote decoration */
.card-testimony .wp-block-image::after,
.card-testimony__image::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2792%27 height=%2785%27 viewBox=%270 0 92 85%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect width=%2792%27 height=%2785%27 fill=%27%23C7D5ED%27/%3E%3Cpath d=%27M51.0425 65V46.5225C51.0425 32.2625 60.37 22.5975 73.5 20L75.9875 25.3775C69.9075 27.67 66 34.4725 66 40H76V65H51.0425ZM16 65V46.5225C16 32.2625 25.37 22.5975 38.5 20L40.99 25.3775C34.9075 27.67 31 34.4725 31 40H40.9575V65H16Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 5.75rem;
  height: 5.313rem;
  cursor: pointer;
}

/* Content */
.card-testimony__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-24);
  background-color: var(--color-neutral-gray-50);
  margin-top: 0;
}

/* Quote text */
.card-testimony__content p {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  font-style: normal;
  line-height: var(--line-height-normal);
  margin: 0;
}

/* Author section */
.card-testimony__autor {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.card-testimony__autor p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-s);
  margin: 0;
}

/* Responsive */
@media screen and (min-width: 768px) {
  .card-testimony .wp-block-image,
  .card-testimony__image {
    height: 14.375rem;
  }
}
@media screen and (min-width: 992px) {
  .card-testimony .wp-block-image,
  .card-testimony__image {
    height: 15.625rem;
  }
}
/* Pattern wrapper */
.pattern-cards-testimonies__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-24);
}

@media screen and (max-width: 1440px) {
  .pattern-cards-testimonies {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 1200px) {
  .pattern-cards-testimonies__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards-testimonies {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
  .pattern-cards-testimonies__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards-testimonies__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/**
 * UdeC Design System - Card Person
 *
 * Tarjeta de persona con avatar, nombre, descripción y datos de contacto.
 * Incluye funcionalidad de copiar enlace.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-person {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-24);
  background-color: var(--color-neutral-gray-50);
}

/* Name section with avatar */
.card-person > .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-12);
  align-items: flex-start;
}

/* Avatar */
.card-person .wp-block-image,
.card-person__avatar {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
}

.card-person .wp-block-image img,
.card-person__avatar img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: var(--radius-full);
}

/* Name */
.card-person .has-blue-500-color {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--color-primary-blue-500);
  margin: 0;
}

/* Description */
.card-person > p {
  font-size: var(--font-size-m);
  margin: 0;
}

/* Contact section */
.card__contact {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--spacing-12);
}

.card__contact p {
  margin: 0;
  font-size: var(--font-size-m);
}

.card__contact a {
  font-weight: var(--font-weight-regular);
  color: var(--color-link-default);
  text-decoration: underline;
}

.card__contact a:hover {
  color: var(--color-link-hover);
}

/* Card Person Record Variant */
.card-person--record {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
}

.card-person--record > .wp-block-buttons {
  margin-top: auto;
}

.card-person--record .card__contact {
  margin-top: 0;
}

/* Copy Link Functionality */
.copy-contact-link a {
  font-weight: var(--font-weight-regular);
}

.copy-link {
  gap: 0;
  position: relative;
}

.copy-link .wp-block-buttons {
  position: relative;
  gap: var(--spacing-4);
  display: none;
}

.copy-link__content a {
  font-weight: var(--font-weight-regular);
}

/* Copy Button */
.copy-link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: var(--spacing-4);
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: var(--spacing-4);
  border: none;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

.copy-link-btn::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M10 22.6667V4H24.6667V22.6667H10ZM11.3333 21.3333H23.3333V5.33333H11.3333V21.3333ZM6 26.6667V8.82067H7.33333V25.3333H19.846V26.6667H6Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  width: 1.125rem;
  height: 1.125rem;
  background-size: contain;
  display: block;
}

.copy-link-btn:hover,
.copy-link-btn:focus {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Copy feedback tooltip */
.copy-link-btn span {
  position: absolute;
  top: -1.8em;
  transform: translateX(-50%);
  padding: var(--spacing-4);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  border-radius: var(--spacing-4);
  background: var(--color-neutral-gray-900);
  color: var(--color-neutral-white-0);
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  opacity: 0.95;
  transition: all 0.2s;
  white-space: nowrap;
}

.copy-feedback {
  color: var(--color-text-default);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  position: absolute;
  left: 80%;
}

/* Copied state */
.copied .copy-link__content a {
  color: var(--color-text-default);
}

/* Responsive */
@media screen and (max-width: 1280px) {
  .card-person {
    padding: var(--spacing-20);
  }
}
@media screen and (max-width: 500px) {
  .card-person {
    padding: var(--spacing-12);
  }
}
/* Pattern wrapper */
.pattern-cards-persons__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-24);
}

@media screen and (max-width: 1280px) {
  .pattern-cards-persons {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 1200px) {
  .pattern-cards-persons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards-persons__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 768px) {
  .pattern-cards-persons {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards-persons__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/**
 * UdeC Design System - Card Event
 *
 * Tarjeta de evento con imagen, categoría, título, fecha y datos del evento.
 * Incluye efecto hover que cambia el color de fondo y texto.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-event {
  display: flex;
  flex-direction: column;
  column-gap: var(--spacing-40);
  row-gap: var(--spacing-12);
  padding: var(--spacing-24);
  background-color: var(--color-primary-blue-50);
  position: relative;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

/* Image */
.card-event .wp-block-image,
.card-event__image {
  width: 100%;
}

.card-event .wp-block-image img,
.card-event__image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Content section */
.card-event__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  position: initial;
}

/* Category tag - uses existing category-tag.css */
/* Title */
.card-event h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  font-style: normal;
  color: var(--color-neutral-gray-800);
  margin: 0;
}

.card-event h3 a {
  color: var(--color-neutral-gray-800);
  text-decoration: none;
}

/* Date */
.card-event__date {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  font-style: normal;
  margin: 0;
}

.card-event__date mark {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--radius-s);
  transition: background-color 0.15s ease-in-out;
}

/* Event data (time, mode, location) */
.card-event__data {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.card-event__data .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-4);
  align-items: center;
}

.card-event__data .icon-container {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--color-primary-blue-900);
  flex-shrink: 0;
}

.card-event__data p {
  font-size: var(--font-size-m);
  color: var(--color-primary-blue-900);
  margin: 0;
}

/* Clickable card with pseudo-element */
.card-event:has(a[href]) a::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}

/* Hover state */
.card-event:hover {
  background-color: var(--color-primary-blue-700);
}

.card-event:hover * {
  color: var(--color-neutral-white-0);
}

.card-event:hover .card-event__date mark {
  background-color: var(--color-primary-blue-500);
}

.card-event:hover .icon-container {
  color: var(--color-neutral-white-0);
}

/* Focus state */
.card-event:has(a:focus) {
  outline: 1px solid var(--color-primary-blue-900);
}

.card-event:has(a:focus) a {
  outline: none;
}

/* Responsive */
@media screen and (max-width: 992px) {
  .card-event {
    column-gap: var(--spacing-32);
  }
}
@media screen and (max-width: 768px) {
  .card-event {
    padding: var(--spacing-16);
    row-gap: var(--spacing-8);
  }
  .card-event__content > * + * {
    margin-top: var(--spacing-8);
  }
  .card-event__data .icon-container {
    width: 1.125rem;
    height: 1.125rem;
  }
}
/**
 * UdeC Design System - Card Faculty
 *
 * Tarjeta de facultad con imagen superior y contenido elevado.
 * El contenido tiene margen negativo para superponerse a la imagen.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-faculty {
  display: flex;
  flex-direction: column;
}

/* Image */
.card-faculty .wp-block-image,
.card-faculty__image {
  width: 100%;
}

.card-faculty .wp-block-image img,
.card-faculty__image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Content - elevated card */
.card-faculty__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-16);
  background-color: var(--color-neutral-white-0);
  position: relative;
  margin-right: var(--spacing-16);
  margin-top: calc(var(--spacing-40) * -1);
  margin-bottom: 0;
  z-index: 1;
  transition: background-color 0.15s ease-in-out;
}

/* Title */
.card-faculty__content h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  font-style: normal;
  color: var(--color-primary-blue-900);
  margin: 0;
}

.card-faculty__content h3 a {
  color: var(--color-primary-blue-900);
  text-decoration: none;
}

/* Faculty data (campus, location, link) */
.card-faculty__data {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-top: var(--spacing-component-gap);
}

.card-faculty__data .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-8);
  align-items: center;
}

.card-faculty__data .icon-container {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.card-faculty__data .has-gray-700-color .icon-container {
  color: var(--color-neutral-gray-700);
}

.card-faculty__data .has-blue-500-color .icon-container {
  color: var(--color-primary-blue-500);
}

.card-faculty__data p {
  font-size: var(--font-size-m);
  color: var(--color-neutral-gray-700);
  margin: 0;
}

.card-faculty__data a {
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-blue-500);
  text-decoration: underline;
}

.card-faculty__data a:hover {
  color: var(--color-primary-blue-700);
}

/* Hover state */
.card-faculty__content:has(a[href]) {
  position: relative;
}

.card-faculty__content:has(a[href]:hover) {
  background-color: var(--color-neutral-gray-50);
}

/* Focus state */
.card-faculty:has(a:focus) {
  outline: 1px solid var(--color-primary-blue-900);
}

.card-faculty:has(a:focus) .card-faculty__content {
  background-color: var(--color-neutral-gray-50);
}

.card-faculty:has(a:focus) a {
  outline: none;
}

/* Otros componentes */
/**
 * UdeC Design System - Hero
 *
 * Secciones hero con imagen de fondo, título, separador y botones.
 * Múltiples variantes: centrado, izquierda, derecha.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Hero Base */
.hero {
  position: relative;
  min-height: 43.75rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: var(--spacing-80) var(--spacing-24);
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero .wp-block-cover__inner-container {
  width: 100%;
  max-width: var(--content-width-max);
  margin: 0 auto;
}

/* Hero Header */
.hero__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24);
  align-items: center;
  text-align: center;
}

.hero__header h1,
.hero__header h2 {
  margin: 0;
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-white-0);
}

/* Hero Buttons */
.hero .wp-block-buttons {
  display: flex;
  gap: var(--spacing-24);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--spacing-32);
}

.hero .wp-block-button .wp-block-button__link {
  padding-top: var(--spacing-4);
  padding-bottom: var(--spacing-4);
  padding-right: var(--spacing-12);
  padding-left: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .hero .wp-block-button .wp-block-button__link {
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
    padding-right: var(--spacing-24);
    padding-left: var(--spacing-24);
  }
}
/* Hero Variants */
/* Hero Left - Content aligned left */
.hero--left .hero__header,
.hero--left .wp-block-buttons {
  align-items: flex-start;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .hero--left .hero__header {
    max-width: 50%;
  }
}
/* Hero Right - Content aligned right */
.hero--right .hero__header,
.hero--right .wp-block-buttons {
  align-items: flex-end;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .hero--right .hero__header {
    max-width: 50%;
    margin-left: auto;
  }
}
/* Hero Title Only */
.hero--title-only {
  min-height: 25rem;
  align-items: center;
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
}

.hero--title-only .hero__header h1,
.hero--title-only .hero__header h2 {
  font-size: var(--font-size-4xl);
}

/* Responsive */
@media screen and (max-width: 1280px) {
  .home .main > .hero:not(:first-of-type),
  .main .entry-content .hero {
    margin-bottom: var(--spacing-60);
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 768px) {
  .hero {
    min-height: 34.375rem;
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
    margin-top: var(--spacing-40);
    margin-bottom: var(--spacing-40);
  }
  .home .main > .hero:not(:first-of-type),
  .main .entry-content .hero {
    margin-bottom: var(--spacing-40);
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
    min-height: 34.375rem;
  }
  .hero__header h1,
  .hero__header h2 {
    font-size: var(--font-size-4xl);
  }
  .hero--left .hero__header,
  .hero--right .hero__header {
    max-width: 100%;
  }
}
/* Override margins when explicitly set to 0 */
.hero[style*="margin-top:0"] {
  margin-top: 0;
}

@media screen and (max-width: 1280px) {
  .hero[style*="margin-top:0"] {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .hero[style*="margin-top:0"] {
    margin-top: 0;
  }
}
.hero[style*="margin-bottom:0"] {
  margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
  .hero[style*="margin-bottom:0"] {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .hero[style*="margin-bottom:0"] {
    margin-bottom: 0;
  }
}
/* Utilities - Clases utilitarias */
/*
 * Utilidades de espaciado (margin / padding)
 * Clases en formato tipo Bootstrap: m-, mt-, mb-, ml-, mr-, mx-, my-
 * y p-, pt-, pb-, pl-, pr-, px-, py-
 * Valores usan las variables CSS definidas en tokens/from-figma.css
 */
:root {
  /* aseguramos que las variables existen (fallback a 0) */
}

/* Lista de tokens soportados: 0,4,8,12,16,20,24,28,32,36,40,44,48,60,64,80,100,160 */
/* -------------------- MARGIN -------------------- */
.m-0 {
  margin: var(--spacing-0, 0);
}

.mt-0 {
  margin-top: var(--spacing-0, 0);
}

.mb-0 {
  margin-bottom: var(--spacing-0, 0);
}

.ml-0 {
  margin-left: var(--spacing-0, 0);
}

.mr-0 {
  margin-right: var(--spacing-0, 0);
}

.mx-0 {
  margin-left: var(--spacing-0, 0);
  margin-right: var(--spacing-0, 0);
}

.my-0 {
  margin-top: var(--spacing-0, 0);
  margin-bottom: var(--spacing-0, 0);
}

.m-4 {
  margin: var(--spacing-4);
}

.mt-4 {
  margin-top: var(--spacing-4);
}

.mb-4 {
  margin-bottom: var(--spacing-4);
}

.ml-4 {
  margin-left: var(--spacing-4);
}

.mr-4 {
  margin-right: var(--spacing-4);
}

.mx-4 {
  margin-left: var(--spacing-4);
  margin-right: var(--spacing-4);
}

.my-4 {
  margin-top: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}

.m-8 {
  margin: var(--spacing-8);
}

.mt-8 {
  margin-top: var(--spacing-8);
}

.mb-8 {
  margin-bottom: var(--spacing-8);
}

.ml-8 {
  margin-left: var(--spacing-8);
}

.mr-8 {
  margin-right: var(--spacing-8);
}

.mx-8 {
  margin-left: var(--spacing-8);
  margin-right: var(--spacing-8);
}

.my-8 {
  margin-top: var(--spacing-8);
  margin-bottom: var(--spacing-8);
}

.m-12 {
  margin: var(--spacing-12);
}

.mt-12 {
  margin-top: var(--spacing-12);
}

.mb-12 {
  margin-bottom: var(--spacing-12);
}

.ml-12 {
  margin-left: var(--spacing-12);
}

.mr-12 {
  margin-right: var(--spacing-12);
}

.mx-12 {
  margin-left: var(--spacing-12);
  margin-right: var(--spacing-12);
}

.my-12 {
  margin-top: var(--spacing-12);
  margin-bottom: var(--spacing-12);
}

.m-16 {
  margin: var(--spacing-16);
}

.mt-16 {
  margin-top: var(--spacing-16);
}

.mb-16 {
  margin-bottom: var(--spacing-16);
}

.ml-16 {
  margin-left: var(--spacing-16);
}

.mr-16 {
  margin-right: var(--spacing-16);
}

.mx-16 {
  margin-left: var(--spacing-16);
  margin-right: var(--spacing-16);
}

.my-16 {
  margin-top: var(--spacing-16);
  margin-bottom: var(--spacing-16);
}

.m-20 {
  margin: var(--spacing-20);
}

.mt-20 {
  margin-top: var(--spacing-20);
}

.mb-20 {
  margin-bottom: var(--spacing-20);
}

.ml-20 {
  margin-left: var(--spacing-20);
}

.mr-20 {
  margin-right: var(--spacing-20);
}

.mx-20 {
  margin-left: var(--spacing-20);
  margin-right: var(--spacing-20);
}

.my-20 {
  margin-top: var(--spacing-20);
  margin-bottom: var(--spacing-20);
}

.m-24 {
  margin: var(--spacing-24);
}

.mt-24 {
  margin-top: var(--spacing-24);
}

.mb-24 {
  margin-bottom: var(--spacing-24);
}

.ml-24 {
  margin-left: var(--spacing-24);
}

.mr-24 {
  margin-right: var(--spacing-24);
}

.mx-24 {
  margin-left: var(--spacing-24);
  margin-right: var(--spacing-24);
}

.my-24 {
  margin-top: var(--spacing-24);
  margin-bottom: var(--spacing-24);
}

.m-28 {
  margin: var(--spacing-28);
}

.mt-28 {
  margin-top: var(--spacing-28);
}

.mb-28 {
  margin-bottom: var(--spacing-28);
}

.ml-28 {
  margin-left: var(--spacing-28);
}

.mr-28 {
  margin-right: var(--spacing-28);
}

.mx-28 {
  margin-left: var(--spacing-28);
  margin-right: var(--spacing-28);
}

.my-28 {
  margin-top: var(--spacing-28);
  margin-bottom: var(--spacing-28);
}

.m-32 {
  margin: var(--spacing-32);
}

.mt-32 {
  margin-top: var(--spacing-32);
}

.mb-32 {
  margin-bottom: var(--spacing-32);
}

.ml-32 {
  margin-left: var(--spacing-32);
}

.mr-32 {
  margin-right: var(--spacing-32);
}

.mx-32 {
  margin-left: var(--spacing-32);
  margin-right: var(--spacing-32);
}

.my-32 {
  margin-top: var(--spacing-32);
  margin-bottom: var(--spacing-32);
}

.m-36 {
  margin: var(--spacing-36);
}

.mt-36 {
  margin-top: var(--spacing-36);
}

.mb-36 {
  margin-bottom: var(--spacing-36);
}

.ml-36 {
  margin-left: var(--spacing-36);
}

.mr-36 {
  margin-right: var(--spacing-36);
}

.mx-36 {
  margin-left: var(--spacing-36);
  margin-right: var(--spacing-36);
}

.my-36 {
  margin-top: var(--spacing-36);
  margin-bottom: var(--spacing-36);
}

.m-40 {
  margin: var(--spacing-40);
}

.mt-40 {
  margin-top: var(--spacing-40);
}

.mb-40 {
  margin-bottom: var(--spacing-40);
}

.ml-40 {
  margin-left: var(--spacing-40);
}

.mr-40 {
  margin-right: var(--spacing-40);
}

.mx-40 {
  margin-left: var(--spacing-40);
  margin-right: var(--spacing-40);
}

.my-40 {
  margin-top: var(--spacing-40);
  margin-bottom: var(--spacing-40);
}

.m-44 {
  margin: var(--spacing-44);
}

.mt-44 {
  margin-top: var(--spacing-44);
}

.mb-44 {
  margin-bottom: var(--spacing-44);
}

.ml-44 {
  margin-left: var(--spacing-44);
}

.mr-44 {
  margin-right: var(--spacing-44);
}

.mx-44 {
  margin-left: var(--spacing-44);
  margin-right: var(--spacing-44);
}

.my-44 {
  margin-top: var(--spacing-44);
  margin-bottom: var(--spacing-44);
}

.m-48 {
  margin: var(--spacing-48);
}

.mt-48 {
  margin-top: var(--spacing-48);
}

.mb-48 {
  margin-bottom: var(--spacing-48);
}

.ml-48 {
  margin-left: var(--spacing-48);
}

.mr-48 {
  margin-right: var(--spacing-48);
}

.mx-48 {
  margin-left: var(--spacing-48);
  margin-right: var(--spacing-48);
}

.my-48 {
  margin-top: var(--spacing-48);
  margin-bottom: var(--spacing-48);
}

.m-60 {
  margin: var(--spacing-60);
}

.mt-60 {
  margin-top: var(--spacing-60);
}

.mb-60 {
  margin-bottom: var(--spacing-60);
}

.ml-60 {
  margin-left: var(--spacing-60);
}

.mr-60 {
  margin-right: var(--spacing-60);
}

.mx-60 {
  margin-left: var(--spacing-60);
  margin-right: var(--spacing-60);
}

.my-60 {
  margin-top: var(--spacing-60);
  margin-bottom: var(--spacing-60);
}

.m-64 {
  margin: var(--spacing-64);
}

.mt-64 {
  margin-top: var(--spacing-64);
}

.mb-64 {
  margin-bottom: var(--spacing-64);
}

.ml-64 {
  margin-left: var(--spacing-64);
}

.mr-64 {
  margin-right: var(--spacing-64);
}

.mx-64 {
  margin-left: var(--spacing-64);
  margin-right: var(--spacing-64);
}

.my-64 {
  margin-top: var(--spacing-64);
  margin-bottom: var(--spacing-64);
}

.m-80 {
  margin: var(--spacing-80);
}

.mt-80 {
  margin-top: var(--spacing-80);
}

.mb-80 {
  margin-bottom: var(--spacing-80);
}

.ml-80 {
  margin-left: var(--spacing-80);
}

.mr-80 {
  margin-right: var(--spacing-80);
}

.mx-80 {
  margin-left: var(--spacing-80);
  margin-right: var(--spacing-80);
}

.my-80 {
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
}

.m-100 {
  margin: var(--spacing-100);
}

.mt-100 {
  margin-top: var(--spacing-100);
}

.mb-100 {
  margin-bottom: var(--spacing-100);
}

.ml-100 {
  margin-left: var(--spacing-100);
}

.mr-100 {
  margin-right: var(--spacing-100);
}

.mx-100 {
  margin-left: var(--spacing-100);
  margin-right: var(--spacing-100);
}

.my-100 {
  margin-top: var(--spacing-100);
  margin-bottom: var(--spacing-100);
}

.m-160 {
  margin: var(--spacing-160);
}

.mt-160 {
  margin-top: var(--spacing-160);
}

.mb-160 {
  margin-bottom: var(--spacing-160);
}

.ml-160 {
  margin-left: var(--spacing-160);
}

.mr-160 {
  margin-right: var(--spacing-160);
}

.mx-160 {
  margin-left: var(--spacing-160);
  margin-right: var(--spacing-160);
}

.my-160 {
  margin-top: var(--spacing-160);
  margin-bottom: var(--spacing-160);
}

/* -------------------- PADDING -------------------- */
.p-0 {
  padding: var(--spacing-0, 0);
}

.pt-0 {
  padding-top: var(--spacing-0, 0);
}

.pb-0 {
  padding-bottom: var(--spacing-0, 0);
}

.pl-0 {
  padding-left: var(--spacing-0, 0);
}

.pr-0 {
  padding-right: var(--spacing-0, 0);
}

.px-0 {
  padding-left: var(--spacing-0, 0);
  padding-right: var(--spacing-0, 0);
}

.py-0 {
  padding-top: var(--spacing-0, 0);
  padding-bottom: var(--spacing-0, 0);
}

.p-4 {
  padding: var(--spacing-4);
}

.pt-4 {
  padding-top: var(--spacing-4);
}

.pb-4 {
  padding-bottom: var(--spacing-4);
}

.pl-4 {
  padding-left: var(--spacing-4);
}

.pr-4 {
  padding-right: var(--spacing-4);
}

.px-4 {
  padding-left: var(--spacing-4);
  padding-right: var(--spacing-4);
}

.py-4 {
  padding-top: var(--spacing-4);
  padding-bottom: var(--spacing-4);
}

.p-8 {
  padding: var(--spacing-8);
}

.pt-8 {
  padding-top: var(--spacing-8);
}

.pb-8 {
  padding-bottom: var(--spacing-8);
}

.pl-8 {
  padding-left: var(--spacing-8);
}

.pr-8 {
  padding-right: var(--spacing-8);
}

.px-8 {
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}

.py-8 {
  padding-top: var(--spacing-8);
  padding-bottom: var(--spacing-8);
}

.p-12 {
  padding: var(--spacing-12);
}

.pt-12 {
  padding-top: var(--spacing-12);
}

.pb-12 {
  padding-bottom: var(--spacing-12);
}

.pl-12 {
  padding-left: var(--spacing-12);
}

.pr-12 {
  padding-right: var(--spacing-12);
}

.px-12 {
  padding-left: var(--spacing-12);
  padding-right: var(--spacing-12);
}

.py-12 {
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-12);
}

.p-16 {
  padding: var(--spacing-16);
}

.pt-16 {
  padding-top: var(--spacing-16);
}

.pb-16 {
  padding-bottom: var(--spacing-16);
}

.pl-16 {
  padding-left: var(--spacing-16);
}

.pr-16 {
  padding-right: var(--spacing-16);
}

.px-16 {
  padding-left: var(--spacing-16);
  padding-right: var(--spacing-16);
}

.py-16 {
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
}

.p-20 {
  padding: var(--spacing-20);
}

.pt-20 {
  padding-top: var(--spacing-20);
}

.pb-20 {
  padding-bottom: var(--spacing-20);
}

.pl-20 {
  padding-left: var(--spacing-20);
}

.pr-20 {
  padding-right: var(--spacing-20);
}

.px-20 {
  padding-left: var(--spacing-20);
  padding-right: var(--spacing-20);
}

.py-20 {
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}

.p-24 {
  padding: var(--spacing-24);
}

.pt-24 {
  padding-top: var(--spacing-24);
}

.pb-24 {
  padding-bottom: var(--spacing-24);
}

.pl-24 {
  padding-left: var(--spacing-24);
}

.pr-24 {
  padding-right: var(--spacing-24);
}

.px-24 {
  padding-left: var(--spacing-24);
  padding-right: var(--spacing-24);
}

.py-24 {
  padding-top: var(--spacing-24);
  padding-bottom: var(--spacing-24);
}

.p-28 {
  padding: var(--spacing-28);
}

.pt-28 {
  padding-top: var(--spacing-28);
}

.pb-28 {
  padding-bottom: var(--spacing-28);
}

.pl-28 {
  padding-left: var(--spacing-28);
}

.pr-28 {
  padding-right: var(--spacing-28);
}

.px-28 {
  padding-left: var(--spacing-28);
  padding-right: var(--spacing-28);
}

.py-28 {
  padding-top: var(--spacing-28);
  padding-bottom: var(--spacing-28);
}

.p-32 {
  padding: var(--spacing-32);
}

.pt-32 {
  padding-top: var(--spacing-32);
}

.pb-32 {
  padding-bottom: var(--spacing-32);
}

.pl-32 {
  padding-left: var(--spacing-32);
}

.pr-32 {
  padding-right: var(--spacing-32);
}

.px-32 {
  padding-left: var(--spacing-32);
  padding-right: var(--spacing-32);
}

.py-32 {
  padding-top: var(--spacing-32);
  padding-bottom: var(--spacing-32);
}

.p-36 {
  padding: var(--spacing-36);
}

.pt-36 {
  padding-top: var(--spacing-36);
}

.pb-36 {
  padding-bottom: var(--spacing-36);
}

.pl-36 {
  padding-left: var(--spacing-36);
}

.pr-36 {
  padding-right: var(--spacing-36);
}

.px-36 {
  padding-left: var(--spacing-36);
  padding-right: var(--spacing-36);
}

.py-36 {
  padding-top: var(--spacing-36);
  padding-bottom: var(--spacing-36);
}

.p-40 {
  padding: var(--spacing-40);
}

.pt-40 {
  padding-top: var(--spacing-40);
}

.pb-40 {
  padding-bottom: var(--spacing-40);
}

.pl-40 {
  padding-left: var(--spacing-40);
}

.pr-40 {
  padding-right: var(--spacing-40);
}

.px-40 {
  padding-left: var(--spacing-40);
  padding-right: var(--spacing-40);
}

.py-40 {
  padding-top: var(--spacing-40);
  padding-bottom: var(--spacing-40);
}

.p-44 {
  padding: var(--spacing-44);
}

.pt-44 {
  padding-top: var(--spacing-44);
}

.pb-44 {
  padding-bottom: var(--spacing-44);
}

.pl-44 {
  padding-left: var(--spacing-44);
}

.pr-44 {
  padding-right: var(--spacing-44);
}

.px-44 {
  padding-left: var(--spacing-44);
  padding-right: var(--spacing-44);
}

.py-44 {
  padding-top: var(--spacing-44);
  padding-bottom: var(--spacing-44);
}

.p-48 {
  padding: var(--spacing-48);
}

.pt-48 {
  padding-top: var(--spacing-48);
}

.pb-48 {
  padding-bottom: var(--spacing-48);
}

.pl-48 {
  padding-left: var(--spacing-48);
}

.pr-48 {
  padding-right: var(--spacing-48);
}

.px-48 {
  padding-left: var(--spacing-48);
  padding-right: var(--spacing-48);
}

.py-48 {
  padding-top: var(--spacing-48);
  padding-bottom: var(--spacing-48);
}

.p-60 {
  padding: var(--spacing-60);
}

.pt-60 {
  padding-top: var(--spacing-60);
}

.pb-60 {
  padding-bottom: var(--spacing-60);
}

.pl-60 {
  padding-left: var(--spacing-60);
}

.pr-60 {
  padding-right: var(--spacing-60);
}

.px-60 {
  padding-left: var(--spacing-60);
  padding-right: var(--spacing-60);
}

.py-60 {
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
}

.p-64 {
  padding: var(--spacing-64);
}

.pt-64 {
  padding-top: var(--spacing-64);
}

.pb-64 {
  padding-bottom: var(--spacing-64);
}

.pl-64 {
  padding-left: var(--spacing-64);
}

.pr-64 {
  padding-right: var(--spacing-64);
}

.px-64 {
  padding-left: var(--spacing-64);
  padding-right: var(--spacing-64);
}

.py-64 {
  padding-top: var(--spacing-64);
  padding-bottom: var(--spacing-64);
}

.p-80 {
  padding: var(--spacing-80);
}

.pt-80 {
  padding-top: var(--spacing-80);
}

.pb-80 {
  padding-bottom: var(--spacing-80);
}

.pl-80 {
  padding-left: var(--spacing-80);
}

.pr-80 {
  padding-right: var(--spacing-80);
}

.px-80 {
  padding-left: var(--spacing-80);
  padding-right: var(--spacing-80);
}

.py-80 {
  padding-top: var(--spacing-80);
  padding-bottom: var(--spacing-80);
}

.p-100 {
  padding: var(--spacing-100);
}

.pt-100 {
  padding-top: var(--spacing-100);
}

.pb-100 {
  padding-bottom: var(--spacing-100);
}

.pl-100 {
  padding-left: var(--spacing-100);
}

.pr-100 {
  padding-right: var(--spacing-100);
}

.px-100 {
  padding-left: var(--spacing-100);
  padding-right: var(--spacing-100);
}

.py-100 {
  padding-top: var(--spacing-100);
  padding-bottom: var(--spacing-100);
}

.p-160 {
  padding: var(--spacing-160);
}

.pt-160 {
  padding-top: var(--spacing-160);
}

.pb-160 {
  padding-bottom: var(--spacing-160);
}

.pl-160 {
  padding-left: var(--spacing-160);
}

.pr-160 {
  padding-right: var(--spacing-160);
}

.px-160 {
  padding-left: var(--spacing-160);
  padding-right: var(--spacing-160);
}

.py-160 {
  padding-top: var(--spacing-160);
  padding-bottom: var(--spacing-160);
}

/* Alineación de texto */
.text-center {
  text-align: center;
}

/* Flow - Espaciado automático entre elementos hijos */
.flow > * + * {
  margin-top: var(--flow-space, 1em);
}

/* Flow con diferentes espaciados predefinidos */
.flow-xs > * + * {
  margin-top: var(--spacing-8);
}

.flow-s > * + * {
  margin-top: var(--spacing-12);
}

.flow-m > * + * {
  margin-top: var(--spacing-16);
}

.flow-l > * + * {
  margin-top: var(--spacing-24);
}

.flow-xl > * + * {
  margin-top: var(--spacing-32);
}

.flow-2xl > * + * {
  margin-top: var(--spacing-48);
}

/* Content wrapper con flow automático y width óptimo */
.content-flow {
  max-width: 43.75rem;
  /* 700px - ancho óptimo de lectura */
}

.content-flow > * + * {
  margin-top: var(--flow-space, 1.5rem);
}

/* Flow space específico después de headings */
.flow > h1 + *,
.flow > h2 + *,
.flow > h3 + *,
.flow > h4 + *,
.flow > h5 + *,
.flow > h6 + * {
  margin-top: var(--spacing-16);
}

.flow > p + p {
  margin-top: var(--spacing-12);
}

.flow > ul + *,
.flow > ol + * {
  margin-top: var(--spacing-24);
}

.flow > blockquote + * {
  margin-top: var(--spacing-32);
}

/* Sistema de filas y columnas */
:root {
  --grid-gutter: var(--spacing-16);
  --grid-columns: 12;
}

/* .container:has(>.row) {
	padding-right: var(--grid-gutter);
	padding-left: var(--grid-gutter);
} */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(-1 * var(--grid-gutter));
  margin-left: calc(-1 * var(--grid-gutter));
}

/* Columnas base */
.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  position: relative;
  width: 100%;
  padding-right: var(--grid-gutter);
  padding-left: var(--grid-gutter);
}

/* Columnas de ancho fijo */
.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Columnas automáticas */
.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

/* Columnas responsive - Extra small (por defecto) */
.col-xs-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-xs-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-xs-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-xs-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-xs-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-xs-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-xs-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-xs-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-xs-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-xs-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-xs-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-xs-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Columnas responsive - Small (≥576px) */
@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Medium (≥768px) */
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Large (≥992px) */
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Extra Large (≥1200px) */
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Grid utilities */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-24);
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-24);
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-24);
}

@media screen and (max-width: 767px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .grid-3,
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Flex utilities */
.flex {
  display: flex;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.place-center {
  place-content: center;
}

/* Gap */
.gap-0 {
  gap: 0;
}

.gap-16 {
  gap: var(--spacing-16);
}

.gap-32 {
  gap: var(--spacing-32);
}

/**
 * UdeC Design System - WordPress Utilities
 *
 * Clases utilitarias generadas automáticamente por WordPress desde theme.json.
 * Estas clases replican el comportamiento del editor de bloques de WordPress
 * para mantener compatibilidad total entre el CMS y la librería estática.
 *
 * Basado en:
 * - settings.color.palette -> has-{slug}-background-color, has-{slug}-color
 * - settings.typography.fontSizes -> has-{slug}-font-size
 * - settings.spacing.spacingSizes -> Variables --wp--preset--spacing--{slug}
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* ==========================================================================
   Background Colors - has-{slug}-background-color
   Desde settings.color.palette en theme.json
   ========================================================================== */
/* Primary Blue */
.has-blue-50-background-color {
  background-color: var(--color-primary-blue-50) !important;
}

.has-blue-100-background-color {
  background-color: var(--color-primary-blue-100) !important;
}

.has-blue-300-background-color {
  background-color: var(--color-primary-blue-300) !important;
}

.has-blue-500-background-color {
  background-color: var(--color-primary-blue-500) !important;
}

.has-blue-700-background-color {
  background-color: var(--color-primary-blue-700) !important;
}

.has-blue-900-background-color {
  background-color: var(--color-primary-blue-900) !important;
}

/* Neutral Gray */
.has-gray-50-background-color {
  background-color: var(--color-neutral-gray-50) !important;
}

.has-gray-400-background-color {
  background-color: var(--color-neutral-gray-400) !important;
}

.has-gray-700-background-color {
  background-color: var(--color-neutral-gray-700) !important;
}

.has-gray-800-background-color {
  background-color: var(--color-neutral-gray-800) !important;
}

/* Primary Yellow */
.has-yellow-300-background-color {
  background-color: var(--color-primary-yellow-300) !important;
}

.has-yellow-500-background-color {
  background-color: var(--color-primary-yellow-500) !important;
}

/* White */
.has-white-background-color {
  background-color: var(--color-neutral-white-0) !important;
}

/* Category Colors */
.has-category-culture-background-color {
  background-color: var(--color-category-culture) !important;
}

.has-category-health-environment-background-color {
  background-color: var(--color-category-health-environment) !important;
}

.has-category-science-technology-background-color {
  background-color: var(--color-category-science-technology) !important;
}

.has-category-humanities-society-background-color {
  background-color: var(--color-category-humanities-society) !important;
}

.has-category-university-background-color {
  background-color: var(--color-category-university) !important;
}

.has-category-sport-background-color {
  background-color: var(--color-category-sport) !important;
}

.has-category-academic-activities-background-color {
  background-color: var(--color-category-academic-activities) !important;
}

/* ==========================================================================
   Text Colors - has-{slug}-color
   Desde settings.color.palette en theme.json
   ========================================================================== */
/* Primary Blue */
.has-blue-50-color {
  color: var(--color-primary-blue-50) !important;
}

.has-blue-100-color {
  color: var(--color-primary-blue-100) !important;
}

.has-blue-300-color {
  color: var(--color-primary-blue-300) !important;
}

.has-blue-500-color {
  color: var(--color-primary-blue-500) !important;
}

.has-blue-700-color {
  color: var(--color-primary-blue-700) !important;
}

.has-blue-900-color {
  color: var(--color-primary-blue-900) !important;
}

/* Neutral Gray */
.has-gray-50-color {
  color: var(--color-neutral-gray-50) !important;
}

.has-gray-400-color {
  color: var(--color-neutral-gray-400) !important;
}

.has-gray-700-color {
  color: var(--color-neutral-gray-700) !important;
}

.has-gray-800-color {
  color: var(--color-neutral-gray-800) !important;
}

/* Primary Yellow */
.has-yellow-300-color {
  color: var(--color-primary-yellow-300) !important;
}

.has-yellow-500-color {
  color: var(--color-primary-yellow-500) !important;
}

/* White */
.has-white-color {
  color: var(--color-neutral-white-0) !important;
}

/* Category Colors */
.has-category-culture-color {
  color: var(--color-category-culture) !important;
}

.has-category-health-environment-color {
  color: var(--color-category-health-environment) !important;
}

.has-category-science-technology-color {
  color: var(--color-category-science-technology) !important;
}

.has-category-humanities-society-color {
  color: var(--color-category-humanities-society) !important;
}

.has-category-university-color {
  color: var(--color-category-university) !important;
}

.has-category-sport-color {
  color: var(--color-category-sport) !important;
}

.has-category-academic-activities-color {
  color: var(--color-category-academic-activities) !important;
}

/* ==========================================================================
   Font Sizes - has-{slug}-font-size
   Desde settings.typography.fontSizes en theme.json
   ========================================================================== */
.has-hero-font-size {
  font-size: var(--font-size-hero) !important;
}

.has-4-xl-font-size {
  font-size: var(--font-size-4xl) !important;
}

.has-3-xl-font-size {
  font-size: var(--font-size-3xl) !important;
}

.has-2-xl-font-size {
  font-size: var(--font-size-2xl) !important;
}

.has-xl-font-size {
  font-size: var(--font-size-xl) !important;
}

.has-l-font-size {
  font-size: var(--font-size-l) !important;
}

.has-base-font-size {
  font-size: var(--font-size-base) !important;
}

.has-m-font-size {
  font-size: var(--font-size-m) !important;
}

.has-s-font-size {
  font-size: var(--font-size-s) !important;
}

.has-xs-font-size {
  font-size: var(--font-size-xs) !important;
}

/* ==========================================================================
   WordPress Spacing Variables
   Desde settings.spacing.spacingSizes en theme.json
   Estas variables se usan con inline styles en WordPress
   ========================================================================== */
:root {
  --wp--preset--spacing--0: var(--spacing-0);
  --wp--preset--spacing--4: var(--spacing-4);
  --wp--preset--spacing--8: var(--spacing-8);
  --wp--preset--spacing--12: var(--spacing-12);
  --wp--preset--spacing--16: var(--spacing-16);
  --wp--preset--spacing--20: var(--spacing-20);
  --wp--preset--spacing--24: var(--spacing-24);
  --wp--preset--spacing--28: var(--spacing-28);
  --wp--preset--spacing--32: var(--spacing-32);
  --wp--preset--spacing--36: var(--spacing-36);
  --wp--preset--spacing--40: var(--spacing-40);
  --wp--preset--spacing--44: var(--spacing-44);
  --wp--preset--spacing--48: var(--spacing-48);
  --wp--preset--spacing--60: var(--spacing-60);
  --wp--preset--spacing--64: var(--spacing-64);
  --wp--preset--spacing--80: var(--spacing-80);
  --wp--preset--spacing--100: var(--spacing-100);
  --wp--preset--spacing--160: var(--spacing-160);
}

/* ==========================================================================
   WordPress Font Family Variables
   ========================================================================== */
:root {
  --wp--preset--font-family--poppins: var(--font-family-heading);
  --wp--preset--font-family--roboto: var(--font-family-body);
}

/* ==========================================================================
   WordPress Font Size Variables
   ========================================================================== */
:root {
  --wp--preset--font-size--hero: var(--font-size-hero);
  --wp--preset--font-size--4-xl: var(--font-size-4xl);
  --wp--preset--font-size--3-xl: var(--font-size-3xl);
  --wp--preset--font-size--2-xl: var(--font-size-2xl);
  --wp--preset--font-size--xl: var(--font-size-xl);
  --wp--preset--font-size--l: var(--font-size-l);
  --wp--preset--font-size--base: var(--font-size-base);
  --wp--preset--font-size--m: var(--font-size-m);
  --wp--preset--font-size--s: var(--font-size-s);
  --wp--preset--font-size--xs: var(--font-size-xs);
}

/* ==========================================================================
   Helper Classes
   Clases auxiliares generadas por WordPress
   ========================================================================== */
.has-text-color {
  color: var(--color-text-default) !important;
}

.has-background {
  background-color: var(--color-background-surface) !important;
}

.has-link-color a {
  color: var(--color-link-default) !important;
}

/* Text Alignment */
.has-text-align-left {
  text-align: left !important;
}

.has-text-align-center {
  text-align: center !important;
}

.has-text-align-right {
  text-align: right !important;
}

/* ==========================================================================
   WordPress Custom Properties
   Propiedades personalizadas usadas en theme.json
   ========================================================================== */
:root {
  --wp--custom--spacing--component-gap: var(--spacing-component-gap);
  --wp--custom--spacing--container-padding: var(--spacing-container-padding);
  --wp--custom--spacing--section-padding: var(--spacing-section-padding);
}

/* Colores de textos */
.text-neutral-gray-100 {
  color: var(--color-neutral-gray-100);
}

.text-neutral-gray-200 {
  color: var(--color-neutral-gray-200);
}

.text-neutral-gray-300 {
  color: var(--color-neutral-gray-300);
}

.text-neutral-gray-400 {
  color: var(--color-neutral-gray-400);
}

.text-neutral-gray-50 {
  color: var(--color-neutral-gray-50);
}

.text-neutral-gray-500 {
  color: var(--color-neutral-gray-500);
}

.text-neutral-gray-600 {
  color: var(--color-neutral-gray-600);
}

.text-neutral-gray-700 {
  color: var(--color-neutral-gray-700);
}

.text-neutral-gray-800 {
  color: var(--color-neutral-gray-800);
}

.text-neutral-gray-900 {
  color: var(--color-neutral-gray-900);
}

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

.text-primary-blue-100 {
  color: var(--color-primary-blue-100);
}

.text-primary-blue-200 {
  color: var(--color-primary-blue-200);
}

.text-primary-blue-300 {
  color: var(--color-primary-blue-300);
}

.text-primary-blue-400 {
  color: var(--color-primary-blue-400);
}

.text-primary-blue-50 {
  color: var(--color-primary-blue-50);
}

.text-primary-blue-500 {
  color: var(--color-primary-blue-500);
}

.text-primary-blue-600 {
  color: var(--color-primary-blue-600);
}

.text-primary-blue-700 {
  color: var(--color-primary-blue-700);
}

.text-primary-blue-800 {
  color: var(--color-primary-blue-800);
}

.text-primary-blue-900 {
  color: var(--color-primary-blue-900);
}

.text-primary-yellow-100 {
  color: var(--color-primary-yellow-100);
}

.text-primary-yellow-200 {
  color: var(--color-primary-yellow-200);
}

.text-primary-yellow-300 {
  color: var(--color-primary-yellow-300);
}

.text-primary-yellow-400 {
  color: var(--color-primary-yellow-400);
}

.text-primary-yellow-50 {
  color: var(--color-primary-yellow-50);
}

.text-primary-yellow-500 {
  color: var(--color-primary-yellow-500);
}

.text-primary-yellow-600 {
  color: var(--color-primary-yellow-600);
}

.text-primary-yellow-700 {
  color: var(--color-primary-yellow-700);
}

.text-primary-yellow-800 {
  color: var(--color-primary-yellow-800);
}

.text-primary-yellow-900 {
  color: var(--color-primary-yellow-900);
}

.text-secondary-red-100 {
  color: var(--color-secondary-red-100);
}

.text-secondary-red-200 {
  color: var(--color-secondary-red-200);
}

.text-secondary-red-300 {
  color: var(--color-secondary-red-300);
}

.text-secondary-red-400 {
  color: var(--color-secondary-red-400);
}

.text-secondary-red-50 {
  color: var(--color-secondary-red-50);
}

.text-secondary-red-500 {
  color: var(--color-secondary-red-500);
}

.text-secondary-red-600 {
  color: var(--color-secondary-red-600);
}

.text-secondary-red-700 {
  color: var(--color-secondary-red-700);
}

.text-secondary-red-800 {
  color: var(--color-secondary-red-800);
}

.text-secondary-red-900 {
  color: var(--color-secondary-red-900);
}

/* Colores de fondos */
.bg-neutral-gray-100 {
  background-color: var(--color-neutral-gray-100);
}

.bg-neutral-gray-200 {
  background-color: var(--color-neutral-gray-200);
}

.bg-neutral-gray-300 {
  background-color: var(--color-neutral-gray-300);
}

.bg-neutral-gray-400 {
  background-color: var(--color-neutral-gray-400);
}

.bg-neutral-gray-50 {
  background-color: var(--color-neutral-gray-50);
}

.bg-neutral-gray-500 {
  background-color: var(--color-neutral-gray-500);
}

.bg-neutral-gray-600 {
  background-color: var(--color-neutral-gray-600);
}

.bg-neutral-gray-700 {
  background-color: var(--color-neutral-gray-700);
}

.bg-neutral-gray-800 {
  background-color: var(--color-neutral-gray-800);
}

.bg-neutral-gray-900 {
  background-color: var(--color-neutral-gray-900);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-secondary-red-100 {
  background-color: var(--color-secondary-red-100);
}

.bg-secondary-red-200 {
  background-color: var(--color-secondary-red-200);
}

.bg-secondary-red-300 {
  background-color: var(--color-secondary-red-300);
}

.bg-secondary-red-400 {
  background-color: var(--color-secondary-red-400);
}

.bg-secondary-red-50 {
  background-color: var(--color-secondary-red-50);
}

.bg-secondary-red-500 {
  background-color: var(--color-secondary-red-500);
}

.bg-secondary-red-600 {
  background-color: var(--color-secondary-red-600);
}

.bg-secondary-red-700 {
  background-color: var(--color-secondary-red-700);
}

.bg-secondary-red-800 {
  background-color: var(--color-secondary-red-800);
}

.bg-secondary-red-900 {
  background-color: var(--color-secondary-red-900);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWRlYy1zdHlsZXMuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQUFoQjs7Ozs7Ozs7RUFBQTtBQVVBO0FDVkE7Ozs7Ozs7O0VBQUE7QUFVQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRFdEO0FDUkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEVUQ7QUNQQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRFNEO0FDTkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEUUQ7QUNMQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRE9EO0FDSkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FETUQ7QUNIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREtEO0FDRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FESUQ7QUNEQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREdEO0FDQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FERUQ7QUFqRkE7QUViQTs7Ozs7Ozs7RUFBQTtBQVVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRmdHRDs7QUU3RkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZnR0Q7O0FFN0ZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZnR0Q7O0FFN0ZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBRitGRDtBRTlGQztFQXpERDtJQTBERTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUZpR0E7QUFDRjtBRXpMQTtFQTBGQztFQUNBO0FGa0dEO0FFakdDO0VBNUZEO0lBNkZFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRm9HQTtBQUNGOztBRWpHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUZvR0Q7O0FHOVlBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBSDhZRDs7QUExWkE7QUlqQkE7Ozs7Ozs7RUFBQTtBQVNBO0FBQ0E7OztFQUdDO0FKOGFEOztBSTNhQTtBQUNBO0VBQ0M7RUFDQTtBSjhhRDs7QUkzYUE7QUFDQTs7RUFFQztBSjhhRDs7QUkzYUE7RUFDQztFQUNBO0VBQ0E7QUo4YUQ7O0FJM2FBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjhhRDs7QUkzYUE7QUFDQTs7Ozs7RUFLQztFQUNBO0VBQ0E7RUFDQTtBSjhhRDs7QUkzYUE7QUFDQTs7OztFQUlDO0FKOGFEOztBSTNhQTtFQUNDO0VBQ0E7RUFDQTtBSjhhRDs7QUkzYUE7QUFDQTs7Ozs7OztFQU9DO0FKOGFEOztBSTNhQTtFQUNDO0VBQ0E7QUo4YUQ7O0FJM2FBO0FBQ0E7O0VBRUM7QUo4YUQ7O0FJM2FBO0FBQ0E7RUFDQztFQUNBO0FKOGFEOztBSTNhQTtBQUNBOzs7O0VBSUM7RUFDQTtBSjhhRDs7QUkzYUE7QUFDQTs7O0VBR0M7RUFDQTtFQUNBO0FKOGFEOztBSTNhQTtBQUNBOztFQUVDO0VBQ0E7QUo4YUQ7O0FJM2FBO0FBQ0E7O0VBRUM7RUFDQTtFQUNBO0FKOGFEOztBSTNhQTtBQUNBO0VBRUM7OztJQUdDO0lBQ0E7SUFDQTtJQUNBO0VKNmFBO0FBQ0Y7QUFwaUJBO0FLcEJBOzs7Ozs7OztFQUFBO0FBVUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDBqQkQ7O0FLdmpCQTtBQUNBOzs7Ozs7RUFNQztFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtBTDBqQkQ7O0FLdmpCQTtFQUNDO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBOzs7Ozs7OztFQVFDO0FMMGpCRDs7QUt2akJBO0FBQ0E7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBO0FBQ0E7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtBTDBqQkQ7O0FLdmpCQTtFQUNDO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztBTDBqQkQ7O0FLdmpCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDBqQkQ7O0FLdmpCQTtBQUNBOztFQUVDO0FMMGpCRDs7QUt2akJBOztFQUVDO0FMMGpCRDs7QUt2akJBO0VBQ0M7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7Ozs7RUFJQztFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBO0FBQ0E7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtBTDBqQkQ7O0FLdmpCQTtFQUNDO0FMMGpCRDs7QUt2akJBO0VBQ0M7QUwwakJEOztBS3ZqQkE7RUFDQztBTDBqQkQ7O0FLdmpCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FMMGpCRDs7QUt2akJBO0VBQ0M7RUFDQTtBTDBqQkQ7O0FLdmpCQTtFQUNDO0FMMGpCRDs7QUt2akJBO0VBQ0M7QUwwakJEOztBS3ZqQkE7RUFDQztBTDBqQkQ7O0FLdmpCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FMMGpCRDs7QUt2akJBO0FBQ0E7RUFDQztBTDBqQkQ7O0FLdmpCQTtFQUNDO0VBQ0E7RUFDQTtBTDBqQkQ7O0FLdmpCQTtBQUNBO0VBQ0M7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0FMMGpCRDs7QUt2akJBOztFQUVDO0VBQ0E7QUwwakJEOztBS3ZqQkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDBqQkQ7O0FLdmpCQTtBQUNBO0VBQ0M7QUwwakJEOztBS3ZqQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwwakJEOztBS3ZqQkE7QUFDQTtFQUNDO0VBQ0E7QUwwakJEOztBS3ZqQkE7QUFDQTtFQUNDO0VBQ0E7QUwwakJEOztBTWwxQkE7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7RUFDQztBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FObzFCRDs7QU1qMUJBO0VBQ0M7QU5vMUJEOztBTWoxQkE7RUFDQztFQUNBO0FObzFCRDs7QU1qMUJBO0VBQ0M7RUFDQTtFQUNBO0FObzFCRDs7QU1qMUJBO0FBQ0E7RUFDQztFQUNBO0FObzFCRDs7QU1qMUJBO0FBQ0E7RUFDQztFQUNBO0FObzFCRDs7QU1qMUJBO0VBQ0M7QU5vMUJEOztBTWoxQkE7RUFDQztBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7RUFDQztFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7RUFDQztBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FObzFCRDs7QU1qMUJBO0VBQ0M7QU5vMUJEOztBTWoxQkE7RUFDQztBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7RUFDQztBTm8xQkQ7O0FNajFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FObzFCRDs7QU1qMUJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTm8xQkQ7O0FNajFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTm8xQkQ7O0FNajFCQTtFQUNDO0VBQ0E7QU5vMUJEOztBTWoxQkE7RUFDQztFQUNBO0FObzFCRDs7QU1qMUJBO0VBQ0M7QU5vMUJEOztBTWoxQkE7RUFDQztFQUNBO0VBQ0E7QU5vMUJEOztBTWoxQkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBTm8xQkQ7O0FNajFCQTtBQUNBO0VBQ0M7SUFDQztFTm8xQkE7RU1qMUJEO0lBQ0M7RU5tMUJBO0FBQ0Y7QU9oaUNBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QVBraUNEOztBTy9oQ0E7O0VBRUM7RUFDQTtFQUNBO0FQa2lDRDs7QU8vaENBO0VBQ0M7RUFDQTtBUGtpQ0Q7O0FPL2hDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUGtpQ0Q7O0FBbGlDQTtBUXpCQTs7Ozs7Ozs7O0VBQUE7QUFZQTtBQUNBO0VBQ0M7RUFDQTtBUjZqQ0Q7O0FRMWpDQTtBQUNBO0VBQ0M7QVI2akNEOztBUTFqQ0E7QUFFQTs7Ozs7Ozs7OztFQVVDO0FSNGpDRDs7QVMvbENBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRrbUNEOztBUy9sQ0E7RUFDQztJQUNDO0lBQ0E7RVRrbUNBO0FBQ0Y7QVMvbENBO0VBQ0M7SUFDQztJQUNBO0VUaW1DQTtBQUNGO0FTOWxDQTtFQUNDO0lBQ0M7SUFDQTtFVGdtQ0E7QUFDRjtBUzdsQ0E7RUFDQztJQUNDO0lBQ0E7RVQrbENBO0FBQ0Y7QVM1bENBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVDhsQ0Q7O0FTM2xDQTtFQUNDO0lBQ0M7SUFDQTtFVDhsQ0E7QUFDRjtBUzNsQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVDZsQ0Q7O0FTMWxDQTtFQUNDO0VBQ0E7RUFDQTtBVDZsQ0Q7O0FVNXBDQTs7Ozs7Ozs7O0VBQUE7QUFXQTtFQUNDO0VBQ0E7QVY4cENEO0FVNXBDQztFQUpEO0lBS0U7RVYrcENBO0FBQ0Y7QVU3cENDO0VBQ0M7RUFDQSx1SEFDQztFQUlEO0FWMnBDRjtBVXpwQ0U7RUFURDtJQVVFO0lBQ0E7RVY0cENEO0FBQ0Y7QVUxcENFO0VBZEQ7SUFlRSw2REFDQztJQUVEO0VWMnBDRDtBQUNGO0FVeHBDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FWMHBDRjtBVXZwQ0M7RUFDQztFQUNBO0FWeXBDRjtBVXZwQ0U7RUFDQztBVnlwQ0g7QVVycENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1cENGO0FVcnBDRTtFQUNDO0FWdXBDSDtBVW5wQ0U7RUFkRDtJQWVFO0VWc3BDRDtBQUNGO0FVbnBDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnFwQ0Y7QVVucENFO0VBWEQ7SUFZRTtFVnNwQ0Q7QUFDRjtBVXBwQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWc3BDSDtBVW5wQ0U7RUFDQztBVnFwQ0g7QVVscENFO0VBQ0M7RUFDQTtBVm9wQ0g7QVVqcENFO0VBQ0M7QVZtcENIO0FVL29DQztFQUNDO0VBQ0E7QVZpcENGO0FVL29DRTtFQUpEO0lBS0U7SUFDQTtFVmtwQ0Q7QUFDRjtBVWhwQ0U7RUFURDtJQVVFO0lBQ0E7SUFDQTtJQUNBO0VWbXBDRDtBQUNGO0FVanBDRTtFQUNDO0FWbXBDSDtBVWpwQ0c7RUFDQztBVm1wQ0o7QVVqcENJO0VBQ0M7QVZtcENMO0FVL29DRztFQUNDO0VBQ0E7RUFDQTtBVmlwQ0o7QVU5b0NHO0VBQ0M7SUFDQztFVmdwQ0g7QUFDRjtBVTNvQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY2b0NGO0FVM29DRTtFQVJEO0lBU0U7SUFDQTtFVjhvQ0Q7QUFDRjtBVTVvQ0U7RUFiRDtJQWNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VWK29DRDtBQUNGO0FVN29DRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYrb0NIO0FVN29DRztFQUNDO0FWK29DSjtBVTVvQ0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWOG9DSjtBVTNvQ0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY2b0NKO0FVM29DSTtFQUNDO0VBQ0E7RUFDQTtBVjZvQ0w7QVV6b0NHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVYyb0NKO0FVeG9DRztFQUNDO0VBQ0E7QVYwb0NKO0FVdG9DRTtFQUNDO0VBQ0E7RUFDQTtBVndvQ0g7QVVyb0NFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnVvQ0g7QVVwb0NFO0VBQ0M7RUFDQTtBVnNvQ0g7QVVwb0NHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZzb0NKO0FVam9DQztFQUNDO0VBQ0E7QVZtb0NGO0FVL25DQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmlvQ0Y7QVUvbkNFO0VBWEQ7SUFZRTtFVmtvQ0Q7QUFDRjtBVWhvQ0U7RUFmRDtJQWdCRTtFVm1vQ0Q7QUFDRjtBVWpvQ0U7RUFDQztFQUNBO0FWbW9DSDtBVWhvQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmtvQ0g7QVVob0NHO0VBVEQ7SUFVRTtJQUNBO0VWbW9DRjtBQUNGO0FVaG9DRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZrb0NIO0FVaG9DRztFQVBEO0lBUUU7RVZtb0NGO0FBQ0Y7QVU5bkNJOzs7RUFDQztFQUNBO0FWa29DTDtBVTluQ0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZnb0NKO0FVOW5DSTtFQVJEO0lBU0U7SUFDQTtFVmlvQ0g7QUFDRjtBVS9uQ0k7RUFiRDtJQWNFO0lBQ0E7RVZrb0NIO0FBQ0Y7QVVob0NJO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWa29DTDtBVS9uQ0k7RUFFQztFQUNBO0FWZ29DTDtBVTVuQ0c7RUFDQztBVjhuQ0o7O0FVdm5DQTtFQUdHO0lBQ0M7SUFDQTtFVnduQ0Y7RVV0bkNFO0lBQ0M7RVZ3bkNIO0VVcm5DRTtJQUNDO0lBQ0E7RVZ1bkNIO0VVam5DQTtJQUNDO0VWbW5DRDtFVWpuQ0M7SUFDQztFVm1uQ0Y7RVVobkNDO0lBQ0M7RVZrbkNGO0VVL21DQztJQUNDO0lBQ0E7RVZpbkNGO0VVN21DQTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0VWK21DRDtFVTVtQ0E7SUFDQztJQUNBO0lBQ0E7SUFDQTtFVjhtQ0Q7RVU1bUNDO0lBQ0M7RVY4bUNGO0VVMW1DQTtJQUNDO0VWNG1DRDtFVTFtQ0M7SUFDQztFVjRtQ0Y7RVUxbUNFO0lBQ0M7RVY0bUNIO0VVdm1DQTtJQUNDO0lBQ0E7RVZ5bUNEO0VVdm1DQztJQUNDO0lBQ0E7SUFDQTtFVnltQ0Y7RVV2bUNFO0lBQ0M7RVZ5bUNIO0FBQ0Y7QVdqakRBOzs7Ozs7Ozs7Ozs7Ozs7O0VBQUE7QUFrQkE7O2lEQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBWGlqREQ7O0FXOWlEQTtFQUNDO0lBQ0M7SUFDQTtFWGlqREE7QUFDRjtBVzlpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ2pERDs7QVc3aURBO0VBQ0M7QVhnakREOztBVzdpREE7RUFDQztBWGdqREQ7O0FXN2lEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FYZ2pERDs7QVc3aURBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYK2lERDs7QVc1aURBO0VBQ0M7SUFDQztJQUNBO0VYK2lEQTtBQUNGO0FXNWlEQTtFQUNDO0FYOGlERDs7QVczaURBO0VBQ0M7RUFDQTtBWDhpREQ7O0FXM2lEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYOGlERDs7QVczaURBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FYNmlERDs7QVcxaURBO0VBQ0M7SUFDQztJQUNBO0VYNmlEQTtBQUNGO0FXMWlEQTs7aURBQUE7QUFJQTtFQUNDO0FYMmlERDs7QVd4aURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVgyaUREOztBV3hpREE7RUFDQztFQUNBO0VBQ0E7QVgyaUREOztBV3hpREE7RUFDQztBWDJpREQ7O0FXeGlEQTtFQUNDO0lBQ0M7SUFDQTtFWDJpREE7QUFDRjtBWTNyREE7Ozs7Ozs7OztFQUFBO0FBV0E7RUFDQztFQUNBO0FaNHJERDs7QVl6ckRBO0VBQ0M7SUFDQztJQUNBO0VaNHJEQTtBQUNGO0FZenJEQTtFQUNDO0lBQ0M7SUFDQTtFWjJyREE7QUFDRjtBWXhyREE7QUFDQTtFQUNDO0FaMHJERDs7QVl2ckRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjByREQ7O0FZdnJEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FaMHJERDs7QVl2ckRBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBWjByREQ7O0FZdnJEQTtFQUNDO0lBQ0M7RVowckRBO0FBQ0Y7QVl2ckRBO0VBQ0M7SUFDQztFWnlyREE7QUFDRjtBWXRyREE7RUFDQztJQUNDO0lBQ0E7RVp3ckRBO0FBQ0Y7QVlyckRBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QVp1ckREOztBWXByREE7RUFDQztFQUNBO0FadXJERDs7QVlwckRBO0FBQ0E7RUFDQztBWnVyREQ7O0FZcHJEQTtFQUNDO0lBQ0M7RVp1ckRBO0FBQ0Y7QVlwckRBO0FBQ0E7RUFDQztBWnNyREQ7O0FZbnJEQTtFQUNDO0lBQ0M7RVpzckRBO0FBQ0Y7QVluckRBO0VBQ0M7SUFDQztFWnFyREE7QUFDRjtBQXZ3REE7QWFoQ0E7Ozs7Ozs7OztFQUFBO0FBV0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJ5eUREOztBYXR5REE7RUFDQztBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7QWJ5eUREOztBYXR5REE7RUFDQztBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtBQUNBO0VBQ0M7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7QWJ5eUREOztBYXR5REE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7QWJ5eUREOztBYXR5REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7QWJ5eUREOztBYXR5REE7RUFDQztFQUNBO0FieXlERDs7QWF0eURBO0VBQ0M7QWJ5eUREOztBYXR5REE7QUFDQTtFQUNDO0FieXlERDs7QWF0eURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0VBQ0E7RUFDQTtBYnl5REQ7O0FhdHlEQTtFQUNDO0FieXlERDs7QWF0eURBO0FBQ0E7RUFDQztBYnl5REQ7O0FhdHlEQTtFQUNDO0FieXlERDs7QWF0eURBO0FBQ0E7RUFDQztJQUNDO0VieXlEQTtFYXR5REQ7SUFDQztJQUNBO0Vid3lEQTtBQUNGO0FjejdEQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMDdERDs7QWN2N0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMDdERDs7QWN2N0RBO0FBQ0E7RUFDQztBZDA3REQ7O0FjdjdEQTtBQUNBO0VBQ0M7QWQwN0REOztBY3Y3REE7RUFDQztBZDA3REQ7O0FjdjdEQTtFQUNDO0FkMDdERDs7QWN2N0RBO0VBQ0M7QWQwN0REOztBY3Y3REE7RUFDQztBZDA3REQ7O0FjdjdEQTtFQUNDO0FkMDdERDs7QWN2N0RBO0VBQ0M7QWQwN0REOztBY3Y3REE7QUFDQTtFQUNDO0lBQ0M7RWQwN0RBO0FBQ0Y7QWV0Z0VBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBZndnRUQ7O0FlcmdFQTtFQUNDO0Fmd2dFRDs7QWdCamhFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQm9oRUQ7O0FnQmpoRUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJvaEVEOztBZ0JqaEVBO0VBQ0M7RUFDQTtBaEJvaEVEOztBZ0JqaEVBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FoQm9oRUQ7O0FnQmpoRUE7O0VBRUM7RUFDQTtBaEJvaEVEOztBZ0JqaEVBO0VBQ0M7QWhCb2hFRDs7QWdCamhFQTtFQUNDO0FoQm9oRUQ7O0FpQmxrRUE7QUFDQTtFQUNDO0VBQ0E7QWpCcWtFRDs7QWlCbGtFQTtFQUNDO0FqQnFrRUQ7O0FpQmxrRUE7RUFDQztJQUNDO0VqQnFrRUE7QUFDRjtBaUJsa0VBO0VBQ0M7RUFDQTtBakJva0VEOztBaUJqa0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCb2tFRDs7QWlCamtFQTtFQUNDO0FqQm9rRUQ7O0FpQmprRUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtFakJva0VBO0FBQ0Y7QWlCamtFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJta0VEOztBaUJoa0VBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtFakJta0VBO0FBQ0Y7QWlCaGtFQTs7RUFFQztFQUNBO0FqQmtrRUQ7O0FpQi9qRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJra0VEOztBaUIvakVBO0VBQ0M7RUFDQTtBakJra0VEOztBaUIvakVBO0VBQ0M7QWpCa2tFRDs7QWlCL2pFQTtFQUNDO0VBQ0E7QWpCa2tFRDs7QWlCL2pFQTtFQUNDO0FqQmtrRUQ7O0FpQi9qRUE7RUFDQztBakJra0VEOztBaUIvakVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJra0VEOztBaUIvakVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJra0VEOztBaUIvakVBO0VBQ0M7QWpCa2tFRDs7QWtCcnNFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCd3NFRDs7QWtCcnNFQTtFQUNDO0lBQ0M7SUFDQTtFbEJ3c0VBO0FBQ0Y7QWtCcnNFQTtFQUNDO0VBQ0E7QWxCdXNFRDs7QWtCcHNFQTtFQUNDO0FsQnVzRUQ7O0FrQnBzRUE7RUFDQztJQUNDO0VsQnVzRUE7QUFDRjtBa0Jwc0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJzc0VEOztBa0Juc0VBO0VBQ0M7SUFDQztFbEJzc0VBO0FBQ0Y7QWtCbnNFQTs7RUFFQztFQUNBO0VBQ0E7QWxCcXNFRDs7QWtCbHNFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FsQnFzRUQ7O0FrQmxzRUE7RUFDQztBbEJxc0VEOztBa0Jsc0VBO0VBQ0M7RUFDQTtFQUNBO0FsQnFzRUQ7O0FrQmxzRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnFzRUQ7O0FrQmxzRUE7RUFDQztBbEJxc0VEOztBa0Jsc0VBO0VBQ0M7QWxCcXNFRDs7QW1CL3hFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJreUVEOztBbUIveEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QW5Ca3lFRDs7QW1CL3hFQTtFQUNDO0VBQ0E7RUFDQTtBbkJreUVEOztBbUIveEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJreUVEOztBbUIveEVBO0FBQ0E7RUFDQztBbkJreUVEOztBbUIveEVBO0VBQ0M7QW5Ca3lFRDs7QW1CL3hFQTtFQUNDO0FuQmt5RUQ7O0FtQi94RUE7QUFDQTtFQUNDO0lBQ0M7RW5Ca3lFQTtFbUIveEVEO0lBQ0M7RW5CaXlFQTtBQUNGO0FvQnYxRUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ5MUVEOztBb0J0MUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCeTFFRDs7QW9CdDFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCeTFFRDs7QW9CdDFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ5MUVEOztBb0J0MUVBO0VBQ0M7RUFDQTtFQUNBO0FwQnkxRUQ7O0FvQnQxRUE7RUFDQztFQUNBO0FwQnkxRUQ7O0FvQnQxRUE7RUFDQztBcEJ5MUVEOztBb0J0MUVBO0VBQ0M7QXBCeTFFRDs7QW9CdDFFQTtFQUNDO0VBQ0E7QXBCeTFFRDs7QXFCbDZFQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0FyQm82RUQ7O0FxQmo2RUE7RUFDQztJQUNDO0lBQ0E7RXJCbzZFQTtBQUNGO0FxQmo2RUE7RUFDQztJQUNDO0lBQ0E7RXJCbTZFQTtBQUNGO0FxQmg2RUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQms2RUQ7O0FxQi81RUE7RUFDQztJQUNDO0VyQms2RUE7QUFDRjtBcUIvNUVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCaTZFRDs7QXFCOTVFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJpNkVEOztBcUI5NUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmk2RUQ7O0FxQjk1RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBckJpNkVEOztBcUI5NUVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmk2RUQ7O0FxQjk1RUE7RUFDQztJQUNDO0VyQmk2RUE7QUFDRjtBcUI5NUVBO0VBQ0M7SUFDQztFckJnNkVBO0FBQ0Y7QXFCNzVFQTtFQUNDO0lBQ0M7SUFDQTtFckIrNUVBO0FBQ0Y7QXFCNTVFQTtBQUNBO0VBQ0M7QXJCODVFRDs7QXFCMzVFQTtFQUNDO0FyQjg1RUQ7O0FzQjVoRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBdUJBO0FBQ0E7QUFFQTs7aURBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCNGhGRDs7QXNCemhGQTtFQUNDO0lBQ0M7SUFDQTtFdEI0aEZBO0FBQ0Y7QXNCemhGQTs7aURBQUE7QUFJQTtFQUNDO0F0QjBoRkQ7O0FzQnZoRkE7QUFDQTtFQUNDO0F0QjBoRkQ7O0FzQnZoRkE7RUFDQztFQUNBO0F0QjBoRkQ7O0FzQnZoRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBdEIwaEZEOztBc0J2aEZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIwaEZEOztBc0J2aEZBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCeWhGRDs7QXNCdGhGQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJ5aEZEOztBc0J0aEZBO0VBQ0M7QXRCeWhGRDs7QXNCdGhGQTtFQUNDO0VBQ0E7QXRCeWhGRDs7QXNCdGhGQTtFQUNDO0F0QnloRkQ7O0FzQnRoRkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0F0QnloRkQ7O0FzQnRoRkE7RUFDQztBdEJ5aEZEOztBc0J0aEZBO0VBQ0M7QXRCeWhGRDs7QXNCdGhGQTs7aURBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCd2hGRDs7QXNCcmhGQTs7aURBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnVoRkQ7O0FzQnBoRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnVoRkQ7O0FzQnBoRkE7RUFDQztBdEJ1aEZEOztBc0JwaEZBO0VBQ0M7QXRCdWhGRDs7QXNCcGhGQTs7aURBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCc2hGRDs7QXNCbmhGQTtFQUNDO0VBQ0E7QXRCc2hGRDs7QXNCbmhGQTs7aURBQUE7QUFJQTtBQUNBO0VBQ0M7QXRCcWhGRDs7QXNCbGhGQTtFQUNDO0VBQ0E7RUFDQTtBdEJxaEZEOztBc0JsaEZBOztpREFBQTtBQUlBOzs7Ozs7RUFNQztBdEJvaEZEOztBc0JqaEZBO0VBQ0M7RUFDQTtBdEJvaEZEOztBdUIzdkZBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjZ2RkQ7O0F1QjF2RkE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0V2QjZ2RkE7QUFDRjtBdUIxdkZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBdkI0dkZEOztBdUJ6dkZBO0VBQ0M7SUFDQztJQUNBO0V2QjR2RkE7QUFDRjtBdUJ6dkZBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7RXZCMnZGQTtBQUNGO0F1Qnh2RkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjB2RkQ7O0F1QnZ2RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBdkIwdkZEOztBdUJ2dkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIwdkZEOztBdUJ2dkZBO0FBQ0E7RUFDQztFQUNBO0F2QjB2RkQ7O0F1QnZ2RkE7RUFDQztJQUNDO0lBQ0E7SUFDQTtFdkIwdkZBO0FBQ0Y7QXVCdnZGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeXZGRDs7QXVCdHZGQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ5dkZEOztBdUJ0dkZBO0VBQ0M7RUFDQTtFQUNBO0F2Qnl2RkQ7O0FBM3pGQTtBd0I3Q0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTtFQUNDO0F4QjQyRkQ7O0F3QnoyRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEI0MkZEOztBd0J6MkZBO0VBQ0M7QXhCNDJGRDs7QXdCejJGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QjQyRkQ7O0F3QnoyRkE7OztFQUdDO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTs7Ozs7OztFQU9DO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTtFQUNDO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTs7O0VBR0M7RUFDQTtFQUNBO0VBQ0E7QXhCNDJGRDs7QXdCejJGQTs7O0VBR0M7QXhCNDJGRDs7QXdCejJGQTs7O0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEI0MkZEOztBd0J6MkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEI0MkZEOztBd0J6MkZBO0VBQ0M7QXhCNDJGRDs7QXdCejJGQTtFQUNDO0F4QjQyRkQ7O0F3QnoyRkE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4QjQyRkE7RXdCejJGRDtJQUNDO0V4QjIyRkE7RXdCeDJGRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhCMDJGQTtFd0J2MkZEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4QnkyRkE7RXdCdDJGRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0V4QncyRkE7RXdCcjJGRDtJQUNDO0lBQ0E7SUFDQTtFeEJ1MkZBO0V3QnAyRkQ7SUFDQztFeEJzMkZBO0FBQ0Y7QUFqK0ZBO0F5QmhEQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Qm1oR0Q7O0F5QmhoR0E7RUFDQztJQUNDO0V6Qm1oR0E7QUFDRjtBeUJoaEdBO0FBQ0E7RUFDQztFQUNBO0F6QmtoR0Q7O0F5Qi9nR0E7QUFDQTtFQUNDO0F6QmtoR0Q7O0F5Qi9nR0E7QUFDQTtFQUNDO0F6QmtoR0Q7O0F5Qi9nR0E7RUFDQztJQUNDO0V6QmtoR0E7QUFDRjtBeUIvZ0dBO0FBQ0E7RUFDQztBekJpaEdEOztBeUI5Z0dBO0VBQ0M7SUFDQztFekJpaEdBO0FBQ0Y7QXlCOWdHQTtFQUNDO0lBQ0M7RXpCZ2hHQTtBQUNGO0F5QjdnR0E7QUFDQTtFQUNDO0F6QitnR0Q7O0F5QjVnR0E7RUFDQztJQUNDO0V6QitnR0E7QUFDRjtBeUI1Z0dBO0FBQ0E7RUFDQztFQUNBO0F6QjhnR0Q7O0F5QjNnR0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBekI4Z0dEOztBeUIzZ0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QXpCOGdHRDs7QXlCM2dHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QXpCOGdHRDs7QXlCM2dHQTtFQUNDO0VBQ0E7RUFDQTtBekI4Z0dEOztBeUIzZ0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QXpCOGdHRDs7QTBCaG9HQTs7Ozs7Ozs7O0VBQUE7QUFXQTtBQUNBO0VBQ0M7RUFDQTtBMUJrb0dEOztBMEIvbkdBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCa29HRDs7QTBCL25HQTtFQUNDO0ExQmtvR0Q7O0EwQi9uR0E7RUFDQztBMUJrb0dEOztBMEIvbkdBO0FBQ0E7RUFDQztFQUNBO0ExQmtvR0Q7O0EwQi9uR0E7RUFDQztBMUJrb0dEOztBMEIvbkdBO0FBQ0E7RUFDQztFQUNBO0ExQmtvR0Q7O0EwQi9uR0E7OztFQUdDO0ExQmtvR0Q7O0EwQi9uR0E7RUFDQztBMUJrb0dEOztBMEIvbkdBO0VBQ0M7QTFCa29HRDs7QTBCL25HQTtFQUNDO0ExQmtvR0Q7O0EwQi9uR0E7RUFDQztBMUJrb0dEOztBMEIvbkdBO0VBQ0M7QTFCa29HRDs7QTJCL3NHQTs7Ozs7Ozs7O0VBQUE7QUFXQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCaXRHRDs7QTJCOXNHQTtFQUNDO0VBQ0E7RUFDQTtBM0JpdEdEOztBMkI5c0dBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTNCaXRHRDs7QTJCOXNHQTtFQUNDO0lBQ0M7RTNCaXRHQTtBQUNGO0EyQjlzR0E7RUFDQztBM0JndEdEOztBMkI3c0dBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTNCZ3RHRDs7QTJCN3NHQTtFQUNDO0lBQ0M7RTNCZ3RHQTtBQUNGO0EyQjdzR0E7RUFDQztFQUNBO0VBQ0E7QTNCK3NHRDs7QTJCNXNHQTtFQUNDO0VBQ0E7RUFDQTtBM0Irc0dEOztBMkI1c0dBO0VBQ0M7RUFDQTtFQUNBO0EzQitzR0Q7O0EyQjVzR0E7RUFDQztFQUNBO0EzQitzR0Q7O0EyQjVzR0E7QUFDQTtFQUNDO0EzQitzR0Q7O0EyQjVzR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Irc0dEOztBMkI1c0dBO0FBQ0E7RUFDQztFQUNBO0EzQitzR0Q7O0EyQjVzR0E7RUFDQztFQUNBO0EzQitzR0Q7O0E0QnB6R0E7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTVCc3pHRDs7QTRCbnpHQTtBQUNBOztFQUVDO0VBQ0E7RUFDQTtBNUJzekdEOztBNEJuekdBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0E1QnN6R0Q7O0E0Qm56R0E7QUFDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJzekdEOztBNEJuekdBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCc3pHRDs7QTRCbnpHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QnN6R0Q7O0E0Qm56R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBNUJzekdEOztBNEJuekdBO0VBQ0M7RUFDQTtFQUNBO0E1QnN6R0Q7O0E0Qm56R0E7QUFDQTtFQUVDOztJQUVDO0U1QnF6R0E7QUFDRjtBNEJsekdBO0VBRUM7O0lBRUM7RTVCbXpHQTtBQUNGO0E0Qmh6R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBNUJrekdEOztBNEIveUdBO0VBQ0M7SUFDQztJQUNBO0U1Qmt6R0E7QUFDRjtBNEIveUdBO0VBQ0M7SUFDQztFNUJpekdBO0FBQ0Y7QTRCOXlHQTtFQUNDO0lBQ0M7SUFDQTtFNUJnekdBO0U0Qjd5R0Q7SUFDQztFNUIreUdBO0FBQ0Y7QTRCNXlHQTtFQUNDO0lBQ0M7SUFDQTtFNUI4eUdBO0FBQ0Y7QTZCcjdHQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7QUFDQTs7RUFFQztFQUNBO0VBQ0E7QTdCczdHRDs7QTZCbjdHQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCczdHRDs7QTZCbjdHQTtBQUNBO0VBQ0M7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0VBQ0M7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0VBQ0M7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7RUFDQztBN0JzN0dEOztBNkJuN0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QTdCczdHRDs7QTZCbjdHQTtFQUNDO0E3QnM3R0Q7O0E2Qm43R0E7RUFDQztBN0JzN0dEOztBNkJuN0dBO0FBQ0E7RUFDQztBN0JzN0dEOztBNkJuN0dBO0VBQ0M7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0VBQ0M7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7RUFDQztBN0JzN0dEOztBNkJuN0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JzN0dEOztBNkJuN0dBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7O0VBRUM7QTdCczdHRDs7QTZCbjdHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QnM3R0Q7O0E2Qm43R0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCczdHRDs7QTZCbjdHQTtBQUNBO0VBQ0M7QTdCczdHRDs7QTZCbjdHQTtBQUNBO0VBQ0M7SUFDQztFN0JzN0dBO0FBQ0Y7QTZCbjdHQTtFQUNDO0lBQ0M7RTdCcTdHQTtBQUNGO0E2Qmw3R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBN0JvN0dEOztBNkJqN0dBO0VBQ0M7SUFDQztJQUNBO0U3Qm83R0E7QUFDRjtBNkJqN0dBO0VBQ0M7SUFDQztFN0JtN0dBO0FBQ0Y7QTZCaDdHQTtFQUNDO0lBQ0M7RTdCazdHQTtBQUNGO0E2Qi82R0E7RUFDQztJQUNDO0lBQ0E7RTdCaTdHQTtBQUNGO0E2Qjk2R0E7RUFDQztJQUNDO0lBQ0E7RTdCZzdHQTtBQUNGO0E4QnJwSEE7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJzcEhEOztBOEJucEhBO0FBQ0E7O0VBRUM7QTlCc3BIRDs7QThCbnBIQTs7RUFFQztFQUNBO0VBQ0E7QTlCc3BIRDs7QThCbnBIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTlCc3BIRDs7QThCbnBIQTtBQUVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7RUFDQztFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBOUJxcEhEOztBOEJscEhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTlCcXBIRDs7QThCbHBIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7RUFDQztFQUNBO0VBQ0E7QTlCcXBIRDs7QThCbHBIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnFwSEQ7O0E4QmxwSEE7QUFDQTtFQUNDO0E5QnFwSEQ7O0E4QmxwSEE7RUFDQztBOUJxcEhEOztBOEJscEhBO0VBQ0M7QTlCcXBIRDs7QThCbHBIQTtFQUNDO0E5QnFwSEQ7O0E4QmxwSEE7QUFDQTtFQUNDO0E5QnFwSEQ7O0E4QmxwSEE7RUFDQztBOUJxcEhEOztBOEJscEhBO0FBQ0E7RUFDQztJQUNDO0U5QnFwSEE7QUFDRjtBOEJscEhBO0VBQ0M7SUFDQztJQUNBO0U5Qm9wSEE7RThCanBIRDtJQUNDO0U5Qm1wSEE7RThCaHBIRDtJQUNDO0lBQ0E7RTlCa3BIQTtBQUNGO0ErQmp6SEE7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0VBQ0M7RUFDQTtBL0JrekhEOztBK0IveUhBO0FBQ0E7O0VBRUM7QS9Ca3pIRDs7QStCL3lIQTs7RUFFQztFQUNBO0VBQ0E7QS9Ca3pIRDs7QStCL3lIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JrekhEOztBK0IveUhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQmt6SEQ7O0ErQi95SEE7RUFDQztFQUNBO0EvQmt6SEQ7O0ErQi95SEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0EvQmt6SEQ7O0ErQi95SEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBL0JrekhEOztBK0IveUhBO0VBQ0M7RUFDQTtFQUNBO0EvQmt6SEQ7O0ErQi95SEE7RUFDQztBL0JrekhEOztBK0IveUhBO0VBQ0M7QS9Ca3pIRDs7QStCL3lIQTtFQUNDO0VBQ0E7RUFDQTtBL0JrekhEOztBK0IveUhBO0VBQ0M7RUFDQTtFQUNBO0EvQmt6SEQ7O0ErQi95SEE7RUFDQztBL0JrekhEOztBK0IveUhBO0FBQ0E7RUFDQztBL0JrekhEOztBK0IveUhBO0VBQ0M7QS9Ca3pIRDs7QStCL3lIQTtBQUNBO0VBQ0M7QS9Ca3pIRDs7QStCL3lIQTtFQUNDO0EvQmt6SEQ7O0ErQi95SEE7RUFDQztBL0JrekhEOztBQXAzSEE7QWdDekRBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENnN0hEOztBZ0M3NkhBO0VBQ0M7RUFDQTtFQUNBO0FoQ2c3SEQ7O0FnQzc2SEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDZzdIRDs7QWdDNzZIQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBaENnN0hEOztBZ0M3NkhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ2c3SEQ7O0FnQzc2SEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBaENnN0hEOztBZ0M3NkhBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtFaENnN0hBO0FBQ0Y7QWdDNzZIQTtBQUVBO0FBQ0E7O0VBRUM7RUFDQTtBaEM4NkhEOztBZ0MzNkhBO0VBQ0M7SUFDQztFaEM4NkhBO0FBQ0Y7QWdDMzZIQTtBQUNBOztFQUVDO0VBQ0E7QWhDNjZIRDs7QWdDMTZIQTtFQUNDO0lBQ0M7SUFDQTtFaEM2NkhBO0FBQ0Y7QWdDMTZIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWhDNDZIRDs7QWdDejZIQTs7RUFFQztBaEM0NkhEOztBZ0N6NkhBO0FBQ0E7RUFFQzs7SUFFQztJQUNBO0lBQ0E7RWhDMjZIQTtBQUNGO0FnQ3g2SEE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDMDZIQTtFZ0N2NkhEOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0VoQ3k2SEE7RWdDdDZIRDs7SUFFQztFaEN3NkhBO0VnQ3I2SEQ7O0lBRUM7RWhDdTZIQTtBQUNGO0FnQ3A2SEE7QUFDQTtFQUNDO0FoQ3M2SEQ7O0FnQ242SEE7RUFDQztJQUNDO0VoQ3M2SEE7QUFDRjtBZ0NuNkhBO0VBQ0M7SUFDQztFaENxNkhBO0FBQ0Y7QWdDbDZIQTtFQUNDO0FoQ282SEQ7O0FnQ2o2SEE7RUFDQztJQUNDO0VoQ282SEE7QUFDRjtBZ0NqNkhBO0VBQ0M7SUFDQztFaENtNkhBO0FBQ0Y7QUFqaUlBO0FpQzVEQTs7Ozs7RUFBQTtBQU9BO0VBQ0M7QWpDK2xJRDs7QWlDNWxJQTtBQUVBO0FBQ0E7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7QUFDQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7RUFDQTtBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztFQUNBO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0FqQzhsSUQ7O0FpQzNsSUE7RUFDQztBakM4bElEOztBaUMzbElBO0VBQ0M7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWlDM2xJQTtFQUNDO0VBQ0E7QWpDOGxJRDs7QWtDbHFLQTtBQUNBO0VBQ0M7QWxDcXFLRDs7QW1DdnFLQTtBQUNBO0VBQ0M7QW5DMHFLRDs7QW1DdnFLQTtBQUNBO0VBQ0M7QW5DMHFLRDs7QW1DdnFLQTtFQUNDO0FuQzBxS0Q7O0FtQ3ZxS0E7RUFDQztBbkMwcUtEOztBbUN2cUtBO0VBQ0M7QW5DMHFLRDs7QW1DdnFLQTtFQUNDO0FuQzBxS0Q7O0FtQ3ZxS0E7RUFDQztBbkMwcUtEOztBbUN2cUtBO0FBQ0E7RUFDQztFQUNBO0FuQzBxS0Q7O0FtQ3ZxS0E7RUFDQztBbkMwcUtEOztBbUN2cUtBO0FBQ0E7Ozs7OztFQU1DO0FuQzBxS0Q7O0FtQ3ZxS0E7RUFDQztBbkMwcUtEOztBbUN2cUtBOztFQUVDO0FuQzBxS0Q7O0FtQ3ZxS0E7RUFDQztBbkMwcUtEOztBb0N0dUtBO0FBQ0E7RUFDQztFQUNBO0FwQ3l1S0Q7O0FvQ3R1S0E7OztHQUFBO0FBS0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBcEN3dUtEOztBb0NydUtBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7RUFhQztFQUNBO0VBQ0E7RUFDQTtBcEN3dUtEOztBb0NydUtBO0FBQ0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBcEN3dUtEOztBb0NydUtBO0FBQ0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7RUFDQztFQUNBO0FwQ3d1S0Q7O0FvQ3J1S0E7QUFDQTtFQUNDO0lBQ0M7SUFDQTtFcEN3dUtBO0VvQ3J1S0Q7SUFDQztJQUNBO0VwQ3V1S0E7RW9DcHVLRDtJQUNDO0lBQ0E7RXBDc3VLQTtFb0NudUtEO0lBQ0M7SUFDQTtFcENxdUtBO0VvQ2x1S0Q7SUFDQztJQUNBO0VwQ291S0E7RW9DanVLRDtJQUNDO0lBQ0E7RXBDbXVLQTtFb0NodUtEO0lBQ0M7SUFDQTtFcENrdUtBO0VvQy90S0Q7SUFDQztJQUNBO0VwQ2l1S0E7RW9DOXRLRDtJQUNDO0lBQ0E7RXBDZ3VLQTtFb0M3dEtEO0lBQ0M7SUFDQTtFcEMrdEtBO0VvQzV0S0Q7SUFDQztJQUNBO0VwQzh0S0E7RW9DM3RLRDtJQUNDO0lBQ0E7RXBDNnRLQTtBQUNGO0FvQzF0S0E7QUFDQTtFQUNDO0lBQ0M7SUFDQTtFcEM0dEtBO0VvQ3p0S0Q7SUFDQztJQUNBO0VwQzJ0S0E7RW9DeHRLRDtJQUNDO0lBQ0E7RXBDMHRLQTtFb0N2dEtEO0lBQ0M7SUFDQTtFcEN5dEtBO0VvQ3R0S0Q7SUFDQztJQUNBO0VwQ3d0S0E7RW9DcnRLRDtJQUNDO0lBQ0E7RXBDdXRLQTtFb0NwdEtEO0lBQ0M7SUFDQTtFcENzdEtBO0VvQ250S0Q7SUFDQztJQUNBO0VwQ3F0S0E7RW9DbHRLRDtJQUNDO0lBQ0E7RXBDb3RLQTtFb0NqdEtEO0lBQ0M7SUFDQTtFcENtdEtBO0VvQ2h0S0Q7SUFDQztJQUNBO0VwQ2t0S0E7RW9DL3NLRDtJQUNDO0lBQ0E7RXBDaXRLQTtBQUNGO0FvQzlzS0E7QUFDQTtFQUNDO0lBQ0M7SUFDQTtFcENndEtBO0VvQzdzS0Q7SUFDQztJQUNBO0VwQytzS0E7RW9DNXNLRDtJQUNDO0lBQ0E7RXBDOHNLQTtFb0Mzc0tEO0lBQ0M7SUFDQTtFcEM2c0tBO0VvQzFzS0Q7SUFDQztJQUNBO0VwQzRzS0E7RW9DenNLRDtJQUNDO0lBQ0E7RXBDMnNLQTtFb0N4c0tEO0lBQ0M7SUFDQTtFcEMwc0tBO0VvQ3ZzS0Q7SUFDQztJQUNBO0VwQ3lzS0E7RW9DdHNLRDtJQUNDO0lBQ0E7RXBDd3NLQTtFb0Nyc0tEO0lBQ0M7SUFDQTtFcEN1c0tBO0VvQ3BzS0Q7SUFDQztJQUNBO0VwQ3NzS0E7RW9DbnNLRDtJQUNDO0lBQ0E7RXBDcXNLQTtBQUNGO0FvQ2xzS0E7QUFDQTtFQUNDO0lBQ0M7SUFDQTtFcENvc0tBO0VvQ2pzS0Q7SUFDQztJQUNBO0VwQ21zS0E7RW9DaHNLRDtJQUNDO0lBQ0E7RXBDa3NLQTtFb0MvcktEO0lBQ0M7SUFDQTtFcENpc0tBO0VvQzlyS0Q7SUFDQztJQUNBO0VwQ2dzS0E7RW9DN3JLRDtJQUNDO0lBQ0E7RXBDK3JLQTtFb0M1cktEO0lBQ0M7SUFDQTtFcEM4cktBO0VvQzNyS0Q7SUFDQztJQUNBO0VwQzZyS0E7RW9DMXJLRDtJQUNDO0lBQ0E7RXBDNHJLQTtFb0N6cktEO0lBQ0M7SUFDQTtFcEMycktBO0VvQ3hyS0Q7SUFDQztJQUNBO0VwQzByS0E7RW9DdnJLRDtJQUNDO0lBQ0E7RXBDeXJLQTtBQUNGO0FxQ3psTEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBckMybExEOztBcUN4bExBO0VBQ0M7RUFDQTtFQUNBO0FyQzJsTEQ7O0FxQ3hsTEE7RUFDQztFQUNBO0VBQ0E7QXJDMmxMRDs7QXFDeGxMQTtFQUVDOzs7SUFHQztFckMwbExBO0FBQ0Y7QXFDdmxMQTtFQUVDOztJQUVDO0VyQ3dsTEE7QUFDRjtBc0N6bkxBO0FBQ0E7RUFDQztBdEMybkxEOztBc0N4bkxBO0VBQ0M7RUFDQTtBdEMybkxEOztBc0N4bkxBO0VBQ0M7RUFDQTtFQUNBO0F0QzJuTEQ7O0FzQ3huTEE7RUFDQztFQUNBO0VBQ0E7QXRDMm5MRDs7QXNDeG5MQTtFQUNDO0F0QzJuTEQ7O0FzQ3huTEE7QUFDQTtFQUNDO0F0QzJuTEQ7O0FzQ3huTEE7RUFDQztBdEMybkxEOztBc0N4bkxBO0VBQ0M7QXRDMm5MRDs7QXVDL3BMQTs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBa0JBOzs7K0VBQUE7QUFLQTtBQUNBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtFQUNDO0F2Q2dxTEQ7O0F1QzdwTEE7RUFDQztBdkNncUxEOztBdUM3cExBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtFQUNDO0F2Q2dxTEQ7O0F1QzdwTEE7RUFDQztBdkNncUxEOztBdUM3cExBO0FBQ0E7RUFDQztBdkNncUxEOztBdUM3cExBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtFQUNDO0F2Q2dxTEQ7O0F1QzdwTEE7RUFDQztBdkNncUxEOztBdUM3cExBO0FBQ0E7RUFDQztBdkNncUxEOztBdUM3cExBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtBQUNBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtBQUNBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtFQUNDO0F2Q2dxTEQ7O0F1QzdwTEE7RUFDQztBdkNncUxEOztBdUM3cExBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTtFQUNDO0F2Q2dxTEQ7O0F1QzdwTEE7RUFDQztBdkNncUxEOztBdUM3cExBO0VBQ0M7QXZDZ3FMRDs7QXVDN3BMQTs7OytFQUFBO0FBS0E7QUFDQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7RUFDQztBdkMrcExEOztBdUM1cExBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7RUFDQztBdkMrcExEOztBdUM1cExBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtBQUNBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7RUFDQztBdkMrcExEOztBdUM1cExBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtBQUNBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7QUFDQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7QUFDQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7RUFDQztBdkMrcExEOztBdUM1cExBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7RUFDQztBdkMrcExEOztBdUM1cExBO0VBQ0M7QXZDK3BMRDs7QXVDNXBMQTtFQUNDO0F2QytwTEQ7O0F1QzVwTEE7OzsrRUFBQTtBQUtBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTs7OzsrRUFBQTtBQU1BO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzZwTEQ7O0F1QzFwTEE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0F2QzRwTEQ7O0F1Q3pwTEE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkMycExEOztBdUN4cExBOzs7K0VBQUE7QUFLQTtFQUNDO0F2QzBwTEQ7O0F1Q3ZwTEE7RUFDQztBdkMwcExEOztBdUN2cExBO0VBQ0M7QXZDMHBMRDs7QXVDdnBMQTtBQUNBO0VBQ0M7QXZDMHBMRDs7QXVDdnBMQTtFQUNDO0F2QzBwTEQ7O0F1Q3ZwTEE7RUFDQztBdkMwcExEOztBdUN2cExBOzs7K0VBQUE7QUFLQTtFQUNDO0VBQ0E7RUFDQTtBdkN5cExEOztBd0N2K0xBO0FBQ0E7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtBQUNBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQ7O0F3Q3YrTEE7RUFDQztBeEMwK0xEOztBd0N2K0xBO0VBQ0M7QXhDMCtMRDs7QXdDditMQTtFQUNDO0F4QzArTEQsQyIsInNvdXJjZXMiOlsid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdG9rZW5zL2ZvbnRzLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy90b2tlbnMvZnJvbS1maWdtYS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdG9rZW5zL2Zyb20tdGhlbWUuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2Jhc2UvcmVzZXQuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2Jhc2UvdHlwb2dyYXBoeS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvYmFzZS9mb3Jtcy5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvYmFzZS9oci1kaXZpZGVyLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9sYXlvdXRzL2xheW91dC5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvbGF5b3V0cy9jb250YWluZXIuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2xheW91dHMvX3NpdGUtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvbGF5b3V0cy9zaXRlLWZvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvbGF5b3V0cy9jYXJkcy1ncmlkLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtYnV0dG9uLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtY2F0ZWdvcnktdGFnLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtYnJlYWRjcnVtYi5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLXBhZ2luYXRpb24uY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1hY2NvcmRpb24uY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy10YWJzLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtZmVlZGJhY2suY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1iYW5uZXIuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1iYW5uZXItY2FyZC5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLWNhcm91c2VsLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtY2Fyb3VzZWwtdGVzdGltb255LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtbmF2aWdhdGlvbi1zaWRlLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLXZhcmlhbnRzLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtbmV3cy5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLXRlc3RpbW9ueS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLXBlcnNvbi5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy9jYXJkLWV2ZW50LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtZmFjdWx0eS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy9oZXJvLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy91dGlsaXRpZXMvc3BhY2luZy5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL2FsaWdubWVudC5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL2Zsb3cuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3V0aWxpdGllcy9yb3dzLWNvbHMuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3V0aWxpdGllcy9ncmlkLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy91dGlsaXRpZXMvZmxleC5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL2Zyb20tdGhlbWUuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3V0aWxpdGllcy9jb2xvcnMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gTWFpbiBJbmRleFxuICpcbiAqIEFyY2hpdm8gcHJpbmNpcGFsIHF1ZSBpbXBvcnRhIHRvZG9zIGxvcyBlc3RpbG9zIGJhc2UuXG4gKiBJbXBvcnRhIGVzdGUgYXJjaGl2byBwYXJhIHRlbmVyIGVsIHNpc3RlbWEgY29tcGxldG8uXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEZvbnRzIC0gVGlwb2dyYWbDrWFzIFJvYm90byB5IFBvcHBpbnMgKi9cbkBmb3J3YXJkIFwiLi90b2tlbnMvZm9udHMuY3NzXCI7XG5cbi8qIFZhcmlhYmxlcyAtIERlc2lnbiB0b2tlbnMgKi9cbkBmb3J3YXJkIFwiLi90b2tlbnMvZnJvbS1maWdtYS5jc3NcIjtcbkBmb3J3YXJkIFwiLi90b2tlbnMvZnJvbS10aGVtZS5jc3NcIjtcblxuLyogUmVzZXQgLSBOb3JtYWxpemFjacOzbiBkZSBlc3RpbG9zICovXG5AZm9yd2FyZCBcIi4vYmFzZS9yZXNldC5jc3NcIjtcblxuLyogVHlwb2dyYXBoeSAtIEVzdGlsb3MgYsOhc2ljb3MgcGFyYSBlbGVtZW50b3MgSFRNTCAqL1xuQGZvcndhcmQgXCIuL2Jhc2UvdHlwb2dyYXBoeS5jc3NcIjtcbkBmb3J3YXJkIFwiLi9iYXNlL2Zvcm1zLmNzc1wiO1xuQGZvcndhcmQgXCIuL2Jhc2UvaHItZGl2aWRlci5jc3NcIjtcblxuLyogTGF5b3V0IC0gU2lzdGVtYSBkZSBsYXlvdXRzIHkgY29udGFpbmVycyAqL1xuQGZvcndhcmQgXCIuL2xheW91dHMvbGF5b3V0LmNzc1wiO1xuQGZvcndhcmQgXCIuL2xheW91dHMvY29udGFpbmVyLmNzc1wiO1xuQGZvcndhcmQgXCIuL2xheW91dHMvX3NpdGUtaGVhZGVyLnNjc3NcIjtcbkBmb3J3YXJkIFwiLi9sYXlvdXRzL3NpdGUtZm9vdGVyLmNzc1wiO1xuQGZvcndhcmQgXCIuL2xheW91dHMvY2FyZHMtZ3JpZC5jc3NcIjtcblxuLyogQ29tcG9uZW50ZXMgYsOhc2ljb3MgKi9cbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtYnV0dG9uLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1jYXRlZ29yeS10YWcuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWJyZWFkY3J1bWIuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLXBhZ2luYXRpb24uY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWFjY29yZGlvbi5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtdGFicy5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtZmVlZGJhY2suY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWJhbm5lci5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtYmFubmVyLWNhcmQuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWNhcm91c2VsLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1jYXJvdXNlbC10ZXN0aW1vbnkuY3NzXCI7XG5cbi8qIE5hdmlnYXRpb24gU2lkZSAtIE1lbsO6IGRlIGxhdmVnYWNpw7NuIGxhdGVyYWwgKi9cbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtbmF2aWdhdGlvbi1zaWRlLmNzc1wiO1xuXG4vKiBDYXJkcyAtIFNpc3RlbWEgZGUgdGFyamV0YXMgKi9cbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtYmFzZS5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtdmFyaWFudHMuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy9jYXJkLW5ld3MuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy9jYXJkLXRlc3RpbW9ueS5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtcGVyc29uLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvY2FyZC1ldmVudC5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtZmFjdWx0eS5jc3NcIjtcblxuLyogT3Ryb3MgY29tcG9uZW50ZXMgKi9cbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2hlcm8uY3NzXCI7XG5cbi8qIFV0aWxpdGllcyAtIENsYXNlcyB1dGlsaXRhcmlhcyAqL1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9zcGFjaW5nLmNzc1wiO1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9hbGlnbm1lbnQuY3NzXCI7XG5AZm9yd2FyZCBcIi4vdXRpbGl0aWVzL2Zsb3cuY3NzXCI7XG5AZm9yd2FyZCBcIi4vdXRpbGl0aWVzL3Jvd3MtY29scy5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvZ3JpZC5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvZmxleC5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvZnJvbS10aGVtZS5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvY29sb3JzLmNzc1wiOyIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gRm9udHNcbiAqXG4gKiBEZWNsYXJhY2lvbmVzIEBmb250LWZhY2UgcGFyYSBSb2JvdG8geSBQb3BwaW5zLlxuICogVXNhIGZ1ZW50ZXMgbG9jYWxlcyBlbiBmb3JtYXRvIHdvZmYyIGRlbCB0ZW1hLlxuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBSb2JvdG8gLSBWYXJpYWJsZSBGb250ICovXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9yb2JvdG8vUm9ib3RvLVZhcmlhYmxlRm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjItdmFyaWF0aW9ucycpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9yb2JvdG8vUm9ib3RvLUl0YWxpYy1WYXJpYWJsZUZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyLXZhcmlhdGlvbnMnKTtcbn1cblxuLyogUG9wcGlucyAtIFJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9wb3BwaW5zL1BvcHBpbnMtSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG4vKiBQb3BwaW5zIC0gTWVkaXVtICg1MDApICovXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9wb3BwaW5zL1BvcHBpbnMtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9wb3BwaW5zL1BvcHBpbnMtTWVkaXVtSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG4vKiBQb3BwaW5zIC0gU2VtaUJvbGQgKDYwMCkgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1TZW1pQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybCgnLi4vLi4vZm9udHMvcG9wcGlucy9Qb3BwaW5zLVNlbWlCb2xkSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG4vKiBQb3BwaW5zIC0gQm9sZCAoNzAwKSAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybCgnLi4vLi4vZm9udHMvcG9wcGlucy9Qb3BwaW5zLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1Cb2xkSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gVmFyaWFibGVzIChEZXNpZ24gVG9rZW5zKVxuICpcbiAqIFZhcmlhYmxlcyBkZSBkaXNlw7FvIGV4dHJhw61kYXMgZGVzZGUgRmlnbWEuXG4gKiBFc3RlIGFyY2hpdm8gY29udGllbmUgdG9kb3MgbG9zIHRva2VucyBkZWwgc2lzdGVtYSBkZSBkaXNlw7FvLlxuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBHbG9iYWwgY29sb3IgKi9cbjpyb290IHtcblx0LyogQ29sb3IgY29kZSAqL1xuXHQvKiBjb2xvciAqL1xuXHQtLWNvbG9yLWZlZWRiYWNrLWdyZWVuLTIwMDogI2I2ZGVjYjtcblx0LS1jb2xvci1mZWVkYmFjay1ncmVlbi02MDA6ICMyYjk0Njc7XG5cdC0tY29sb3ItZmVlZGJhY2stcmVkLTEwMDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC0xMDApO1xuXHQtLWNvbG9yLWZlZWRiYWNrLXJlZC02MDA6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNjAwKTtcblx0LS1jb2xvci1mZWVkYmFjay15ZWxsb3ctMjAwOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0yMDApO1xuXHQtLWNvbG9yLWZlZWRiYWNrLXllbGxvdy02MDA6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTYwMCk7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwOiAjRjVGNUY1O1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS0xMDA6ICNFNkU2RTY7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMDogI0QxRDFEMTtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktMzAwOiAjQkRCREJEO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS00MDA6ICNBQkFCQUI7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwMDogI0EwQTBBMDtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktNjAwOiAjODA4MDgwO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDA6ICM1RTVFNUU7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMDogIzM4MzgzODtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktOTAwOiAjMUExQTFBO1xuXHQtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMDogI2ZmZmZmZjtcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtNTA6ICNjN2Q1ZWQ7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMDogI2E2YjZkMztcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtMjAwOiAjODU5OGI5O1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS0zMDA6ICM2NDc5OWU7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTQwMDogIzQzNWI4NDtcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwOiAjMjIzYzZhO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS02MDA6ICMxYjMwNTU7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMDogIzE0MjQ0MDtcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtODAwOiAjMGUxODJhO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS05MDA6ICMwNzBjMTU7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTA6ICNGNkY0RUU7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMTAwOiAjRUNERkM1O1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMDogI0U4Q0M5Njtcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDA6ICNFQUI2NTM7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNDAwOiAjRUZBNzFBO1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMDogI0U2OUIwQTtcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy02MDA6ICNCNTdDMEQ7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNzAwOiAjODI1QTBDO1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTgwMDogIzVCNDAwQjtcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy05MDA6ICMzNDI1MEE7XG5cdC0tY29sb3Itc2Vjb25kYXJ5LXJlZC01MDogI0Y1RUZGMDtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTEwMDogI0VDRDVENztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTIwMDogI0UwQURCMztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTMwMDogI0Q2NzY4MDtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTQwMDogI0Q4MzI0Mztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTUwMDogI0QyMTQyODtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTYwMDogIzk5MTUyMztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTcwMDogIzZEMTMxQztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTgwMDogIzQ3MEYxNTtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTkwMDogIzI3MEMwRjtcblx0LS1jb2xvci1wdXJwbGU6ICM1RTY1RDQ7XG5cdC0tY29sb3ItZ3JlZW46ICM0REFDODI7XG5cdC0tY29sb3ItbGlnaHQtYmx1ZTogIzU3OThEQztcblx0LS1jb2xvci1zYWxtb246ICNFMjUyNDE7XG5cdC0tY29sb3ItZGFyay1ibHVlOiAjMTQyNDQwO1xuXHQtLWNvbG9yLW9yYW5nZTogI0VGNzAyRTtcbn1cblxuLyogU3BlY2lmaWMgY29sb3IgKi9cbjpyb290IHtcblx0LyogTW9kZSAxICovXG5cdC8qIGNvbG9yICovXG5cdC0tYmFja2dyb3VuZC1jb2xvci1iZy1hY2NlbnQ6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG5cdC0tY29sb3ItYmFja2dyb3VuZC1hbHQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHQtLWNvbG9yLWJhY2tncm91bmQtb3ZlcmxheTogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCk7XG5cdC0tY29sb3ItYmFja2dyb3VuZC1zdXJmYWNlOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHQtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLWRlZmF1bHQ6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xuXHQtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLWhvdmVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApO1xuXHQtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLXByZXNzOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApO1xuXHQtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJvcmRlci1mb2N1czogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktdGV4dDogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0LS1jb2xvci1pY29uLWRhcms6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHQtLWNvbG9yLWljb24tZGVmYXVsdDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdC0tY29sb3ItaWNvbi1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdC0tY29sb3ItaWNvbi1vbi1wcmltYXJ5OiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHQtLWNvbG9yLWlucHV0LWJnLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcblx0LS1jb2xvci1pbnB1dC1ib3JkZXItZGVmYXVsdDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTQwMCk7XG5cdC0tY29sb3ItaW5wdXQtYm9yZGVyLWVycm9yOiB2YXIoLS1jb2xvci1mZWVkYmFjay1yZWQtNjAwKTtcblx0LS1jb2xvci1pbnB1dC1ib3JkZXItZm9jdXM6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHQtLWNvbG9yLWlucHV0LWJvcmRlci1zdWNjZXNzOiB2YXIoLS1jb2xvci1mZWVkYmFjay1ncmVlbi02MDApO1xuXHQtLWNvbG9yLWlucHV0LWJvcmRlci13YXJuaW5nOiB2YXIoLS1jb2xvci1mZWVkYmFjay15ZWxsb3ctNjAwKTtcblx0LS1jb2xvci1pbnB1dC1oZWxwZXItdGV4dDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdC0tY29sb3ItaW5wdXQtbGFiZWwtdGV4dDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItaW5wdXQtcGxhY2Vob2xkZXI6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MDApO1xuXHQtLWNvbG9yLWlucHV0LXRleHQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHQtLWNvbG9yLWxpbmstZGVmYXVsdDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTQwMCk7XG5cdC0tY29sb3ItbGluay1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdC0tY29sb3ItbGluay1ob3ZlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItbGluay12aXNpdGVkOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0LS1jb2xvci10YWctYmctZGVmYXVsdDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcblx0LS1jb2xvci10YWctYmctZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xuXHQtLWNvbG9yLXRhZy1iZy1ob3ZlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTIwMCk7XG5cdC0tY29sb3ItdGFnLWJnLXByZXNzOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0LS1jb2xvci10YWctYm9yZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0LS1jb2xvci10YWctdGV4dC1kZWZhdWx0OiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHQtLWNvbG9yLXRhZy10ZXh0LWhvdmVyOiB2YXIoLS1jb2xvci10ZXh0LW9uLXByaW1hcnkpO1xuXHQtLWNvbG9yLXRleHQtZGVmYXVsdDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItdGV4dC1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdC0tY29sb3ItdGV4dC1tdXRlZDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdC0tY29sb3ItdGV4dC1vbi1wcmltYXJ5OiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHQtLWNvbG9yLXRleHQtcGxhY2Vob2xkZXI6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xuXHQtLWNvbG9yLWNhdGVnb3J5OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0LS1jb2xvci1jYXRlZ29yeS1jdWx0dXJlOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuXHQtLWNvbG9yLWNhdGVnb3J5LWhlYWx0aC1lbnZpcm9ubWVudDogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHQtLWNvbG9yLWNhdGVnb3J5LXNjaWVuY2UtdGVjaG5vbG9neTogdmFyKC0tY29sb3ItbGlnaHQtYmx1ZSk7XG5cdC0tY29sb3ItY2F0ZWdvcnktaHVtYW5pdGllcy1zb2NpZXR5OiB2YXIoLS1jb2xvci1zYWxtb24pO1xuXHQtLWNvbG9yLWNhdGVnb3J5LXVuaXZlcnNpdHk6IHZhcigtLWNvbG9yLWRhcmstYmx1ZSk7XG5cdC0tY29sb3ItY2F0ZWdvcnktc3BvcnQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdC0tY29sb3ItY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllczogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLyogR2xvYmFsIG51bWJlciAqL1xuOnJvb3Qge1xuXHQvKiBNb2RlIDEgKi9cblx0LyogbnVtYmVyICovXG5cdC0tYnJlYWtwb2ludC1tb2JpbGU6IDIzLjQzNzVyZW07XG5cdC0tYnJlYWtwb2ludC10YWJsZXQ6IDgwcmVtO1xuXHQtLWJyZWFrcG9pbnQtZGVza3RvcDogOTByZW07XG5cdC0tZWxldmF0aW9uLTA6IDByZW07XG5cdC0tZWxldmF0aW9uLTE6IDAuMDYyNXJlbTtcblx0LS1lbGV2YXRpb24tMjogMC4xMjVyZW07XG5cdC0tcmFkaXVzLW5vbmU6IDByZW07XG5cdC0tcmFkaXVzLXhzOiAwLjEyNXJlbTtcblx0LS1yYWRpdXMtczogMC4yNXJlbTtcblx0LS1yYWRpdXMtbTogMC41cmVtO1xuXHQtLXJhZGl1cy1sOiAwLjc1cmVtO1xuXHQtLXJhZGl1cy14bDogMXJlbTtcblx0LS1yYWRpdXMtMnhsOiAxLjVyZW07XG5cdC0tcmFkaXVzLWZ1bGw6IDYyNC45Mzc1cmVtO1xuXHQtLXNwYWNpbmctMDogMHJlbTtcblx0LS1zcGFjaW5nLTQ6IDAuMjVyZW07XG5cdC0tc3BhY2luZy04OiAwLjVyZW07XG5cdC0tc3BhY2luZy0xMjogMC43NXJlbTtcblx0LS1zcGFjaW5nLTE2OiAxcmVtO1xuXHQtLXNwYWNpbmctMjA6IDEuMjVyZW07XG5cdC0tc3BhY2luZy0yNDogMS41cmVtO1xuXHQtLXNwYWNpbmctMjg6IDEuNzVyZW07XG5cdC0tc3BhY2luZy0zMjogMnJlbTtcblx0LS1zcGFjaW5nLTM2OiAyLjI1cmVtO1xuXHQtLXNwYWNpbmctNDA6IDIuNXJlbTtcblx0LS1zcGFjaW5nLTQ0OiAyLjc1cmVtO1xuXHQtLXNwYWNpbmctNDg6IDNyZW07XG5cdC0tc3BhY2luZy02MDogMy43NXJlbTtcblx0LS1zcGFjaW5nLTY0OiA0cmVtO1xuXHQtLXNwYWNpbmctODA6IDVyZW07XG5cdC0tc3BhY2luZy0xMDA6IDYuMjVyZW07XG5cdC0tc3BhY2luZy0xNjA6IDEwcmVtO1xuXHQtLXotaW5kZXgtMDogMHJlbTtcblx0LS16LWluZGV4LTEwOiAwLjYyNXJlbTtcblx0LS16LWluZGV4LTUwOiAzLjEyNXJlbTtcblx0LS16LWluZGV4LTEwMDogNi4yNXJlbTtcblx0LS16LWluZGV4LTEwMDA6IDYyLjVyZW07XG59XG5cbi8qIFNwZWNpZmljIG51bWJlciAqL1xuOnJvb3Qge1xuXHQvKiBjbGFtcCBjYWxjdWxhdGlvbiAqL1xuXHQtLWJ1dHRvbi1wYWRkaW5nLWlubGluZTogY2xhbXAoMC41cmVtLCAwLjE0NzlyZW0gKyAxLjUwMjN2dywgMS41cmVtKTtcblx0Lyo4LTI0Ki9cblx0LS1idXR0b24tcGFkZGluZy1ibG9jazogY2xhbXAoMC4yNXJlbSwgMC4wNzM5cmVtICsgMC43NTEydncsIDAuNzVyZW0pO1xuXHQvKjQtMTIqL1xuXHQtLWJ1dHRvbi1yb3VuZGVkLXBhZGRpbmctaW5saW5lOiBjbGFtcCgwLjc1cmVtLCAwLjQ4NTlyZW0gKyAxLjEyNjh2dywgMS41cmVtKTtcblx0LyoxMi0yNCovXG5cdC0tYnV0dG9uLXBhZGRpbmctYmxvY2stbTogdmFyKC0tc3BhY2luZy00KTtcblx0Lyo0LTQqL1xuXHQtLWJ1dHRvbi1nYXA6IGNsYW1wKDAuMjVyZW0sIDAuMTYycmVtICsgMC4zNzU2dncsIDAuNXJlbSk7XG5cdC8qNC04Ki9cblx0LS1idXR0b24tdGV4dC1nYXA6IGNsYW1wKDAuNzVyZW0sIDAuNjYycmVtICsgMC4zNzU2dncsIDFyZW0pO1xuXHQvKjEyLTE2Ki9cblx0LS1jYXJkLXBhZGRpbmc6IGNsYW1wKDFyZW0sIDAuODIzOXJlbSArIDAuNzUxMnZ3LCAxLjVyZW0pO1xuXHQvKjE2LTI0Ki9cblx0LS1zcGFjaW5nLWNvbXBvbmVudC1nYXA6IGNsYW1wKDAuNzVyZW0sIDAuNDg1OXJlbSArIDEuMTI2OHZ3LCAxLjVyZW0pO1xuXHQvKjEyLTI0Ki9cblx0LS1zcGFjaW5nLXNlY3Rpb24tYmxvY2s6IGNsYW1wKDIuNXJlbSwgMS42MTk3cmVtICsgMy43NTU5dncsIDVyZW0pO1xuXHQvKjQwLTgwKi9cblx0LS1zcGFjaW5nLXNlY3Rpb24taW5saW5lOiBjbGFtcCgwLjc1cmVtLCAtMC43NDY1cmVtICsgNi4zODV2dywgNXJlbSk7XG5cdC8qNDAtODAqL1xuXHQvKiBNb2JpbGUgKi9cblx0LyogbnVtYmVyICovXG5cdC0tYnV0dG9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7XG5cdC0tY2FyZC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0LS1mb3Jtcy1pbnB1dC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0LS1mb3Jtcy1pbnB1dC1oZWlnaHQ6IHZhcigtLXNwYWNpbmctNDApO1xuXHQtLWljb24tc2l6ZS1tZWRpdW06IHZhcigtLXNwYWNpbmctMjQpO1xuXHQtLWljb24tc2l6ZS1zbWFsbDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdC0taWNvbi1zaXplLWxhcmdlOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0LS1sYXlvdXQtZ3JpZC1jb2x1bW5zOiAwLjEyNXJlbTtcblx0LS1sYXlvdXQtZ3JpZC1ndXR0ZXI6IHZhcigtLXNwYWNpbmctMTIpO1xuXHQtLWxheW91dC1ncmlkLW1hcmdpbjogdmFyKC0tc3BhY2luZy0xMik7XG5cdC0tbGF5b3V0LW1heC13aWR0aDogMjMuNDM3NXJlbTtcblx0LS1tb2RhbC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0LS1yYWRpdXMtY2FyZDogdmFyKC0tcmFkaXVzLW5vbmUpO1xuXHQtLXJhZGl1cy1idXR0b24tbTogdmFyKC0tcmFkaXVzLXMpO1xuXHQtLXJhZGl1cy1idXR0b24tczogdmFyKC0tcmFkaXVzLXMpO1xuXHQtLXJhZGl1cy1pbnB1dDogdmFyKC0tcmFkaXVzLXMpO1xuXHQtLXJhZGl1cy10YWc6IHZhcigtLXJhZGl1cy1zKTtcblx0LS1yYWRpdXMtYnV0dG9uLWw6IHZhcigtLXJhZGl1cy1tKTtcblx0LS1yYWRpdXMtaWNvbi1idXR0b246IHZhcigtLXJhZGl1cy1mdWxsKTtcblx0LS1zcGFjaW5nLWNvbXBvbmVudC1nYXA6IHZhcigtLXNwYWNpbmctOCk7XG5cdC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHQtLXRhZy1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHQtLXRvYXN0LXNwYWNpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHQtLXRvb2x0aXAtc3BhY2luZzogdmFyKC0tc3BhY2luZy04KTtcblx0LS16LWluZGV4LWJhc2U6IHZhcigtLXotaW5kZXgtMCk7XG5cdC0tei1pbmRleC1kcm9wZG93bjogdmFyKC0tei1pbmRleC0xMCk7XG5cdC0tei1pbmRleC1zdGlja3k6IHZhcigtLXotaW5kZXgtNTApO1xuXHQtLXotaW5kZXgtbW9kYWw6IHZhcigtLXotaW5kZXgtMTAwKTtcblx0LS16LWluZGV4LXRvYXN0OiB2YXIoLS16LWluZGV4LTEwMDApO1xuXG5cdC8qIFRhYmxldCAqL1xuXHQvKiBudW1iZXIgKi9cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc2cHgpIHtcblx0XHQtLWJ1dHRvbi1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHQtLWNhcmQtcGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1mb3Jtcy1pbnB1dC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHQtLWZvcm1zLWlucHV0LWhlaWdodDogdmFyKC0tc3BhY2luZy00OCk7XG5cdFx0LS1pY29uLXNpemUtbWVkaXVtOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWljb24tc2l6ZS1zbWFsbDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1pY29uLXNpemUtbGFyZ2U6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRcdC0tbGF5b3V0LWdyaWQtY29sdW1uczogMC4zNzVyZW07XG5cdFx0LS1sYXlvdXQtZ3JpZC1ndXR0ZXI6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdC0tbGF5b3V0LWdyaWQtbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHQtLWxheW91dC1tYXgtd2lkdGg6IDY3LjVyZW07XG5cdFx0LS1tb2RhbC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLXJhZGl1cy1jYXJkOiB2YXIoLS1yYWRpdXMtbm9uZSk7XG5cdFx0LS1yYWRpdXMtYnV0dG9uLW06IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy1idXR0b24tczogdmFyKC0tcmFkaXVzLXMpO1xuXHRcdC0tcmFkaXVzLWlucHV0OiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtdGFnOiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtYnV0dG9uLWw6IHZhcigtLXJhZGl1cy1tKTtcblx0XHQtLXJhZGl1cy1pY29uLWJ1dHRvbjogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuXHRcdC0tc3BhY2luZy1jb21wb25lbnQtZ2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHQtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdC0tdGFnLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdC0tdG9hc3Qtc3BhY2luZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS10b29sdGlwLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctOCk7XG5cdFx0LS16LWluZGV4LWJhc2U6IHZhcigtLXotaW5kZXgtMCk7XG5cdFx0LS16LWluZGV4LWRyb3Bkb3duOiB2YXIoLS16LWluZGV4LTEwKTtcblx0XHQtLXotaW5kZXgtc3RpY2t5OiB2YXIoLS16LWluZGV4LTUwKTtcblx0XHQtLXotaW5kZXgtbW9kYWw6IHZhcigtLXotaW5kZXgtMTAwKTtcblx0XHQtLXotaW5kZXgtdG9hc3Q6IHZhcigtLXotaW5kZXgtMTAwMCk7XG5cdH1cblxuXHQvKiBEZXNrdG9wICovXG5cdC8qIG51bWJlciAqL1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcblx0XHQtLWJ1dHRvbi1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHQtLWNhcmQtcGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1mb3Jtcy1pbnB1dC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHQtLWZvcm1zLWlucHV0LWhlaWdodDogdmFyKC0tc3BhY2luZy00OCk7XG5cdFx0LS1pY29uLXNpemUtbWVkaXVtOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWljb24tc2l6ZS1zbWFsbDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1pY29uLXNpemUtbGFyZ2U6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRcdC0tbGF5b3V0LWdyaWQtY29sdW1uczogMC43NXJlbTtcblx0XHQtLWxheW91dC1ncmlkLWd1dHRlcjogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0LS1sYXlvdXQtZ3JpZC1tYXJnaW46IHZhcigtLXNwYWNpbmctODApO1xuXHRcdC0tbGF5b3V0LW1heC13aWR0aDogODByZW07XG5cdFx0LS1tb2RhbC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0XHQtLXJhZGl1cy1jYXJkOiB2YXIoLS1yYWRpdXMtbm9uZSk7XG5cdFx0LS1yYWRpdXMtYnV0dG9uLW06IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy1idXR0b24tczogdmFyKC0tcmFkaXVzLXMpO1xuXHRcdC0tcmFkaXVzLWlucHV0OiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtdGFnOiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtYnV0dG9uLWw6IHZhcigtLXJhZGl1cy1tKTtcblx0XHQtLXJhZGl1cy1pY29uLWJ1dHRvbjogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuXHRcdC0tc3BhY2luZy1jb21wb25lbnQtZ2FwOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHQtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRcdC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctODApO1xuXHRcdC0tdGFnLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdC0tdG9hc3Qtc3BhY2luZzogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0LS10b29sdGlwLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctOCk7XG5cdFx0LS16LWluZGV4LWJhc2U6IHZhcigtLXotaW5kZXgtMCk7XG5cdFx0LS16LWluZGV4LWRyb3Bkb3duOiB2YXIoLS16LWluZGV4LTEwKTtcblx0XHQtLXotaW5kZXgtc3RpY2t5OiB2YXIoLS16LWluZGV4LTUwKTtcblx0XHQtLXotaW5kZXgtbW9kYWw6IHZhcigtLXotaW5kZXgtMTAwKTtcblx0XHQtLXotaW5kZXgtdG9hc3Q6IHZhcigtLXotaW5kZXgtMTAwMCk7XG5cdH1cbn1cblxuLyogRXh0cmFzICovXG46cm9vdCB7XG5cdC0tdHJhbnNpdGlvbi0xNTogYWxsIC4xNXMgZWFzZS1pbi1vdXQ7XG5cdC0tc2hhZG93LXRpdGxlLWw6IDAgMCA2MHB4IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdC0tc2hhZG93LXRpdGxlOiAwIDAgMzBweCB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHQtLXNoYWRvdy10aXRsZS1zOiAwIDAgMTBweCB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufSIsIi8qIFR5cG9ncmFwaHkgLSBGb250IFNpemVzICovXG46cm9vdCB7XG5cdC8qIEZsdWlkIHR5cG9ncmFwaHkgdXNhbmRvIGNsYW1wKCkgZGVzZGUgdGhlbWUuanNvbiAqL1xuXHQtLWZvbnQtc2l6ZS1oZXJvOiBjbGFtcCgyLjVyZW0sIDEuNXJlbSArIDN2dywgNC4zNzVyZW0pO1xuXHQtLWZvbnQtc2l6ZS00eGw6IGNsYW1wKDJyZW0sIDEuNXJlbSArIDEuNXZ3LCAzcmVtKTtcblx0LS1mb250LXNpemUtM3hsOiBjbGFtcCgxLjc1cmVtLCAxLjI1cmVtICsgMS4yNXZ3LCAyLjVyZW0pO1xuXHQtLWZvbnQtc2l6ZS0yeGw6IGNsYW1wKDEuNXJlbSwgMXJlbSArIDF2dywgMnJlbSk7XG5cdC0tZm9udC1zaXplLXhsOiBjbGFtcCgxLjI1cmVtLCAxcmVtICsgMC41dncsIDEuNXJlbSk7XG5cdC0tZm9udC1zaXplLWw6IGNsYW1wKDEuMTI1cmVtLCAxcmVtICsgMC4yNXZ3LCAxLjI1cmVtKTtcblx0LS1mb250LXNpemUtYmFzZTogY2xhbXAoMXJlbSwgMC44NzVyZW0gKyAwLjI1dncsIDEuMTI1cmVtKTtcblx0LS1mb250LXNpemUtbTogY2xhbXAoMXJlbSwgMC44NzVyZW0gKyAwdncsIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS1zOiBjbGFtcCgwLjg3NXJlbSwgMC43NXJlbSArIDB2dywgMC44NzVyZW0pO1xuXHQtLWZvbnQtc2l6ZS14czogY2xhbXAoMC43NXJlbSwgMC43NXJlbSArIDB2dywgMC43NXJlbSk7XG5cblx0LyogRm9udCBmYW1pbGllcyAqL1xuXHQtLWZvbnQtZmFtaWx5LXBvcHBpbnM6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcblx0LS1mb250LWZhbWlseS1yb2JvdG86ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuXHQtLWZvbnQtZmFtaWx5LWhlYWRpbmc6IHZhcigtLWZvbnQtZmFtaWx5LXBvcHBpbnMpO1xuXHQtLWZvbnQtZmFtaWx5LWJvZHk6IHZhcigtLWZvbnQtZmFtaWx5LXJvYm90byk7XG5cblx0LyogRm9udCB3ZWlnaHRzICovXG5cdC0tZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuXHQtLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuXHQtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG5cdC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuXG5cdC8qIExpbmUgaGVpZ2h0cyAqL1xuXHQtLWxpbmUtaGVpZ2h0LXRpZ2h0OiAxLjI7XG5cdC0tbGluZS1oZWlnaHQtbm9ybWFsOiAxLjU7XG5cdC0tbGluZS1oZWlnaHQtcmVsYXhlZDogMS43NTtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIFJlc2V0XG4gKlxuICogUmVzZXQgQ1NTIGLDoXNpY28gcGFyYSBub3JtYWxpemFyIGVzdGlsb3MgZW50cmUgbmF2ZWdhZG9yZXMuXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEJveCBzaXppbmcgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlc2V0IG1hcmdpbnMgJiBwYWRkaW5ncyAqL1xuKiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLyogSFRNTCAmIEJvZHkgKi9cbmh0bWwsXG5ib2R5IHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmh0bWwge1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cdC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0dGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuYm9keSB7XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8qIE1lZGlhIGVsZW1lbnRzICovXG5pbWcsXG5waWN0dXJlLFxudmlkZW8sXG5jYW52YXMsXG5zdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIEZvcm0gZWxlbWVudHMgKi9cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRmb250OiBpbmhlcml0O1xufVxuXG5idXR0b24ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLyogVHlwb2dyYXBoeSAqL1xucCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbmEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBMaXN0cyAqL1xudWwsXG5vbCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIFRhYmxlcyAqL1xudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcblx0YXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBpbnB1dCBzdHlsZXMgKi9cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHNlYXJjaCBpbnB1dCBjYW5jZWwgYnV0dG9uIChXZWJraXQpICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogUmVtb3ZlIHNwaW5uZXIgKG51bWJlciBpbnB1dCkgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgLSBSZWR1Y2VkIG1vdGlvbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblxuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcblx0XHRzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gVHlwb2dyYXBoeVxuICpcbiAqIEVzdGlsb3MgYmFzZSBkZSB0aXBvZ3JhZsOtYSBhcGxpY2Fkb3MgYSBlbGVtZW50b3MgSFRNTC5cbiAqIEVzdGFibGVjZSBsYSBqZXJhcnF1w61hIHRpcG9ncsOhZmljYSB5IGVzdGlsb3MgZGUgdGV4dG8uXG4gKlxuICogQHBhY2thZ2UgQHVkZWMvc3R5bGUtbGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBCb2R5ICovXG5ib2R5IHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi8qIEhlYWRpbmdzICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG5oMSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTR4bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbmgyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yMCk7XG59XG5cbmgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuaDQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbmg1IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG5oNiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmxpIHtcblx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLyogUMOhcnJhZm8gZGVzdGFjYWRvbyAqL1xucC5mZWF0dXJlZCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG59XG5cbi8qIExpbmtzICovXG5hIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpbmstZGVmYXVsdCk7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG5hOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYTpmb2N1cyB7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1saW5rLWRlZmF1bHQpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5hOnZpc2l0ZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay12aXNpdGVkKTtcbn1cblxuLm1haW4gYVtocmVmXTpub3QoOndoZXJlKC51ZGVjLWJ1dHRvbiwgW2hyZWZePVwiI1wiXSwgW2hyZWZePVwiamF2YXNjcmlwdDpcIiBpXSwgW2hyZWZePVwiL1wiXTpub3QoW2hyZWZePVwiLy9cIl0pLCBbaHJlZio9XCIvL3VkZWMuY2xcIl0sIFtocmVmKj1cIi8vdWRlYy5sb2NhbGhvc3RcIl0sIFtocmVmKj1cIi8vdWRlYy5ibG9vbS11eC5jb21cIl0sIFtocmVmXj1cIm1haWx0bzpcIl0sIFtocmVmXj1cInRlbDpcIl0pKTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOiBpbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjMyJTIyJTIwaGVpZ2h0JTNEJTIyMzIlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMiUyMDMyJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUuMzMzMzclMjAyNi42NjY3VjUuMzMzMzNIMTQuOTc0NFY2LjY2NjY3SDYuNjY2NzFWMjUuMzMzM0gyNS4zMzM0VjE3LjAyNTdIMjYuNjY2N1YyNi42NjY3SDUuMzMzMzdaTTEyLjk4NDclMjAxOS45NTlMMTIuMDQxJTIwMTkuMDE1M0wyNC4zODk3JTIwNi42NjY2N0gxOC42NjY3VjUuMzMzMzNIMjYuNjY2N1YxMy4zMzMzSDI1LjMzMzRWNy42MTAzM0wxMi45ODQ3JTIwMTkuOTU5WiUyMiUyMGZpbGwlM0QlMjIlMjMyMjNDNkElMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgY29udHJhc3QoMTApIGludmVydCgxKVxufVxuXG4vKiBUeXBvZ3JhcGh5ICovXG5zdHJvbmcsXG5iIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG5lbSxcbmkge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG59XG5cbm1hcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0yMDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0cGFkZGluZy1pbmxpbmU6IHZhcigtLXNwYWNpbmctNCk7XG59XG5cbmNvZGUsXG5rYmQsXG5zYW1wLFxucHJlIHtcblx0Zm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIENvdXJpZXIsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuY29kZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3VyZmFjZSk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xufVxuXG5wcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1cmZhY2UpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5wcmUgY29kZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBMaXN0cyAtIEVzdGlsb3MgcHJlZGV0ZXJtaW5hZG9zIGJhc2Fkb3MgZW4gd3AtYmxvY2stbGlzdCAqL1xub2wge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG59XG5cbm9sIGxpIHtcblx0cGFkZGluZy1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG5vbCBsaTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxub2wgbGk6Om1hcmtlciB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxub2wgb2wge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLyogRGVmYXVsdCBsaXN0cyBvbmx5IC0gYnVsbGV0cyB2aXNpYmxlIG9ubHkgaW4gY29udGVudCBsaXN0cyAqL1xuLm1haW4gdWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0bGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMScgdmlld0JveD0nMCAwIDEwIDExJyBmaWxsPSdub25lJyUzRSUzQ3JlY3Qgd2lkdGg9JzEwJyBoZWlnaHQ9JzEwJyBmaWxsPSclMjMyMjNDNkEnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbi5tYWluIHVsIGxpIHtcblx0cGFkZGluZy1sZWZ0OiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4ubWFpbiB1bCBsaTpsYXN0LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1haW4gdWwgbGk6Om1hcmtlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLm1haW4gdWwgdWwge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLyogUmVzZXQgbGlzdCBzdHlsZXMgZm9yIG5vbi1jb250ZW50IGxpc3RzICovXG51bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogSW1hZ2VzICovXG5maWd1cmUge1xuXHRtYXJnaW46IDA7XG59XG5cbmZpZ2NhcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpO1xufVxuXG4vKiBUYWJsZXMgKi9cbnRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbnRoIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGgsXG50ZCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdXJmYWNlKTtcbn1cblxuLyogQmxvY2txdW90ZSAqL1xuYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0zMikgMDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1yZWxheGVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBIaWRkZW4gKi9cbltoaWRkZW5dIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRib3JkZXItd2lkdGg6IDA7XG59XG5cbi8qIEZvY3VzIHZpc2libGUgKi9cbjpmb2N1cy12aXNpYmxlIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBTZWxlY3Rpb24gKi9cbjo6c2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBGb3Jtc1xuICpcbiAqIFNpc3RlbWEgZGUgZm9ybXVsYXJpb3MgY29uIG5vbWVuY2xhdHVyYSBCRU0uXG4gKiBJbmNsdXllIGlucHV0cywgdGV4dGFyZWFzLCBzZWxlY3RzLCBsYWJlbHMgeSBlc3RhZG9zIGRlIHZhbGlkYWNpw7NuLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBGb3JtIEdyb3VwIC0gQ29udGVuZWRvciBkZSBjYW1wbyAqL1xuLmZvcm0tZ3JvdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLyogRm9ybSBMYWJlbCAqL1xuLmZvcm0tbGFiZWwge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1sYWJlbC10ZXh0KTtcbn1cblxuLmZvcm0tbGFiZWwgLnJlcXVpcmVkIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi8qIEZvcm0gQ29udHJvbCAtIElucHV0IGJhc2UgKi9cbi5mb3JtLWNvbnRyb2wge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLWRlZmF1bHQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtdGV4dCk7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtcGxhY2Vob2xkZXIpO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZm9jdXMpO1xufVxuXG4uZm9ybS1jb250cm9sOmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYmctZGlzYWJsZWQpO1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi8qIEVzdGFkb3MgZGUgdmFsaWRhY2nDs24gKi9cbi5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93bik6aW52YWxpZDpub3QoOmZvY3VzKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXJlZC0xMDApO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1lcnJvcik7XG59XG5cbi8qIE1vZGlmaWNhZG9yZXMgZGUgZXN0YWRvIHBhcmEgZm9ybS1jb250cm9sICovXG4uZm9ybS1jb250cm9sLS1lcnJvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXJlZC0xMDApO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1lcnJvcik7XG59XG5cbi5mb3JtLWNvbnRyb2wtLXN1Y2Nlc3Mge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1zdWNjZXNzKTtcbn1cblxuLmZvcm0tY29udHJvbC0td2FybmluZyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLXdhcm5pbmcpO1xufVxuXG4vKiBUZXh0YXJlYSAqL1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdG1pbi1oZWlnaHQ6IDkwcHg7XG5cdHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qIFNlbGVjdCAqL1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J004LjE5MTQxIDkuNjkyMjVMMTEuOTk5MiAxMy41TDE1LjgwNjkgOS42OTIyNUg4LjE5MTQxWicgZmlsbD0nJTIzMDcwQzE1Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG5cdHBhZGRpbmctcmlnaHQ6IDNyZW07XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wgb3B0aW9uIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wgb3B0aW9uW3ZhbHVlPVwiXCJdIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBIZWxwZXIgVGV4dCAqL1xuLmZvcm0taGVscGVyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1oZWxwZXItdGV4dCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7XG59XG5cbi5mb3JtLWhlbHBlci0tZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLWVycm9yKTtcbn1cblxuLmZvcm0taGVscGVyLS1zdWNjZXNzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1zdWNjZXNzKTtcbn1cblxuLyogRm9ybSBTdWJtaXQgQnV0dG9uICovXG4uZm9ybS1zdWJtaXQge1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy0yNCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktdGV4dCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLWRlZmF1bHQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtLXN1Ym1pdDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLWhvdmVyKTtcbn1cblxuLmZvcm0tc3VibWl0OmRpc2FibGVkIHtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktdGV4dCk7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLyogQ2hlY2tib3ggeSBSYWRpbyAqL1xuLmZvcm0tY2hlY2sge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctOCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4uZm9ybS1jaGVja19faW5wdXQge1xuXHR3aWR0aDogMS4yNXJlbTtcblx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZGVmYXVsdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5mb3JtLWNoZWNrX19pbnB1dDpjaGVja2VkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi5mb3JtLWNoZWNrX19pbnB1dDpmb2N1cyB7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZm9jdXMpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uZm9ybS1jaGVja19faW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuXG4uZm9ybS1jaGVja19fbGFiZWwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogRm9ybSBlc3BlY8OtZmljbyBkZSBjb250YWN0byAqL1xuLmZvcm0tLWNvbnRhY3Qge1xuXHRtYXgtd2lkdGg6IDM3LjVyZW07XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5mb3JtLWNvbnRyb2wge1xuXHRcdG1pbi13aWR0aDogMjEwcHg7XG5cdH1cblxuXHQuZm9ybS1zdWJtaXQge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG59IiwiLyogSG9yaXpvbnRhbCBydWxlICovXG5ociB7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMzIpIDA7XG59XG5cbi5oci0tdGl0bGUsXG4uaHItLW5hcnJvdyB7XG5cdGJvcmRlci10b3Atd2lkdGg6IDVweDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcblx0d2lkdGg6IDUwcHg7XG59XG5cbi5oci0tZGFzaCB7XG5cdGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG59XG5cbi5oci0tYnJ1c2gge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdC8qIERlZ3JhZGFkbyBtw6FzIGNvbXBsZWpvICovXG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdC8qIFJlY29ydGEgZWwgZGVncmFkYWRvIHNvbG8gYWwgcGFkZGluZyAqL1xuXHQvKiBTaSBxdWllcmVzIHF1ZSBlbCBkZWdyYWRhZG8gY3VicmEgdG9kbyBlbCBib3JkZSBzdXBlcmlvciAqL1xuXHRib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCksIHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCksIHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCksIHRyYW5zcGFyZW50KSAxO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gTGF5b3V0XG4gKlxuICogU2lzdGVtYSBkZSBsYXlvdXQ6IGNvbnRhaW5lcnMsIGdyaWRzIHkgdXRpbGlkYWRlcyBkZSBhbGluZWFjacOzbi5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuXG4vKiBTZWN0aW9ucyAqL1xuLnNlY3Rpb24ge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmcpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmcpO1xufVxuXG4vKiBNYWluIGNvbnRlbnQgKi9cbi5tYWluIHtcblx0bWluLWhlaWdodDogNTB2aDtcbn1cblxuLyogQW5jaG8gbcOheGltbyBlbiBlbGVtZW50b3MgZGVudHJvIGRlIGVudHJ5LWNvbnRlbnQgKi9cblxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+aDEsXG4ubWFpbiAuZW50cnktY29udGVudD5oMixcbi5tYWluIC5lbnRyeS1jb250ZW50PmgzLFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+aDQsXG4ubWFpbiAuZW50cnktY29udGVudD5oNSxcbi5tYWluIC5lbnRyeS1jb250ZW50Pmg2LFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+cCxcbi5tYWluIC5lbnRyeS1jb250ZW50PnVsLFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+b2wsXG4ubWFpbiAuZW50cnktY29udGVudD5ibG9ja3F1b3RlIHtcblx0bWF4LXdpZHRoOiA0My43NXJlbTtcbn0iLCIvKiBDb250YWluZXJzICovXG4uY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXgtd2lkdGg6IDEyODBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00NCk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00NCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02MCk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy02MCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04MCk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04MCk7XG5cdH1cbn1cblxuLyogQWxpZ25tZW50IChXb3JkUHJlc3MgY29tcGF0aWJsZSkgKi9cbi5hbGlnbndpZGUge1xuXHRtYXgtd2lkdGg6IDE0NDBweDtcblx0d2lkdGg6IDk4dnc7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDQ5dncpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNDl2dyk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0ODBweCkge1xuXHQuYWxpZ253aWRlIHtcblx0XHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3ICsgY2FsYygoMTAwdncgLSAxNDQwcHgpIC8gMikpO1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3ICsgY2FsYygoMTAwdncgLSAxNDQwcHgpIC8gMikpO1xuXHR9XG59XG5cbi5hbGlnbmZ1bGwge1xuXHR3aWR0aDogMTAwdnc7XG5cdG1heC13aWR0aDogMTAwdnc7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG59XG5cbi5hbGlnbmNlbnRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gU2l0ZSBIZWFkZXJcbiAqXG4gKiBDYWJlY2VyYSBwcmluY2lwYWwgZGVsIHNpdGlvIGJhc2FkYSBlbiBlbCBkaXNlw7FvIGV4aXN0ZW50ZSBkZWwgdGVtYS5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3MsIHJlc2V0LmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uc2l0ZS1oZWFkZXIge1xuXHRjb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdH1cblxuXHQ+LmNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XCJsb2dvLW1vYmlsZSB0b2dnbGVyLW1vYmlsZS1uYXZcIlxuXHRcdFx0XCJuYXZiYXIgbmF2YmFyXCJcblx0XHRcdFwidG9wYmFyIHRvcGJhclwiXG5cdFx0XHRcImxhbmd1YWdlLXNlYXJjaCBsYW5ndWFnZS1zZWFyY2hcIjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1hcmVhczpcblx0XHRcdFx0XCJ0b3BiYXIgbGFuZ3VhZ2Utc2VhcmNoXCJcblx0XHRcdFx0XCJuYXZiYXIgbmF2YmFyXCI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdC5tZW51IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblxuXHRhIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQmX19sb2dvLW1vYmlsZSB7XG5cdFx0Z3JpZC1hcmVhOiBsb2dvLW1vYmlsZTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiA3LjhyZW07XG5cblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdG9nZ2xlci1tb2JpbGUtbmF2IHtcblx0XHRncmlkLWFyZWE6IHRvZ2dsZXItbW9iaWxlLW5hdjtcblx0XHRqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcblx0XHR9XG5cblx0XHQuYmFyMSB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiA2cHggNnB4XG5cdFx0fVxuXG5cdFx0LmJhcjIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogNnB4XG5cdFx0fVxuXG5cdFx0LmJhcjMge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNnB4IC02cHhcblx0XHR9XG5cdH1cblxuXHQmX190b3BiYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Z3JpZC1hcmVhOiB0b3BiYXI7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0fVxuXG5cdFx0Lm1lbnUge1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHQrbGkge1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdFx0XHR9XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0XHRsaTpsYXN0LWNoaWxkIGEge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19sYW5ndWFnZS1zZWFyY2gge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRncmlkLWFyZWE6IGxhbmd1YWdlLXNlYXJjaDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogdW5zZXQ7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRcdH1cblxuXHRcdC5zZWFyY2gtZm9ybSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHdpZHRoOiA1MHJlbTtcblx0XHRcdGhlaWdodDogMHB4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHQuc2VhcmNoLWZvcm1fX2NvbnRhaW5lciB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdFx0LnNlYXJjaC1maWVsZCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgY2FsYyh2YXIoLS1zcGFjaW5nLTEyKSArIHZhcigtLXNwYWNpbmctMjQpICsgMjRweCkgdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXBvcHBpbnMpO1xuXHRcdFx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMzAwKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdHdpZHRoOiAxLjVyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiAxLjVyZW07XG5cdFx0XHRcdFx0ZmlsbDogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGJ1dHRvbi5zZWFyY2gtc3VibWl0IHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0cmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtLjc1cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRidXR0b24uc2VhcmNoLWNsb3NlIHtcblx0XHRcdFx0cGFkZGluZy1ibG9jazogdmFyKC0tc3BhY2luZy00KTtcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IHZhcigtLWJ1dHRvbi1wYWRkaW5nKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX2xhbmd1YWdlLWxpbmsge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IHZhcigtLXNwYWNpbmctNCk7XG5cdFx0fVxuXG5cdFx0LnNpdGUtaGVhZGVyX190b2dnbGUtc2VhcmNoIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX2xhbmd1YWdlLWxpbmsrLnNpdGUtaGVhZGVyX190b2dnbGUtc2VhcmNoIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmctMTIpICogMik7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmctMTIpICogLTEpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnNpdGUtaGVhZGVyLS1zZWFyY2gtYWN0aXZlIC5zZWFyY2gtZm9ybSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXG5cdCZfX25hdmJhciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRyaWdodDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNTB2dztcblx0XHRtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuXHRcdGdyaWQtYXJlYTogbmF2YmFyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRkaXNwbGF5OiB1bnNldDtcblx0XHR9XG5cblx0XHQuY29udGFpbmVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRnYXA6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRcdH1cblxuXHRcdCZfX2xvZ28ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHdpZHRoOiA5LjVyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1lbnUge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXBvcHBpbnMpO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zNTtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRsaS5jdXJyZW50LW1lbnUtaXRlbSxcblx0XHRcdGxpLmN1cnJlbnQtbWVudS1wYXJlbnQsXG5cdFx0XHRsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3Ige1xuXHRcdFx0XHRhOjphZnRlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuMmVtLCAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCkgdmFyKC0tc3BhY2luZy04KTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA2MHB4KSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xNik7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xNik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAodmFyKC0tc3BhY2luZy0xNikgKiAyKSk7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMS41ZW07XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMsIHRyYW5zZm9ybSAzMDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXI6OmFmdGVyLFxuXHRcdFx0XHQmOmZvY3VzOjphZnRlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuMmVtLCAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBNZW7DuiBhY3Rpdm8gZW4gbcOzdmlsZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHQuc2l0ZS1oZWFkZXItLW1vYmlsZS1uYXYtYWN0aXZlIHtcblx0XHQ+LmNvbnRhaW5lciB7XG5cdFx0XHQubWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpIHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX3RvZ2dsZXItbW9iaWxlLW5hdiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblxuXHRcdFx0LmJhcjEge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDJweCkgcm90YXRlKDQ1ZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0LmJhcjMge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0LmJhcjIge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSguMik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNpdGUtaGVhZGVyX19sYW5ndWFnZS1zZWFyY2gge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0XHR9XG5cblx0XHQuc2VhcmNoLWZvcm0ge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHJpZ2h0OiB1bnNldDtcblx0XHRcdHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0YnV0dG9uLnNlYXJjaC1jbG9zZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNpdGUtaGVhZGVyX190b3BiYXIge1xuXHRcdFx0ZGlzcGxheTogdW5zZXQ7XG5cblx0XHRcdC5tZW51IHtcblx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cblx0XHRcdFx0bGkrbGkge1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zaXRlLWhlYWRlcl9fbmF2YmFyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRvcmRlcjogMTtcblxuXHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEyKTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gU2l0ZSBGb290ZXJcbiAqXG4gKiBGb290ZXIgcHJpbmNpcGFsIGRlbCBzaXRpbyBiYXNhZG8gZW4gZWwgZGlzZcOxbyBleGlzdGVudGUgZGVsIHRlbWEuXG4gKiBJbmNsdXllIG1lbsO6IHByaW5jaXBhbCwgbG9nb3MgaW5zdGl0dWNpb25hbGVzIHkgY29sb2bDs24gbGVnYWwuXG4gKlxuICogTm9tZW5jbGF0dXJhIEJFTTpcbiAqIC0gLnNpdGUtZm9vdGVyOiBDb250ZW5lZG9yIHByaW5jaXBhbFxuICogLSAuc2l0ZS1mb290ZXJfX21lbnU6IE1lbsO6IHByaW5jaXBhbCBkZWwgZm9vdGVyXG4gKiAtIC5zaXRlLWZvb3Rlcl9fbG9nb3M6IENvbnRlbmVkb3IgZGUgbG9nb3MgaW5zdGl0dWNpb25hbGVzXG4gKiAtIC5zaXRlLWZvb3Rlcl9fY29sb2ZvbjogU2VjY2nDs24gZGUgY29weXJpZ2h0IHkgZW5sYWNlcyBsZWdhbGVzXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzLCByZXNldC5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaXRlLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNjApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQuc2l0ZS1mb290ZXIge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MCk7XG5cdH1cbn1cblxuLnNpdGUtZm9vdGVyIC5jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTQwKTtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpdGUtZm9vdGVyIGhyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMXB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIE1lbnVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaXRlLWZvb3Rlcl9fbWVudSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHQuc2l0ZS1mb290ZXJfX21lbnUge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5zaXRlLWZvb3Rlcl9fbWVudT5saSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xufVxuXG4uc2l0ZS1mb290ZXJfX21lbnU+bGk+YSB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uc2l0ZS1mb290ZXJfX21lbnUgLnN1Yi1tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctY29tcG9uZW50LWdhcCkgMCAwIDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExvZ29zIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaXRlLWZvb3Rlcl9fbG9nb3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNjApO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblx0LnNpdGUtZm9vdGVyX19sb2dvcyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IHZhcigtLXNwYWNpbmctMjApO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvZm9uIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaXRlLWZvb3Rlcl9fY29sb2ZvbiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpdGUtZm9vdGVyX19jb2xvZm9uIC5tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2l0ZS1mb290ZXJfX2NvbG9mb24gLm1lbnUgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctOCk7XG59XG5cbi5zaXRlLWZvb3Rlcl9fY29sb2ZvbiAubWVudSBsaStsaSB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHQuc2l0ZS1mb290ZXJfX2NvbG9mb24gLm1lbnUge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZHMgR3JpZCBQYXR0ZXJuXG4gKlxuICogU2lzdGVtYSBkZSBncmlkIHJlc3BvbnNpdm8gcGFyYSBtb3N0cmFyIG3Dumx0aXBsZXMgdGFyamV0YXMuXG4gKlxuICogRGVwZW5kZW5jaWFzOiBjYXJkLWJhc2UuY3NzLCB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi5wYXR0ZXJuLWNhcmRzIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctODApO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQucGF0dGVybi1jYXJkcyB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHQucGF0dGVybi1jYXJkcyB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0fVxufVxuXG4vKiBUw610dWxvIHkgZGVzY3JpcGNpw7NuIGRlIGxhIHNlY2Npw7NuICovXG4ucGF0dGVybi1jYXJkc19faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00OCk7XG59XG5cbi5wYXR0ZXJuLWNhcmRzX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KTtcbn1cblxuLnBhdHRlcm4tY2FyZHNfX2Rlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG5cdG1heC13aWR0aDogNzAwcHg7XG59XG5cbi8qIEdyaWQgcmVzcG9uc2l2byAqL1xuLnBhdHRlcm4tY2FyZHNfX2dyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQ4KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1ODBweCkge1xuXHQucGF0dGVybi1jYXJkc19fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0cm93LWdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdH1cbn1cblxuLyogQ2FyZHMgZGVudHJvIGRlbCBncmlkIHRpZW5lbiBhbHR1cmEgMTAwJSAqL1xuLnBhdHRlcm4tY2FyZHNfX2dyaWQgLmNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5wYXR0ZXJuLWNhcmRzX19ncmlkIC5jYXJkIC5jYXJkX19hY3Rpb25zIHtcblx0bWFyZ2luLXRvcDogYXV0bztcblx0cGFkZGluZy10b3A6IHZhcigtLWZsb3ctc3BhY2UpO1xufVxuXG4vKiBHcmlkIGRlIDIgY29sdW1uYXMgKi9cbi5wYXR0ZXJuLWNhcmRzX19ncmlkLS10d28ge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucGF0dGVybi1jYXJkc19fZ3JpZC0tdHdvIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG4vKiBHcmlkIGRlIDQgY29sdW1uYXMgKi9cbi5wYXR0ZXJuLWNhcmRzX19ncmlkLS1mb3VyIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkLS1mb3VyIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkLS1mb3VyIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQnV0dG9uc1xuICpcbiAqIFNpc3RlbWEgZGUgYm90b25lcyBjb24gbcO6bHRpcGxlcyB2YXJpYW50ZXMgdXNhbmRvIG5vbWVuY2xhdHVyYSBCRU0uXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEJ1dHRvbiBCYXNlICovXG4udWRlYy1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTEyKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGVmYXVsdCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS10ZXh0KTtcbn1cblxuLnVkZWMtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctaG92ZXIpO1xufVxuXG4udWRlYy1idXR0b246Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYm9yZGVyLWZvY3VzKTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnVkZWMtYnV0dG9uOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLXByZXNzKTtcbn1cblxuLnVkZWMtYnV0dG9uOmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEJ1dHRvbiBNb2RpZmllcnMgLSBTaXplICovXG4udWRlYy1idXR0b24tLXNtYWxsIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbn1cblxuLnVkZWMtYnV0dG9uLS1sYXJnZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0yNCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xufVxuXG4vKiBCdXR0b24gTW9kaWZpZXJzIC0gU3R5bGUgVmFyaWFudHMgKi9cbi51ZGVjLWJ1dHRvbi0tb3V0bGluZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi51ZGVjLWJ1dHRvbi0tb3V0bGluZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLnVkZWMtYnV0dG9uLS10ZXh0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWRlZmF1bHQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctMTIpO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi51ZGVjLWJ1dHRvbi0tdGV4dDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udWRlYy1idXR0b24tLXJvdW5kZWQge1xuXHRwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2luZy0xNik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbn1cblxuLnVkZWMtYnV0dG9uLS1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi51ZGVjLWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG59XG5cbi8qIEJ1dHRvbiB3aXRoIEljb24gKi9cbi51ZGVjLWJ1dHRvbi0taWNvbiB7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcbn1cblxuLnVkZWMtYnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMS41cmVtO1xuXHRoZWlnaHQ6IDEuNXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnVkZWMtYnV0dG9uX19pY29uIHN2ZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xufVxuXG4udWRlYy1idXR0b246aG92ZXIgLnVkZWMtYnV0dG9uX19pY29uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKTtcbn1cblxuLyogQ29tYmluYWNpb25lcyBjb211bmVzICovXG4udWRlYy1idXR0b24tLXJvdW5kZWQudWRlYy1idXR0b24tLXNlY29uZGFyeSB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbn1cblxuLnVkZWMtYnV0dG9uLS10ZXh0LnVkZWMtYnV0dG9uLS1pY29uIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LnVkZWMtYnV0dG9uIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0fVxuXG5cdC51ZGVjLWJ1dHRvbi0tbGFyZ2Uge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdH1cbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhdGVnb3J5IFRhZ3NcbiAqXG4gKiBUYWdzIGRlIGNhdGVnb3LDrWFzIGNvbiBjdWFkcmFkbyBkZSBjb2xvciB1c2FuZG8gOjpiZWZvcmUuXG4gKiBFbCBjb2xvciBzZSBjb250cm9sYSBtZWRpYW50ZSBsYSB2YXJpYWJsZSBDU1MgLS11ZGVjLWNhdGVnb3J5LWNvbG9yLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4udWRlYy1jYXRlZ29yeS10YWcge1xuXHQtLWNvbG9yLWNhdGVnb3J5OiB2YXIoLS11ZGVjLWNhdGVnb3J5LWNvbG9yLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZzo6YmVmb3JlIHtcblx0LS1iYWNrZ3JvdW5kLXRhZzogdmFyKC0tY29sb3ItY2F0ZWdvcnkpO1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMC42MjVyZW07XG5cdC8qIDEwcHggKi9cblx0aGVpZ2h0OiAwLjYyNXJlbTtcblx0LyogMTBweCAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXRhZyk7XG5cdGZsZXg6IDAgMCAwLjYyNXJlbTtcbn1cblxuLyogSG92ZXIgc3RhdGUgcGFyYSBlbmxhY2VzICovXG5hLnVkZWMtY2F0ZWdvcnktdGFnOmhvdmVyIHtcblx0b3BhY2l0eTogMC44NTtcbn1cblxuLyogQ2F0ZWdvcsOtYXMgY29uIGNvbG9yZXMgZXNwZWPDrWZpY29zIHVzYW5kbyBkYXRhLWNhdGVnb3J5ICovXG4udWRlYy1jYXRlZ29yeS10YWdbZGF0YS1jYXRlZ29yeT1cImN1bHR1cmVcIl0ge1xuXHQtLXVkZWMtY2F0ZWdvcnktY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWN1bHR1cmUpO1xufVxuXG4udWRlYy1jYXRlZ29yeS10YWdbZGF0YS1jYXRlZ29yeT1cImhlYWx0aC1lbnZpcm9ubWVudFwiXSB7XG5cdC0tdWRlYy1jYXRlZ29yeS1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktaGVhbHRoLWVudmlyb25tZW50KTtcbn1cblxuLnVkZWMtY2F0ZWdvcnktdGFnW2RhdGEtY2F0ZWdvcnk9XCJzY2llbmNlLXRlY2hub2xvZ3lcIl0ge1xuXHQtLXVkZWMtY2F0ZWdvcnktY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXNjaWVuY2UtdGVjaG5vbG9neSk7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwiaHVtYW5pdGllcy1zb2NpZXR5XCJdIHtcblx0LS11ZGVjLWNhdGVnb3J5LWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1odW1hbml0aWVzLXNvY2lldHkpO1xufVxuXG4udWRlYy1jYXRlZ29yeS10YWdbZGF0YS1jYXRlZ29yeT1cInVuaXZlcnNpdHlcIl0ge1xuXHQtLXVkZWMtY2F0ZWdvcnktY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXVuaXZlcnNpdHkpO1xufVxuXG4udWRlYy1jYXRlZ29yeS10YWdbZGF0YS1jYXRlZ29yeT1cInNwb3J0XCJdIHtcblx0LS11ZGVjLWNhdGVnb3J5LWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1zcG9ydCk7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwiYWNhZGVtaWMtYWN0aXZpdGllc1wiXSB7XG5cdC0tdWRlYy1jYXRlZ29yeS1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllcyk7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cdC51ZGVjLWNhdGVnb3J5LXRhZyB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cdH1cbn0iLCIvKiBCcmVhZGNydW1iICovXG4udWRlYy1icmVhZGNydW1iIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xufVxuXG4udWRlYy1icmVhZGNydW1iX19sYXN0IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59IiwiLyogUGFnaW5hdGlvbiAqL1xuLnVkZWMtcGFnaW5hdGlvbiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tcG9wcGlucyk7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tYmxvY2s6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi51ZGVjLXBhZ2luYXRpb24gYSxcbi51ZGVjLXBhZ2luYXRpb25fX2N1cnJlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDJyZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRwbGFjZS1jb250ZW50OiBjZW50ZXI7XG5cdHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcblx0d2lkdGg6IDJyZW1cbn1cblxuLnVkZWMtcGFnaW5hdGlvbl9fY3VycmVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJVxufVxuXG4udWRlYy1wYWdpbmF0aW9uX19uZXh0LFxuLnVkZWMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcblx0YmFja2dyb3VuZC1zaXplOiA3NSU7XG5cdGJvcmRlci1yYWRpdXM6IDUwJVxufVxuXG4udWRlYy1wYWdpbmF0aW9uX19uZXh0OmhvdmVyLFxuLnVkZWMtcGFnaW5hdGlvbl9fcHJldjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG5cdGN1cnNvcjogcG9pbnRlclxufVxuXG4udWRlYy1wYWdpbmF0aW9uX19wcmV2IHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTogaW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwd2lkdGglM0QlMjIzMiUyMiUyMGhlaWdodCUzRCUyMjMyJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzIlMjAzMiUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMy43NDM3JTIwMjMuMDc3TDE0LjY4NzMlMjAyMi4xMThMOS4yMzYwMSUyMDE2LjY2NjZIMjUuMzMzM1YxNS4zMzMzSDkuMjM2MDFMMTQuNjg3MyUyMDkuODgxOTdMMTMuNzQzNyUyMDguOTIyOTdMNi42NjY2OCUyMDE2TDEzLjc0MzclMjAyMy4wNzdaJTIyJTIwZmlsbCUzRCUyMiUyMzA3MEMxNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKVxufVxuXG4udWRlYy1wYWdpbmF0aW9uX19uZXh0IHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTogaW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwd2lkdGglM0QlMjIzMiUyMiUyMGhlaWdodCUzRCUyMjMyJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzIlMjAzMiUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xOC4yNTYzJTIwMjMuMDc3TDE3LjMxMjclMjAyMi4xMThMMjIuNzY0JTIwMTYuNjY2Nkg2LjY2NjY2VjE1LjMzMzNIMjIuNzY0TDE3LjMxMjclMjA5Ljg4MTk3TDE4LjI1NjMlMjA4LjkyMjk3TDI1LjMzMzMlMjAxNkwxOC4yNTYzJTIwMjMuMDc3WiUyMiUyMGZpbGwlM0QlMjIlMjMwNzBDMTUlMjIlMkYlM0UlM0MlMkZzdmclM0VcIilcbn0iLCIvKiBBY2NvcmRpb24gKi9cbjpyb290IHtcblx0LS11ZGVjLWFjY29yZGlvbi1pY29uLWRpc3BsYXk6IHVybChcImRhdGE6IGltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzIlMjIlMjBoZWlnaHQlM0QlMjIzMiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTUuMzMzJTIwMjYuNjY2M1YxNi42NjYzSDUuMzMzMDFWMTUuMzMzSDE1LjMzM1Y1LjMzMzAxSDE2LjY2NjNWMTUuMzMzSDI2LjY2NjNWMTYuNjY2M0gxNi42NjYzVjI2LjY2NjNIMTUuMzMzWiUyMiUyMGZpbGwlM0QlMjIlMjMwNzBDMTUlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG5cdC0tdWRlYy1hY2NvcmRpb24taWNvbi1jb2xhcHNlOiB1cmwoXCJkYXRhOiBpbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjMyJTIyJTIwaGVpZ2h0JTNEJTIyMzIlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMiUyMDMyJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTglMjAxNi42NjYzVjE1LjMzM0gyNFYxNi42NjYzSDhaJTIyJTIwZmlsbCUzRCUyMiUyMzA3MEMxNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKVxufVxuXG4udWRlYy1hY2NvcmRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE0NDBweCkge1xuXHQudWRlYy1hY2NvcmRpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpXG5cdH1cbn1cblxuLnVkZWMtYWNjb3JkaW9uX19oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tdG9wOiAwXG59XG5cbi51ZGVjLWFjY29yZGlvbl9fbGluayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXhsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMikgdmFyKC0tc3BhY2luZy02MCkgdmFyKC0tc3BhY2luZy0xMikgdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0XG59XG5cbi51ZGVjLWFjY29yZGlvbl9fbGluazpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjdweCkge1xuXHQudWRlYy1hY2NvcmRpb25fX2xpbmsge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yNClcblx0fVxufVxuXG4udWRlYy1hY2NvcmRpb25fX2xpbms6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudCk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVkZWMtYWNjb3JkaW9uLWljb24tZGlzcGxheSk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxOHB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaWNvbi1idXR0b24pO1xuXHRjb250ZW50OiBcIlwiO1xuXHRoZWlnaHQ6IDI2cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHR0b3A6IGNhbGMoNTAlIC0gMTNweCk7XG5cdHdpZHRoOiAyNnB4XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY3cHgpIHtcblx0LnVkZWMtYWNjb3JkaW9uX19saW5rOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDMycHg7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcblx0XHR3aWR0aDogNDBweFxuXHR9XG59XG5cbi51ZGVjLWFjY29yZGlvbl9fZGVzY3JpcHRpb24sXG4udWRlYy1hY2NvcmRpb25fX3RleHQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWF4LXdpZHRoOiA0My43NXJlbVxufVxuXG4udWRlYy1hY2NvcmRpb25fX2Rlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ib2R5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7XG5cdHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXRcbn1cblxuLnVkZWMtYWNjb3JkaW9uIC51ZGVjLWFjY29yZGlvbl9fbGluazpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLnVkZWMtYWNjb3JkaW9uIC51ZGVjLWFjY29yZGlvbl9fbGluazpob3ZlciAudWRlYy1hY2NvcmRpb25fX2Rlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi51ZGVjLWFjY29yZGlvbjpoYXMoLmlzLW9wZW4pIC51ZGVjLWFjY29yZGlvbl9fbGluayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLnVkZWMtYWNjb3JkaW9uOmhhcyguaXMtb3BlbikgLnVkZWMtYWNjb3JkaW9uX19kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4udWRlYy1hY2NvcmRpb246aGFzKC5pcy1vcGVuKSAudWRlYy1hY2NvcmRpb25fX2xpbms6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11ZGVjLWFjY29yZGlvbi1pY29uLWNvbGFwc2UpXG59XG5cbi51ZGVjLWFjY29yZGlvbl9fY29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1heC1oZWlnaHQ6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0XG59XG5cbi51ZGVjLWFjY29yZGlvbl9fY29udGVudC5pcy1vcGVuIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNCk7XG5cdG1heC1oZWlnaHQ6IDE5OTlweDtcblx0b3BhY2l0eTogMTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDQpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLnVkZWMtYWNjb3JkaW9uX19jb250ZW50PjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDBcbn0iLCIvKiBUYWJzICovXG51bC51ZGVjLXRhYnNfX25hdiB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuXHR1bC51ZGVjLXRhYnNfX25hdiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmctMTIpKi0xKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKVxuXHR9XG59XG5cbnVsLnVkZWMtdGFic19fbmF2IGxpIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udWRlYy10YWJzX19uYXYgbGkrbGkge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04KVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk5MnB4KSB7XG5cdC51ZGVjLXRhYnNfX25hdiBsaStsaSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpXG5cdH1cbn1cblxuLnVkZWMtdGFic19fbmF2IGxpIGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1cmZhY2UpO1xuXHRib3JkZXItYm90dG9tOiA1cHggc29saWQgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdXJmYWNlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LWZhbWlseTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXBvcHBpbnMpO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0yNCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIC4xNXMgbGluZWFyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY3cHgpIHtcblx0LnVkZWMtdGFic19fbmF2IGxpIGEge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpIHZhcigtLXNwYWNpbmctMzIpXG5cdH1cbn1cblxuLnVkZWMtdGFic19fbmF2IGxpOm5vdCgudGFiLWFjdGl2ZSkgYTpmb2N1cyxcbi51ZGVjLXRhYnNfX25hdiBsaTpub3QoLnRhYi1hY3RpdmUpIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMClcbn1cblxuLnVkZWMtdGFic19fbmF2IC50YWItYWN0aXZlIGEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG5cdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRjdXJzb3I6IGRlZmF1bHRcbn1cblxuLnVkZWMtdGFic19fY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KVxufVxuXG4udWRlYy10YWJzX190YWIge1xuXHRoZWlnaHQ6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW5cbn1cblxuLnVkZWMtdGFic19fdGFiLS1hY3RpdmUge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG9wYWNpdHk6IDE7XG5cdG92ZXJmbG93OiB1bnNldDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00NCkgdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBsaW5lYXJcbn1cblxuLnVkZWMtdGFic19fdGFiPioge1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwXG59XG5cbi51ZGVjLXRhYnNfX3RhYj46Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAwXG59IiwiLyogRmVlZGJhY2sgTWVzc2FnZXMgKi9cbi51ZGVjLWZlZWRiYWNrIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbi51ZGVjLWZlZWRiYWNrX190aXRsZSB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLnVkZWMtZmVlZGJhY2tfX21lc3NhZ2Uge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLnVkZWMtZmVlZGJhY2tfX2J1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTtcbn1cblxuLyogTW9kaWZpY2Fkb3JlcyBkZSBmZWVkYmFjayAqL1xuLnVkZWMtZmVlZGJhY2stLXN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mZWVkYmFjay1ncmVlbi0yMDApO1xufVxuXG4udWRlYy1mZWVkYmFjay0tZXJyb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mZWVkYmFjay1yZWQtMTAwKTtcbn1cblxuLnVkZWMtZmVlZGJhY2stLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mZWVkYmFjay15ZWxsb3ctMjAwKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LnVkZWMtZmVlZGJhY2sge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMzIpIHZhcigtLXNwYWNpbmctMTYpO1xuXHR9XG5cblx0LnVkZWMtZmVlZGJhY2tfX2J1dHRvbnMge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cbn0iLCIvKiBCYW5uZXIgKi9cbi51ZGVjLWJhbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IDMwcmVtO1xuXHRwYWRkaW5nLWJsb2NrOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS04MCk7XG5cdHBhZGRpbmctaW5saW5lOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xMik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG92ZXJmbG93OiBjbGlwO1xufVxuXG4udWRlYy1iYW5uZXJfX2ltYWdlLWJhY2tncm91bmQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdHotaW5kZXg6IDA7XG59XG5cbi51ZGVjLWJhbm5lcl9fb3ZlcmxheSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0bWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuXG4udWRlYy1iYW5uZXJfX292ZXJsYXktLW5vaXNlOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDIwMCAyMDAnJTNFJTNDZyBmaWx0ZXI9J3VybCglMjNhKSclM0UlM0NwYXRoIGZpbGw9JyUyM2Q5ZDlkOScgZD0nTTAgMGgyMDB2MjAwSDB6Jy8lM0UlM0MvZyUzRSUzQ2RlZnMlM0UlM0NmaWx0ZXIgaWQ9J2EnIHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJyB4PScwJyB5PScwJyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSclM0UlM0NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM0UlM0NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdzaGFwZScvJTNFJTNDZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9JzEgMScgbnVtT2N0YXZlcz0nMycgcmVzdWx0PSdub2lzZScgc2VlZD0nNDM2MCcgc3RpdGNoVGlsZXM9J3N0aXRjaCcgdHlwZT0nZnJhY3RhbE5vaXNlJy8lM0UlM0NmZUNvbG9yTWF0cml4IGluPSdub2lzZScgcmVzdWx0PSdhbHBoYU5vaXNlJyB0eXBlPSdsdW1pbmFuY2VUb0FscGhhJy8lM0UlM0NmZUNvbXBvbmVudFRyYW5zZmVyIGluPSdhbHBoYU5vaXNlJyByZXN1bHQ9J2NvbG9yZWROb2lzZTEnJTNFJTNDZmVGdW5jQSB0YWJsZVZhbHVlcz0nMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCcgdHlwZT0nZGlzY3JldGUnLyUzRSUzQy9mZUNvbXBvbmVudFRyYW5zZmVyJTNFJTNDZmVDb21wb3NpdGUgaW49J2NvbG9yZWROb2lzZTEnIGluMj0nc2hhcGUnIG9wZXJhdG9yPSdpbicgcmVzdWx0PSdub2lzZTFDbGlwcGVkJy8lM0UlM0NmZUNvbXBvbmVudFRyYW5zZmVyIGluPSdhbHBoYU5vaXNlJyByZXN1bHQ9J2NvbG9yZWROb2lzZTInJTNFJTNDZmVGdW5jQSB0YWJsZVZhbHVlcz0nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMScgdHlwZT0nZGlzY3JldGUnLyUzRSUzQy9mZUNvbXBvbmVudFRyYW5zZmVyJTNFJTNDZmVDb21wb3NpdGUgaW49J2NvbG9yZWROb2lzZTInIGluMj0nc2hhcGUnIG9wZXJhdG9yPSdpbicgcmVzdWx0PSdub2lzZTJDbGlwcGVkJy8lM0UlM0NmZUZsb29kIGZsb29kLWNvbG9yPSdyZ2JhKDE2NiwgMTgyLCAyMTEsIDAuMSknIHJlc3VsdD0nY29sb3IxRmxvb2QnLyUzRSUzQ2ZlQ29tcG9zaXRlIGluPSdjb2xvcjFGbG9vZCcgaW4yPSdub2lzZTFDbGlwcGVkJyBvcGVyYXRvcj0naW4nIHJlc3VsdD0nY29sb3IxJy8lM0UlM0NmZUZsb29kIGZsb29kLWNvbG9yPSdyZ2JhKDIwLCAzNiwgNjQsIDAuNSknIHJlc3VsdD0nY29sb3IyRmxvb2QnLyUzRSUzQ2ZlQ29tcG9zaXRlIGluPSdjb2xvcjJGbG9vZCcgaW4yPSdub2lzZTJDbGlwcGVkJyBvcGVyYXRvcj0naW4nIHJlc3VsdD0nY29sb3IyJy8lM0UlM0NmZU1lcmdlIHJlc3VsdD0nZWZmZWN0MV9ub2lzZV85MTBfNjE0NSclM0UlM0NmZU1lcmdlTm9kZSBpbj0nc2hhcGUnLyUzRSUzQ2ZlTWVyZ2VOb2RlIGluPSdjb2xvcjEnLyUzRSUzQ2ZlTWVyZ2VOb2RlIGluPSdjb2xvcjInLyUzRSUzQy9mZU1lcmdlJTNFJTNDL2ZpbHRlciUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxOTlweDtcblx0bWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXHRvcGFjaXR5OiAuNjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi51ZGVjLWJhbm5lcj4uY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTtcbn1cblxuLnVkZWMtYmFubmVyPi5jb250YWluZXIgYTpub3QoLnVkZWMtYnV0dG9uKSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLnVkZWMtYmFubmVyPi5jb250YWluZXIgYTpub3QoLnVkZWMtYnV0dG9uKTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApO1xufVxuXG4udWRlYy1iYW5uZXI+LmNvbnRhaW5lci50ZXh0LWNlbnRlciB7XG5cdG1heC13aWR0aDogNDMuNzVyZW07XG59XG5cbi51ZGVjLWJhbm5lcj4uY29udGFpbmVyLnRleHQtY2VudGVyPmhyLmhyLS1uYXJyb3cge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQmFubmVyIENhcmQgUGF0dGVyblxuICpcbiAqIFBhdHLDs24gZGUgYmFubmVyIGNvbiBjb3ZlciBoZXJvIGFycmliYSB5IGdyaWQgZGUgdGFyamV0YXMgY29uIG92ZXJsYXkgbmVnYXRpdm8uXG4gKiBJZGVhbCBwYXJhIGhvbWVwYWdlIHkgcMOhZ2luYXMgZGVzdGFjYWRhcy5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IGNhcmQtYmFzZS5jc3MsIHZhcmlhYmxlcy5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLmJhbm5lci1jYXJkIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04MCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctODApO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcblx0LmJhbm5lci1jYXJkIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHQuYmFubmVyLWNhcmQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHR9XG59XG5cbi8qIENvdmVyIGhlcm8gY29uIGltYWdlbiBkZSBmb25kbyAqL1xuLmJhbm5lci1jYXJkX19jb3ZlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogNDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy0xMDApICogLTEpO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYwKSB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmJhbm5lci1jYXJkX19jb3ZlciB7XG5cdFx0bWluLWhlaWdodDogNTAwcHg7XG5cdH1cbn1cblxuLyogT3ZlcmxheSBncmFkaWVudCBvc2N1cm8gc29icmUgbGEgaW1hZ2VuICovXG4uYmFubmVyLWNhcmRfX2NvdmVyOjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMCwgMC4zKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDEwMCUpO1xuXHR6LWluZGV4OiAwO1xuXHRvcGFjaXR5OiAwLjY7XG59XG5cbi8qIENvbnRlbmlkbyBkZWwgaGVybyAqL1xuLmJhbm5lci1jYXJkX19jb3Zlci1jb250ZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uYmFubmVyLWNhcmRfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaGVybyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDkwcHggdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcbn1cblxuLmJhbm5lci1jYXJkX19kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdHRleHQtc2hhZG93OiAwIDAgNjBweCB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4vKiBHcmlkIGRlIHRhcmpldGFzIGNvbiBvdmVybGF5IG5lZ2F0aXZvICovXG4uYmFubmVyLWNhcmRfX2dyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRtYXgtd2lkdGg6IDEyODBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0yNCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkxcHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcblx0LmJhbm5lci1jYXJkX19ncmlkOmhhcyguY2FyZDpudGgtY2hpbGQoNCkpIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5iYW5uZXItY2FyZF9fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1ODBweCkge1xuXHQuYmFubmVyLWNhcmRfX2dyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHR9XG59XG5cbi8qIFRhcmpldGFzIGRlbnRybyBkZWwgYmFubmVyIHRpZW5lbiBzb21icmEgKi9cbi5iYW5uZXItY2FyZF9fZ3JpZCAuY2FyZCB7XG5cdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uYmFubmVyLWNhcmRfX2dyaWQgLmNhcmQ6aG92ZXIge1xuXHRib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJvdXNlbCBDb21wb25lbnRcbiAqXG4gKiBTaXN0ZW1hIGRlIGNhcm91c2VscyBiYXNhZG8gZW4gU3BsaWRlLmpzXG4gKiBJbmNsdXllIG5hdmVnYWNpw7NuIChmbGVjaGFzLCBjb250YWRvciksIGNvbnRyb2xlcyBkZSByZXByb2R1Y2Npw7NuIHkgYmFycmEgZGUgcHJvZ3Jlc28uXG4gKlxuICogRXN0ZSBhcmNoaXZvIGNvbnRpZW5lIFNPTE8gbG9zIGVzdGlsb3MgZGVsIGNvbXBvbmVudGUgY2Fyb3VzZWwuXG4gKiBMb3MgcGF0dGVybnMgcXVlIHV0aWxpemFuIGNhcm91c2VscyBlc3TDoW4gZW4gYXJjaGl2b3Mgc2VwYXJhZG9zOlxuICogLSBwYXR0ZXJuLXRlc3RpbW9uaWVzLmNzczogUGF0dGVybiBkZSB0ZXN0aW1vbmlvcyBjb24gY2Fyb3VzZWxcbiAqIC0gcGF0dGVybi1tZWRpYS10ZXh0LmNzczogUGF0dGVybiBkZSBjYXJvdXNlbCArIHRhcmpldGEgZGUgY29udGVuaWRvXG4gKlxuICogTm9tZW5jbGF0dXJhIEJFTTpcbiAqIC0gLnVkZWMtY2Fyb3VzZWw6IEJhc2UgZGVsIGNvbXBvbmVudGVcbiAqIC0gLnVkZWMtY2Fyb3VzZWwtLWdhbGxlcnk6IFZhcmlhbnRlIGRlIGdhbGVyw61hIGNvbiBuYXZlZ2FjacOzbiBzdXBlcnB1ZXN0YVxuICogLSAudWRlYy1jYXJvdXNlbF9fbmF2OiBDb250ZW5lZG9yIGRlIG5hdmVnYWNpw7NuXG4gKiAtIC51ZGVjLWNhcm91c2VsX19zbGlkZS0tdGVzdGltb255OiBTbGlkZSBkZSB0ZXN0aW1vbmlvXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzLCBAc3BsaWRlanMvc3BsaWRlL2Nzcy9jb3JlXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIFNwbGlkZSBDb3JlIEltcG9ydCAtIERlYmUgc2VyIGltcG9ydGFkbyBleHRlcm5hbWVudGUgKi9cbi8qIEBpbXBvcnQgJ0BzcGxpZGVqcy9zcGxpZGUvY3NzL2NvcmUnOyAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFyaWFibGVzIGRlIFNwbGlkZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLXNwbGlkZS0tYXJyb3dzLS1ib3R0b206IDA7XG5cdC0tc3BsaWRlLS1hcnJvd3MtLXdpZHRoOiBjYWxjKHZhcigtLXNwbGlkZS0tYXJyb3ctLXNpemUpICogMiArIHZhcigtLXNwbGlkZS0tYXJyb3dzLS1nYXApKTtcblx0LS1zcGxpZGUtLWFycm93cy0tZ2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0LS1zcGxpZGUtLWFycm93LS1zaXplOiBjYWxjKHZhcigtLWljb24tc2l6ZS1sYXJnZSkgKyAodmFyKC0tc3BhY2luZy00KSAqIDIpKTtcblx0LS1zcGxpZGUtLWFycm93LS1zdmctLXNpemU6IHZhcigtLWljb24tc2l6ZS1sYXJnZSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdDpyb290IHtcblx0XHQtLXNwbGlkZS0tYXJyb3ctLXNpemU6IGNhbGModmFyKC0taWNvbi1zaXplLXNtYWxsKSArICh2YXIoLS1zcGFjaW5nLTQpICogMikpO1xuXHRcdC0tc3BsaWRlLS1hcnJvdy0tc3ZnLS1zaXplOiB2YXIoLS1pY29uLXNpemUtc21hbGwpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJvdXNlbCBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWRlYy1jYXJvdXNlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogU2xpZGVyIENvbnRhaW5lciAqL1xuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2xpc3QgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi51ZGVjLWNhcm91c2VsX19uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG4vKiBOYXZpZ2F0aW9uIE1vZGlmaWVycyAqL1xuLnVkZWMtY2Fyb3VzZWxfX25hdi0tZml4ZWQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTE2KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0ei1pbmRleDogMTA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBcnJvd3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93cyB7XG5cdG9yZGVyOiAxMDtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zcGxpZGUtLWFycm93cy0tZ2FwKTtcblx0ei1pbmRleDogMTtcblx0d2lkdGg6IHZhcigtLXNwbGlkZS0tYXJyb3dzLS13aWR0aCk7XG5cdG1heC13aWR0aDogdmFyKC0tc3BsaWRlLS1hcnJvd3MtLXdpZHRoKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBBcnJvdyBCdXR0b25zICovXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19hcnJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogdmFyKC0tc3BsaWRlLS1hcnJvdy0tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tc3BsaWRlLS1hcnJvdy0tc2l6ZSk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGVmYXVsdCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcblx0Ym9yZGVyOiBub25lO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG5cdHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fYXJyb3c6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1ob3Zlcik7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93OmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGlzYWJsZWQpO1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19hcnJvdzpkaXNhYmxlZDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBBcnJvdyBTVkcgSWNvbnMgKi9cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93X19pY29uIHtcblx0d2lkdGg6IHZhcigtLXNwbGlkZS0tYXJyb3ctLXN2Zy0tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tc3BsaWRlLS1hcnJvdy0tc3ZnLS1zaXplKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBmaWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19hcnJvdy0tcHJldiAuc3BsaWRlX19hcnJvd19faWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6IGltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzIlMjIlMjBoZWlnaHQlM0QlMjIzMiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEzLjc0MzclMjAyMy4wNzdMMTQuNjg3MyUyMDIyLjExOEw5LjIzNjAxJTIwMTYuNjY2NkgyNS4zMzMzVjE1LjMzMzNIOS4yMzYwMUwxNC42ODczJTIwOS44ODE5N0wxMy43NDM3JTIwOC45MjI5N0w2LjY2NjY4JTIwMTZMMTMuNzQzNyUyMDIzLjA3N1olMjIlMjBmaWxsJTNEJTIyY3VycmVudENvbG9yJTIyJTIwJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19hcnJvdy0tbmV4dCAuc3BsaWRlX19hcnJvd19faWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6IGltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzIlMjIlMjBoZWlnaHQlM0QlMjIzMiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE4LjI1NjMlMjA4LjkyMjk3TDE3LjMxMjclMjA5Ljg4MTk3TDIyLjc2NCUyMDE1LjMzMzNINi42NjY2OFYxNi42NjY2SDIyLjc2NEwxNy4zMTI3JTIwMjIuMTE4TDE4LjI1NjMlMjAyMy4wNzdMMjUuMzMzMyUyMDE2TDE4LjI1NjMlMjA4LjkyMjk3WiUyMiUyMGZpbGwlM0QlMjJjdXJyZW50Q29sb3IlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb3VudGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19jb3VudGVyIHtcblx0b3JkZXI6IDU7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGxheS9QYXVzZSBUb2dnbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX3RvZ2dsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDJyZW07XG5cdGhlaWdodDogMnJlbTtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fdG9nZ2xlX19pY29uIHtcblx0d2lkdGg6IDJyZW07XG5cdGhlaWdodDogMnJlbTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX3RvZ2dsZSAuc3BsaWRlX190b2dnbGVfX2ljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAgMTUuNTc3TDE1LjU3NyAxMkwxMCA4LjQyM1YxNS41NzdaTTEyLjAwMzMgMjFDMTAuNzU4OCAyMSA5LjU4ODY3IDIwLjc2MzggOC40OTMgMjAuMjkxNUM3LjM5NzUgMTkuODE5MiA2LjQ0NDUgMTkuMTc4MiA1LjYzNCAxOC4zNjg1QzQuODIzNSAxNy41NTg4IDQuMTgxOTIgMTYuNjA2NyAzLjcwOTI1IDE1LjUxMkMzLjIzNjQyIDE0LjQxNzUgMyAxMy4yNDc5IDMgMTIuMDAzM0MzIDEwLjc1ODggMy4yMzYxNyA5LjU4ODY3IDMuNzA4NSA4LjQ5M0M0LjE4MDgzIDcuMzk3NSA0LjgyMTgzIDYuNDQ0NSA1LjYzMTUgNS42MzRDNi40NDExNyA0LjgyMzUgNy4zOTMzMyA0LjE4MTkyIDguNDg4IDMuNzA5MjVDOS41ODI1IDMuMjM2NDIgMTAuNzUyMSAzIDExLjk5NjcgM0MxMy4yNDEzIDMgMTQuNDExMyAzLjIzNjE3IDE1LjUwNyAzLjcwODVDMTYuNjAyNSA0LjE4MDgzIDE3LjU1NTUgNC44MjE4MyAxOC4zNjYgNS42MzE1QzE5LjE3NjUgNi40NDExNyAxOS44MTgxIDcuMzkzMzMgMjAuMjkwOCA4LjQ4OEMyMC43NjM2IDkuNTgyNSAyMSAxMC43NTIxIDIxIDExLjk5NjdDMjEgMTMuMjQxMyAyMC43NjM4IDE0LjQxMTMgMjAuMjkxNSAxNS41MDdDMTkuODE5MiAxNi42MDI1IDE5LjE3ODIgMTcuNTU1NSAxOC4zNjg1IDE4LjM2NkMxNy41NTg4IDE5LjE3NjUgMTYuNjA2NyAxOS44MTgxIDE1LjUxMiAyMC4yOTA4QzE0LjQxNzUgMjAuNzYzNiAxMy4yNDc5IDIxIDEyLjAwMzMgMjFaTTEyIDIwQzE0LjIzMzMgMjAgMTYuMTI1IDE5LjIyNSAxNy42NzUgMTcuNjc1QzE5LjIyNSAxNi4xMjUgMjAgMTQuMjMzMyAyMCAxMkMyMCA5Ljc2NjY3IDE5LjIyNSA3Ljg3NSAxNy42NzUgNi4zMjVDMTYuMTI1IDQuNzc1IDE0LjIzMzMgNCAxMiA0QzkuNzY2NjcgNCA3Ljg3NSA0Ljc3NSA2LjMyNSA2LjMyNUM0Ljc3NSA3Ljg3NSA0IDkuNzY2NjcgNCAxMkM0IDE0LjIzMzMgNC43NzUgMTYuMTI1IDYuMzI1IDE3LjY3NUM3Ljg3NSAxOS4yMjUgOS43NjY2NyAyMCAxMiAyMFonIGZpbGw9JyUyMzIyM0M2QScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fdG9nZ2xlLmlzLWFjdGl2ZSAuc3BsaWRlX190b2dnbGVfX2ljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgdmlld0JveD0nMCAwIDMyIDMyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTMuMDc3IDIwLjY2NjdIMTQuNDEwM1YxMS4zMzMzSDEzLjA3N1YyMC42NjY3Wk0xNy41ODk3IDIwLjY2NjdIMTguOTIzVjExLjMzMzNIMTcuNTg5N1YyMC42NjY3Wk0xNi4wMDQzIDI4QzE0LjM0NSAyOCAxMi43ODQ5IDI3LjY4NTEgMTEuMzI0IDI3LjA1NTNDOS44NjMzMyAyNi40MjU2IDguNTkyNjcgMjUuNTcwOSA3LjUxMiAyNC40OTEzQzYuNDMxMzMgMjMuNDExOCA1LjU3NTg5IDIyLjE0MjIgNC45NDU2NyAyMC42ODI3QzQuMzE1MjIgMTkuMjIzMyA0IDE3LjY2MzkgNCAxNi4wMDQzQzQgMTQuMzQ1IDQuMzE0ODkgMTIuNzg0OSA0Ljk0NDY3IDExLjMyNEM1LjU3NDQ0IDkuODYzMzMgNi40MjkxMSA4LjU5MjY3IDcuNTA4NjcgNy41MTJDOC41ODgyMiA2LjQzMTMzIDkuODU3NzggNS41NzU4OSAxMS4zMTczIDQuOTQ1NjdDMTIuNzc2NyA0LjMxNTIyIDE0LjMzNjEgNCAxNS45OTU3IDRDMTcuNjU1IDQgMTkuMjE1MSA0LjMxNDg5IDIwLjY3NiA0Ljk0NDY3QzIyLjEzNjcgNS41NzQ0NSAyMy40MDczIDYuNDI5MTEgMjQuNDg4IDcuNTA4NjdDMjUuNTY4NyA4LjU4ODIyIDI2LjQyNDEgOS44NTc3OCAyNy4wNTQzIDExLjMxNzNDMjcuNjg0OCAxMi43NzY3IDI4IDE0LjMzNjEgMjggMTUuOTk1N0MyOCAxNy42NTUgMjcuNjg1MSAxOS4yMTUxIDI3LjA1NTMgMjAuNjc2QzI2LjQyNTYgMjIuMTM2NyAyNS41NzA5IDIzLjQwNzMgMjQuNDkxMyAyNC40ODhDMjMuNDExOCAyNS41Njg3IDIyLjE0MjIgMjYuNDI0MSAyMC42ODI3IDI3LjA1NDNDMTkuMjIzMyAyNy42ODQ4IDE3LjY2MzkgMjggMTYuMDA0MyAyOFpNMTYgMjYuNjY2N0MxOC45Nzc4IDI2LjY2NjcgMjEuNSAyNS42MzMzIDIzLjU2NjcgMjMuNTY2N0MyNS42MzMzIDIxLjUgMjYuNjY2NyAxOC45Nzc4IDI2LjY2NjcgMTZDMjYuNjY2NyAxMy4wMjIyIDI1LjYzMzMgMTAuNSAyMy41NjY3IDguNDMzMzNDMjEuNSA2LjM2NjY3IDE4Ljk3NzggNS4zMzMzMyAxNiA1LjMzMzMzQzEzLjAyMjIgNS4zMzMzMyAxMC41IDYuMzY2NjcgOC40MzMzMyA4LjQzMzMzQzYuMzY2NjcgMTAuNSA1LjMzMzMzIDEzLjAyMjIgNS4zMzMzMyAxNkM1LjMzMzMzIDE4Ljk3NzggNi4zNjY2NyAyMS41IDguNDMzMzMgMjMuNTY2N0MxMC41IDI1LjYzMzMgMTMuMDIyMiAyNi42NjY3IDE2IDI2LjY2NjdaJyBmaWxsPSdibGFjaycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2dyZXNzIEJhclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fcHJvZ3Jlc3Mge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogNXB4O1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19wcm9ncmVzc19fYmFyIHtcblx0aGVpZ2h0OiA1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJvdXNlbCBHYWxsZXJ5IChHYWxlcsOtYSBzaW1wbGUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBJbWFnZSBzaXppbmcgKi9cbi51ZGVjLWNhcm91c2VsIGZpZ3VyZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udWRlYy1jYXJvdXNlbCBmaWd1cmUgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJvdXNlbCBkZSBhbHRvIGNvbXBsZXRvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWRlYy1jYXJvdXNlbC0tZnVsbGhlaWdodCxcbi51ZGVjLWNhcm91c2VsLS1mdWxsaGVpZ2h0IC5zcGxpZGVfX3RyYWNrLFxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgLnNwbGlkZV9fbGlzdCxcbi51ZGVjLWNhcm91c2VsLS1mdWxsaGVpZ2h0IC5zcGxpZGVfX3NsaWRlLFxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgZmlndXJlLFxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgZmlndXJlIGltZyB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgZmlndXJlIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGVzdGltb255IFNsaWRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnkge1xuXHRtYXgtd2lkdGg6IDY3LjVyZW07XG5cdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDgpO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cdGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRyb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTE2KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcblx0LmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRcdGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNDgpO1xuXHRcdHJvdy1nYXA6IDA7XG5cdH1cbn1cblxuLyogVGVzdGltb255IE1lZGlhIChJbWFnZSB3aXRoIFF1b3RlIEljb24pICovXG4uY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX21lZGlhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRhc3BlY3QtcmF0aW86IDEvMTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS16LWluZGV4LTUwKTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuXHQuY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX21lZGlhIHtcblx0XHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAyMS4yNXJlbSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2NnB4KSB7XG5cdC5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fbWVkaWEge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdG1pbi1oZWlnaHQ6IDEycmVtICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyogUXVvdGUgSWNvbiAqL1xuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19tZWRpYTo6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB3aWR0aD0nOTInIGhlaWdodD0nODUnIHZpZXdCb3g9JzAgMCA5MiA4NScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3Qgd2lkdGg9JzkyJyBoZWlnaHQ9Jzg1JyBmaWxsPSclMjNDN0Q1RUQnLyUzRSUzQ3BhdGggZD0nTTUxLjA0MjUgNjVWNDYuNTIyNUM1MS4wNDI1IDMyLjI2MjUgNjAuMzcgMjIuNTk3NSA3My41IDIwTDc1Ljk4NzUgMjUuMzc3NUM2OS45MDc1IDI3LjY3IDY2IDM0LjQ3MjUgNjYgNDBINzZWNjVINTEuMDQyNVpNMTYgNjVWNDYuNTIyNUMxNiAzMi4yNjI1IDI1LjM3IDIyLjU5NzUgMzguNSAyMEw0MC45OSAyNS4zNzc1QzM0LjkwNzUgMjcuNjcgMzEgMzQuNDcyNSAzMSA0MEg0MC45NTc1VjY1SDE2WicgZmlsbD0nJTIzMjIzQzZBJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IGNhbGModmFyKC0tei1pbmRleC01MCkgKiAtMSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNS43NXJlbTtcblx0aGVpZ2h0OiA1LjMxM3JlbTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fbWVkaWEgZmlndXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fbWVkaWEgZmlndXJlIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRhc3BlY3QtcmF0aW86IDEvMTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4vKiBUZXN0aW1vbnkgQ29udGVudCAqL1xuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19jb250ZW50IHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRnYXA6IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY2cHgpIHtcblx0LmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19jb250ZW50IHtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLXJvdzogMjtcblx0XHRtYXgtd2lkdGg6IDMwcmVtO1xuXHR9XG59XG5cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fY29udGVudD5wIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNik7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4vKiBUZXN0aW1vbnkgQXV0aG9yICovXG4uY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX2F1dGhvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy00KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fYXV0aG9yIHAge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ib2R5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG59IiwiLyogTmF2aWdhdGlvbiBzaWRlICovXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RpdGxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNCk7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdGl0bGUgYSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RpdGxlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAwLjYyNXJlbTtcblx0aGVpZ2h0OiAwLjYyNXJlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdGZsZXg6IDAgMCAwLjYyNXJlbTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSBsaSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUgbGkgYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1kZWZhdWx0KTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IGxpIGE6aG92ZXIsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0+YSxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtYW5jZXN0b3I+YSB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGk+YTpob3Zlcixcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtaXRlbT5hLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1hbmNlc3Rvcj5hLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1pdGVtIGxpLmN1cnJlbnQtbWVudS1pdGVtPmEsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWl0ZW0gbGk+YTpob3Zlcixcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saTpoYXMobGkuY3VycmVudC1tZW51LWl0ZW0pIGxpLmN1cnJlbnQtbWVudS1pdGVtPmEsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGk6aGFzKGxpLmN1cnJlbnQtbWVudS1pdGVtKSBsaT5hOmhvdmVyIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSB1bCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtaXRlbTpoYXModWwpLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1hbmNlc3RvcjpoYXModWwpLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpOmhhcyhsaS5jdXJyZW50LW1lbnUtaXRlbSk6aGFzKHVsKSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jYXJkLXBhZGRpbmcpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tY2FyZC1wYWRkaW5nKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtaXRlbTpoYXModWwpIGxpPmEsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWFuY2VzdG9yOmhhcyh1bCkgbGk+YSxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saTpoYXMobGkuY3VycmVudC1tZW51LWl0ZW0pOmhhcyh1bCkgbGk+YSB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1pdGVtOmhhcyh1bCk+dWwsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWFuY2VzdG9yOmhhcyh1bCk+dWwsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGk6aGFzKGxpLmN1cnJlbnQtbWVudS1pdGVtKTpoYXModWwpPnVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nLTgpICsgM3B4KTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUgdWwgdWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IHVsIHVsIGxpIGE6bm90KC53cC1lbGVtZW50LWJ1dHRvbikge1xuXHRwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RvZ2dsZXItbW9iaWxlLW5hdiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MXB4KSB7XG5cdC51ZGVjLW5hdmlnYXRpb24tc2lkZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZm9ybXMtaW5wdXQtcGFkZGluZyk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWZvcm1zLWlucHV0LXBhZGRpbmcpO1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZm9ybXMtaW5wdXQtcGFkZGluZyk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLWRlZmF1bHQpO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoc3BhY2luZy00KTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlX190aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdG9nZ2xlci1tb2JpbGUtbmF2IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IHZhcigtLXNwYWNpbmctNDgpO1xuXHRcdHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlX190b2dnbGVyLW1vYmlsZS1uYXY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IHZhcigtLWljb24tc2l6ZS1tZWRpdW0pO1xuXHRcdGhlaWdodDogdmFyKC0taWNvbi1zaXplLW1lZGl1bSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTguMTkyMTQgOS42OTIyNUwxMS45OTk5IDEzLjVMMTUuODA3NiA5LjY5MjI1SDguMTkyMTRaJyBmaWxsPSclMjMyMjNDNkEnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0fVxuXG5cdC51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBlYXNlLW91dDtcblx0fVxuXG5cdC51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saTpmaXJzdC1vZi10eXBlIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0xMDApO1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlLS1tb2JpbGUtbmF2LWFjdGl2ZSAudWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RvZ2dsZXItbW9iaWxlLW5hdjo6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkIEJhc2VcbiAqXG4gKiBTaXN0ZW1hIGJhc2UgZGUgdGFyamV0YXMgY29uIGZsb3cgc3BhY2UgYXV0b23DoXRpY28uXG4gKiBUb2RhcyBsYXMgdGFyamV0YXMgZXh0aWVuZGVuIGRlIGVzdGEgY2xhc2UgYmFzZS5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLmNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuY2FyZCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdH1cbn1cblxuLyogRmxvdyBzcGFjZSBzeXN0ZW0gLSBlc3BhY2lhZG8gYXV0b23DoXRpY28gZW50cmUgZWxlbWVudG9zICovXG4uY2FyZD4qKyoge1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tZmxvdy1zcGFjZSwgMWVtKTtcbn1cblxuLyogSW1hZ2VuIGFsIGluaWNpbyBkZSBsYSBjYXJkICovXG4uY2FyZCA6aXMoLmNhcmRfX2ltYWdlICsgKikge1xuXHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctMzIpO1xufVxuXG4vKiBFc3BhY2lvIGRlc3B1w6lzIGRlIGhlYWRpbmdzICovXG4uY2FyZCA6aXMoaDIgKyAqLCBoMyArICosIGg0ICsgKikge1xuXHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctNCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkIDppcyhoMiArICosIGgzICsgKiwgaDQgKyAqKSB7XG5cdFx0LS1mbG93LXNwYWNlOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0fVxufVxuXG4vKiBJbWFnZW4gZGVzcHXDqXMgZGUgb3Ryb3MgZWxlbWVudG9zICovXG4uY2FyZCA6aXMoKiArIC5jYXJkX19pbWFnZSkge1xuXHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuY2FyZCA6aXMoKiArIC5jYXJkX19pbWFnZSkge1xuXHRcdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy0zMik7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG5cdC5jYXJkIDppcygqICsgLmNhcmRfX2ltYWdlKSB7XG5cdFx0LS1mbG93LXNwYWNlOiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0fVxufVxuXG4vKiBQw6FycmFmb3MgKi9cbi5jYXJkIHAge1xuXHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctNCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkIHAge1xuXHRcdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy0xMik7XG5cdH1cbn1cblxuLyogQWN0aW9ucyBzaWVtcHJlIGFsIGZpbmFsICovXG4uY2FyZCAuY2FyZF9fYWN0aW9ucyB7XG5cdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy0yNCk7XG5cdG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi8qIENhcmQgSW1hZ2UgKi9cbi5jYXJkX19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBDYXJkIENvbnRlbnQgKi9cbi5jYXJkX19jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLyogTGlua3MgZW4gaGVhZGluZ3MgKi9cbi5jYXJkIDppcyhoMiBhLCBoMyBhLCBoNCBhKSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmNhcmQgOmlzKGgyIGE6aG92ZXIsIGgzIGE6aG92ZXIsIGg0IGE6aG92ZXIpIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi8qIENhcmQgQWN0aW9ucyAqL1xuLmNhcmRfX2FjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZCBWYXJpYW50c1xuICpcbiAqIFZhcmlhbnRlcyBkZSB0YXJqZXRhczogc2ltcGxlLCBsaWdodCwgZGFya1xuICpcbiAqIERlcGVuZGVuY2lhczogY2FyZC1iYXNlLmNzcywgdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBDYXJkIFNpbXBsZSAtIGNvbiBob3ZlciBjb21wbGV0byB5IGxpbmsgZW52b2x2ZW50ZSAqL1xuLmNhcmQtc2ltcGxlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBQc2V1ZG8tZWxlbWVudG8gcGFyYSBoYWNlciB0b2RhIGxhIHRhcmpldGEgY2xpY2tlYWJsZSAqL1xuLmNhcmQtc2ltcGxlOmhhcyhhW2hyZWZdKSBhOjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDE7XG59XG5cbi5jYXJkLXNpbXBsZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MCk7XG59XG5cbi5jYXJkLXNpbXBsZTpob3ZlciAuYnV0dG9uLWljb25fX2ljb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudCk7XG59XG5cbi8qIENhcmQgTGlnaHQgLSB2YXJpYW50ZSBjbGFyYSAqL1xuLmNhcmQtbGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcbn1cblxuLmNhcmQtbGlnaHQ6aGFzKGE6Zm9jdXMpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcbn1cblxuLyogQ2FyZCBEYXJrIC0gdmFyaWFudGUgb3NjdXJhICovXG4uY2FyZC1kYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4uY2FyZC1kYXJrIGgyLFxuLmNhcmQtZGFyayBoMyxcbi5jYXJkLWRhcmsgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLmNhcmQtZGFyayBwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0xMDApO1xufVxuXG4uY2FyZC1kYXJrIDppcyhoMiBhLCBoMyBhLCBoNCBhKSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4uY2FyZC1kYXJrOmhhcyhhW2hyZWZdKTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4uY2FyZC1kYXJrIC5idXR0b24taWNvbl9faWNvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi5jYXJkLWRhcmsgLmJ1dHRvbi1pY29uX19pY29uIHN2ZyB7XG5cdGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZCBOZXdzXG4gKlxuICogVGFyamV0YSBlc3BlY8OtZmljYSBwYXJhIG5vdGljaWFzIGNvbiBpbWFnZW4sIGNhdGVnb3LDrWEgeSB0w610dWxvLlxuICpcbiAqIERlcGVuZGVuY2lhczogY2FyZC1iYXNlLmNzcywgY2F0ZWdvcnktdGFnLmNzcywgdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZC1uZXdzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uY2FyZC1uZXdzX19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jYXJkLW5ld3NfX2NvbnRlbnQge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNhcmQtbmV3c19fY29udGVudCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdH1cbn1cblxuLmNhcmQtbmV3c19fY2F0ZWdvcnkge1xuXHRvcmRlcjogLTE7XG59XG5cbi5jYXJkLW5ld3NfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuXHRtYXJnaW46IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkLW5ld3NfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuXHR9XG59XG5cbi5jYXJkLW5ld3NfX3RpdGxlIGEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmNhcmQtbmV3c19fdGl0bGUgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuXG4uY2FyZC1uZXdzX19leGNlcnB0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5jYXJkLW5ld3NfX2RhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS02MDApO1xufVxuXG4vKiBMaW5rIGVudm9sdmVudGUgcGFyYSB0b2RhIGxhIHRhcmpldGEgKi9cbi5jYXJkLW5ld3NfX2xpbmsge1xuXHRwb3NpdGlvbjogc3RhdGljO1xufVxuXG4uY2FyZC1uZXdzX19saW5rOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTtcbn1cblxuLyogSG92ZXIgZWZmZWN0ICovXG4uY2FyZC1uZXdzOmhvdmVyIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5jYXJkLW5ld3M6aG92ZXIgLmNhcmQtbmV3c19fdGl0bGUgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhcmQgVGVzdGltb255XG4gKlxuICogVGFyamV0YSBkZSB0ZXN0aW1vbmlvIGNvbiBpbWFnZW4geSBjb250ZW5pZG8uXG4gKiBJbmNsdXllIGRlY29yYWNpw7NuIGRlIGNvbWlsbGFzIGVuIGxhIGltYWdlbi5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3MsIGNhcmQtYmFzZS5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLmNhcmQtdGVzdGltb255IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBJbWFnZSBDb250YWluZXIgKi9cbi5jYXJkLXRlc3RpbW9ueSAud3AtYmxvY2staW1hZ2UsXG4uY2FyZC10ZXN0aW1vbnlfX2ltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEzLjEyNXJlbTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLXRlc3RpbW9ueSAud3AtYmxvY2staW1hZ2UgaW1nLFxuLmNhcmQtdGVzdGltb255X19pbWFnZSBpbWcge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0YXNwZWN0LXJhdGlvOiAxNi85O1xufVxuXG4vKiBRdW90ZSBkZWNvcmF0aW9uICovXG4uY2FyZC10ZXN0aW1vbnkgLndwLWJsb2NrLWltYWdlOjphZnRlcixcbi5jYXJkLXRlc3RpbW9ueV9faW1hZ2U6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlMEElM0Nzdmcgd2lkdGg9JzkyJyBoZWlnaHQ9Jzg1JyB2aWV3Qm94PScwIDAgOTIgODUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NyZWN0IHdpZHRoPSc5MicgaGVpZ2h0PSc4NScgZmlsbD0nJTIzQzdENUVEJy8lM0UlM0NwYXRoIGQ9J001MS4wNDI1IDY1VjQ2LjUyMjVDNTEuMDQyNSAzMi4yNjI1IDYwLjM3IDIyLjU5NzUgNzMuNSAyMEw3NS45ODc1IDI1LjM3NzVDNjkuOTA3NSAyNy42NyA2NiAzNC40NzI1IDY2IDQwSDc2VjY1SDUxLjA0MjVaTTE2IDY1VjQ2LjUyMjVDMTYgMzIuMjYyNSAyNS4zNyAyMi41OTc1IDM4LjUgMjBMNDAuOTkgMjUuMzc3NUMzNC45MDc1IDI3LjY3IDMxIDM0LjQ3MjUgMzEgNDBINDAuOTU3NVY2NUgxNlonIGZpbGw9JyUyMzIyM0M2QScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNS43NXJlbTtcblx0aGVpZ2h0OiA1LjMxM3JlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDb250ZW50ICovXG4uY2FyZC10ZXN0aW1vbnlfX2NvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLyogUXVvdGUgdGV4dCAqL1xuLmNhcmQtdGVzdGltb255X19jb250ZW50IHAge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBBdXRob3Igc2VjdGlvbiAqL1xuLmNhcmQtdGVzdGltb255X19hdXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuLmNhcmQtdGVzdGltb255X19hdXRvciBwIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXG5cdC5jYXJkLXRlc3RpbW9ueSAud3AtYmxvY2staW1hZ2UsXG5cdC5jYXJkLXRlc3RpbW9ueV9faW1hZ2Uge1xuXHRcdGhlaWdodDogMTQuMzc1cmVtO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cblx0LmNhcmQtdGVzdGltb255IC53cC1ibG9jay1pbWFnZSxcblx0LmNhcmQtdGVzdGltb255X19pbWFnZSB7XG5cdFx0aGVpZ2h0OiAxNS42MjVyZW07XG5cdH1cbn1cblxuLyogUGF0dGVybiB3cmFwcGVyICovXG4ucGF0dGVybi1jYXJkcy10ZXN0aW1vbmllc19fZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXRlc3RpbW9uaWVzIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNjApO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQucGF0dGVybi1jYXJkcy10ZXN0aW1vbmllc19fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXRlc3RpbW9uaWVzIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHR9XG5cblx0LnBhdHRlcm4tY2FyZHMtdGVzdGltb25pZXNfX2dyaWQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXRlc3RpbW9uaWVzX19ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRyb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZCBQZXJzb25cbiAqXG4gKiBUYXJqZXRhIGRlIHBlcnNvbmEgY29uIGF2YXRhciwgbm9tYnJlLCBkZXNjcmlwY2nDs24geSBkYXRvcyBkZSBjb250YWN0by5cbiAqIEluY2x1eWUgZnVuY2lvbmFsaWRhZCBkZSBjb3BpYXIgZW5sYWNlLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzcywgY2FyZC1iYXNlLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZC1wZXJzb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcbn1cblxuLyogTmFtZSBzZWN0aW9uIHdpdGggYXZhdGFyICovXG4uY2FyZC1wZXJzb24+LndwLWJsb2NrLWdyb3VwIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4vKiBBdmF0YXIgKi9cbi5jYXJkLXBlcnNvbiAud3AtYmxvY2staW1hZ2UsXG4uY2FyZC1wZXJzb25fX2F2YXRhciB7XG5cdGZsZXg6IDAgMCAzcmVtO1xuXHR3aWR0aDogM3JlbTtcblx0aGVpZ2h0OiAzcmVtO1xufVxuXG4uY2FyZC1wZXJzb24gLndwLWJsb2NrLWltYWdlIGltZyxcbi5jYXJkLXBlcnNvbl9fYXZhdGFyIGltZyB7XG5cdHdpZHRoOiAzcmVtO1xuXHRoZWlnaHQ6IDNyZW07XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG59XG5cbi8qIE5hbWUgKi9cbi5jYXJkLXBlcnNvbiAuaGFzLWJsdWUtNTAwLWNvbG9yIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi5jYXJkLXBlcnNvbj5wIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogQ29udGFjdCBzZWN0aW9uICovXG4uY2FyZF9fY29udGFjdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi5jYXJkX19jb250YWN0IHAge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xufVxuXG4uY2FyZF9fY29udGFjdCBhIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1kZWZhdWx0KTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jYXJkX19jb250YWN0IGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi8qIENhcmQgUGVyc29uIFJlY29yZCBWYXJpYW50ICovXG4uY2FyZC1wZXJzb24tLXJlY29yZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG59XG5cbi5jYXJkLXBlcnNvbi0tcmVjb3JkPi53cC1ibG9jay1idXR0b25zIHtcblx0bWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmNhcmQtcGVyc29uLS1yZWNvcmQgLmNhcmRfX2NvbnRhY3Qge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBDb3B5IExpbmsgRnVuY3Rpb25hbGl0eSAqL1xuLmNvcHktY29udGFjdC1saW5rIGEge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG59XG5cbi5jb3B5LWxpbmsge1xuXHRnYXA6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvcHktbGluayAud3AtYmxvY2stYnV0dG9ucyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uY29weS1saW5rX19jb250ZW50IGEge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG59XG5cbi8qIENvcHkgQnV0dG9uICovXG4uY29weS1saW5rLWJ0biB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jb3B5LWxpbmstYnRuOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgdmlld0JveD0nMCAwIDMyIDMyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAgMjIuNjY2N1Y0SDI0LjY2NjdWMjIuNjY2N0gxMFpNMTEuMzMzMyAyMS4zMzMzSDIzLjMzMzNWNS4zMzMzM0gxMS4zMzMzVjIxLjMzMzNaTTYgMjYuNjY2N1Y4LjgyMDY3SDcuMzMzMzNWMjUuMzMzM0gxOS44NDZWMjYuNjY2N0g2WicgZmlsbD0nJTIzMjIzQzZBJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuXHR3aWR0aDogMS4xMjVyZW07XG5cdGhlaWdodDogMS4xMjVyZW07XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb3B5LWxpbmstYnRuOmhvdmVyLFxuLmNvcHktbGluay1idG46Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG5cbi8qIENvcHkgZmVlZGJhY2sgdG9vbHRpcCAqL1xuLmNvcHktbGluay1idG4gc3BhbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMS44ZW07XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS05MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDEwO1xuXHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0b3BhY2l0eTogMC45NTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb3B5LWZlZWRiYWNrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDgwJTtcbn1cblxuLyogQ29waWVkIHN0YXRlICovXG4uY29waWVkIC5jb3B5LWxpbmtfX2NvbnRlbnQgYSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcblx0LmNhcmQtcGVyc29uIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuXHQuY2FyZC1wZXJzb24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHR9XG59XG5cbi8qIFBhdHRlcm4gd3JhcHBlciAqL1xuLnBhdHRlcm4tY2FyZHMtcGVyc29uc19fZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXBlcnNvbnMge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXBlcnNvbnNfX2dyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHQucGF0dGVybi1jYXJkcy1wZXJzb25zX19ncmlkIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucGF0dGVybi1jYXJkcy1wZXJzb25zIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXBlcnNvbnNfX2dyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkIEV2ZW50XG4gKlxuICogVGFyamV0YSBkZSBldmVudG8gY29uIGltYWdlbiwgY2F0ZWdvcsOtYSwgdMOtdHVsbywgZmVjaGEgeSBkYXRvcyBkZWwgZXZlbnRvLlxuICogSW5jbHV5ZSBlZmVjdG8gaG92ZXIgcXVlIGNhbWJpYSBlbCBjb2xvciBkZSBmb25kbyB5IHRleHRvLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzcywgY2FyZC1iYXNlLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZC1ldmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNDApO1xuXHRyb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEltYWdlICovXG4uY2FyZC1ldmVudCAud3AtYmxvY2staW1hZ2UsXG4uY2FyZC1ldmVudF9faW1hZ2Uge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtZXZlbnQgLndwLWJsb2NrLWltYWdlIGltZyxcbi5jYXJkLWV2ZW50X19pbWFnZSBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0YXNwZWN0LXJhdGlvOiAxNi85O1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogQ29udGVudCBzZWN0aW9uICovXG4uY2FyZC1ldmVudF9fY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdHBvc2l0aW9uOiBpbml0aWFsO1xufVxuXG4vKiBDYXRlZ29yeSB0YWcgLSB1c2VzIGV4aXN0aW5nIGNhdGVnb3J5LXRhZy5jc3MgKi9cblxuLyogVGl0bGUgKi9cbi5jYXJkLWV2ZW50IGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktODAwKTtcblx0bWFyZ2luOiAwO1xufVxuXG4uY2FyZC1ldmVudCBoMyBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS04MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIERhdGUgKi9cbi5jYXJkLWV2ZW50X19kYXRlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdG1hcmdpbjogMDtcbn1cblxuLmNhcmQtZXZlbnRfX2RhdGUgbWFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEV2ZW50IGRhdGEgKHRpbWUsIG1vZGUsIGxvY2F0aW9uKSAqL1xuLmNhcmQtZXZlbnRfX2RhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNCk7XG59XG5cbi5jYXJkLWV2ZW50X19kYXRhIC53cC1ibG9jay1ncm91cCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNCk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jYXJkLWV2ZW50X19kYXRhIC5pY29uLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxLjVyZW07XG5cdGhlaWdodDogMS41cmVtO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY2FyZC1ldmVudF9fZGF0YSBwIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBDbGlja2FibGUgY2FyZCB3aXRoIHBzZXVkby1lbGVtZW50ICovXG4uY2FyZC1ldmVudDpoYXMoYVtocmVmXSkgYTo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xufVxuXG4vKiBIb3ZlciBzdGF0ZSAqL1xuLmNhcmQtZXZlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcbn1cblxuLmNhcmQtZXZlbnQ6aG92ZXIgKiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4uY2FyZC1ldmVudDpob3ZlciAuY2FyZC1ldmVudF9fZGF0ZSBtYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi5jYXJkLWV2ZW50OmhvdmVyIC5pY29uLWNvbnRhaW5lciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4vKiBGb2N1cyBzdGF0ZSAqL1xuLmNhcmQtZXZlbnQ6aGFzKGE6Zm9jdXMpIHtcblx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xufVxuXG4uY2FyZC1ldmVudDpoYXMoYTpmb2N1cykgYSB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5jYXJkLWV2ZW50IHtcblx0XHRjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuY2FyZC1ldmVudCB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdFx0cm93LWdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0fVxuXG5cdC5jYXJkLWV2ZW50X19jb250ZW50PiorKiB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04KTtcblx0fVxuXG5cdC5jYXJkLWV2ZW50X19kYXRhIC5pY29uLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDEuMTI1cmVtO1xuXHRcdGhlaWdodDogMS4xMjVyZW07XG5cdH1cbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhcmQgRmFjdWx0eVxuICpcbiAqIFRhcmpldGEgZGUgZmFjdWx0YWQgY29uIGltYWdlbiBzdXBlcmlvciB5IGNvbnRlbmlkbyBlbGV2YWRvLlxuICogRWwgY29udGVuaWRvIHRpZW5lIG1hcmdlbiBuZWdhdGl2byBwYXJhIHN1cGVycG9uZXJzZSBhIGxhIGltYWdlbi5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3MsIGNhcmQtYmFzZS5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLmNhcmQtZmFjdWx0eSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEltYWdlICovXG4uY2FyZC1mYWN1bHR5IC53cC1ibG9jay1pbWFnZSxcbi5jYXJkLWZhY3VsdHlfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLWZhY3VsdHkgLndwLWJsb2NrLWltYWdlIGltZyxcbi5jYXJkLWZhY3VsdHlfX2ltYWdlIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRhc3BlY3QtcmF0aW86IDE2Lzk7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBDb250ZW50IC0gZWxldmF0ZWQgY2FyZCAqL1xuLmNhcmQtZmFjdWx0eV9fY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xNik7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZy00MCkgKiAtMSk7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHotaW5kZXg6IDE7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIFRpdGxlICovXG4uY2FyZC1mYWN1bHR5X19jb250ZW50IGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHRtYXJnaW46IDA7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2NvbnRlbnQgaDMgYSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBGYWN1bHR5IGRhdGEgKGNhbXB1cywgbG9jYXRpb24sIGxpbmspICovXG4uY2FyZC1mYWN1bHR5X19kYXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWNvbXBvbmVudC1nYXApO1xufVxuXG4uY2FyZC1mYWN1bHR5X19kYXRhIC53cC1ibG9jay1ncm91cCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctOCk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgLmljb24tY29udGFpbmVyIHtcblx0d2lkdGg6IDEuNXJlbTtcblx0aGVpZ2h0OiAxLjVyZW07XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY2FyZC1mYWN1bHR5X19kYXRhIC5oYXMtZ3JheS03MDAtY29sb3IgLmljb24tY29udGFpbmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xufVxuXG4uY2FyZC1mYWN1bHR5X19kYXRhIC5oYXMtYmx1ZS01MDAtY29sb3IgLmljb24tY29udGFpbmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4uY2FyZC1mYWN1bHR5X19kYXRhIHAge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xuXHRtYXJnaW46IDA7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgYSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNhcmQtZmFjdWx0eV9fZGF0YSBhOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xufVxuXG4vKiBIb3ZlciBzdGF0ZSAqL1xuLmNhcmQtZmFjdWx0eV9fY29udGVudDpoYXMoYVtocmVmXSkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2NvbnRlbnQ6aGFzKGFbaHJlZl06aG92ZXIpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcbn1cblxuLyogRm9jdXMgc3RhdGUgKi9cbi5jYXJkLWZhY3VsdHk6aGFzKGE6Zm9jdXMpIHtcblx0b3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xufVxuXG4uY2FyZC1mYWN1bHR5OmhhcyhhOmZvY3VzKSAuY2FyZC1mYWN1bHR5X19jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcbn1cblxuLmNhcmQtZmFjdWx0eTpoYXMoYTpmb2N1cykgYSB7XG5cdG91dGxpbmU6IG5vbmU7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBIZXJvXG4gKlxuICogU2VjY2lvbmVzIGhlcm8gY29uIGltYWdlbiBkZSBmb25kbywgdMOtdHVsbywgc2VwYXJhZG9yIHkgYm90b25lcy5cbiAqIE3Dumx0aXBsZXMgdmFyaWFudGVzOiBjZW50cmFkbywgaXpxdWllcmRhLCBkZXJlY2hhLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiBIZXJvIEJhc2UgKi9cbi5oZXJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiA0My43NXJlbTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04MCkgdmFyKC0tc3BhY2luZy0yNCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctODApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uaGVybyAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IHZhcigtLWNvbnRlbnQtd2lkdGgtbWF4KTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIEhlcm8gSGVhZGVyICovXG4uaGVyb19faGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGVyb19faGVhZGVyIGgxLFxuLmhlcm9fX2hlYWRlciBoMiB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaGVybyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi8qIEhlcm8gQnV0dG9ucyAqL1xuLmhlcm8gLndwLWJsb2NrLWJ1dHRvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcbn1cblxuLmhlcm8gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm8gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdH1cbn1cblxuLyogSGVybyBWYXJpYW50cyAqL1xuXG4vKiBIZXJvIExlZnQgLSBDb250ZW50IGFsaWduZWQgbGVmdCAqL1xuLmhlcm8tLWxlZnQgLmhlcm9fX2hlYWRlcixcbi5oZXJvLS1sZWZ0IC53cC1ibG9jay1idXR0b25zIHtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5oZXJvLS1sZWZ0IC5oZXJvX19oZWFkZXIge1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG59XG5cbi8qIEhlcm8gUmlnaHQgLSBDb250ZW50IGFsaWduZWQgcmlnaHQgKi9cbi5oZXJvLS1yaWdodCAuaGVyb19faGVhZGVyLFxuLmhlcm8tLXJpZ2h0IC53cC1ibG9jay1idXR0b25zIHtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm8tLXJpZ2h0IC5oZXJvX19oZWFkZXIge1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG59XG5cbi8qIEhlcm8gVGl0bGUgT25seSAqL1xuLmhlcm8tLXRpdGxlLW9ubHkge1xuXHRtaW4taGVpZ2h0OiAyNXJlbTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG59XG5cbi5oZXJvLS10aXRsZS1vbmx5IC5oZXJvX19oZWFkZXIgaDEsXG4uaGVyby0tdGl0bGUtb25seSAuaGVyb19faGVhZGVyIGgyIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtNHhsKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cblx0LmhvbWUgLm1haW4+Lmhlcm86bm90KDpmaXJzdC1vZi10eXBlKSxcblx0Lm1haW4gLmVudHJ5LWNvbnRlbnQgLmhlcm8ge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm8ge1xuXHRcdG1pbi1oZWlnaHQ6IDM0LjM3NXJlbTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHR9XG5cblx0LmhvbWUgLm1haW4+Lmhlcm86bm90KDpmaXJzdC1vZi10eXBlKSxcblx0Lm1haW4gLmVudHJ5LWNvbnRlbnQgLmhlcm8ge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0bWluLWhlaWdodDogMzQuMzc1cmVtO1xuXHR9XG5cblx0Lmhlcm9fX2hlYWRlciBoMSxcblx0Lmhlcm9fX2hlYWRlciBoMiB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtNHhsKTtcblx0fVxuXG5cdC5oZXJvLS1sZWZ0IC5oZXJvX19oZWFkZXIsXG5cdC5oZXJvLS1yaWdodCAuaGVyb19faGVhZGVyIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogT3ZlcnJpZGUgbWFyZ2lucyB3aGVuIGV4cGxpY2l0bHkgc2V0IHRvIDAgKi9cbi5oZXJvW3N0eWxlKj1cIm1hcmdpbi10b3A6MFwiXSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQuaGVyb1tzdHlsZSo9XCJtYXJnaW4tdG9wOjBcIl0ge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm9bc3R5bGUqPVwibWFyZ2luLXRvcDowXCJdIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi5oZXJvW3N0eWxlKj1cIm1hcmdpbi1ib3R0b206MFwiXSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQuaGVyb1tzdHlsZSo9XCJtYXJnaW4tYm90dG9tOjBcIl0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm9bc3R5bGUqPVwibWFyZ2luLWJvdHRvbTowXCJdIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59IiwiLypcbiAqIFV0aWxpZGFkZXMgZGUgZXNwYWNpYWRvIChtYXJnaW4gLyBwYWRkaW5nKVxuICogQ2xhc2VzIGVuIGZvcm1hdG8gdGlwbyBCb290c3RyYXA6IG0tLCBtdC0sIG1iLSwgbWwtLCBtci0sIG14LSwgbXktXG4gKiB5IHAtLCBwdC0sIHBiLSwgcGwtLCBwci0sIHB4LSwgcHktXG4gKiBWYWxvcmVzIHVzYW4gbGFzIHZhcmlhYmxlcyBDU1MgZGVmaW5pZGFzIGVuIHRva2Vucy9mcm9tLWZpZ21hLmNzc1xuICovXG5cbjpyb290IHtcblx0LyogYXNlZ3VyYW1vcyBxdWUgbGFzIHZhcmlhYmxlcyBleGlzdGVuIChmYWxsYmFjayBhIDApICovXG59XG5cbi8qIExpc3RhIGRlIHRva2VucyBzb3BvcnRhZG9zOiAwLDQsOCwxMiwxNiwyMCwyNCwyOCwzMiwzNiw0MCw0NCw0OCw2MCw2NCw4MCwxMDAsMTYwICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIE1BUkdJTiAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm0tMCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ubXQtMCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLm1iLTAge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5tbC0wIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLm1yLTAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLm14LTAge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5teS0wIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ubS00IHtcblx0bWFyZ2luOiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5tdC00IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ubWItNCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNClcbn1cblxuLm1sLTQge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ubXItNCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ubXgtNCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNClcbn1cblxuLm15LTQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5tLTgge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctOClcbn1cblxuLm10LTgge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5tYi04IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ubWwtOCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5tci04IHtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5teC04IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ubXktOCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOClcbn1cblxuLm0tMTIge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5tdC0xMiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5tYi0xMiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5tbC0xMiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ubXItMTIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5teC0xMiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ubXktMTIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLm0tMTYge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5tdC0xNiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5tYi0xNiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5tbC0xNiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ubXItMTYge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5teC0xNiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ubXktMTYge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLm0tMjAge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5tdC0yMCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5tYi0yMCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5tbC0yMCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ubXItMjAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5teC0yMCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ubXktMjAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLm0tMjQge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5tdC0yNCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5tYi0yNCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5tbC0yNCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ubXItMjQge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5teC0yNCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ubXktMjQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLm0tMjgge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5tdC0yOCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5tYi0yOCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5tbC0yOCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ubXItMjgge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5teC0yOCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI4KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ubXktMjgge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTI4KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLm0tMzIge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5tdC0zMiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5tYi0zMiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5tbC0zMiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ubXItMzIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5teC0zMiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ubXktMzIge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLm0tMzYge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5tdC0zNiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5tYi0zNiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5tbC0zNiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ubXItMzYge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5teC0zNiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTM2KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ubXktMzYge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTM2KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLm0tNDAge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5tdC00MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5tYi00MCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5tbC00MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ubXItNDAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5teC00MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ubXktNDAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLm0tNDQge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5tdC00NCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5tYi00NCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5tbC00NCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ubXItNDQge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5teC00NCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ubXktNDQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLm0tNDgge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5tdC00OCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5tYi00OCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5tbC00OCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ubXItNDgge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5teC00OCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ubXktNDgge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLm0tNjAge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5tdC02MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5tYi02MCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5tbC02MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ubXItNjAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5teC02MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ubXktNjAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLm0tNjQge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5tdC02NCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5tYi02NCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5tbC02NCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ubXItNjQge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5teC02NCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTY0KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ubXktNjQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTY0KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLm0tODAge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5tdC04MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5tYi04MCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5tbC04MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ubXItODAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5teC04MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ubXktODAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLm0tMTAwIHtcblx0bWFyZ2luOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLm10LTEwMCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ubWItMTAwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5tbC0xMDAge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5tci0xMDAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ubXgtMTAwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTAwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLm15LTEwMCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTAwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5tLTE2MCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5tdC0xNjAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLm1iLTE2MCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4ubWwtMTYwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4ubXItMTYwIHtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLm14LTE2MCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTE2MCk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5teS0xNjAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2MCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBQQURESU5HIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucC0wIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ucHQtMCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5wYi0wIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnBsLTAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnByLTAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5weC0wIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5weS0wIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMCwgMCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5wLTQge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5wdC00IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNClcbn1cblxuLnBiLTQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucGwtNCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucHItNCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNClcbn1cblxuLnB4LTQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNClcbn1cblxuLnB5LTQge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNClcbn1cblxuLnAtOCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOClcbn1cblxuLnB0LTgge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ucGItOCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5wbC04IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5wci04IHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ucHgtOCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04KTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ucHktOCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ucC0xMiB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5wdC0xMiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucGItMTIge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLnBsLTEyIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucHItMTIge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucHgtMTIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucHktMTIge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucC0xNiB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5wdC0xNiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucGItMTYge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLnBsLTE2IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucHItMTYge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucHgtMTYge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucHktMTYge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucC0yMCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5wdC0yMCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucGItMjAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLnBsLTIwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucHItMjAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucHgtMjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucHktMjAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yMCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucC0yNCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5wdC0yNCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucGItMjQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLnBsLTI0IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucHItMjQge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucHgtMjQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucHktMjQge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucC0yOCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5wdC0yOCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucGItMjgge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLnBsLTI4IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucHItMjgge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucHgtMjgge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjgpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucHktMjgge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yOCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucC0zMiB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5wdC0zMiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucGItMzIge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLnBsLTMyIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucHItMzIge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucHgtMzIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucHktMzIge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zMik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucC0zNiB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5wdC0zNiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucGItMzYge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLnBsLTM2IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucHItMzYge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucHgtMzYge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMzYpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucHktMzYge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zNik7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucC00MCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5wdC00MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucGItNDAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLnBsLTQwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucHItNDAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucHgtNDAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucHktNDAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucC00NCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5wdC00NCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucGItNDQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLnBsLTQ0IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucHItNDQge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucHgtNDQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDQpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucHktNDQge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00NCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucC00OCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5wdC00OCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucGItNDgge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLnBsLTQ4IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucHItNDgge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucHgtNDgge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDgpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucHktNDgge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00OCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucC02MCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5wdC02MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucGItNjAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLnBsLTYwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucHItNjAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucHgtNjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNjApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucHktNjAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucC02NCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5wdC02NCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucGItNjQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLnBsLTY0IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucHItNjQge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucHgtNjQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNjQpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucHktNjQge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02NCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucC04MCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5wdC04MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucGItODAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLnBsLTgwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucHItODAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucHgtODAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctODApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucHktODAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucC0xMDAge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnB0LTEwMCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnBiLTEwMCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnBsLTEwMCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5wci0xMDAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnB4LTEwMCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xMDApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnB5LTEwMCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEwMCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnAtMTYwIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5wdC0xNjAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5wYi0xNjAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5wbC0xNjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4ucHItMTYwIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5weC0xNjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYwKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5weS0xNjAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xNjApO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNjApXG59IiwiLyogQWxpbmVhY2nDs24gZGUgdGV4dG8gKi9cbi50ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8qIEZsb3cgLSBFc3BhY2lhZG8gYXV0b23DoXRpY28gZW50cmUgZWxlbWVudG9zIGhpam9zICovXG4uZmxvdz4qKyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1mbG93LXNwYWNlLCAxZW0pO1xufVxuXG4vKiBGbG93IGNvbiBkaWZlcmVudGVzIGVzcGFjaWFkb3MgcHJlZGVmaW5pZG9zICovXG4uZmxvdy14cz4qKyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpO1xufVxuXG4uZmxvdy1zPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4uZmxvdy1tPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG4uZmxvdy1sPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG4uZmxvdy14bD4qKyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcbn1cblxuLmZsb3ctMnhsPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDgpO1xufVxuXG4vKiBDb250ZW50IHdyYXBwZXIgY29uIGZsb3cgYXV0b23DoXRpY28geSB3aWR0aCDDs3B0aW1vICovXG4uY29udGVudC1mbG93IHtcblx0bWF4LXdpZHRoOiA0My43NXJlbTtcblx0LyogNzAwcHggLSBhbmNobyDDs3B0aW1vIGRlIGxlY3R1cmEgKi9cbn1cblxuLmNvbnRlbnQtZmxvdz4qKyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1mbG93LXNwYWNlLCAxLjVyZW0pO1xufVxuXG4vKiBGbG93IHNwYWNlIGVzcGVjw61maWNvIGRlc3B1w6lzIGRlIGhlYWRpbmdzICovXG4uZmxvdz5oMSsqLFxuLmZsb3c+aDIrKixcbi5mbG93PmgzKyosXG4uZmxvdz5oNCsqLFxuLmZsb3c+aDUrKixcbi5mbG93Pmg2Kyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcbn1cblxuLmZsb3c+cCtwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi5mbG93PnVsKyosXG4uZmxvdz5vbCsqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbi5mbG93PmJsb2NrcXVvdGUrKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xufVxuIiwiLyogU2lzdGVtYSBkZSBmaWxhcyB5IGNvbHVtbmFzICovXG46cm9vdCB7XG5cdC0tZ3JpZC1ndXR0ZXI6IHZhcigtLXNwYWNpbmctMTYpO1xuXHQtLWdyaWQtY29sdW1uczogMTI7XG59XG5cbi8qIC5jb250YWluZXI6aGFzKD4ucm93KSB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtZ3V0dGVyKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWd1dHRlcik7XG59ICovXG5cbi5yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLWdyaWQtZ3V0dGVyKSk7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tZ3JpZC1ndXR0ZXIpKTtcbn1cblxuLyogQ29sdW1uYXMgYmFzZSAqL1xuLmNvbCxcbi5jb2wtMSxcbi5jb2wtMixcbi5jb2wtMyxcbi5jb2wtNCxcbi5jb2wtNSxcbi5jb2wtNixcbi5jb2wtNyxcbi5jb2wtOCxcbi5jb2wtOSxcbi5jb2wtMTAsXG4uY29sLTExLFxuLmNvbC0xMiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtZ3V0dGVyKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWd1dHRlcik7XG59XG5cbi8qIENvbHVtbmFzIGRlIGFuY2hvIGZpam8gKi9cbi5jb2wtMSB7XG5cdGZsZXg6IDAgMCA4LjMzMzMzMyU7XG5cdG1heC13aWR0aDogOC4zMzMzMzMlO1xufVxuXG4uY29sLTIge1xuXHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0bWF4LXdpZHRoOiAxNi42NjY2NjclO1xufVxuXG4uY29sLTMge1xuXHRmbGV4OiAwIDAgMjUlO1xuXHRtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmNvbC00IHtcblx0ZmxleDogMCAwIDMzLjMzMzMzMyU7XG5cdG1heC13aWR0aDogMzMuMzMzMzMzJTtcbn1cblxuLmNvbC01IHtcblx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdG1heC13aWR0aDogNDEuNjY2NjY3JTtcbn1cblxuLmNvbC02IHtcblx0ZmxleDogMCAwIDUwJTtcblx0bWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jb2wtNyB7XG5cdGZsZXg6IDAgMCA1OC4zMzMzMzMlO1xuXHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG59XG5cbi5jb2wtOCB7XG5cdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG59XG5cbi5jb2wtOSB7XG5cdGZsZXg6IDAgMCA3NSU7XG5cdG1heC13aWR0aDogNzUlO1xufVxuXG4uY29sLTEwIHtcblx0ZmxleDogMCAwIDgzLjMzMzMzMyU7XG5cdG1heC13aWR0aDogODMuMzMzMzMzJTtcbn1cblxuLmNvbC0xMSB7XG5cdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG59XG5cbi5jb2wtMTIge1xuXHRmbGV4OiAwIDAgMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb2x1bW5hcyBhdXRvbcOhdGljYXMgKi9cbi5jb2wge1xuXHRmbGV4LWJhc2lzOiAwO1xuXHRmbGV4LWdyb3c6IDE7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogQ29sdW1uYXMgcmVzcG9uc2l2ZSAtIEV4dHJhIHNtYWxsIChwb3IgZGVmZWN0bykgKi9cbi5jb2wteHMtMSB7XG5cdGZsZXg6IDAgMCA4LjMzMzMzMyU7XG5cdG1heC13aWR0aDogOC4zMzMzMzMlO1xufVxuXG4uY29sLXhzLTIge1xuXHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0bWF4LXdpZHRoOiAxNi42NjY2NjclO1xufVxuXG4uY29sLXhzLTMge1xuXHRmbGV4OiAwIDAgMjUlO1xuXHRtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmNvbC14cy00IHtcblx0ZmxleDogMCAwIDMzLjMzMzMzMyU7XG5cdG1heC13aWR0aDogMzMuMzMzMzMzJTtcbn1cblxuLmNvbC14cy01IHtcblx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdG1heC13aWR0aDogNDEuNjY2NjY3JTtcbn1cblxuLmNvbC14cy02IHtcblx0ZmxleDogMCAwIDUwJTtcblx0bWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jb2wteHMtNyB7XG5cdGZsZXg6IDAgMCA1OC4zMzMzMzMlO1xuXHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG59XG5cbi5jb2wteHMtOCB7XG5cdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG59XG5cbi5jb2wteHMtOSB7XG5cdGZsZXg6IDAgMCA3NSU7XG5cdG1heC13aWR0aDogNzUlO1xufVxuXG4uY29sLXhzLTEwIHtcblx0ZmxleDogMCAwIDgzLjMzMzMzMyU7XG5cdG1heC13aWR0aDogODMuMzMzMzMzJTtcbn1cblxuLmNvbC14cy0xMSB7XG5cdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG59XG5cbi5jb2wteHMtMTIge1xuXHRmbGV4OiAwIDAgMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb2x1bW5hcyByZXNwb25zaXZlIC0gU21hbGwgKOKJpTU3NnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG5cdC5jb2wtc20tMSB7XG5cdFx0ZmxleDogMCAwIDguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDguMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtc20tMiB7XG5cdFx0ZmxleDogMCAwIDE2LjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiAxNi42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1zbS0zIHtcblx0XHRmbGV4OiAwIDAgMjUlO1xuXHRcdG1heC13aWR0aDogMjUlO1xuXHR9XG5cblx0LmNvbC1zbS00IHtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXNtLTUge1xuXHRcdGZsZXg6IDAgMCA0MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNDEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtc20tNiB7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG5cdC5jb2wtc20tNyB7XG5cdFx0ZmxleDogMCAwIDU4LjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1zbS04IHtcblx0XHRmbGV4OiAwIDAgNjYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXNtLTkge1xuXHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cblxuXHQuY29sLXNtLTEwIHtcblx0XHRmbGV4OiAwIDAgODMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXNtLTExIHtcblx0XHRmbGV4OiAwIDAgOTEuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXNtLTEyIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogQ29sdW1uYXMgcmVzcG9uc2l2ZSAtIE1lZGl1bSAo4omlNzY4cHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNvbC1tZC0xIHtcblx0XHRmbGV4OiAwIDAgOC4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogOC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1tZC0yIHtcblx0XHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLW1kLTMge1xuXHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH1cblxuXHQuY29sLW1kLTQge1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbWQtNSB7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1tZC02IHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cblx0LmNvbC1tZC03IHtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLW1kLTgge1xuXHRcdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNjYuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbWQtOSB7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxuXG5cdC5jb2wtbWQtMTAge1xuXHRcdGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogODMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbWQtMTEge1xuXHRcdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogOTEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbWQtMTIge1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBDb2x1bW5hcyByZXNwb25zaXZlIC0gTGFyZ2UgKOKJpTk5MnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cdC5jb2wtbGctMSB7XG5cdFx0ZmxleDogMCAwIDguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDguMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbGctMiB7XG5cdFx0ZmxleDogMCAwIDE2LjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiAxNi42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1sZy0zIHtcblx0XHRmbGV4OiAwIDAgMjUlO1xuXHRcdG1heC13aWR0aDogMjUlO1xuXHR9XG5cblx0LmNvbC1sZy00IHtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLWxnLTUge1xuXHRcdGZsZXg6IDAgMCA0MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNDEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbGctNiB7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG5cdC5jb2wtbGctNyB7XG5cdFx0ZmxleDogMCAwIDU4LjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1sZy04IHtcblx0XHRmbGV4OiAwIDAgNjYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLWxnLTkge1xuXHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cblxuXHQuY29sLWxnLTEwIHtcblx0XHRmbGV4OiAwIDAgODMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLWxnLTExIHtcblx0XHRmbGV4OiAwIDAgOTEuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLWxnLTEyIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogQ29sdW1uYXMgcmVzcG9uc2l2ZSAtIEV4dHJhIExhcmdlICjiiaUxMjAwcHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG5cdC5jb2wteGwtMSB7XG5cdFx0ZmxleDogMCAwIDguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDguMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wteGwtMiB7XG5cdFx0ZmxleDogMCAwIDE2LjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiAxNi42NjY2NjclO1xuXHR9XG5cblx0LmNvbC14bC0zIHtcblx0XHRmbGV4OiAwIDAgMjUlO1xuXHRcdG1heC13aWR0aDogMjUlO1xuXHR9XG5cblx0LmNvbC14bC00IHtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXhsLTUge1xuXHRcdGZsZXg6IDAgMCA0MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNDEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wteGwtNiB7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG5cdC5jb2wteGwtNyB7XG5cdFx0ZmxleDogMCAwIDU4LjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC14bC04IHtcblx0XHRmbGV4OiAwIDAgNjYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXhsLTkge1xuXHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cblxuXHQuY29sLXhsLTEwIHtcblx0XHRmbGV4OiAwIDAgODMuMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXhsLTExIHtcblx0XHRmbGV4OiAwIDAgOTEuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXhsLTEyIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn0iLCIvKiBHcmlkIHV0aWxpdGllcyAqL1xuLmdyaWQtMiB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbi5ncmlkLTMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG4uZ3JpZC00IHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuXHQuZ3JpZC0yLFxuXHQuZ3JpZC0zLFxuXHQuZ3JpZC00IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXG5cdC5ncmlkLTMsXG5cdC5ncmlkLTQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn0iLCIvKiBGbGV4IHV0aWxpdGllcyAqL1xuLmZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZsZXgtYmV0d2VlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnBsYWNlLWNlbnRlciB7XG5cdHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogR2FwICovXG4uZ2FwLTAge1xuXHRnYXA6IDA7XG59XG5cbi5nYXAtMTYge1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG4uZ2FwLTMyIHtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTMyKTtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIFdvcmRQcmVzcyBVdGlsaXRpZXNcbiAqXG4gKiBDbGFzZXMgdXRpbGl0YXJpYXMgZ2VuZXJhZGFzIGF1dG9tw6F0aWNhbWVudGUgcG9yIFdvcmRQcmVzcyBkZXNkZSB0aGVtZS5qc29uLlxuICogRXN0YXMgY2xhc2VzIHJlcGxpY2FuIGVsIGNvbXBvcnRhbWllbnRvIGRlbCBlZGl0b3IgZGUgYmxvcXVlcyBkZSBXb3JkUHJlc3NcbiAqIHBhcmEgbWFudGVuZXIgY29tcGF0aWJpbGlkYWQgdG90YWwgZW50cmUgZWwgQ01TIHkgbGEgbGlicmVyw61hIGVzdMOhdGljYS5cbiAqXG4gKiBCYXNhZG8gZW46XG4gKiAtIHNldHRpbmdzLmNvbG9yLnBhbGV0dGUgLT4gaGFzLXtzbHVnfS1iYWNrZ3JvdW5kLWNvbG9yLCBoYXMte3NsdWd9LWNvbG9yXG4gKiAtIHNldHRpbmdzLnR5cG9ncmFwaHkuZm9udFNpemVzIC0+IGhhcy17c2x1Z30tZm9udC1zaXplXG4gKiAtIHNldHRpbmdzLnNwYWNpbmcuc3BhY2luZ1NpemVzIC0+IFZhcmlhYmxlcyAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXtzbHVnfVxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZCBDb2xvcnMgLSBoYXMte3NsdWd9LWJhY2tncm91bmQtY29sb3JcbiAgIERlc2RlIHNldHRpbmdzLmNvbG9yLnBhbGV0dGUgZW4gdGhlbWUuanNvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUHJpbWFyeSBCbHVlICovXG4uaGFzLWJsdWUtNTAtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTEwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTMwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTMwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTUwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTcwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTkwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCkgIWltcG9ydGFudDtcbn1cblxuLyogTmV1dHJhbCBHcmF5ICovXG4uaGFzLWdyYXktNTAtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ncmF5LTQwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTQwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ncmF5LTcwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ncmF5LTgwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCkgIWltcG9ydGFudDtcbn1cblxuLyogUHJpbWFyeSBZZWxsb3cgKi9cbi5oYXMteWVsbG93LTMwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXllbGxvdy01MDAtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCkgIWltcG9ydGFudDtcbn1cblxuLyogV2hpdGUgKi9cbi5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCkgIWltcG9ydGFudDtcbn1cblxuLyogQ2F0ZWdvcnkgQ29sb3JzICovXG4uaGFzLWNhdGVnb3J5LWN1bHR1cmUtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWN1bHR1cmUpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktaGVhbHRoLWVudmlyb25tZW50LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1oZWFsdGgtZW52aXJvbm1lbnQpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktc2NpZW5jZS10ZWNobm9sb2d5LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1zY2llbmNlLXRlY2hub2xvZ3kpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktaHVtYW5pdGllcy1zb2NpZXR5LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1odW1hbml0aWVzLXNvY2lldHkpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktdW5pdmVyc2l0eS1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktdW5pdmVyc2l0eSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1zcG9ydC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktc3BvcnQpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllcy1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllcykgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgQ29sb3JzIC0gaGFzLXtzbHVnfS1jb2xvclxuICAgRGVzZGUgc2V0dGluZ3MuY29sb3IucGFsZXR0ZSBlbiB0aGVtZS5qc29uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQcmltYXJ5IEJsdWUgKi9cbi5oYXMtYmx1ZS01MC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtYmx1ZS0xMDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTMwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtNTAwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtYmx1ZS03MDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTkwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKSAhaW1wb3J0YW50O1xufVxuXG4vKiBOZXV0cmFsIEdyYXkgKi9cbi5oYXMtZ3JheS01MC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtZ3JheS00MDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTQwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ncmF5LTcwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdyYXktODAwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS04MDApICFpbXBvcnRhbnQ7XG59XG5cbi8qIFByaW1hcnkgWWVsbG93ICovXG4uaGFzLXllbGxvdy0zMDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXllbGxvdy01MDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKSAhaW1wb3J0YW50O1xufVxuXG4vKiBXaGl0ZSAqL1xuLmhhcy13aGl0ZS1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApICFpbXBvcnRhbnQ7XG59XG5cbi8qIENhdGVnb3J5IENvbG9ycyAqL1xuLmhhcy1jYXRlZ29yeS1jdWx0dXJlLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWN1bHR1cmUpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktaGVhbHRoLWVudmlyb25tZW50LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWhlYWx0aC1lbnZpcm9ubWVudCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1zY2llbmNlLXRlY2hub2xvZ3ktY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktc2NpZW5jZS10ZWNobm9sb2d5KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWNhdGVnb3J5LWh1bWFuaXRpZXMtc29jaWV0eS1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1odW1hbml0aWVzLXNvY2lldHkpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktdW5pdmVyc2l0eS1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS11bml2ZXJzaXR5KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWNhdGVnb3J5LXNwb3J0LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXNwb3J0KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWNhdGVnb3J5LWFjYWRlbWljLWFjdGl2aXRpZXMtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllcykgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQgU2l6ZXMgLSBoYXMte3NsdWd9LWZvbnQtc2l6ZVxuICAgRGVzZGUgc2V0dGluZ3MudHlwb2dyYXBoeS5mb250U2l6ZXMgZW4gdGhlbWUuanNvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhhcy1oZXJvLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWhlcm8pICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtNC14bC1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS00eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtMy14bC1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeGwpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtMi14bC1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMteGwtZm9udC1zaXplIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtbC1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJhc2UtZm9udC1zaXplIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1tLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtcy1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXhzLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV29yZFByZXNzIFNwYWNpbmcgVmFyaWFibGVzXG4gICBEZXNkZSBzZXR0aW5ncy5zcGFjaW5nLnNwYWNpbmdTaXplcyBlbiB0aGVtZS5qc29uXG4gICBFc3RhcyB2YXJpYWJsZXMgc2UgdXNhbiBjb24gaW5saW5lIHN0eWxlcyBlbiBXb3JkUHJlc3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0wOiB2YXIoLS1zcGFjaW5nLTApO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTQ6IHZhcigtLXNwYWNpbmctNCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tODogdmFyKC0tc3BhY2luZy04KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xMjogdmFyKC0tc3BhY2luZy0xMik7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMTY6IHZhcigtLXNwYWNpbmctMTYpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yNDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMjg6IHZhcigtLXNwYWNpbmctMjgpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTMyOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zNjogdmFyKC0tc3BhY2luZy0zNik7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IHZhcigtLXNwYWNpbmctNDApO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTQ0OiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS00ODogdmFyKC0tc3BhY2luZy00OCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tNjA6IHZhcigtLXNwYWNpbmctNjApO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTY0OiB2YXIoLS1zcGFjaW5nLTY0KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS04MDogdmFyKC0tc3BhY2luZy04MCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMTAwOiB2YXIoLS1zcGFjaW5nLTEwMCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMTYwOiB2YXIoLS1zcGFjaW5nLTE2MCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb3JkUHJlc3MgRm9udCBGYW1pbHkgVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXBvcHBpbnM6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1yb2JvdG86IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV29yZFByZXNzIEZvbnQgU2l6ZSBWYXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlcm86IHZhcigtLWZvbnQtc2l6ZS1oZXJvKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLTQteGw6IHZhcigtLWZvbnQtc2l6ZS00eGwpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tMy14bDogdmFyKC0tZm9udC1zaXplLTN4bCk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS0yLXhsOiB2YXIoLS1mb250LXNpemUtMnhsKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXhsOiB2YXIoLS1mb250LXNpemUteGwpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbDogdmFyKC0tZm9udC1zaXplLWwpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tYmFzZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tczogdmFyKC0tZm9udC1zaXplLXMpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teHM6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgQ2xhc3Nlc1xuICAgQ2xhc2VzIGF1eGlsaWFyZXMgZ2VuZXJhZGFzIHBvciBXb3JkUHJlc3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oYXMtdGV4dC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtYmFja2dyb3VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3VyZmFjZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1saW5rLWNvbG9yIGEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1kZWZhdWx0KSAhaW1wb3J0YW50O1xufVxuXG4vKiBUZXh0IEFsaWdubWVudCAqL1xuLmhhcy10ZXh0LWFsaWduLWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtdGV4dC1hbGlnbi1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmhhcy10ZXh0LWFsaWduLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdvcmRQcmVzcyBDdXN0b20gUHJvcGVydGllc1xuICAgUHJvcGllZGFkZXMgcGVyc29uYWxpemFkYXMgdXNhZGFzIGVuIHRoZW1lLmpzb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcblx0LS13cC0tY3VzdG9tLS1zcGFjaW5nLS1jb21wb25lbnQtZ2FwOiB2YXIoLS1zcGFjaW5nLWNvbXBvbmVudC1nYXApO1xuXHQtLXdwLS1jdXN0b20tLXNwYWNpbmctLWNvbnRhaW5lci1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0LS13cC0tY3VzdG9tLS1zcGFjaW5nLS1zZWN0aW9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctc2VjdGlvbi1wYWRkaW5nKTtcbn0iLCIvKiBDb2xvcmVzIGRlIHRleHRvcyAqL1xuLnRleHQtbmV1dHJhbC1ncmF5LTEwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMTAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTIwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTMwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMzAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTQwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNDAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTUwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtZ3JheS01MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwMCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtZ3JheS02MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTYwMCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtZ3JheS03MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtZ3JheS04MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtZ3JheS05MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTkwMCk7XG59XG5cbi50ZXh0LW5ldXRyYWwtd2hpdGUtMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtMTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0xMDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtMjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0yMDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtMzAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0zMDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtNDAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS00MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtNTAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1ibHVlLTUwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1ibHVlLTYwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNjAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1ibHVlLTcwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1ibHVlLTgwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtODAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS1ibHVlLTkwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctMTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTEwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTIwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0yMDApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy0zMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctNDAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTQwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTUwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctNTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTYwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy02MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy03MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNzAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctODAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTgwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTkwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy05MDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTEwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTEwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtMjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtMjAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC0zMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC0zMDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTQwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTQwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtNTAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC01MCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtNTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNTAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC02MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC02MDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTcwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTcwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtODAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtODAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC05MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC05MDApO1xufVxuXG4vKiBDb2xvcmVzIGRlIGZvbmRvcyAqL1xuLmJnLW5ldXRyYWwtZ3JheS0xMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMTAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS0yMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS0zMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMzAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS00MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNDAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS01MCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG59XG5cbi5iZy1uZXV0cmFsLWdyYXktNTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwMCk7XG59XG5cbi5iZy1uZXV0cmFsLWdyYXktNjAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTYwMCk7XG59XG5cbi5iZy1uZXV0cmFsLWdyYXktNzAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG59XG5cbi5iZy1uZXV0cmFsLWdyYXktODAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCk7XG59XG5cbi5iZy1uZXV0cmFsLWdyYXktOTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTkwMCk7XG59XG5cbi5iZy1uZXV0cmFsLXdoaXRlLTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTEwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0xMDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTIwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0yMDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTMwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0zMDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTQwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS00MDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTUwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcbn1cblxuLmJnLXByaW1hcnktYmx1ZS01MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLmJnLXByaW1hcnktYmx1ZS02MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNjAwKTtcbn1cblxuLmJnLXByaW1hcnktYmx1ZS03MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcbn1cblxuLmJnLXByaW1hcnktYmx1ZS04MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtODAwKTtcbn1cblxuLmJnLXByaW1hcnktYmx1ZS05MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTEwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTEwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy0yMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0yMDApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctMzAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMzAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTQwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTQwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy01MCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTUwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy02MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy02MDApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctNzAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNzAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTgwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTgwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy05MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy05MDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC0xMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTEwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTIwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtMjAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtMzAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC0zMDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC00MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTQwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTUwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC01MCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTUwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNTAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtNjAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC02MDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC03MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTcwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTgwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtODAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtOTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC05MDApO1xufSJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/