@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300..800&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Space+Mono:wght@400;700&display=swap);
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
:root {
  --ocean-50: #E6F1FC;
  --ocean-100: #CAE0FF;
  --ocean-200: #A2CBED;
  --ocean-300: #91BFED;
  --ocean-400: #3D84F6;
  --ocean-500: #2972E0;
  --ocean-600: #1A5BBA;
  --ocean-700: #1B4C93;
  --ocean-800: #21529D;
  --ocean-900: #1E4784;
  --ocean-950: #143A66;
  --ink-900: #21284C;
  --ink-800: #2C3259;
  --ink-700: #343C6B;
  --ink-600: #3C4276;
  --slate-0: #FFFFFF;
  --slate-25: #FBFCFE;
  --slate-50: #F5F8FC;
  --slate-100: #EDF2F9;
  --slate-200: #E1E8F2;
  --slate-300: #CBD5E5;
  --slate-400: #98A5BD;
  --slate-500: #6E7C96;
  --slate-600: #54617A;
  --slate-700: #3E4A61;
  --lagoon-50: #E9FAFF;
  --lagoon-200: #6ECEEF;
  --lagoon-300: #56BFDB;
  --lagoon-500: #2A9BAD;
  --lagoon-700: #1C7080;
  --coral-100: #F9C8B7;
  --coral-200: #EAAFA2;
  --coral-300: #DB958D;
  --coral-500: #EC595C;
  --coral-700: #BF2239;
  --amber-100: #EFDE95;
  --amber-300: #D3B742;
  --amber-500: #C98B33;
  --amber-700: #8F5E17;
  --ember-500: #F96701;
  --ember-700: #C14E00;
  --crest-red: #F5401A;
  --crest-green: #009A5B;
  --crest-gold: #D89A3E;
  --text-strong: var(--ink-900);
  --text-body: var(--slate-700);
  --text-muted: var(--slate-500);
  --text-subtle: var(--slate-400);
  --text-link: var(--ocean-600);
  --text-link-hover: var(--ocean-800);
  --text-on-primary: #FFFFFF;
  --text-inverse: #FFFFFF;
  --surface-page: #FFFFFF;
  --surface-sunken: var(--slate-50);
  --surface-card: #FFFFFF;
  --surface-raised: #FFFFFF;
  --surface-tint: var(--ocean-50);
  --surface-inverse: var(--ink-900);
  --surface-hover: var(--slate-50);
  --surface-active: var(--slate-100);
  --border-hairline: var(--slate-200);
  --border-default: var(--slate-300);
  --border-strong: var(--slate-400);
  --border-tint: var(--ocean-100);
  --border-focus: var(--ocean-400);
  --action-primary: var(--ocean-600);
  --action-primary-hover: var(--ocean-700);
  --action-primary-active: var(--ocean-900);
  --action-secondary: var(--ocean-50);
  --action-secondary-hover: var(--ocean-100);
  --action-accent: var(--coral-500);
  --action-accent-hover: #D8474A;
  --status-success: #0E8A57;
  --status-success-bg: #E4F6EE;
  --status-success-border: #A9E0C8;
  --status-warning: var(--ember-500);
  --status-warning-bg: #FFF0E4;
  --status-warning-border: #FFCFA6;
  --status-danger: var(--coral-700);
  --status-danger-bg: #FDECEF;
  --status-danger-border: #F6BFC8;
  --status-info: var(--ocean-500);
  --status-info-bg: var(--ocean-50);
  --status-info-border: var(--ocean-100);
  --status-accredited: var(--amber-500);
  --status-accredited-bg: #FBF3E2;
  --status-accredited-border: #EAD6A6;
  --focus-ring: 0 0 0 3px rgba(61,132,246,.32);
  --font-display: "Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ds-font-sans: "Plus Jakarta Sans","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ds-font-mono: "Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fs-3xs: 11px;
  --fs-2xs: 12px;
  --fs-xs: 13px;
  --fs-sm: 14px;
  --fs-md: 15px;
  --fs-base: 16px;
  --fs-lg: 18px;
  --fs-xl: 20px;
  --fs-2xl: 24px;
  --fs-3xl: 30px;
  --fs-4xl: 38px;
  --fs-5xl: 48px;
  --fs-6xl: 60px;
  --lh-tight: 1.1;
  --lh-snug: 1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
  --ls-tighter: -0.03em;
  --ls-tight: -0.018em;
  --ls-normal: 0;
  --ls-wide: 0.02em;
  --ls-caps: 0.08em;
  --type-display: var(--fw-semibold) var(--fs-6xl)/var(--lh-tight) var(--font-display);
  --type-h1: var(--fw-semibold) var(--fs-5xl)/var(--lh-tight) var(--font-display);
  --type-h2: var(--fw-semibold) var(--fs-4xl)/var(--lh-snug) var(--font-display);
  --type-h3: var(--fw-semibold) var(--fs-3xl)/var(--lh-snug) var(--font-display);
  --type-h4: var(--fw-semibold) var(--fs-2xl)/var(--lh-snug) var(--font-display);
  --type-h5: var(--fw-semibold) var(--fs-xl)/var(--lh-snug) var(--font-display);
  --type-lead: var(--fw-regular) var(--fs-lg)/var(--lh-relaxed) var(--ds-font-sans);
  --type-body: var(--fw-regular) var(--fs-base)/var(--lh-relaxed) var(--ds-font-sans);
  --type-body-sm: var(--fw-regular) var(--fs-sm)/var(--lh-normal) var(--ds-font-sans);
  --type-label: var(--fw-semibold) var(--fs-sm)/1.3 var(--ds-font-sans);
  --type-button: var(--fw-semibold) var(--fs-md)/1 var(--ds-font-sans);
  --type-caption: var(--fw-medium) var(--fs-2xs)/1.4 var(--ds-font-sans);
  --type-eyebrow: var(--fw-bold) var(--fs-2xs)/1.2 var(--ds-font-sans);
  --type-mono: var(--fw-regular) var(--fs-2xs)/1.4 var(--ds-font-mono);
  --space-0: 0px;
  --space-05: 2px;
  --space-1: 4px;
  --space-15: 6px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --gutter-page: 24px;
  --ds-container-sm: 640px;
  --ds-container-md: 768px;
  --ds-container-lg: 1024px;
  --ds-container-xl: 1152px;
  --ds-container-2xl: 1280px;
  --section-y: 96px;
  --section-y-tight: 64px;
  --card-pad: 24px;
  --card-pad-sm: 16px;
  --card-gap: 20px;
  --control-h-sm: 32px;
  --control-h-md: 40px;
  --control-h-lg: 48px;
  --ds-radius-xs: 4px;
  --ds-radius-sm: 6px;
  --ds-radius-md: 10px;
  --ds-radius-lg: 14px;
  --ds-radius-xl: 20px;
  --ds-radius-2xl: 28px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --radius-control: 10px;
  --radius-card: 16px;
  --radius-surface: 20px;
  --radius-chip: 999px;
  --shadow-xs: 0 1px 2px rgba(33,40,76,.05);
  --shadow-sm: 0 1px 2px rgba(33,40,76,.05), 0 2px 6px rgba(26,91,186,.06);
  --shadow-md: 0 2px 4px rgba(33,40,76,.04), 0 8px 20px rgba(26,91,186,.09);
  --shadow-lg: 0 4px 8px rgba(33,40,76,.04), 0 18px 40px rgba(26,91,186,.12);
  --shadow-xl: 0 8px 16px rgba(33,40,76,.05), 0 32px 64px rgba(26,91,186,.16);
  --shadow-inset: inset 0 1px 0 rgba(255,255,255,.6);
  --shadow-primary: 0 6px 16px rgba(26,91,186,.24);
  --shadow-accent: 0 6px 16px rgba(236,89,92,.24);
  --dur-instant: 80ms;
  --dur-fast: 140ms;
  --dur-base: 220ms;
  --dur-slow: 340ms;
  --dur-slower: 520ms;
  --ease-standard: cubic-bezier(.32,.72,.32,1);
  --ds-ease-out: cubic-bezier(.16,1,.3,1);
  --ds-ease-in: cubic-bezier(.5,0,.9,.2);
  --ease-soft-spring: cubic-bezier(.34,1.32,.5,1);
  --transition-control: background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);
  --transition-surface: transform var(--dur-base) var(--ds-ease-out),box-shadow var(--dur-base) var(--ds-ease-out);
  --lift-hover: translateY(-2px);
  --lift-card: translateY(-4px);
  --press-scale: scale(.97);
}
@media (prefers-reduced-motion:reduce) {
  :root {
    --dur-instant: 0ms;
    --dur-fast: 0ms;
    --dur-base: 0ms;
    --dur-slow: 0ms;
    --dur-slower: 0ms;
    --lift-hover: none;
    --lift-card: none;
    --press-scale: none;
  }
}
.ds,.ds *,.ds *::before,.ds *::after {
  box-sizing: border-box;
}
.ds {
  font: var(--type-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
:where(.ds) h1,:where(.ds) h2,:where(.ds) h3,:where(.ds) h4,:where(.ds) h5 {
  margin: 0;
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
  text-wrap: balance;
}
:where(.ds) h1 {
  font: var(--type-h1);
}
:where(.ds) h2 {
  font: var(--type-h2);
}
:where(.ds) h3 {
  font: var(--type-h3);
}
:where(.ds) h4 {
  font: var(--type-h4);
}
:where(.ds) h5 {
  font: var(--type-h5);
}
:where(.ds) p {
  margin: 0;
  text-wrap: pretty;
}
:where(.ds) a {
  color: var(--text-link);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-standard);
}
:where(.ds) a:hover {
  color: var(--text-link-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}
:where(.ds) a:focus-visible,:where(.ds) button:focus-visible,:where(.ds) input:focus-visible,:where(.ds) select:focus-visible,:where(.ds) textarea:focus-visible,:where(.ds) [tabindex]:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
  border-radius: var(--ds-radius-xs);
}
:where(.ds) ::-moz-selection {
  background: var(--ocean-100);
  color: var(--ink-900);
}
:where(.ds) ::selection {
  background: var(--ocean-100);
  color: var(--ink-900);
}
.ds-container {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding-inline: var(--space-8);
}
.ds-section {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--section-y-tight) var(--space-8);
}
.ds-section--flush {
  padding-top: 0;
}
.ds-section__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 640px;
  margin-bottom: var(--space-10);
}
.ds-eyebrow {
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--ocean-600);
}
.ds-section__title {
  font: var(--type-h2);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-section__lead {
  font: var(--type-lead);
  color: var(--text-muted);
}
@media (max-width:640px) {
  .ds-container {
    padding-inline: var(--space-5);
  }
  .ds-section {
    padding: var(--space-12) var(--space-5);
  }
  .ds-section__head {
    margin-bottom: var(--space-8);
  }
  .ds-section__title {
    font: var(--type-h3);
  }
}
.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--control-h-md);
  padding: 0 var(--space-5);
  font: var(--type-button);
  letter-spacing: var(--ls-tight);
  border-radius: var(--radius-control);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: var(--transition-control);
}
.ds-btn:hover {
  text-decoration: none;
}
.ds-btn:active {
  transform: var(--press-scale);
}
.ds-btn--sm {
  height: var(--control-h-sm);
  padding: 0 var(--space-3);
  font: var(--fw-semibold) var(--fs-sm)/1 var(--ds-font-sans);
  gap: 6px;
}
.ds-btn--lg {
  height: var(--control-h-lg);
  padding: 0 var(--space-7);
  font: var(--fw-semibold) var(--fs-base)/1 var(--ds-font-sans);
  gap: 10px;
}
.ds-btn--primary {
  background: var(--action-primary);
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
}
.ds-btn--primary:hover {
  background: var(--action-primary-hover);
  color: var(--text-on-primary);
}
.ds-btn--primary:active {
  background: var(--action-primary-active);
}
.ds-btn--secondary {
  background: var(--action-secondary);
  color: var(--ocean-700);
  border-color: var(--border-tint);
  box-shadow: none;
}
.ds-btn--secondary:hover {
  background: var(--action-secondary-hover);
  color: var(--ocean-700);
}
.ds-btn--outline {
  background: var(--surface-card);
  color: var(--text-strong);
  border-color: var(--border-default);
  box-shadow: var(--shadow-xs);
}
.ds-btn--outline:hover {
  background: var(--surface-hover);
  border-color: var(--border-strong);
  color: var(--text-strong);
}
.ds-btn--ghost {
  background: transparent;
  color: var(--ocean-700);
  box-shadow: none;
}
.ds-btn--ghost:hover {
  background: var(--ocean-50);
  color: var(--ocean-700);
}
.ds-btn--accent {
  background: var(--action-accent);
  color: #fff;
  box-shadow: var(--shadow-accent);
}
.ds-btn--accent:hover {
  background: var(--action-accent-hover);
  color: #fff;
}
.ds-btn--danger {
  background: var(--status-danger);
  color: #fff;
  box-shadow: none;
}
.ds-btn--danger:hover {
  background: #A31B30;
  color: #fff;
}
.ds-btn--block {
  display: flex;
  width: 100%;
}
.ds-btn[disabled],.ds-btn[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
.ds-card {
  background: var(--surface-card);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  padding: var(--card-pad);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-surface),border-color var(--dur-base) var(--ds-ease-out);
}
.ds-card--flush {
  padding: 0;
  overflow: hidden;
}
.ds-card--tint {
  background: var(--surface-tint);
  border-color: var(--border-tint);
}
.ds-card--sunken {
  background: var(--surface-sunken);
}
.ds-card--flat {
  box-shadow: none;
}
.ds-card--md {
  box-shadow: var(--shadow-md);
}
.ds-card--lg {
  box-shadow: var(--shadow-lg);
}
.ds-card--interactive {
  cursor: pointer;
}
.ds-card--interactive:hover {
  box-shadow: var(--shadow-lg);
  transform: var(--lift-card);
  border-color: var(--border-tint);
}
.ds-card--interactive:focus-within {
  border-color: var(--border-tint);
}
.ds-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 24px;
  padding: 0 10px;
  border-radius: var(--radius-chip);
  font-family: var(--ds-font-sans);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-wide);
  white-space: nowrap;
  background: var(--slate-100);
  color: var(--slate-600);
  border: 1px solid var(--border-hairline);
}
.ds-badge--sm {
  height: 20px;
  padding: 0 8px;
  font-size: var(--fs-3xs);
  gap: 4px;
}
.ds-badge--ocean {
  background: var(--ocean-50);
  color: var(--ocean-700);
  border-color: var(--border-tint);
}
.ds-badge--lagoon {
  background: var(--lagoon-50);
  color: var(--lagoon-700);
  border-color: #BEE9F4;
}
.ds-badge--success {
  background: var(--status-success-bg);
  color: var(--status-success);
  border-color: var(--status-success-border);
}
.ds-badge--warning {
  background: var(--status-warning-bg);
  color: var(--ember-700);
  border-color: var(--status-warning-border);
}
.ds-badge--danger {
  background: var(--status-danger-bg);
  color: var(--status-danger);
  border-color: var(--status-danger-border);
}
.ds-badge--accredited {
  background: var(--status-accredited-bg);
  color: var(--amber-700);
  border-color: var(--status-accredited-border);
}
.ds-badge--solid {
  background: var(--action-primary);
  color: #fff;
  border-color: transparent;
}
.ds-badge__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
}
.ds-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 14px;
  border-radius: var(--radius-chip);
  font-family: var(--ds-font-sans);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  background: var(--surface-card);
  color: var(--text-body);
  border: 1px solid var(--border-hairline);
  box-shadow: var(--shadow-xs);
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: var(--transition-control);
}
.ds-tag:hover {
  background: var(--ocean-50);
  border-color: var(--border-tint);
  color: var(--text-body);
  text-decoration: none;
}
.ds-tag--selected {
  background: var(--action-primary);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--shadow-primary);
}
.ds-tag--selected:hover {
  background: var(--action-primary-hover);
  color: #fff;
}
.ds-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-card);
  background: var(--status-info-bg);
  border: 1px solid var(--status-info-border);
  text-decoration: none;
}
.ds-alert:hover {
  text-decoration: none;
}
.ds-alert__icon {
  display: flex;
  margin-top: 1px;
  flex: 0 0 auto;
}
.ds-alert__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ds-alert__title {
  font: var(--type-label);
}
.ds-alert__text {
  font: var(--type-body-sm);
  color: var(--text-body);
}
.ds-alert__action {
  flex: 0 0 auto;
  align-self: center;
}
.ds-alert--info .ds-alert__icon,.ds-alert--info .ds-alert__title {
  color: var(--ocean-800);
}
.ds-alert--success {
  background: var(--status-success-bg);
  border-color: var(--status-success-border);
}
.ds-alert--success .ds-alert__icon,.ds-alert--success .ds-alert__title {
  color: #0A6B43;
}
.ds-alert--warning {
  background: var(--status-warning-bg);
  border-color: var(--status-warning-border);
}
.ds-alert--warning .ds-alert__icon,.ds-alert--warning .ds-alert__title {
  color: var(--ember-700);
}
.ds-alert--danger {
  background: var(--status-danger-bg);
  border-color: var(--status-danger-border);
}
.ds-alert--danger .ds-alert__icon,.ds-alert--danger .ds-alert__title {
  color: var(--status-danger);
}
@media (max-width:640px) {
  .ds-alert {
    flex-wrap: wrap;
  }
  .ds-alert__body {
    min-width: calc(100% - 30px);
  }
  .ds-alert__action {
    align-self: flex-start;
    margin-left: 30px;
  }
}
.ds-event {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  padding: 0;
  text-decoration: none;
  color: inherit;
}
.ds-event:hover {
  text-decoration: none;
  color: inherit;
}
.ds-event--stacked {
  flex-direction: column;
}
.ds-event__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 104px;
  padding: 24px 16px;
  background: var(--surface-tint);
  border-right: 1px solid var(--border-tint);
}
.ds-event--stacked .ds-event__date {
  flex-direction: row;
  gap: 8px;
  width: 100%;
  padding: 10px 20px;
  border-right: 0;
  border-bottom: 1px solid var(--border-tint);
}
.ds-event__day {
  font: var(--fw-bold) var(--fs-3xl)/1 var(--font-display);
  color: var(--ocean-700);
  letter-spacing: var(--ls-tighter);
}
.ds-event__month {
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--ocean-600);
  margin-top: 4px;
}
.ds-event--stacked .ds-event__month {
  margin-top: 0;
}
.ds-event__year {
  font: var(--type-mono);
  color: var(--ocean-500);
  margin-top: 2px;
}
.ds-event--stacked .ds-event__year {
  margin-top: 0;
}
.ds-event__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
}
.ds-event__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ds-event__title {
  margin: 0;
  font: var(--fw-semibold) var(--fs-lg)/1.35 var(--font-display);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-event__summary {
  margin: 0;
  font: var(--type-body-sm);
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ds-event__summary p {
  margin: 0;
  display: inline;
}
.ds-event__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: auto;
  padding-top: var(--space-2);
}
.ds-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: var(--type-caption);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  min-width: 0;
}
.ds-meta i {
  color: var(--text-subtle);
  font-size: 14px;
  flex: 0 0 auto;
}
.ds-event__cta {
  margin-left: auto;
  flex: 0 0 auto;
}
@media (max-width:520px) {
  .ds-event {
    flex-direction: column;
  }
  .ds-event__date {
    flex-direction: row;
    gap: 8px;
    width: 100%;
    padding: 10px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--border-tint);
  }
  .ds-event__month,.ds-event__year {
    margin-top: 0;
  }
  .ds-event__cta {
    margin-left: 0;
  }
}
.ds-speaker {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  gap: var(--space-4);
}
.ds-speaker--stacked {
  flex-direction: column;
  text-align: center;
  gap: var(--space-3);
}
.ds-speaker__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--ocean-50);
  color: var(--ocean-700);
  border: 1px solid var(--border-tint);
  font: var(--fw-semibold) 16px/1 var(--font-display);
  letter-spacing: var(--ls-tight);
}
.ds-speaker--stacked .ds-speaker__avatar {
  width: 72px;
  height: 72px;
  font-size: 22px;
}
.ds-speaker__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.ds-speaker__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ds-speaker__name {
  font: var(--fw-semibold) var(--fs-md)/1.3 var(--font-display);
  color: var(--text-strong);
}
.ds-speaker__role {
  font: var(--type-caption);
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.ds-speaker__org {
  font: var(--type-caption);
  color: var(--text-subtle);
}
.ds-hero-wash {
  background: linear-gradient(180deg,var(--ocean-50) 0%,rgba(230,241,252,0) 100%);
}
.ds-hero {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-16) var(--space-8) var(--space-10);
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
  gap: var(--space-10);
  align-items: center;
}
.ds-hero__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.ds-hero__title {
  font: var(--type-h1);
  color: var(--text-strong);
  letter-spacing: var(--ls-tighter);
}
.ds-hero__lead {
  font: var(--type-lead);
  color: var(--text-muted);
  max-width: 520px;
}
.ds-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
.ds-hero__art {
  width: 100%;
  height: auto;
}
@media (max-width:1024px) {
  .ds-hero {
    grid-template-columns: 1fr;
    padding: var(--space-12) var(--space-8) var(--space-8);
  }
  .ds-hero__art {
    max-width: 560px;
    justify-self: center;
  }
}
@media (max-width:640px) {
  .ds-hero {
    padding: var(--space-10) var(--space-5) var(--space-8);
    gap: var(--space-8);
  }
  .ds-hero__title {
    font: var(--type-h2);
  }
  .ds-hero__lead {
    font: var(--type-body);
  }
  .ds-hero__actions .ds-btn {
    flex: 1 1 auto;
  }
}
.ds-professions-wrap {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-8) var(--space-8) var(--space-12);
}
.ds-professions {
  display: flex;
  align-items: center;
  width: 100%;
  overflow-x: auto;
  padding: var(--space-3) var(--space-5);
  background: var(--surface-card);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-sm);
  scrollbar-width: thin;
}
.ds-professions__item {
  flex: 1 1 0;
  min-width: -moz-fit-content;
  min-width: fit-content;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 4px 16px;
  color: var(--text-muted);
  font: var(--fw-semibold) var(--fs-sm)/1.2 var(--ds-font-sans);
  letter-spacing: var(--ls-tight);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-professions__item:hover {
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-professions__item i {
  color: var(--text-subtle);
  font-size: 16px;
}
.ds-professions__item:hover i {
  color: var(--ocean-600);
}
.ds-professions__rule {
  width: 1px;
  height: 16px;
  background: var(--border-hairline);
  flex: 0 0 auto;
}
@media (max-width:640px) {
  .ds-professions-wrap {
    padding: var(--space-6) var(--space-5) var(--space-10);
  }
  .ds-professions {
    padding: var(--space-3);
  }
}
.ds-grid {
  display: grid;
  gap: var(--card-gap);
}
.ds-grid--4 {
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.ds-grid--3 {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.ds-grid--2 {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
@media (max-width:1024px) {
  .ds-grid--4 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .ds-grid--3 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px) {
  .ds-grid--4,.ds-grid--3,.ds-grid--2 {
    grid-template-columns: minmax(0,1fr);
  }
}
.ds-tile {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.ds-tile__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--ds-radius-md);
  background: var(--ocean-50);
  border: 1px solid var(--border-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.ds-tile__icon i {
  color: var(--ocean-600);
  font-size: 21px;
}
.ds-tile__title {
  font: var(--type-h5);
  color: var(--text-strong);
}
.ds-tile__text {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-section__foot {
  display: flex;
  justify-content: center;
  margin-top: var(--space-10);
}
.ds-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-hairline);
}
.ds-header__inner {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: 0 var(--space-8);
  height: 72px;
  display: flex;
  align-items: center;
  gap: var(--space-8);
}
.ds-header__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex: 0 0 auto;
}
.ds-header__brand:hover {
  text-decoration: none;
}
.ds-header__brand img {
  height: 44px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.ds-header__brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.ds-header__brand-name {
  font: var(--fw-semibold) var(--fs-md)/1.1 var(--font-display);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-header__brand-sub {
  font: var(--type-caption);
  font-size: var(--fs-3xs);
  color: var(--text-muted);
}
.ds-header__nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}
.ds-header__link {
  padding: 8px 2px;
  font: var(--type-label);
  color: var(--text-body);
  text-decoration: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: var(--transition-control);
}
.ds-header__link:hover {
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-header__link--active {
  color: var(--ocean-700);
  box-shadow: inset 0 -2px 0 var(--action-primary);
}
.ds-header__tail {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ds-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--control-h-md);
  height: var(--control-h-md);
  border-radius: var(--radius-control);
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-body);
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-iconbtn:hover {
  background: var(--ocean-50);
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-iconbtn:active {
  transform: var(--press-scale);
}
.ds-iconbtn--sm {
  width: var(--control-h-sm);
  height: var(--control-h-sm);
}
.ds-header__cart .cart-widget-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--control-h-md);
  height: var(--control-h-md);
  border-radius: var(--radius-control);
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-header__cart .cart-widget-link:hover {
  background: var(--ocean-50);
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-header__cart .cart-widget-icon {
  font-size: var(--fs-lg);
  line-height: 1;
}
.ds-header__cart .cart-widget-quantity {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: var(--radius-pill);
  background: var(--action-primary);
  color: #fff;
  font-size: var(--fs-3xs);
  font-weight: var(--fw-bold);
  line-height: 1;
}
.ds-userpill {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border-hairline);
  background: var(--surface-card);
  border-radius: var(--radius-pill);
  padding: 4px 12px 4px 4px;
  cursor: pointer;
  box-shadow: var(--shadow-xs);
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-userpill:hover {
  background: var(--surface-hover);
  text-decoration: none;
  color: var(--text-body);
}
.ds-userpill__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--ocean-50);
  color: var(--ocean-700);
  border: 1px solid var(--border-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: var(--fw-semibold) 12px/1 var(--font-display);
  flex: 0 0 auto;
}
.ds-userpill__name {
  font: var(--type-caption);
  color: var(--text-body);
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ds-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 216px;
  background: var(--surface-raised);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lg);
  padding: var(--space-2);
  z-index: 50;
}
.ds-menu__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 8px 12px;
  border-radius: var(--ds-radius-md);
  font: var(--type-body-sm);
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-menu__item:hover {
  background: var(--surface-hover);
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-menu__item i {
  width: 16px;
  color: var(--text-subtle);
  font-size: 14px;
}
.ds-menu__item:hover i {
  color: var(--ocean-600);
}
.ds-menu__rule {
  height: 1px;
  background: var(--border-hairline);
  margin: var(--space-2) 0;
}
.ds-menu__label {
  display: block;
  padding: 6px 12px 2px;
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--text-subtle);
}
.ds-relative {
  position: relative;
}
.ds-header__burger {
  display: none;
}
@media (max-width:900px) {
  .ds-header__inner {
    gap: var(--space-4);
    padding: 0 var(--space-5);
  }
  .ds-header__nav {
    display: none;
  }
  .ds-header__burger {
    display: inline-flex;
  }
  .ds-header__brand-text {
    display: none;
  }
  .ds-userpill__name {
    display: none;
  }
  .ds-userpill {
    padding: 4px;
  }
}
.ds-footer {
  background: var(--surface-inverse);
  color: var(--text-inverse);
  margin-top: var(--section-y);
}
.ds-footer__inner {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-16) var(--space-8) var(--space-8);
  display: grid;
  grid-template-columns: 1.4fr repeat(3,1fr) 1.4fr;
  gap: var(--space-10);
}
.ds-footer__inner--lean {
  grid-template-columns: 1.4fr 1fr 1fr;
}
.ds-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-footer__brand img {
  height: 56px;
  width: auto;
  align-self: flex-start;
}
.ds-footer__blurb {
  font: var(--type-body-sm);
  color: var(--slate-400);
  max-width: 280px;
}
.ds-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.ds-footer__title {
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--slate-400);
}
.ds-footer__link {
  font: var(--type-body-sm);
  color: var(--slate-300);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-footer__link:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ds-footer__note {
  font: var(--type-caption);
  color: var(--slate-400);
}
.ds-footer__bar {
  border-top: 1px solid rgba(255,255,255,.10);
}
.ds-footer__bar-inner {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-5) var(--space-8);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
  font: var(--type-caption);
  color: var(--slate-400);
}
.ds-footer__social {
  margin-left: auto;
  display: flex;
  gap: var(--space-4);
}
.ds-footer__social a {
  color: var(--slate-400);
  font-size: 17px;
  transition: var(--transition-control);
}
.ds-footer__social a:hover {
  color: #fff;
}
.ds-footer__form {
  display: flex;
  gap: 8px;
}
.ds-input {
  flex: 1;
  min-width: 0;
  height: var(--control-h-md);
  padding: 0 var(--space-3);
  border-radius: var(--radius-control);
  border: 1px solid var(--border-default);
  background: var(--surface-card);
  color: var(--text-body);
  font: var(--type-body-sm);
  transition: var(--transition-control);
}
.ds-input::-moz-placeholder {
  color: var(--text-subtle);
}
.ds-input::placeholder {
  color: var(--text-subtle);
}
.ds-input:focus {
  outline: none;
  border-color: var(--border-focus);
  box-shadow: var(--focus-ring);
}
.ds-input--inverse {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  color: #fff;
  box-shadow: none;
}
.ds-input--inverse::-moz-placeholder {
  color: var(--slate-400);
}
.ds-input--inverse::placeholder {
  color: var(--slate-400);
}
@media (max-width:1024px) {
  .ds-footer__inner {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--space-8);
  }
}
@media (max-width:640px) {
  .ds-footer__inner {
    grid-template-columns: minmax(0,1fr);
    padding: var(--space-12) var(--space-5) var(--space-6);
  }
  .ds-footer__bar-inner {
    padding: var(--space-5);
  }
  .ds-footer__social {
    margin-left: 0;
  }
}
.ds-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-mono {
  font: var(--type-mono);
  color: var(--text-muted);
}
.ds-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.ds-pagehead {
  background: linear-gradient(180deg,var(--ocean-50) 0%,rgba(230,241,252,0) 100%);
  border-bottom: 1px solid var(--border-hairline);
}
.ds-pagehead__inner {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-8) var(--space-8) var(--space-10);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-pagehead__title {
  font: var(--type-h2);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-pagehead__subtitle {
  font: var(--type-lead);
  color: var(--text-muted);
  max-width: 720px;
}
.ds-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-breadcrumb a {
  color: var(--text-muted);
  text-decoration: none;
}
.ds-breadcrumb a:hover {
  color: var(--ocean-700);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ds-breadcrumb__sep {
  color: var(--text-subtle);
}
.ds-breadcrumb__current {
  color: var(--text-body);
  font-weight: var(--fw-semibold);
}
.ds-metarow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-5);
}
@media (max-width:640px) {
  .ds-pagehead__inner {
    padding: var(--space-6) var(--space-5) var(--space-8);
  }
  .ds-pagehead__title {
    font: var(--type-h3);
  }
  .ds-metarow {
    gap: var(--space-3);
  }
}
.ds-tabs {
  display: flex;
  gap: var(--space-6);
  border-bottom: 1px solid var(--border-hairline);
  overflow-x: auto;
}
.ds-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-1);
  font: var(--type-label);
  color: var(--text-muted);
  text-decoration: none;
  white-space: nowrap;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: var(--transition-control);
}
.ds-tab:hover {
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-tab--active {
  color: var(--ocean-700);
  box-shadow: inset 0 -2px 0 var(--action-primary);
}
.ds-tab i {
  font-size: 14px;
}
.ds-detail {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--section-y-tight) var(--space-8);
  display: grid;
  grid-template-columns: minmax(0,1fr) 372px;
  gap: var(--space-10);
  align-items: start;
}
.ds-detail__main {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
.ds-detail__side {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}
@media (max-width:1024px) {
  .ds-detail {
    grid-template-columns: minmax(0,1fr);
    gap: var(--space-8);
  }
  .ds-detail__main,.ds-detail__side {
    grid-column: auto;
    grid-row: auto;
  }
  .ds-detail__side {
    position: static;
  }
}
@media (max-width:640px) {
  .ds-detail {
    padding: var(--space-10) var(--space-5);
  }
}
.ds-panel {
  background: var(--surface-card);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-md);
  padding: var(--card-pad);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-panel__title {
  font: var(--type-h5);
  color: var(--text-strong);
}
.ds-panel__note {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-panel__price {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font: var(--fw-bold) var(--fs-2xl)/1.2 var(--font-display);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-panel__price small {
  font: var(--type-body-sm);
  color: var(--text-muted);
  font-weight: var(--fw-regular);
}
.ds-panel__rule {
  height: 1px;
  background: var(--border-hairline);
}
.ds-state {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--ds-radius-md);
  background: var(--surface-sunken);
  border: 1px solid var(--border-hairline);
}
.ds-state__icon {
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--text-subtle);
}
.ds-state__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}
.ds-state__title {
  font: var(--type-label);
  color: var(--text-strong);
}
.ds-state__text {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-state--success {
  background: var(--status-success-bg);
  border-color: var(--status-success-border);
}
.ds-state--success .ds-state__icon,.ds-state--success .ds-state__title {
  color: var(--status-success);
}
.ds-state--info {
  background: var(--status-info-bg);
  border-color: var(--status-info-border);
}
.ds-state--info .ds-state__icon,.ds-state--info .ds-state__title {
  color: var(--ocean-800);
}
.ds-state--warning {
  background: var(--status-warning-bg);
  border-color: var(--status-warning-border);
}
.ds-state--warning .ds-state__icon,.ds-state--warning .ds-state__title {
  color: var(--ember-700);
}
.ds-state--danger {
  background: var(--status-danger-bg);
  border-color: var(--status-danger-border);
}
.ds-state--danger .ds-state__icon,.ds-state--danger .ds-state__title {
  color: var(--status-danger);
}
.ds-dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-dl__row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ds-dl__key {
  font: var(--type-caption);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--text-subtle);
}
.ds-dl__val {
  font: var(--type-body-sm);
  color: var(--text-strong);
}
.ds-dl__val--mono {
  font: var(--type-mono);
  font-size: var(--fs-xs);
}
.ds-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-block__title {
  font: var(--type-h4);
  color: var(--text-strong);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--border-hairline);
}
.ds-prose {
  font: var(--type-body);
  color: var(--text-body);
  max-width: 72ch;
}
.ds-prose > * + * {
  margin-top: var(--space-4);
}
.ds-prose h1,.ds-prose h2,.ds-prose h3,.ds-prose h4 {
  color: var(--text-strong);
  margin-top: var(--space-6);
}
.ds-prose h2 {
  font: var(--type-h4);
}
.ds-prose h3,.ds-prose h4 {
  font: var(--type-h5);
}
.ds-prose a {
  color: var(--text-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ds-prose ul,.ds-prose ol {
  padding-left: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-prose ul {
  list-style: disc;
}
.ds-prose ol {
  list-style: decimal;
}
.ds-prose strong {
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
}
.ds-prose img {
  max-width: 100%;
  height: auto;
  border-radius: var(--ds-radius-md);
}
.ds-prose table {
  width: 100%;
  border-collapse: collapse;
  font: var(--type-body-sm);
}
.ds-prose th,.ds-prose td {
  border: 1px solid var(--border-hairline);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}
.ds-prose th {
  background: var(--surface-sunken);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
}
.ds-filelist {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-filelist a,.ds-filelist span {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-hairline);
  border-radius: var(--ds-radius-md);
  background: var(--surface-card);
  font: var(--type-body-sm);
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-filelist a:hover {
  border-color: var(--border-tint);
  background: var(--ocean-50);
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-filelist i {
  color: var(--text-subtle);
  flex: 0 0 auto;
}
.ds-filelist a:hover i {
  color: var(--ocean-600);
}
.ds-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  padding: var(--space-16) var(--space-8);
  border: 1px dashed var(--border-default);
  border-radius: var(--radius-card);
  background: var(--surface-sunken);
}
.ds-empty__icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-circle);
  background: var(--ocean-50);
  border: 1px solid var(--border-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ds-empty__icon i {
  color: var(--ocean-600);
  font-size: 20px;
}
.ds-empty__title {
  font: var(--type-h5);
  color: var(--text-strong);
}
.ds-empty__text {
  font: var(--type-body-sm);
  color: var(--text-muted);
  max-width: 46ch;
}
.ds-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.ds-form label {
  display: block;
  font: var(--type-label);
  color: var(--text-strong);
  margin-bottom: var(--space-2);
}
.ds-form input[type="text"], .ds-form input[type="email"], .ds-form input[type="tel"], .ds-form input[type="number"], .ds-form input[type="password"], .ds-form input[type="date"], .ds-form select, .ds-form textarea {
  display: block;
  width: 100%;
  min-height: var(--control-h-md);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-control);
  border: 1px solid var(--border-default);
  background: var(--surface-card);
  color: var(--text-body);
  font: var(--type-body-sm);
  box-shadow: var(--shadow-xs);
  transition: var(--transition-control);
}
.ds-form textarea {
  min-height: 120px;
  resize: vertical;
}
.ds-form input:focus,.ds-form select:focus,.ds-form textarea:focus {
  outline: none;
  border-color: var(--border-focus);
  box-shadow: var(--focus-ring);
}
.ds-form input::-moz-placeholder, .ds-form textarea::-moz-placeholder {
  color: var(--text-subtle);
}
.ds-form input::placeholder,.ds-form textarea::placeholder {
  color: var(--text-subtle);
}
.ds-form input[type="radio"],.ds-form input[type="checkbox"] {
  -moz-appearance: auto;
       appearance: auto;
  -webkit-appearance: auto;
  width: 16px;
  height: 16px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  accent-color: var(--action-primary);
  flex: 0 0 auto;
}
.ds-form input[type="radio"] + label, .ds-form input[type="checkbox"] + label {
  display: inline;
  font: var(--type-body-sm);
  color: var(--text-body);
  margin-bottom: 0;
}
.ds-form .input-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-form button[type="submit"],.ds-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--control-h-lg);
  padding: 0 var(--space-7);
  font: var(--fw-semibold) var(--fs-base)/1 var(--ds-font-sans);
  letter-spacing: var(--ls-tight);
  border-radius: var(--radius-control);
  border: 1px solid transparent;
  background: var(--action-primary);
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  cursor: pointer;
  align-self: flex-start;
  transition: var(--transition-control);
}
.ds-form button[type="submit"]:hover,.ds-form input[type="submit"]:hover {
  background: var(--action-primary-hover);
}
.ds-form button[type="submit"]:active,.ds-form input[type="submit"]:active {
  transform: var(--press-scale);
}
.ds-form .help-block,.ds-form small {
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-form ul li {
  font: var(--type-caption);
  color: var(--status-danger);
}
.ds-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-10);
}
.ds-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: var(--radius-control);
  font: var(--type-label);
  background: var(--surface-card);
  color: var(--text-body);
  border: 1px solid var(--border-hairline);
  box-shadow: var(--shadow-xs);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-page:hover {
  background: var(--surface-hover);
  color: var(--text-body);
  text-decoration: none;
}
.ds-page--active {
  background: var(--action-primary);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--shadow-primary);
}
.ds-page--disabled {
  opacity: .4;
  cursor: not-allowed;
  box-shadow: none;
}
.ds-page__gap {
  color: var(--text-subtle);
  padding: 0 2px;
}
.ds-pagination__summary {
  margin-top: var(--space-4);
  text-align: center;
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-profile {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--section-y-tight) var(--space-8);
  display: grid;
  grid-template-columns: 268px minmax(0,1fr);
  gap: var(--space-10);
  align-items: start;
}
.ds-profile__rail {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}
.ds-profile__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
@media (max-width:1024px) {
  .ds-profile {
    grid-template-columns: minmax(0,1fr);
    gap: var(--space-8);
  }
  .ds-profile__rail {
    position: static;
  }
}
@media (max-width:640px) {
  .ds-profile {
    padding: var(--space-10) var(--space-5);
  }
}
.ds-nav {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.ds-nav__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.ds-nav__label {
  padding: 0 var(--space-3) var(--space-2);
  font: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--ls-caps);
  color: var(--text-subtle);
}
.ds-nav__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--ds-radius-md);
  font: var(--type-label);
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition-control);
}
.ds-nav__item:hover {
  background: var(--surface-hover);
  color: var(--ocean-700);
  text-decoration: none;
}
.ds-nav__item i {
  width: 18px;
  text-align: center;
  color: var(--text-subtle);
  font-size: 14px;
  flex: 0 0 auto;
}
.ds-nav__item:hover i {
  color: var(--ocean-600);
}
.ds-nav__item--active {
  background: var(--ocean-50);
  color: var(--ocean-700);
  border: 1px solid var(--border-tint);
}
.ds-nav__item--active i {
  color: var(--ocean-600);
}
.ds-list {
  display: flex;
  flex-direction: column;
  background: var(--surface-card);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.ds-list__row {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  text-decoration: none;
  color: var(--text-body);
  transition: var(--transition-control);
}
.ds-list__row + .ds-list__row {
  border-top: 1px solid var(--border-hairline);
}
a.ds-list__row:hover {
  background: var(--surface-hover);
  text-decoration: none;
  color: var(--text-body);
}
.ds-list__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ds-list__title {
  font: var(--type-label);
  color: var(--text-strong);
}
.ds-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-list__meta i {
  color: var(--text-subtle);
}
.ds-list__tail {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ds-list__chevron {
  color: var(--text-subtle);
  flex: 0 0 auto;
}
a.ds-list__row:hover .ds-list__chevron {
  color: var(--ocean-600);
}
.ds-reg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--card-pad);
  background: var(--surface-card);
  border: 1px solid var(--border-hairline);
  border-left: 3px solid var(--border-default);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-sm);
}
.ds-reg--pending {
  border-left-color: var(--status-warning);
}
.ds-reg--registered {
  border-left-color: var(--action-primary);
}
.ds-reg--attended {
  border-left-color: var(--status-success);
}
.ds-reg__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-4);
}
.ds-reg__title {
  flex: 1;
  min-width: 0;
  font: var(--type-h5);
  color: var(--text-strong);
}
.ds-reg__rule {
  height: 1px;
  background: var(--border-hairline);
}
.ds-scores {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}
.ds-score {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ds-score__value {
  font: var(--fw-bold) var(--fs-xl)/1.2 var(--font-display);
  color: var(--text-strong);
}
.ds-score__label {
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-auth {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.ds-auth__form {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-16) var(--space-8);
}
.ds-auth__inner {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.ds-auth__logo {
  height: 64px;
  width: auto;
  align-self: flex-start;
}
.ds-auth__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-auth__title {
  font: var(--type-h3);
  color: var(--text-strong);
  letter-spacing: var(--ls-tight);
}
.ds-auth__lead {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-auth__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ds-auth__foot {
  font: var(--type-caption);
  color: var(--text-muted);
  text-align: center;
}
.ds-auth__aside {
  background: var(--ocean-50);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
  padding: var(--space-16) var(--space-10);
}
.ds-auth__art {
  width: 100%;
  max-width: 480px;
  height: auto;
}
.ds-auth__pitch {
  max-width: 420px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.ds-auth__pitch h2 {
  font: var(--type-h4);
  color: var(--ocean-900);
  letter-spacing: var(--ls-tight);
}
.ds-auth__pitch p {
  font: var(--type-body-sm);
  color: var(--ocean-800);
}
.ds-divider {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ds-divider::before,.ds-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border-hairline);
}
.ds-divider span {
  font: var(--type-caption);
  color: var(--text-subtle);
}
.ds-auth__aux {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
@media (max-width:900px) {
  .ds-auth {
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
  }
  .ds-auth__form {
    padding: var(--space-12) var(--space-5);
  }
  .ds-auth__aside {
    padding: var(--space-12) var(--space-5);
  }
  .ds-auth__art {
    max-width: 320px;
  }
}
.ds-form form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.ds-form .ds-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-form .ds-field + .ds-field {
  margin-top: var(--space-4);
}
.ds-field__label {
  display: block;
  font: var(--type-label);
  color: var(--text-strong);
  margin-bottom: 0;
}
.ds-field__label--required::after {
  content: " *";
  color: var(--status-danger);
}
.ds-field__help {
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-field__errors {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ds-field__errors li {
  font: var(--type-caption);
  color: var(--status-danger);
}
.ds-form .ds-field > div {
  max-width: none;
  width: 100%;
}
.ds-onboarding {
  max-width: var(--ds-container-md);
  margin: 0 auto;
  padding: var(--space-12) var(--space-8) var(--space-16);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.ds-onboarding__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}
.ds-onboarding__logo {
  height: 56px;
  width: auto;
}
.ds-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ds-step {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  text-align: center;
}
.ds-step__dot {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-circle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: var(--fw-semibold) var(--fs-2xs)/1 var(--font-display);
  background: var(--surface-card);
  color: var(--text-subtle);
  border: 1px solid var(--border-default);
  flex: 0 0 auto;
  transition: var(--transition-control);
}
.ds-step__label {
  font: var(--type-caption);
  color: var(--text-muted);
}
.ds-step__rule {
  flex: 0 0 auto;
  width: 100%;
  height: 2px;
  background: var(--border-hairline);
  border-radius: var(--radius-pill);
}
.ds-step--done .ds-step__dot {
  background: var(--status-success);
  color: #fff;
  border-color: transparent;
}
.ds-step--done .ds-step__rule {
  background: var(--status-success);
}
.ds-step--done .ds-step__label {
  color: var(--text-body);
}
.ds-step--current .ds-step__dot {
  background: var(--action-primary);
  color: #fff;
  border-color: transparent;
  box-shadow: var(--shadow-primary);
}
.ds-step--current .ds-step__rule {
  background: var(--action-primary);
}
.ds-step--current .ds-step__label {
  color: var(--ocean-700);
  font-weight: var(--fw-semibold);
}
@media (max-width:640px) {
  .ds-onboarding {
    padding: var(--space-8) var(--space-5) var(--space-12);
  }
  .ds-step__label {
    display: none;
  }
}
.ds-onboarding__focus {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
}
.ds-onboarding__icon {
  width: 72px;
  height: 72px;
  border-radius: var(--radius-circle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ocean-50);
  border: 1px solid var(--border-tint);
}
.ds-onboarding__icon i {
  font-size: 30px;
  color: var(--ocean-600);
}
.ds-onboarding__icon--success {
  background: var(--status-success-bg);
  border-color: var(--status-success-border);
}
.ds-onboarding__icon--success i {
  color: var(--status-success);
}
.ds-namerow {
  display: grid;
  grid-template-columns: minmax(0,2fr) minmax(0,5fr) minmax(0,5fr);
  gap: var(--space-4);
}
.ds-namerow .ds-field + .ds-field {
  margin-top: 0;
}
@media (max-width:640px) {
  .ds-namerow {
    grid-template-columns: minmax(0,1fr);
  }
  .ds-namerow .ds-field + .ds-field {
    margin-top: var(--space-4);
  }
}
.ds-support {
  background: var(--surface-page);
  border-top: 1px solid var(--border-hairline);
}
.ds-support__inner {
  max-width: var(--ds-container-2xl);
  margin: 0 auto;
  padding: var(--space-12) var(--space-8);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}
.ds-support__logos {
  width: 100%;
  max-width: 480px;
  height: auto;
}
.ds-support__note {
  font: var(--type-body-sm);
  color: var(--text-muted);
  max-width: 60ch;
}
.ds-support + .ds-footer {
  margin-top: 0;
}
@media (max-width:640px) {
  .ds-support__inner {
    padding: var(--space-10) var(--space-5);
  }
}
.ds-field > div > div:has(> input[type="radio"]), .ds-field > div > div:has(> input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) 0;
}
.ds-field input[type="radio"] + label, .ds-field input[type="checkbox"] + label {
  font: var(--type-body-sm);
  color: var(--text-body);
  margin-bottom: 0;
  cursor: pointer;
}
.ds-tiers {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-tier {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-3);
  border: 1px solid var(--border-hairline);
  border-radius: var(--ds-radius-md);
  background: var(--surface-card);
}
.ds-tier--soldout {
  opacity: .55;
}
.ds-tier__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}
.ds-tier__name {
  font: var(--type-label);
  color: var(--text-strong);
}
.ds-tier__seats {
  font: var(--type-caption);
  color: var(--text-muted);
  white-space: nowrap;
}
.ds-tier__desc {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-choice-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ds-choice-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--border-hairline);
  border-radius: var(--ds-radius-md);
  background: var(--surface-card);
  cursor: pointer;
  margin-bottom: 0;
  transition: var(--transition-control);
}
.ds-choice-card:hover:not(:has(input:disabled)) {
  border-color: var(--border-strong);
}
.ds-choice-card:has(input:checked) {
  border-color: var(--action-primary);
  box-shadow: inset 0 0 0 1px var(--action-primary);
}
.ds-choice-card:has(input:focus-visible) {
  border-color: var(--border-focus);
  box-shadow: var(--focus-ring);
}
.ds-choice-card:has(input:disabled) {
  opacity: .55;
  cursor: not-allowed;
}
.ds-choice-card .ds-choice-card__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  white-space: nowrap;
}
.ds-choice-card__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.ds-choice-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}
.ds-choice-card__name {
  font: var(--type-label);
  color: var(--text-strong);
}
.ds-choice-card__seats {
  font: var(--type-caption);
  color: var(--text-muted);
  white-space: nowrap;
}
.ds-choice-card__desc {
  font: var(--type-body-sm);
  color: var(--text-muted);
}
.ds-choice-card__check {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border: 2px solid var(--border-strong);
  border-radius: 50%;
  background: var(--surface-page);
}
.ds-choice-card:has(input:checked) .ds-choice-card__check {
  border-color: var(--action-primary);
  background: var(--action-primary);
  box-shadow: inset 0 0 0 3px var(--surface-page);
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QXNCLGFBQVk7RUFBQyxzQkFBcUI7RUFBQyxRQUFPO0VBQUMsY0FBYTtFQUFDLFlBQVc7QUFBckU7QUFDckI7RUFBc0IsYUFBWTtFQUFDLHFCQUFvQjtFQUFDLDhCQUE2QjtFQUFDLG1CQUFrQjtBQUFuRjtBQUNyQjtFQUFzQix1QkFBc0I7RUFBQyx5QkFBd0I7QUFBaEQ7QUFDckI7RUFBdUIseUJBQXdCO0VBQUMsd0JBQXVCO0VBQUMsbUJBQWtCO0FBQXBFO0FBQ3RCO0VBQXNCLHlCQUF3QjtFQUFDLHdCQUF1QjtBQUFqRDtBQUVyQjtFQUNJLGNBQWE7RUFDYixXQUFVO0VBQUMsWUFBVztFQUN0QixlQUFjO0VBQ2Qsc0NBQXFDO0VBQ3JDLGtCQUFpQjtFQUNqQiwrQkFBOEI7QUFOWjtBQVF0QjtFQUNJLG1DQUFrQztFQUNsQyxpQ0FBZ0M7RUFDaEMsK0NBQThDO0FBSE8iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9kZXNpZ24tc3lzdGVtL3Rva2Vucy9jb2xvcnMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZGVzaWduLXN5c3RlbS90b2tlbnMvdHlwb2dyYXBoeS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9kZXNpZ24tc3lzdGVtL3Rva2Vucy9zcGFjaW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Rlc2lnbi1zeXN0ZW0vdG9rZW5zL3JhZGlpLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Rlc2lnbi1zeXN0ZW0vdG9rZW5zL3NoYWRvd3MuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZGVzaWduLXN5c3RlbS90b2tlbnMvbW90aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Rlc2lnbi1zeXN0ZW0vdG9rZW5zL2Jhc2UuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvZGVzaWduLXN5c3RlbS9jb21wb25lbnRzLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qIENvbG91ciBzeXN0ZW0g4oCUIHNhbXBsZWQgZGlyZWN0bHkgZnJvbSB0aGUgTUpFIGNyZXN0IGFuZCB0aGUgdHdvIGJyYW5kIGlsbHVzdHJhdGlvbnMuICovXG46cm9vdHtcbiAgLyogLS0tLSBPY2VhbiAocHJpbWFyeSkgLS0tLSAqL1xuICAtLW9jZWFuLTUwOiNFNkYxRkM7IC0tb2NlYW4tMTAwOiNDQUUwRkY7IC0tb2NlYW4tMjAwOiNBMkNCRUQ7IC0tb2NlYW4tMzAwOiM5MUJGRUQ7XG4gIC0tb2NlYW4tNDAwOiMzRDg0RjY7IC0tb2NlYW4tNTAwOiMyOTcyRTA7IC0tb2NlYW4tNjAwOiMxQTVCQkE7IC0tb2NlYW4tNzAwOiMxQjRDOTM7XG4gIC0tb2NlYW4tODAwOiMyMTUyOUQ7IC0tb2NlYW4tOTAwOiMxRTQ3ODQ7IC0tb2NlYW4tOTUwOiMxNDNBNjY7XG5cbiAgLyogLS0tLSBJbmsgKGRlZXAgbmF2eSBuZXV0cmFscyBmcm9tIHRoZSBpbGx1c3RyYXRpb25zKSAtLS0tICovXG4gIC0taW5rLTkwMDojMjEyODRDOyAtLWluay04MDA6IzJDMzI1OTsgLS1pbmstNzAwOiMzNDNDNkI7IC0taW5rLTYwMDojM0M0Mjc2O1xuXG4gIC8qIC0tLS0gU2xhdGUgKFVJIG5ldXRyYWxzKSAtLS0tICovXG4gIC0tc2xhdGUtMDojRkZGRkZGOyAtLXNsYXRlLTI1OiNGQkZDRkU7IC0tc2xhdGUtNTA6I0Y1RjhGQzsgLS1zbGF0ZS0xMDA6I0VERjJGOTtcbiAgLS1zbGF0ZS0yMDA6I0UxRThGMjsgLS1zbGF0ZS0zMDA6I0NCRDVFNTsgLS1zbGF0ZS00MDA6Izk4QTVCRDsgLS1zbGF0ZS01MDA6IzZFN0M5NjtcbiAgLS1zbGF0ZS02MDA6IzU0NjE3QTsgLS1zbGF0ZS03MDA6IzNFNEE2MTtcblxuICAvKiAtLS0tIExhZ29vbiAoY3lhbiBhY2NlbnQpIC0tLS0gKi9cbiAgLS1sYWdvb24tNTA6I0U5RkFGRjsgLS1sYWdvb24tMjAwOiM2RUNFRUY7IC0tbGFnb29uLTMwMDojNTZCRkRCOyAtLWxhZ29vbi01MDA6IzJBOUJBRDsgLS1sYWdvb24tNzAwOiMxQzcwODA7XG5cbiAgLyogLS0tLSBDb3JhbCAod2FybSBhY2NlbnQpIC0tLS0gKi9cbiAgLS1jb3JhbC0xMDA6I0Y5QzhCNzsgLS1jb3JhbC0yMDA6I0VBQUZBMjsgLS1jb3JhbC0zMDA6I0RCOTU4RDsgLS1jb3JhbC01MDA6I0VDNTk1QzsgLS1jb3JhbC03MDA6I0JGMjIzOTtcblxuICAvKiAtLS0tIEFtYmVyIChjcmVzdCBnb2xkIC8gYWNjcmVkaXRhdGlvbikgLS0tLSAqL1xuICAtLWFtYmVyLTEwMDojRUZERTk1OyAtLWFtYmVyLTMwMDojRDNCNzQyOyAtLWFtYmVyLTUwMDojQzk4QjMzOyAtLWFtYmVyLTcwMDojOEY1RTE3O1xuXG4gIC8qIC0tLS0gRW1iZXIgKG9yYW5nZSBhY2NlbnQgZnJvbSBpbGx1c3RyYXRpb25zKSAtLS0tICovXG4gIC0tZW1iZXItNTAwOiNGOTY3MDE7IC0tZW1iZXItNzAwOiNDMTRFMDA7XG5cbiAgLyogLS0tLSBDcmVzdCAobmF0aW9uYWwgdHJpY29sb3VyIOKAlCBsb2dvIGxvY2t1cHMgb25seSkgLS0tLSAqL1xuICAtLWNyZXN0LXJlZDojRjU0MDFBOyAtLWNyZXN0LWdyZWVuOiMwMDlBNUI7IC0tY3Jlc3QtZ29sZDojRDg5QTNFO1xuXG4gIC8qIC0tLS0gU2VtYW50aWM6IHRleHQgLS0tLSAqL1xuICAtLXRleHQtc3Ryb25nOnZhcigtLWluay05MDApO1xuICAtLXRleHQtYm9keTp2YXIoLS1zbGF0ZS03MDApO1xuICAtLXRleHQtbXV0ZWQ6dmFyKC0tc2xhdGUtNTAwKTtcbiAgLS10ZXh0LXN1YnRsZTp2YXIoLS1zbGF0ZS00MDApO1xuICAtLXRleHQtbGluazp2YXIoLS1vY2Vhbi02MDApO1xuICAtLXRleHQtbGluay1ob3Zlcjp2YXIoLS1vY2Vhbi04MDApO1xuICAtLXRleHQtb24tcHJpbWFyeTojRkZGRkZGO1xuICAtLXRleHQtaW52ZXJzZTojRkZGRkZGO1xuXG4gIC8qIC0tLS0gU2VtYW50aWM6IHN1cmZhY2UgLS0tLSAqL1xuICAtLXN1cmZhY2UtcGFnZTojRkZGRkZGO1xuICAtLXN1cmZhY2Utc3Vua2VuOnZhcigtLXNsYXRlLTUwKTtcbiAgLS1zdXJmYWNlLWNhcmQ6I0ZGRkZGRjtcbiAgLS1zdXJmYWNlLXJhaXNlZDojRkZGRkZGO1xuICAtLXN1cmZhY2UtdGludDp2YXIoLS1vY2Vhbi01MCk7XG4gIC0tc3VyZmFjZS1pbnZlcnNlOnZhcigtLWluay05MDApO1xuICAtLXN1cmZhY2UtaG92ZXI6dmFyKC0tc2xhdGUtNTApO1xuICAtLXN1cmZhY2UtYWN0aXZlOnZhcigtLXNsYXRlLTEwMCk7XG5cbiAgLyogLS0tLSBTZW1hbnRpYzogYm9yZGVyIC0tLS0gKi9cbiAgLS1ib3JkZXItaGFpcmxpbmU6dmFyKC0tc2xhdGUtMjAwKTtcbiAgLS1ib3JkZXItZGVmYXVsdDp2YXIoLS1zbGF0ZS0zMDApO1xuICAtLWJvcmRlci1zdHJvbmc6dmFyKC0tc2xhdGUtNDAwKTtcbiAgLS1ib3JkZXItdGludDp2YXIoLS1vY2Vhbi0xMDApO1xuICAtLWJvcmRlci1mb2N1czp2YXIoLS1vY2Vhbi00MDApO1xuXG4gIC8qIC0tLS0gU2VtYW50aWM6IGFjdGlvbiAtLS0tICovXG4gIC0tYWN0aW9uLXByaW1hcnk6dmFyKC0tb2NlYW4tNjAwKTtcbiAgLS1hY3Rpb24tcHJpbWFyeS1ob3Zlcjp2YXIoLS1vY2Vhbi03MDApO1xuICAtLWFjdGlvbi1wcmltYXJ5LWFjdGl2ZTp2YXIoLS1vY2Vhbi05MDApO1xuICAtLWFjdGlvbi1zZWNvbmRhcnk6dmFyKC0tb2NlYW4tNTApO1xuICAtLWFjdGlvbi1zZWNvbmRhcnktaG92ZXI6dmFyKC0tb2NlYW4tMTAwKTtcbiAgLS1hY3Rpb24tYWNjZW50OnZhcigtLWNvcmFsLTUwMCk7XG4gIC0tYWN0aW9uLWFjY2VudC1ob3ZlcjojRDg0NzRBO1xuXG4gIC8qIC0tLS0gU2VtYW50aWM6IHN0YXR1cyAtLS0tICovXG4gIC0tc3RhdHVzLXN1Y2Nlc3M6IzBFOEE1NzsgLS1zdGF0dXMtc3VjY2Vzcy1iZzojRTRGNkVFOyAtLXN0YXR1cy1zdWNjZXNzLWJvcmRlcjojQTlFMEM4O1xuICAtLXN0YXR1cy13YXJuaW5nOnZhcigtLWVtYmVyLTUwMCk7IC0tc3RhdHVzLXdhcm5pbmctYmc6I0ZGRjBFNDsgLS1zdGF0dXMtd2FybmluZy1ib3JkZXI6I0ZGQ0ZBNjtcbiAgLS1zdGF0dXMtZGFuZ2VyOnZhcigtLWNvcmFsLTcwMCk7IC0tc3RhdHVzLWRhbmdlci1iZzojRkRFQ0VGOyAtLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNGNkJGQzg7XG4gIC0tc3RhdHVzLWluZm86dmFyKC0tb2NlYW4tNTAwKTsgLS1zdGF0dXMtaW5mby1iZzp2YXIoLS1vY2Vhbi01MCk7IC0tc3RhdHVzLWluZm8tYm9yZGVyOnZhcigtLW9jZWFuLTEwMCk7XG4gIC0tc3RhdHVzLWFjY3JlZGl0ZWQ6dmFyKC0tYW1iZXItNTAwKTsgLS1zdGF0dXMtYWNjcmVkaXRlZC1iZzojRkJGM0UyOyAtLXN0YXR1cy1hY2NyZWRpdGVkLWJvcmRlcjojRUFENkE2O1xuXG4gIC8qIC0tLS0gRm9jdXMgcmluZyAtLS0tICovXG4gIC0tZm9jdXMtcmluZzowIDAgMCAzcHggcmdiYSg2MSwxMzIsMjQ2LC4zMik7XG59XG4iLCI6cm9vdHtcbiAgLS1mb250LWRpc3BsYXk6XCJPdXRmaXRcIixcIlBsdXMgSmFrYXJ0YSBTYW5zXCIsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sXCJTZWdvZSBVSVwiLHNhbnMtc2VyaWY7XG4gIC0tZHMtZm9udC1zYW5zOlwiUGx1cyBKYWthcnRhIFNhbnNcIixcIk91dGZpdFwiLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFwiU2Vnb2UgVUlcIixzYW5zLXNlcmlmO1xuICAtLWRzLWZvbnQtbW9ubzpcIlNwYWNlIE1vbm9cIix1aS1tb25vc3BhY2UsXCJTRk1vbm8tUmVndWxhclwiLE1lbmxvLG1vbm9zcGFjZTtcblxuICAtLWZ3LWxpZ2h0OjMwMDsgLS1mdy1yZWd1bGFyOjQwMDsgLS1mdy1tZWRpdW06NTAwOyAtLWZ3LXNlbWlib2xkOjYwMDsgLS1mdy1ib2xkOjcwMDsgLS1mdy1leHRyYWJvbGQ6ODAwO1xuXG4gIC8qIHNpemUgcmFtcCAqL1xuICAtLWZzLTN4czoxMXB4OyAtLWZzLTJ4czoxMnB4OyAtLWZzLXhzOjEzcHg7IC0tZnMtc206MTRweDsgLS1mcy1tZDoxNXB4OyAtLWZzLWJhc2U6MTZweDtcbiAgLS1mcy1sZzoxOHB4OyAtLWZzLXhsOjIwcHg7IC0tZnMtMnhsOjI0cHg7IC0tZnMtM3hsOjMwcHg7IC0tZnMtNHhsOjM4cHg7IC0tZnMtNXhsOjQ4cHg7IC0tZnMtNnhsOjYwcHg7XG5cbiAgLS1saC10aWdodDoxLjE7IC0tbGgtc251ZzoxLjI1OyAtLWxoLW5vcm1hbDoxLjU7IC0tbGgtcmVsYXhlZDoxLjY1O1xuICAtLWxzLXRpZ2h0ZXI6LTAuMDNlbTsgLS1scy10aWdodDotMC4wMThlbTsgLS1scy1ub3JtYWw6MDsgLS1scy13aWRlOjAuMDJlbTsgLS1scy1jYXBzOjAuMDhlbTtcblxuICAvKiBjb21wb3NlZCByb2xlcyAqL1xuICAtLXR5cGUtZGlzcGxheTp2YXIoLS1mdy1zZW1pYm9sZCkgdmFyKC0tZnMtNnhsKS92YXIoLS1saC10aWdodCkgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgLS10eXBlLWgxOnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy01eGwpL3ZhcigtLWxoLXRpZ2h0KSB2YXIoLS1mb250LWRpc3BsYXkpO1xuICAtLXR5cGUtaDI6dmFyKC0tZnctc2VtaWJvbGQpIHZhcigtLWZzLTR4bCkvdmFyKC0tbGgtc251ZykgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgLS10eXBlLWgzOnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy0zeGwpL3ZhcigtLWxoLXNudWcpIHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIC0tdHlwZS1oNDp2YXIoLS1mdy1zZW1pYm9sZCkgdmFyKC0tZnMtMnhsKS92YXIoLS1saC1zbnVnKSB2YXIoLS1mb250LWRpc3BsYXkpO1xuICAtLXR5cGUtaDU6dmFyKC0tZnctc2VtaWJvbGQpIHZhcigtLWZzLXhsKS92YXIoLS1saC1zbnVnKSB2YXIoLS1mb250LWRpc3BsYXkpO1xuICAtLXR5cGUtbGVhZDp2YXIoLS1mdy1yZWd1bGFyKSB2YXIoLS1mcy1sZykvdmFyKC0tbGgtcmVsYXhlZCkgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgLS10eXBlLWJvZHk6dmFyKC0tZnctcmVndWxhcikgdmFyKC0tZnMtYmFzZSkvdmFyKC0tbGgtcmVsYXhlZCkgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgLS10eXBlLWJvZHktc206dmFyKC0tZnctcmVndWxhcikgdmFyKC0tZnMtc20pL3ZhcigtLWxoLW5vcm1hbCkgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgLS10eXBlLWxhYmVsOnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy1zbSkvMS4zIHZhcigtLWRzLWZvbnQtc2Fucyk7XG4gIC0tdHlwZS1idXR0b246dmFyKC0tZnctc2VtaWJvbGQpIHZhcigtLWZzLW1kKS8xIHZhcigtLWRzLWZvbnQtc2Fucyk7XG4gIC0tdHlwZS1jYXB0aW9uOnZhcigtLWZ3LW1lZGl1bSkgdmFyKC0tZnMtMnhzKS8xLjQgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgLS10eXBlLWV5ZWJyb3c6dmFyKC0tZnctYm9sZCkgdmFyKC0tZnMtMnhzKS8xLjIgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgLS10eXBlLW1vbm86dmFyKC0tZnctcmVndWxhcikgdmFyKC0tZnMtMnhzKS8xLjQgdmFyKC0tZHMtZm9udC1tb25vKTtcbn1cbiIsIjpyb290e1xuICAvKiA0cHggYmFzZSBncmlkOyAycHggYW5kIDZweCBleGlzdCBmb3IgY29udHJvbCBpbnRlcmlvcnMgKi9cbiAgLS1zcGFjZS0wOjBweDsgLS1zcGFjZS0wNToycHg7IC0tc3BhY2UtMTo0cHg7IC0tc3BhY2UtMTU6NnB4OyAtLXNwYWNlLTI6OHB4OyAtLXNwYWNlLTM6MTJweDtcbiAgLS1zcGFjZS00OjE2cHg7IC0tc3BhY2UtNToyMHB4OyAtLXNwYWNlLTY6MjRweDsgLS1zcGFjZS03OjI4cHg7IC0tc3BhY2UtODozMnB4OyAtLXNwYWNlLTEwOjQwcHg7XG4gIC0tc3BhY2UtMTI6NDhweDsgLS1zcGFjZS0xNDo1NnB4OyAtLXNwYWNlLTE2OjY0cHg7IC0tc3BhY2UtMjA6ODBweDsgLS1zcGFjZS0yNDo5NnB4OyAtLXNwYWNlLTMyOjEyOHB4O1xuXG4gIC0tZ3V0dGVyLXBhZ2U6MjRweDtcbiAgLS1kcy1jb250YWluZXItc206NjQwcHg7IC0tZHMtY29udGFpbmVyLW1kOjc2OHB4OyAtLWRzLWNvbnRhaW5lci1sZzoxMDI0cHg7XG4gIC0tZHMtY29udGFpbmVyLXhsOjExNTJweDsgLS1kcy1jb250YWluZXItMnhsOjEyODBweDtcblxuICAtLXNlY3Rpb24teTo5NnB4OyAtLXNlY3Rpb24teS10aWdodDo2NHB4O1xuICAtLWNhcmQtcGFkOjI0cHg7IC0tY2FyZC1wYWQtc206MTZweDsgLS1jYXJkLWdhcDoyMHB4O1xuICAtLWNvbnRyb2wtaC1zbTozMnB4OyAtLWNvbnRyb2wtaC1tZDo0MHB4OyAtLWNvbnRyb2wtaC1sZzo0OHB4O1xufVxuIiwiOnJvb3R7XG4gIC0tZHMtcmFkaXVzLXhzOjRweDsgLS1kcy1yYWRpdXMtc206NnB4OyAtLWRzLXJhZGl1cy1tZDoxMHB4OyAtLWRzLXJhZGl1cy1sZzoxNHB4O1xuICAtLWRzLXJhZGl1cy14bDoyMHB4OyAtLWRzLXJhZGl1cy0yeGw6MjhweDsgLS1yYWRpdXMtcGlsbDo5OTlweDsgLS1yYWRpdXMtY2lyY2xlOjUwJTtcblxuICAtLXJhZGl1cy1jb250cm9sOjEwcHg7ICAgLyogYnV0dG9ucywgaW5wdXRzLCBzZWxlY3RzICovXG4gIC0tcmFkaXVzLWNhcmQ6MTZweDsgICAgICAvKiBjb250ZW50IGNhcmRzLCBwYW5lbHMgKi9cbiAgLS1yYWRpdXMtc3VyZmFjZToyMHB4OyAgIC8qIG1vZGFscywgbGFyZ2UgbWVkaWEsIGhlcm8gcGFuZWxzICovXG4gIC0tcmFkaXVzLWNoaXA6OTk5cHg7ICAgICAvKiBiYWRnZXMsIHRhZ3MsIGZpbHRlciBwaWxscyAqL1xufVxuIiwiOnJvb3R7XG4gIC8qIExpZ2h0LCBjb29sLXRpbnRlZCBzaGFkb3dzIOKAlCB0aGUgb2NlYW4gaHVlIGJsZWVkcyBpbnRvIHRoZSB1bWJyYSwgbmV2ZXIgbmV1dHJhbCBibGFjay4gKi9cbiAgLS1zaGFkb3cteHM6MCAxcHggMnB4IHJnYmEoMzMsNDAsNzYsLjA1KTtcbiAgLS1zaGFkb3ctc206MCAxcHggMnB4IHJnYmEoMzMsNDAsNzYsLjA1KSwgMCAycHggNnB4IHJnYmEoMjYsOTEsMTg2LC4wNik7XG4gIC0tc2hhZG93LW1kOjAgMnB4IDRweCByZ2JhKDMzLDQwLDc2LC4wNCksIDAgOHB4IDIwcHggcmdiYSgyNiw5MSwxODYsLjA5KTtcbiAgLS1zaGFkb3ctbGc6MCA0cHggOHB4IHJnYmEoMzMsNDAsNzYsLjA0KSwgMCAxOHB4IDQwcHggcmdiYSgyNiw5MSwxODYsLjEyKTtcbiAgLS1zaGFkb3cteGw6MCA4cHggMTZweCByZ2JhKDMzLDQwLDc2LC4wNSksIDAgMzJweCA2NHB4IHJnYmEoMjYsOTEsMTg2LC4xNik7XG4gIC0tc2hhZG93LWluc2V0Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gIC0tc2hhZG93LXByaW1hcnk6MCA2cHggMTZweCByZ2JhKDI2LDkxLDE4NiwuMjQpO1xuICAtLXNoYWRvdy1hY2NlbnQ6MCA2cHggMTZweCByZ2JhKDIzNiw4OSw5MiwuMjQpO1xufVxuIiwiOnJvb3R7XG4gIC0tZHVyLWluc3RhbnQ6ODBtczsgLS1kdXItZmFzdDoxNDBtczsgLS1kdXItYmFzZToyMjBtczsgLS1kdXItc2xvdzozNDBtczsgLS1kdXItc2xvd2VyOjUyMG1zO1xuICAtLWVhc2Utc3RhbmRhcmQ6Y3ViaWMtYmV6aWVyKC4zMiwuNzIsLjMyLDEpO1xuICAtLWRzLWVhc2Utb3V0OmN1YmljLWJlemllciguMTYsMSwuMywxKTtcbiAgLS1kcy1lYXNlLWluOmN1YmljLWJlemllciguNSwwLC45LC4yKTtcbiAgLS1lYXNlLXNvZnQtc3ByaW5nOmN1YmljLWJlemllciguMzQsMS4zMiwuNSwxKTtcblxuICAtLXRyYW5zaXRpb24tY29udHJvbDpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWR1ci1mYXN0KSB2YXIoLS1lYXNlLXN0YW5kYXJkKSxib3JkZXItY29sb3IgdmFyKC0tZHVyLWZhc3QpIHZhcigtLWVhc2Utc3RhbmRhcmQpLGNvbG9yIHZhcigtLWR1ci1mYXN0KSB2YXIoLS1lYXNlLXN0YW5kYXJkKSxib3gtc2hhZG93IHZhcigtLWR1ci1mYXN0KSB2YXIoLS1lYXNlLXN0YW5kYXJkKSx0cmFuc2Zvcm0gdmFyKC0tZHVyLWZhc3QpIHZhcigtLWVhc2Utc3RhbmRhcmQpO1xuICAtLXRyYW5zaXRpb24tc3VyZmFjZTp0cmFuc2Zvcm0gdmFyKC0tZHVyLWJhc2UpIHZhcigtLWRzLWVhc2Utb3V0KSxib3gtc2hhZG93IHZhcigtLWR1ci1iYXNlKSB2YXIoLS1kcy1lYXNlLW91dCk7XG5cbiAgLS1saWZ0LWhvdmVyOnRyYW5zbGF0ZVkoLTJweCk7XG4gIC0tbGlmdC1jYXJkOnRyYW5zbGF0ZVkoLTRweCk7XG4gIC0tcHJlc3Mtc2NhbGU6c2NhbGUoLjk3KTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upe1xuICA6cm9vdHstLWR1ci1pbnN0YW50OjBtczstLWR1ci1mYXN0OjBtczstLWR1ci1iYXNlOjBtczstLWR1ci1zbG93OjBtczstLWR1ci1zbG93ZXI6MG1zOy0tbGlmdC1ob3Zlcjpub25lOy0tbGlmdC1jYXJkOm5vbmU7LS1wcmVzcy1zY2FsZTpub25lfVxufVxuIiwiLyogTWluaW1hbCBlbGVtZW50IGRlZmF1bHRzLiBDb21wb25lbnRzIGNhcnJ5IHRoZWlyIG93biBzdHlsaW5nOyB0aGlzIG9ubHkgbWFrZXNcbiAgIHJhdyBIVE1MIGluIGNhcmRzLCBraXRzIGFuZCBwcm90b3R5cGVzIGxvb2sgbGlrZSB0aGUgYnJhbmQuXG5cbiAgIEVMVMOJUsOJUyBBIEZPUlLDgVNUw5NMIChheiBlZ3lldGxlbiBhIHRva2Vua8Opc3psZXRiZW4pLiBBIGRlc2lnbiBwcm9qZWt0YmVuIGV6ZWsgYVxuICAgc3phYsOhbHlvayBjc3VwYXN6IGVsZW1zemVsZWt0b3Jva29uIMO8bG5layAoYGJvZHlgLCBgaDFg4oCmYGg1YCwgYHBgLCBgYWApLCBtZXJ0IG90dFxuICAgbWluZGVuIG9sZGFsIGEgZGVzaWduIHN5c3RlbcOpLiBJdHQgdmlzem9udCBhIHN0w61sdXNsYXAgTUlOREVOIHB1Ymxpa3VzIG9sZGFscmFcbiAgIGJldMO2bHTFkWRpayDigJQgYSBjaHJvbWUgKGZlamzDqWMvbMOhYmzDqWMpIG1pYXR0IOKAlCwgw6lzIGEgYHRlbXBsYXRlcy9gIGFsYXR0IG3DqWcgfjMwXG4gICBUYWlsd2luZGVzIHNhYmxvbiDDqWwgKGNoZWNrb3V0LCB2w6FuZG9yZ3nFsWzDqXMsIMO8Z3lpbnTDqXrDqXMsIHFyX3JlYWRlcikuIENzdXBhc3pcbiAgIGVsZW1zemVsZWt0b3Jva2thbCBhem9rIHRpcG9ncsOhZmnDoWrDoXQgaXMgw6F0w61ybsOhbmsuXG5cbiAgIEV6w6lydCBhIHJlc2V0IGAuZHNgIGFsw6EgdmFuIHN6xbFrw610dmUg4oCUIGRlIGA6d2hlcmUoKWAtcmVsLCBhbWkgTkVNIGFkIHNwZWNpZmljaXTDoXN0LlxuICAgRW7DqWxrw7xsIGAuZHMgYWAgKDAsMSwxKSBlcsWRc2ViYiBsZW5uZSwgbWludCBgLmRzLWJ0bi0tcHJpbWFyeWAgKDAsMSwwKSwgw6lzIG1pbmRlblxuICAgbGlua2LFkWwgw6lww610ZXR0IGtvbXBvbmVucyB2aXNzemFrYXBuw6EgYSBsaW5rLWvDqWtldDogYSBrw6lrIGdvbWIga8OpayBmZWxpcmF0b3Qga2FwbmFcbiAgIChvbHZhc2hhdGF0bGFuKSwgYSBsw6FibMOpYyB2aWzDoWdvcyBsaW5ramVpIHN6aW50w6luIGVsa8Opa8O8bG7DqW5lay4gQSBgOndoZXJlKC5kcykgYWBcbiAgIHBvbnRvc2FuIDAsMCwxIOKAlCB1Z3lhbmF6LCBtaW50IGEgZm9ycsOhc2JlbGkgY3N1cGFzeiBgYWAg4oCULCDDrWd5IGEga29tcG9uZW5zb3N6dMOhbHlva1xuICAgdWd5YW7Dumd5IG55ZXJuZWssIG1pbnQgYSBkZXNpZ24gcHJvamVrdGJlbi4gQSBgLmRzYCBnecO2a8OpciBtYWdhIG1hcmFkIHNpbWEgb3N6dMOhbHk6XG4gICBheiBjc2FrIGF6IMO2csO2a8O2bHQgYWxhcMOpcnTDqWtla2V0IMOhbGzDrXRqYSwgw7x0a8O2esOpcyBuw6lsa8O8bC4gKi9cblxuLmRzLC5kcyAqLC5kcyAqOjpiZWZvcmUsLmRzICo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveH1cbi5kc3tmb250OnZhcigtLXR5cGUtYm9keSk7Y29sb3I6dmFyKC0tdGV4dC1ib2R5KTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtcGFnZSk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHl9XG46d2hlcmUoLmRzKSBoMSw6d2hlcmUoLmRzKSBoMiw6d2hlcmUoLmRzKSBoMyw6d2hlcmUoLmRzKSBoNCw6d2hlcmUoLmRzKSBoNXttYXJnaW46MDtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO3RleHQtd3JhcDpiYWxhbmNlfVxuOndoZXJlKC5kcykgaDF7Zm9udDp2YXIoLS10eXBlLWgxKX1cbjp3aGVyZSguZHMpIGgye2ZvbnQ6dmFyKC0tdHlwZS1oMil9XG46d2hlcmUoLmRzKSBoM3tmb250OnZhcigtLXR5cGUtaDMpfVxuOndoZXJlKC5kcykgaDR7Zm9udDp2YXIoLS10eXBlLWg0KX1cbjp3aGVyZSguZHMpIGg1e2ZvbnQ6dmFyKC0tdHlwZS1oNSl9XG46d2hlcmUoLmRzKSBwe21hcmdpbjowO3RleHQtd3JhcDpwcmV0dHl9XG46d2hlcmUoLmRzKSBhe2NvbG9yOnZhcigtLXRleHQtbGluayk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS1kdXItZmFzdCkgdmFyKC0tZWFzZS1zdGFuZGFyZCl9XG46d2hlcmUoLmRzKSBhOmhvdmVye2NvbG9yOnZhcigtLXRleHQtbGluay1ob3Zlcik7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6M3B4fVxuOndoZXJlKC5kcykgYTpmb2N1cy12aXNpYmxlLDp3aGVyZSguZHMpIGJ1dHRvbjpmb2N1cy12aXNpYmxlLDp3aGVyZSguZHMpIGlucHV0OmZvY3VzLXZpc2libGUsOndoZXJlKC5kcykgc2VsZWN0OmZvY3VzLXZpc2libGUsOndoZXJlKC5kcykgdGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSw6d2hlcmUoLmRzKSBbdGFiaW5kZXhdOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYm9yZGVyLWZvY3VzKTtvdXRsaW5lLW9mZnNldDoycHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1kcy1yYWRpdXMteHMpfVxuOndoZXJlKC5kcykgOjpzZWxlY3Rpb257YmFja2dyb3VuZDp2YXIoLS1vY2Vhbi0xMDApO2NvbG9yOnZhcigtLWluay05MDApfVxuIiwiLypcbiAgICBKb2fDoXN6ZWd5bGV0IEvDqXB6w6lzIOKAlCBkZXNpZ24gc3lzdGVtIGtvbXBvbmVuc3LDqXRlZy5cblxuICAgIEEgZGVzaWduIHByb2pla3QgKGNsYXVkZS5haS9kZXNpZ24pIGEga29tcG9uZW5zZWtldCBSZWFjdCBKU1gtYmVuLCBpbmxpbmVcbiAgICBzdMOtbHVzb2trYWwgc3rDoWxsw610amEuIEV6IGF6IGFwcCBUd2lnIHNhYmxvbm9ra2FsIGRvbGdvemlrLCBlesOpcnQgYSBrb21wb25lbnNla1xuICAgIGl0dCBvc3p0w6FseW9rcmEgdmFubmFrIGZvcmTDrXR2YSDigJQgMToxLWJlbiB1Z3lhbmF6b2tiw7NsIGEgdG9rZW5la2LFkWwsIHVneWFuYXpva2thbFxuICAgIGF6IMOhbGxhcG90b2trYWwgKGhvdmVyL3ByZXNzL2ZvY3VzL2Rpc2FibGVkKSwgbWludCBhIEpTWCBmb3Jyw6FzLlxuXG4gICAgRm9ycsOhc21lZ2ZlbGVsdGV0w6lzOlxuICAgICAgLmRzLWJ0biAgICAgICAgIOKGkCBjb21wb25lbnRzL2NvcmUvQnV0dG9uLmpzeFxuICAgICAgLmRzLWNhcmQgICAgICAgIOKGkCBjb21wb25lbnRzL2NvcmUvQ2FyZC5qc3hcbiAgICAgIC5kcy1iYWRnZSAgICAgICDihpAgY29tcG9uZW50cy9jb3JlL0JhZGdlLmpzeFxuICAgICAgLmRzLXRhZyAgICAgICAgIOKGkCBjb21wb25lbnRzL2NvcmUvVGFnLmpzeFxuICAgICAgLmRzLWFsZXJ0ICAgICAgIOKGkCBjb21wb25lbnRzL2ZlZWRiYWNrL0FsZXJ0LmpzeFxuICAgICAgLmRzLWV2ZW50ICAgICAgIOKGkCBjb21wb25lbnRzL2xlYXJuaW5nL0V2ZW50Q2FyZC5qc3hcbiAgICAgIC5kcy1zcGVha2VyICAgICDihpAgY29tcG9uZW50cy9sZWFybmluZy9TcGVha2VyQ2FyZC5qc3hcbiAgICAgIC5kcy1zZWN0aW9uICAgICDihpAgdWlfa2l0cy9rZXB6ZXMvQ2hyb21lLmpzeCAoU2VjdGlvbilcbiAgICAgIC5kcy1oZWFkZXIgICAgICDihpAgdWlfa2l0cy9rZXB6ZXMvQ2hyb21lLmpzeCAoSGVhZGVyKVxuICAgICAgLmRzLWZvb3RlciAgICAgIOKGkCB1aV9raXRzL2tlcHplcy9DaHJvbWUuanN4IChGb290ZXIpXG4gICAgICAuZHMtaGVybyxcbiAgICAgIC5kcy1wcm9mZXNzaW9ucyxcbiAgICAgIC5kcy10aWxlcyAgICAgICDihpAgdWlfa2l0cy9rZXB6ZXMvSG9tZVNjcmVlbi5qc3hcblxuICAgIEtJRUfDiVNaw41Uw4lTIEEgRk9SUsOBU0hPWiBLw4lQRVNUOiBhIFVJIGtpdCBmaXggYXN6dGFsaSByw6Fjc29ra2FsIGRvbGdvemlrXG4gICAgKGByZXBlYXQoNCwxZnIpYCksIHTDtnLDqXNwb250b2sgbsOpbGvDvGwg4oCUIHByb3RvdMOtcHVzbmFrIGVsw6lnLCDDqWxlcyBvbGRhbG5hayBuZW0uXG4gICAgQSB0w7Zyw6lzcG9udG9rIGl0dCBsZXR0ZWsgaG96esOhYWR2YTsgYSBkZXNpZ24gc3lzdGVtIGVnecOpYiBzemFiw6FsecOhdCBuZW0gw61yasOhayBmZWzDvGwuXG4qL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRWxyZW5kZXrDqXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1jb250YWluZXJ7XG4gICAgbWF4LXdpZHRoOnZhcigtLWRzLWNvbnRhaW5lci0yeGwpO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgcGFkZGluZy1pbmxpbmU6dmFyKC0tc3BhY2UtOCk7XG59XG5cbi5kcy1zZWN0aW9ue1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc2VjdGlvbi15LXRpZ2h0KSB2YXIoLS1zcGFjZS04KTtcbn1cbi5kcy1zZWN0aW9uLS1mbHVzaHtwYWRkaW5nLXRvcDowfVxuXG4uZHMtc2VjdGlvbl9faGVhZHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0zKTtcbiAgICBtYXgtd2lkdGg6NjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTp2YXIoLS1zcGFjZS0xMCk7XG59XG4uZHMtZXllYnJvd3tcbiAgICBmb250OnZhcigtLXR5cGUtZXllYnJvdyk7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLWNhcHMpO1xuICAgIGNvbG9yOnZhcigtLW9jZWFuLTYwMCk7XG59XG4uZHMtc2VjdGlvbl9fdGl0bGV7Zm9udDp2YXIoLS10eXBlLWgyKTtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpfVxuLmRzLXNlY3Rpb25fX2xlYWR7Zm9udDp2YXIoLS10eXBlLWxlYWQpO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfVxuXG5AbWVkaWEgKG1heC13aWR0aDo2NDBweCl7XG4gICAgLmRzLWNvbnRhaW5lcntwYWRkaW5nLWlubGluZTp2YXIoLS1zcGFjZS01KX1cbiAgICAuZHMtc2VjdGlvbntwYWRkaW5nOnZhcigtLXNwYWNlLTEyKSB2YXIoLS1zcGFjZS01KX1cbiAgICAuZHMtc2VjdGlvbl9faGVhZHttYXJnaW4tYm90dG9tOnZhcigtLXNwYWNlLTgpfVxuICAgIC5kcy1zZWN0aW9uX190aXRsZXtmb250OnZhcigtLXR5cGUtaDMpfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIOKAlCBjb21wb25lbnRzL2NvcmUvQnV0dG9uLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWJ0bntcbiAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgIGdhcDo4cHg7XG4gICAgaGVpZ2h0OnZhcigtLWNvbnRyb2wtaC1tZCk7XG4gICAgcGFkZGluZzowIHZhcigtLXNwYWNlLTUpO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1idXR0b24pO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLXRpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jb250cm9sKTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCk7XG59XG4uZHMtYnRuOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnZhcigtLXByZXNzLXNjYWxlKX1cblxuLyogbcOpcmV0ZWsgKi9cbi5kcy1idG4tLXNte2hlaWdodDp2YXIoLS1jb250cm9sLWgtc20pO3BhZGRpbmc6MCB2YXIoLS1zcGFjZS0zKTtmb250OnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy1zbSkvMSB2YXIoLS1kcy1mb250LXNhbnMpO2dhcDo2cHh9XG4uZHMtYnRuLS1sZ3toZWlnaHQ6dmFyKC0tY29udHJvbC1oLWxnKTtwYWRkaW5nOjAgdmFyKC0tc3BhY2UtNyk7Zm9udDp2YXIoLS1mdy1zZW1pYm9sZCkgdmFyKC0tZnMtYmFzZSkvMSB2YXIoLS1kcy1mb250LXNhbnMpO2dhcDoxMHB4fVxuXG4vKiB2w6FsdG96YXRvayAqL1xuLmRzLWJ0bi0tcHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LW9uLXByaW1hcnkpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXByaW1hcnkpfVxuLmRzLWJ0bi0tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5LWhvdmVyKTtjb2xvcjp2YXIoLS10ZXh0LW9uLXByaW1hcnkpfVxuLmRzLWJ0bi0tcHJpbWFyeTphY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tcHJpbWFyeS1hY3RpdmUpfVxuXG4uZHMtYnRuLS1zZWNvbmRhcnl7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tc2Vjb25kYXJ5KTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItdGludCk7Ym94LXNoYWRvdzpub25lfVxuLmRzLWJ0bi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWN0aW9uLXNlY29uZGFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tb2NlYW4tNzAwKX1cblxuLmRzLWJ0bi0tb3V0bGluZXtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtY2FyZCk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpfVxuLmRzLWJ0bi0tb3V0bGluZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3Ryb25nKTtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyl9XG5cbi5kcy1idG4tLWdob3N0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tb2NlYW4tNzAwKTtib3gtc2hhZG93Om5vbmV9XG4uZHMtYnRuLS1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9jZWFuLTUwKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApfVxuXG4uZHMtYnRuLS1hY2NlbnR7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tYWNjZW50KTtjb2xvcjojZmZmO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWFjY2VudCl9XG4uZHMtYnRuLS1hY2NlbnQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tYWNjZW50LWhvdmVyKTtjb2xvcjojZmZmfVxuXG4uZHMtYnRuLS1kYW5nZXJ7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtZGFuZ2VyKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6bm9uZX1cbi5kcy1idG4tLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kOiNBMzFCMzA7Y29sb3I6I2ZmZn1cblxuLmRzLWJ0bi0tYmxvY2t7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9XG4uZHMtYnRuW2Rpc2FibGVkXSwuZHMtYnRuW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJde29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JveC1zaGFkb3c6bm9uZTt0cmFuc2Zvcm06bm9uZX1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcmQg4oCUIGNvbXBvbmVudHMvY29yZS9DYXJkLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWNhcmR7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jYXJkKTtcbiAgICBwYWRkaW5nOnZhcigtLWNhcmQtcGFkKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLXN1cmZhY2UpLGJvcmRlci1jb2xvciB2YXIoLS1kdXItYmFzZSkgdmFyKC0tZHMtZWFzZS1vdXQpO1xufVxuLmRzLWNhcmQtLWZsdXNoe3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW59XG4uZHMtY2FyZC0tdGludHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtdGludCk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci10aW50KX1cbi5kcy1jYXJkLS1zdW5rZW57YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1bmtlbil9XG4uZHMtY2FyZC0tZmxhdHtib3gtc2hhZG93Om5vbmV9XG4uZHMtY2FyZC0tbWR7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbWQpfVxuLmRzLWNhcmQtLWxne2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKX1cblxuLmRzLWNhcmQtLWludGVyYWN0aXZle2N1cnNvcjpwb2ludGVyfVxuLmRzLWNhcmQtLWludGVyYWN0aXZlOmhvdmVye1xuICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKTtcbiAgICB0cmFuc2Zvcm06dmFyKC0tbGlmdC1jYXJkKTtcbiAgICBib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXRpbnQpO1xufVxuLyogQSBrw6FydHlhIGVnw6lzemUga2F0dGludGhhdMOzOiBhIGxpbmtldCBraXRlcsOtdGrDvGssIGRlIGEgYmVsc8WRIGdvbWJvayBmw7Zsw6kgbmVtIG1lZ3kuICovXG4uZHMtY2FyZC0taW50ZXJhY3RpdmU6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItdGludCl9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYWRnZSDigJQgY29tcG9uZW50cy9jb3JlL0JhZGdlLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWJhZGdle1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGdhcDo2cHg7XG4gICAgaGVpZ2h0OjI0cHg7XG4gICAgcGFkZGluZzowIDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtY2hpcCk7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgICBmb250LXNpemU6dmFyKC0tZnMtMnhzKTtcbiAgICBmb250LXdlaWdodDp2YXIoLS1mdy1zZW1pYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtd2lkZSk7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc2xhdGUtMTAwKTtcbiAgICBjb2xvcjp2YXIoLS1zbGF0ZS02MDApO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbn1cbi5kcy1iYWRnZS0tc217aGVpZ2h0OjIwcHg7cGFkZGluZzowIDhweDtmb250LXNpemU6dmFyKC0tZnMtM3hzKTtnYXA6NHB4fVxuXG4uZHMtYmFkZ2UtLW9jZWFue2JhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO2NvbG9yOnZhcigtLW9jZWFuLTcwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci10aW50KX1cbi5kcy1iYWRnZS0tbGFnb29ue2JhY2tncm91bmQ6dmFyKC0tbGFnb29uLTUwKTtjb2xvcjp2YXIoLS1sYWdvb24tNzAwKTtib3JkZXItY29sb3I6I0JFRTlGNH1cbi5kcy1iYWRnZS0tc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1zdWNjZXNzLWJnKTtjb2xvcjp2YXIoLS1zdGF0dXMtc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLXN0YXR1cy1zdWNjZXNzLWJvcmRlcil9XG4uZHMtYmFkZ2UtLXdhcm5pbmd7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtd2FybmluZy1iZyk7Y29sb3I6dmFyKC0tZW1iZXItNzAwKTtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLXdhcm5pbmctYm9yZGVyKX1cbi5kcy1iYWRnZS0tZGFuZ2Vye2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWRhbmdlci1iZyk7Y29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXN0YXR1cy1kYW5nZXItYm9yZGVyKX1cbi5kcy1iYWRnZS0tYWNjcmVkaXRlZHtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1hY2NyZWRpdGVkLWJnKTtjb2xvcjp2YXIoLS1hbWJlci03MDApO2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtYWNjcmVkaXRlZC1ib3JkZXIpfVxuLmRzLWJhZGdlLS1zb2xpZHtiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1cblxuLyogQSBzesOtbiBzb2hhIG5lbSBheiBlZ3lldGxlbiBqZWx6w6lzIOKAlCBhIHDDtnR0eSBhIHN6w7MgbWVsbGV0dCDDoWxsLCBuZW0gaGVseWV0dGUuICovXG4uZHMtYmFkZ2VfX2RvdHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtmbGV4OjAgMCBhdXRvfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFnIOKAlCBjb21wb25lbnRzL2NvcmUvVGFnLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLXRhZ3tcbiAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6NnB4O1xuICAgIGhlaWdodDozMnB4O1xuICAgIHBhZGRpbmc6MCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNoaXApO1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWRzLWZvbnQtc2Fucyk7XG4gICAgZm9udC1zaXplOnZhcigtLWZzLXNtKTtcbiAgICBmb250LXdlaWdodDp2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1jYXJkKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCk7XG59XG4uZHMtdGFnOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItdGludCk7Y29sb3I6dmFyKC0tdGV4dC1ib2R5KTt0ZXh0LWRlY29yYXRpb246bm9uZX1cbi5kcy10YWctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tYWN0aW9uLXByaW1hcnkpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXByaW1hcnkpfVxuLmRzLXRhZy0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tcHJpbWFyeS1ob3Zlcik7Y29sb3I6I2ZmZn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFsZXJ0IOKAlCBjb21wb25lbnRzL2ZlZWRiYWNrL0FsZXJ0LmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWFsZXJ0e1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0O1xuICAgIGdhcDp2YXIoLS1zcGFjZS0zKTtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTUpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNhcmQpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWluZm8tYmcpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tc3RhdHVzLWluZm8tYm9yZGVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbn1cbi5kcy1hbGVydDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX1cbi5kcy1hbGVydF9faWNvbntkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDoxcHg7ZmxleDowIDAgYXV0b31cbi5kcy1hbGVydF9fYm9keXtmbGV4OjE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O21pbi13aWR0aDowfVxuLmRzLWFsZXJ0X190aXRsZXtmb250OnZhcigtLXR5cGUtbGFiZWwpfVxuLmRzLWFsZXJ0X190ZXh0e2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpfVxuLmRzLWFsZXJ0X19hY3Rpb257ZmxleDowIDAgYXV0bzthbGlnbi1zZWxmOmNlbnRlcn1cblxuLmRzLWFsZXJ0LS1pbmZvIC5kcy1hbGVydF9faWNvbiwuZHMtYWxlcnQtLWluZm8gLmRzLWFsZXJ0X190aXRsZXtjb2xvcjp2YXIoLS1vY2Vhbi04MDApfVxuLmRzLWFsZXJ0LS1zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtc3VjY2Vzcy1ib3JkZXIpfVxuLmRzLWFsZXJ0LS1zdWNjZXNzIC5kcy1hbGVydF9faWNvbiwuZHMtYWxlcnQtLXN1Y2Nlc3MgLmRzLWFsZXJ0X190aXRsZXtjb2xvcjojMEE2QjQzfVxuLmRzLWFsZXJ0LS13YXJuaW5ne2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtd2FybmluZy1ib3JkZXIpfVxuLmRzLWFsZXJ0LS13YXJuaW5nIC5kcy1hbGVydF9faWNvbiwuZHMtYWxlcnQtLXdhcm5pbmcgLmRzLWFsZXJ0X190aXRsZXtjb2xvcjp2YXIoLS1lbWJlci03MDApfVxuLmRzLWFsZXJ0LS1kYW5nZXJ7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtZGFuZ2VyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlci1ib3JkZXIpfVxuLmRzLWFsZXJ0LS1kYW5nZXIgLmRzLWFsZXJ0X19pY29uLC5kcy1hbGVydC0tZGFuZ2VyIC5kcy1hbGVydF9fdGl0bGV7Y29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlcil9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAvKiBBIG3FsXZlbGV0IGVzc2VuIGvDvGzDtm4gc29yYmEuIENzYWsgYSBgZmxleC13cmFwYCBuZW0gZWzDqWc6IGEgdMO2cnpzIGBmbGV4OjFgXG4gICAgICAgbWlhdHQgw7Zzc3plbnlvbcOzZG5hIGEgZ29tYiBtZWxsZXR0IChww6FyIHN6w7MgZsOpciBlbCBzb3JvbmvDqW50KS4gQSB0w7ZyenNcbiAgICAgICBtaW5pbcOhbGlzIHN6w6lsZXNzw6lnZSBlesOpcnQgYSBzb3IgbWFyYWTDqWthIOKAlCBpa29uICgxOHB4KSArIGdhcCAoMTJweCkuICovXG4gICAgLmRzLWFsZXJ0e2ZsZXgtd3JhcDp3cmFwfVxuICAgIC5kcy1hbGVydF9fYm9keXttaW4td2lkdGg6Y2FsYygxMDAlIC0gMzBweCl9XG4gICAgLmRzLWFsZXJ0X19hY3Rpb257YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21hcmdpbi1sZWZ0OjMwcHh9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFdmVudENhcmQg4oCUIGNvbXBvbmVudHMvbGVhcm5pbmcvRXZlbnRDYXJkLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWV2ZW50e1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpyb3c7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjppbmhlcml0O1xufVxuLmRzLWV2ZW50OmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9XG4uZHMtZXZlbnQtLXN0YWNrZWR7ZmxleC1kaXJlY3Rpb246Y29sdW1ufVxuXG4vKiBkw6F0dW1ibG9rayAqL1xuLmRzLWV2ZW50X19kYXRle1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZmxleDowIDAgYXV0bztcbiAgICB3aWR0aDoxMDRweDtcbiAgICBwYWRkaW5nOjI0cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtdGludCk7XG4gICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItdGludCk7XG59XG4uZHMtZXZlbnQtLXN0YWNrZWQgLmRzLWV2ZW50X19kYXRle1xuICAgIGZsZXgtZGlyZWN0aW9uOnJvdztcbiAgICBnYXA6OHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgcGFkZGluZzoxMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OjA7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXRpbnQpO1xufVxuLmRzLWV2ZW50X19kYXl7XG4gICAgZm9udDp2YXIoLS1mdy1ib2xkKSB2YXIoLS1mcy0zeGwpLzEgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgICBjb2xvcjp2YXIoLS1vY2Vhbi03MDApO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLXRpZ2h0ZXIpO1xufVxuLmRzLWV2ZW50X19tb250aHtcbiAgICBmb250OnZhcigtLXR5cGUtZXllYnJvdyk7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLWNhcHMpO1xuICAgIGNvbG9yOnZhcigtLW9jZWFuLTYwMCk7XG4gICAgbWFyZ2luLXRvcDo0cHg7XG59XG4uZHMtZXZlbnQtLXN0YWNrZWQgLmRzLWV2ZW50X19tb250aHttYXJnaW4tdG9wOjB9XG4uZHMtZXZlbnRfX3llYXJ7Zm9udDp2YXIoLS10eXBlLW1vbm8pO2NvbG9yOnZhcigtLW9jZWFuLTUwMCk7bWFyZ2luLXRvcDoycHh9XG4uZHMtZXZlbnQtLXN0YWNrZWQgLmRzLWV2ZW50X195ZWFye21hcmdpbi10b3A6MH1cblxuLyogdMO2cnpzICovXG4uZHMtZXZlbnRfX2JvZHl7XG4gICAgZmxleDoxO1xuICAgIG1pbi13aWR0aDowO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgZ2FwOnZhcigtLXNwYWNlLTMpO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtNSk7XG59XG4uZHMtZXZlbnRfX2JhZGdlc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjZweH1cbi5kcy1ldmVudF9fdGl0bGV7XG4gICAgbWFyZ2luOjA7XG4gICAgZm9udDp2YXIoLS1mdy1zZW1pYm9sZCkgdmFyKC0tZnMtbGcpLzEuMzUgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO1xufVxuLmRzLWV2ZW50X19zdW1tYXJ5e1xuICAgIG1hcmdpbjowO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBkaXNwbGF5Oi13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDoyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG4vKiBBIGtpdm9uYXQgcmljaCB0ZXh0ZXQgaXMga2FwaGF0IGEgbGVnYWN5IHBheWxvYWRiw7NsIOKAlCBhIGJlw6FneWF6b3R0IDxwPiBuZSB0w7ZyamUgYSBrbGFtcG90LiAqL1xuLmRzLWV2ZW50X19zdW1tYXJ5IHB7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmV9XG4uZHMtZXZlbnRfX21ldGF7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtNCk7XG4gICAgbWFyZ2luLXRvcDphdXRvO1xuICAgIHBhZGRpbmctdG9wOnZhcigtLXNwYWNlLTIpO1xufVxuLmRzLW1ldGF7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOjZweDtcbiAgICBmb250OnZhcigtLXR5cGUtY2FwdGlvbik7XG4gICAgZm9udC1zaXplOnZhcigtLWZzLXhzKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBtaW4td2lkdGg6MDtcbn1cbi5kcy1tZXRhIGl7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpO2ZvbnQtc2l6ZToxNHB4O2ZsZXg6MCAwIGF1dG99XG4uZHMtZXZlbnRfX2N0YXttYXJnaW4tbGVmdDphdXRvO2ZsZXg6MCAwIGF1dG99XG5cbkBtZWRpYSAobWF4LXdpZHRoOjUyMHB4KXtcbiAgICAuZHMtZXZlbnR7ZmxleC1kaXJlY3Rpb246Y29sdW1ufVxuICAgIC5kcy1ldmVudF9fZGF0ZXtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjhweDt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yaWdodDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci10aW50KX1cbiAgICAuZHMtZXZlbnRfX21vbnRoLC5kcy1ldmVudF9feWVhcnttYXJnaW4tdG9wOjB9XG4gICAgLmRzLWV2ZW50X19jdGF7bWFyZ2luLWxlZnQ6MH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwZWFrZXJDYXJkIOKAlCBjb21wb25lbnRzL2xlYXJuaW5nL1NwZWFrZXJDYXJkLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLXNwZWFrZXJ7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOnJvdztcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIGdhcDp2YXIoLS1zcGFjZS00KTtcbn1cbi5kcy1zcGVha2VyLS1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWFsaWduOmNlbnRlcjtnYXA6dmFyKC0tc3BhY2UtMyl9XG5cbi5kcy1zcGVha2VyX19hdmF0YXJ7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICBmbGV4OjAgMCBhdXRvO1xuICAgIHdpZHRoOjUycHg7XG4gICAgaGVpZ2h0OjUycHg7XG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO1xuICAgIGNvbG9yOnZhcigtLW9jZWFuLTcwMCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItdGludCk7XG4gICAgZm9udDp2YXIoLS1mdy1zZW1pYm9sZCkgMTZweC8xIHZhcigtLWZvbnQtZGlzcGxheSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO1xufVxuLmRzLXNwZWFrZXItLXN0YWNrZWQgLmRzLXNwZWFrZXJfX2F2YXRhcnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4O2ZvbnQtc2l6ZToyMnB4fVxuLmRzLXNwZWFrZXJfX2F2YXRhciBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyfVxuXG4uZHMtc3BlYWtlcl9fdGV4dHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7bWluLXdpZHRoOjB9XG4uZHMtc3BlYWtlcl9fbmFtZXtmb250OnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy1tZCkvMS4zIHZhcigtLWZvbnQtZGlzcGxheSk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpfVxuLmRzLXNwZWFrZXJfX3JvbGV7Zm9udDp2YXIoLS10eXBlLWNhcHRpb24pO2ZvbnQtc2l6ZTp2YXIoLS1mcy14cyk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9XG4uZHMtc3BlYWtlcl9fb3Jne2ZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTtjb2xvcjp2YXIoLS10ZXh0LXN1YnRsZSl9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZXJvIOKAlCB1aV9raXRzL2tlcHplcy9Ib21lU2NyZWVuLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRsO8Z2fFkWxlZ2VzIHdhc2ggb2NlYW4tNTAtYsWRbCDDoXRsw6F0c3rDs2JhLiBFbGhhbHbDoW55dWzDoXMsIG5lbSBrw6l0c3rDrW7FsSDDoXRtZW5ldCxcbiAgIMOpcyBzb2hhIG5lbSDDoXRsw7NzIOKAlCBsw6FzZCByZWFkbWUubWQg4oCeQmFja2dyb3VuZHPigJ0uICovXG4uZHMtaGVyby13YXNoe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1vY2Vhbi01MCkgMCUscmdiYSgyMzAsMjQxLDI1MiwwKSAxMDAlKX1cblxuLmRzLWhlcm97XG4gICAgbWF4LXdpZHRoOnZhcigtLWRzLWNvbnRhaW5lci0yeGwpO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0xNikgdmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtMTApO1xuICAgIGRpc3BsYXk6Z3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSBtaW5tYXgoMCwxLjA1ZnIpO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0xMCk7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xufVxuLmRzLWhlcm9fX2NvcHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tc3BhY2UtNSl9XG4uZHMtaGVyb19fdGl0bGV7Zm9udDp2YXIoLS10eXBlLWgxKTtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHRlcil9XG4uZHMtaGVyb19fbGVhZHtmb250OnZhcigtLXR5cGUtbGVhZCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjUyMHB4fVxuLmRzLWhlcm9fX2FjdGlvbnN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDp2YXIoLS1zcGFjZS0zKTttYXJnaW4tdG9wOnZhcigtLXNwYWNlLTIpfVxuLmRzLWhlcm9fX2FydHt3aWR0aDoxMDAlO2hlaWdodDphdXRvfVxuXG5AbWVkaWEgKG1heC13aWR0aDoxMDI0cHgpe1xuICAgIC5kcy1oZXJve2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7cGFkZGluZzp2YXIoLS1zcGFjZS0xMikgdmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtOCl9XG4gICAgLmRzLWhlcm9fX2FydHttYXgtd2lkdGg6NTYwcHg7anVzdGlmeS1zZWxmOmNlbnRlcn1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtaGVyb3twYWRkaW5nOnZhcigtLXNwYWNlLTEwKSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS04KTtnYXA6dmFyKC0tc3BhY2UtOCl9XG4gICAgLmRzLWhlcm9fX3RpdGxle2ZvbnQ6dmFyKC0tdHlwZS1oMil9XG4gICAgLmRzLWhlcm9fX2xlYWR7Zm9udDp2YXIoLS10eXBlLWJvZHkpfVxuICAgIC5kcy1oZXJvX19hY3Rpb25zIC5kcy1idG57ZmxleDoxIDEgYXV0b31cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhpdmF0w6FzcmVuZGVrIHPDoXZqYSDigJQgSG9tZVNjcmVlbi5qc3ggKFByb2Zlc3Npb25TdHJpcCwg4oCec8Ohdm9z4oCdIHbDoWx0b3phdClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1wcm9mZXNzaW9ucy13cmFwe1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtMTIpO1xufVxuLmRzLXByb2Zlc3Npb25ze1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBvdmVyZmxvdy14OmF1dG87XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtY2FyZCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6dGhpbjtcbn1cbi5kcy1wcm9mZXNzaW9uc19faXRlbXtcbiAgICBmbGV4OjEgMSAwO1xuICAgIG1pbi13aWR0aDpmaXQtY29udGVudDtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtMik7XG4gICAgcGFkZGluZzo0cHggMTZweDtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBmb250OnZhcigtLWZ3LXNlbWlib2xkKSB2YXIoLS1mcy1zbSkvMS4yIHZhcigtLWRzLWZvbnQtc2Fucyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1wcm9mZXNzaW9uc19faXRlbTpob3Zlcntjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLXByb2Zlc3Npb25zX19pdGVtIGl7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpO2ZvbnQtc2l6ZToxNnB4fVxuLmRzLXByb2Zlc3Npb25zX19pdGVtOmhvdmVyIGl7Y29sb3I6dmFyKC0tb2NlYW4tNjAwKX1cbi5kcy1wcm9mZXNzaW9uc19fcnVsZXt3aWR0aDoxcHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItaGFpcmxpbmUpO2ZsZXg6MCAwIGF1dG99XG5cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtcHJvZmVzc2lvbnMtd3JhcHtwYWRkaW5nOnZhcigtLXNwYWNlLTYpIHZhcigtLXNwYWNlLTUpIHZhcigtLXNwYWNlLTEwKX1cbiAgICAuZHMtcHJvZmVzc2lvbnN7cGFkZGluZzp2YXIoLS1zcGFjZS0zKX1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFLDoWNzb2sg4oCUIMOpcnTDqWt0w6FibMOhaywgZXNlbcOpbnllaywgZWzFkWFkw7NrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHMtZ3JpZHtkaXNwbGF5OmdyaWQ7Z2FwOnZhcigtLWNhcmQtZ2FwKX1cbi5kcy1ncmlkLS00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX1cbi5kcy1ncmlkLS0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX1cbi5kcy1ncmlkLS0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX1cblxuQG1lZGlhIChtYXgtd2lkdGg6MTAyNHB4KXtcbiAgICAuZHMtZ3JpZC0tNHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9XG4gICAgLmRzLWdyaWQtLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6NjQwcHgpe1xuICAgIC5kcy1ncmlkLS00LC5kcy1ncmlkLS0zLC5kcy1ncmlkLS0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfVxufVxuXG4vKiDDqXJ0w6lrdMOhYmxhICovXG4uZHMtdGlsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0zKX1cbi5kcy10aWxlX19pY29ue1xuICAgIHdpZHRoOjQ0cHg7XG4gICAgaGVpZ2h0OjQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1kcy1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXRpbnQpO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZmxleDowIDAgYXV0bztcbn1cbi5kcy10aWxlX19pY29uIGl7Y29sb3I6dmFyKC0tb2NlYW4tNjAwKTtmb250LXNpemU6MjFweH1cbi5kcy10aWxlX190aXRsZXtmb250OnZhcigtLXR5cGUtaDUpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy10aWxlX190ZXh0e2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cblxuLmRzLXNlY3Rpb25fX2Zvb3R7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDp2YXIoLS1zcGFjZS0xMCl9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIg4oCUIHVpX2tpdHMva2VwemVzL0Nocm9tZS5qc3ggKEhlYWRlcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1oZWFkZXJ7XG4gICAgcG9zaXRpb246c3RpY2t5O1xuICAgIHRvcDowO1xuICAgIHotaW5kZXg6NDA7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC44Nik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xufVxuLmRzLWhlYWRlcl9faW5uZXJ7XG4gICAgbWF4LXdpZHRoOnZhcigtLWRzLWNvbnRhaW5lci0yeGwpO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgcGFkZGluZzowIHZhcigtLXNwYWNlLTgpO1xuICAgIGhlaWdodDo3MnB4O1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTgpO1xufVxuLmRzLWhlYWRlcl9fYnJhbmR7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6MTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBmbGV4OjAgMCBhdXRvO1xufVxuLmRzLWhlYWRlcl9fYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XG4uZHMtaGVhZGVyX19icmFuZCBpbWd7aGVpZ2h0OjQ0cHg7d2lkdGg6YXV0bztvYmplY3QtZml0OmNvbnRhaW59XG4uZHMtaGVhZGVyX19icmFuZC10ZXh0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtsaW5lLWhlaWdodDoxLjF9XG4uZHMtaGVhZGVyX19icmFuZC1uYW1le1xuICAgIGZvbnQ6dmFyKC0tZnctc2VtaWJvbGQpIHZhcigtLWZzLW1kKS8xLjEgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO1xufVxuLmRzLWhlYWRlcl9fYnJhbmQtc3Vie2ZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTtmb250LXNpemU6dmFyKC0tZnMtM3hzKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cblxuLmRzLWhlYWRlcl9fbmF2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTYpfVxuLmRzLWhlYWRlcl9fbGlua3tcbiAgICBwYWRkaW5nOjhweCAycHg7XG4gICAgZm9udDp2YXIoLS10eXBlLWxhYmVsKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOjA7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLWhlYWRlcl9fbGluazpob3Zlcntjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLWhlYWRlcl9fbGluay0tYWN0aXZle2NvbG9yOnZhcigtLW9jZWFuLTcwMCk7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggMCB2YXIoLS1hY3Rpb24tcHJpbWFyeSl9XG5cbi5kcy1oZWFkZXJfX3RhaWx7bWFyZ2luLWxlZnQ6YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0zKX1cblxuLmRzLWljb25idG57XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICB3aWR0aDp2YXIoLS1jb250cm9sLWgtbWQpO1xuICAgIGhlaWdodDp2YXIoLS1jb250cm9sLWgtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNvbnRyb2wpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1pY29uYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO2NvbG9yOnZhcigtLW9jZWFuLTcwMCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XG4uZHMtaWNvbmJ0bjphY3RpdmV7dHJhbnNmb3JtOnZhcigtLXByZXNzLXNjYWxlKX1cbi5kcy1pY29uYnRuLS1zbXt3aWR0aDp2YXIoLS1jb250cm9sLWgtc20pO2hlaWdodDp2YXIoLS1jb250cm9sLWgtc20pfVxuXG4vKiBmZWpsw6ljIGtvc8Ohcmlrb24g4oCUIGEgc3F1aWRzZWxsOmNhcnRfd2lkZ2V0IGtvbXBvbmVucyBkcy1rw7ZudMO2c2UgKi9cbi5kcy1oZWFkZXJfX2NhcnQgLmNhcnQtd2lkZ2V0LWxpbmt7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICB3aWR0aDp2YXIoLS1jb250cm9sLWgtbWQpO1xuICAgIGhlaWdodDp2YXIoLS1jb250cm9sLWgtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNvbnRyb2wpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtYm9keSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLWhlYWRlcl9fY2FydCAuY2FydC13aWRnZXQtbGluazpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLW9jZWFuLTUwKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLWhlYWRlcl9fY2FydCAuY2FydC13aWRnZXQtaWNvbntmb250LXNpemU6dmFyKC0tZnMtbGcpO2xpbmUtaGVpZ2h0OjF9XG4uZHMtaGVhZGVyX19jYXJ0IC5jYXJ0LXdpZGdldC1xdWFudGl0eXtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICByaWdodDowO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgbWluLXdpZHRoOjE2cHg7XG4gICAgaGVpZ2h0OjE2cHg7XG4gICAgcGFkZGluZzowIDRweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBjb2xvcjojZmZmO1xuICAgIGZvbnQtc2l6ZTp2YXIoLS1mcy0zeHMpO1xuICAgIGZvbnQtd2VpZ2h0OnZhcigtLWZ3LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OjE7XG59XG5cbi8qIGZlbGhhc3puw6Fsw7NpIHBpcnVsYSAqL1xuLmRzLXVzZXJwaWxse1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOjhweDtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXBpbGwpO1xuICAgIHBhZGRpbmc6NHB4IDEycHggNHB4IDRweDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyk7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1ib2R5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICB0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCk7XG59XG4uZHMtdXNlcnBpbGw6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpfVxuLmRzLXVzZXJwaWxsX19hdmF0YXJ7XG4gICAgd2lkdGg6MzBweDtcbiAgICBoZWlnaHQ6MzBweDtcbiAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLW9jZWFuLTUwKTtcbiAgICBjb2xvcjp2YXIoLS1vY2Vhbi03MDApO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXRpbnQpO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZm9udDp2YXIoLS1mdy1zZW1pYm9sZCkgMTJweC8xIHZhcigtLWZvbnQtZGlzcGxheSk7XG4gICAgZmxleDowIDAgYXV0bztcbn1cbi5kcy11c2VycGlsbF9fbmFtZXtcbiAgICBmb250OnZhcigtLXR5cGUtY2FwdGlvbik7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1ib2R5KTtcbiAgICBtYXgtd2lkdGg6MTUwcHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xufVxuXG4vKiBsZW55w61sw7MgbWVuw7wgKi9cbi5kcy1tZW51e1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOmNhbGMoMTAwJSArIDhweCk7XG4gICAgbWluLXdpZHRoOjIxNnB4O1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1yYWlzZWQpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jYXJkKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0yKTtcbiAgICB6LWluZGV4OjUwO1xufVxuLmRzLW1lbnVfX2l0ZW17XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtMyk7XG4gICAgcGFkZGluZzo4cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCk7XG4gICAgZm9udDp2YXIoLS10eXBlLWJvZHktc20pO1xuICAgIGNvbG9yOnZhcigtLXRleHQtYm9keSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLW1lbnVfX2l0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLW1lbnVfX2l0ZW0gaXt3aWR0aDoxNnB4O2NvbG9yOnZhcigtLXRleHQtc3VidGxlKTtmb250LXNpemU6MTRweH1cbi5kcy1tZW51X19pdGVtOmhvdmVyIGl7Y29sb3I6dmFyKC0tb2NlYW4tNjAwKX1cbi5kcy1tZW51X19ydWxle2hlaWdodDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItaGFpcmxpbmUpO21hcmdpbjp2YXIoLS1zcGFjZS0yKSAwfVxuLmRzLW1lbnVfX2xhYmVse1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgcGFkZGluZzo2cHggMTJweCAycHg7XG4gICAgZm9udDp2YXIoLS10eXBlLWV5ZWJyb3cpO1xuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzp2YXIoLS1scy1jYXBzKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LXN1YnRsZSk7XG59XG5cbi5kcy1yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX1cbi5kcy1oZWFkZXJfX2J1cmdlcntkaXNwbGF5Om5vbmV9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjkwMHB4KXtcbiAgICAuZHMtaGVhZGVyX19pbm5lcntnYXA6dmFyKC0tc3BhY2UtNCk7cGFkZGluZzowIHZhcigtLXNwYWNlLTUpfVxuICAgIC5kcy1oZWFkZXJfX25hdntkaXNwbGF5Om5vbmV9XG4gICAgLmRzLWhlYWRlcl9fYnVyZ2Vye2Rpc3BsYXk6aW5saW5lLWZsZXh9XG4gICAgLmRzLWhlYWRlcl9fYnJhbmQtdGV4dHtkaXNwbGF5Om5vbmV9XG4gICAgLmRzLXVzZXJwaWxsX19uYW1le2Rpc3BsYXk6bm9uZX1cbiAgICAuZHMtdXNlcnBpbGx7cGFkZGluZzo0cHh9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIg4oCUIHVpX2tpdHMva2VwemVzL0Nocm9tZS5qc3ggKEZvb3RlcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1mb290ZXJ7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWludmVyc2UpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luLXRvcDp2YXIoLS1zZWN0aW9uLXkpO1xufVxuLmRzLWZvb3Rlcl9faW5uZXJ7XG4gICAgbWF4LXdpZHRoOnZhcigtLWRzLWNvbnRhaW5lci0yeGwpO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0xNikgdmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtOCk7XG4gICAgZGlzcGxheTpncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoxLjRmciByZXBlYXQoMywxZnIpIDEuNGZyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0xMCk7XG59XG4vKiBBIFVJIGtpdCDDtnRvc3psb3BvcyBsw6FibMOpY2UgaMOtcmxldsOpbC1mZWxpcmF0a296w6FzdCDDqXMgaMOhcm9tIGxpbmtvc3psb3BvdCBmZWx0w6l0ZWxlei5cbiAgIEViYmVuIGF6IGFwcGJhbiBuaW5jcyBow61ybGV2w6lsLXbDqWdwb250LCDDqXMgYSDigJ5Kb2dp4oCdIG9zemxvcCBjw6lsamFpIHNlbSBsw6l0ZXpuZWtcbiAgIMO6dHZvbmFsa8OpbnQg4oCUIGV6w6lydCBhIHZhbMOzcyB0YXJ0YWxvbWhveiBzemFib3R0LCBow6Fyb21vc3psb3BvcyB2w6FsdG96YXQuICovXG4uZHMtZm9vdGVyX19pbm5lci0tbGVhbntncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS40ZnIgMWZyIDFmcn1cbi5kcy1mb290ZXJfX2JyYW5ke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTQpfVxuLmRzLWZvb3Rlcl9fYnJhbmQgaW1ne2hlaWdodDo1NnB4O3dpZHRoOmF1dG87YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fVxuLmRzLWZvb3Rlcl9fYmx1cmJ7Zm9udDp2YXIoLS10eXBlLWJvZHktc20pO2NvbG9yOnZhcigtLXNsYXRlLTQwMCk7bWF4LXdpZHRoOjI4MHB4fVxuXG4uZHMtZm9vdGVyX19jb2x7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tc3BhY2UtMyl9XG4uZHMtZm9vdGVyX190aXRsZXtcbiAgICBmb250OnZhcigtLXR5cGUtZXllYnJvdyk7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLWNhcHMpO1xuICAgIGNvbG9yOnZhcigtLXNsYXRlLTQwMCk7XG59XG4uZHMtZm9vdGVyX19saW5re2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS1zbGF0ZS0zMDApO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKX1cbi5kcy1mb290ZXJfX2xpbms6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtdW5kZXJsaW5lLW9mZnNldDozcHh9XG4uZHMtZm9vdGVyX19ub3Rle2ZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTtjb2xvcjp2YXIoLS1zbGF0ZS00MDApfVxuXG4uZHMtZm9vdGVyX19iYXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTApfVxuLmRzLWZvb3Rlcl9fYmFyLWlubmVye1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtOCk7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBmbGV4LXdyYXA6d3JhcDtcbiAgICBnYXA6dmFyKC0tc3BhY2UtNCk7XG4gICAgZm9udDp2YXIoLS10eXBlLWNhcHRpb24pO1xuICAgIGNvbG9yOnZhcigtLXNsYXRlLTQwMCk7XG59XG4uZHMtZm9vdGVyX19zb2NpYWx7bWFyZ2luLWxlZnQ6YXV0bztkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLXNwYWNlLTQpfVxuLmRzLWZvb3Rlcl9fc29jaWFsIGF7Y29sb3I6dmFyKC0tc2xhdGUtNDAwKTtmb250LXNpemU6MTdweDt0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCl9XG4uZHMtZm9vdGVyX19zb2NpYWwgYTpob3Zlcntjb2xvcjojZmZmfVxuXG4vKiBow61ybGV2w6lsICovXG4uZHMtZm9vdGVyX19mb3Jte2Rpc3BsYXk6ZmxleDtnYXA6OHB4fVxuLmRzLWlucHV0e1xuICAgIGZsZXg6MTtcbiAgICBtaW4td2lkdGg6MDtcbiAgICBoZWlnaHQ6dmFyKC0tY29udHJvbC1oLW1kKTtcbiAgICBwYWRkaW5nOjAgdmFyKC0tc3BhY2UtMyk7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtY29udHJvbCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtYm9keSk7XG4gICAgZm9udDp2YXIoLS10eXBlLWJvZHktc20pO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpfVxuLmRzLWlucHV0OmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWZvY3VzKTtib3gtc2hhZG93OnZhcigtLWZvY3VzLXJpbmcpfVxuLmRzLWlucHV0LS1pbnZlcnNle1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuICAgIGJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNik7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBib3gtc2hhZG93Om5vbmU7XG59XG4uZHMtaW5wdXQtLWludmVyc2U6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXNsYXRlLTQwMCl9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjEwMjRweCl7XG4gICAgLmRzLWZvb3Rlcl9faW5uZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO2dhcDp2YXIoLS1zcGFjZS04KX1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtZm9vdGVyX19pbm5lcntncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtwYWRkaW5nOnZhcigtLXNwYWNlLTEyKSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS02KX1cbiAgICAuZHMtZm9vdGVyX19iYXItaW5uZXJ7cGFkZGluZzp2YXIoLS1zcGFjZS01KX1cbiAgICAuZHMtZm9vdGVyX19zb2NpYWx7bWFyZ2luLWxlZnQ6MH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlZ8OpZG9zenTDoWx5b2tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS00KX1cbi5kcy1tb25ve2ZvbnQ6dmFyKC0tdHlwZS1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cbi5kcy12aXN1YWxseS1oaWRkZW57XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6MXB4O2hlaWdodDoxcHg7XG4gICAgcGFkZGluZzowO21hcmdpbjotMXB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBjbGlwOnJlY3QoMCwwLDAsMCk7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIGJvcmRlcjowO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2xkYWxmZWpsw6ljIOKAlCBjw61tLCBtb3J6c2EsIG1ldGFzb3IgKGVzZW3DqW55LW9sZGFsYWspXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHMtcGFnZWhlYWR7XG4gICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLW9jZWFuLTUwKSAwJSxyZ2JhKDIzMCwyNDEsMjUyLDApIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSk7XG59XG4uZHMtcGFnZWhlYWRfX2lubmVye1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtOCkgdmFyKC0tc3BhY2UtMTApO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgZ2FwOnZhcigtLXNwYWNlLTQpO1xufVxuLmRzLXBhZ2VoZWFkX190aXRsZXtmb250OnZhcigtLXR5cGUtaDIpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1scy10aWdodCl9XG4uZHMtcGFnZWhlYWRfX3N1YnRpdGxle2ZvbnQ6dmFyKC0tdHlwZS1sZWFkKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXgtd2lkdGg6NzIwcHh9XG5cbi5kcy1icmVhZGNydW1ie1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LXdyYXA6d3JhcDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTIpO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtcbn1cbi5kcy1icmVhZGNydW1iIGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XG4uZHMtYnJlYWRjcnVtYiBhOmhvdmVye2NvbG9yOnZhcigtLW9jZWFuLTcwMCk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6M3B4fVxuLmRzLWJyZWFkY3J1bWJfX3NlcHtjb2xvcjp2YXIoLS10ZXh0LXN1YnRsZSl9XG4uZHMtYnJlYWRjcnVtYl9fY3VycmVudHtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO2ZvbnQtd2VpZ2h0OnZhcigtLWZ3LXNlbWlib2xkKX1cblxuLyogbWV0YXNvciAoZMOhdHVtIMK3IGhlbHlzesOtbiDCtyBrcmVkaXQpICovXG4uZHMtbWV0YXJvd3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS01KX1cblxuQG1lZGlhIChtYXgtd2lkdGg6NjQwcHgpe1xuICAgIC5kcy1wYWdlaGVhZF9faW5uZXJ7cGFkZGluZzp2YXIoLS1zcGFjZS02KSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS04KX1cbiAgICAuZHMtcGFnZWhlYWRfX3RpdGxle2ZvbnQ6dmFyKC0tdHlwZS1oMyl9XG4gICAgLmRzLW1ldGFyb3d7Z2FwOnZhcigtLXNwYWNlLTMpfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFicyDigJQgbmF2aWdhdGlvbi9UYWJzLmpzeCAoa2l2w6FsYXN6dG90dDogMnB4IGJlbHPFkSBvY2VhbiB2b25hbClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy10YWJze1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBnYXA6dmFyKC0tc3BhY2UtNik7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBvdmVyZmxvdy14OmF1dG87XG59XG4uZHMtdGFie1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0yKTtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTEpO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1sYWJlbCk7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIGJvcmRlcjowO1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLXRhYjpob3Zlcntjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLXRhYi0tYWN0aXZle2NvbG9yOnZhcigtLW9jZWFuLTcwMCk7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggMCB2YXIoLS1hY3Rpb24tcHJpbWFyeSl9XG4uZHMtdGFiIGl7Zm9udC1zaXplOjE0cHh9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSw6lzemxldGV6xZEgZWxyZW5kZXrDqXMg4oCUIHRhcnRhbG9tICsgMzcycHggcmFnYWTDs3MgamVsZW50a2V6w6lzaSBwYW5lbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWRldGFpbHtcbiAgICBtYXgtd2lkdGg6dmFyKC0tZHMtY29udGFpbmVyLTJ4bCk7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgICBwYWRkaW5nOnZhcigtLXNlY3Rpb24teS10aWdodCkgdmFyKC0tc3BhY2UtOCk7XG4gICAgZGlzcGxheTpncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIDM3MnB4O1xuICAgIGdhcDp2YXIoLS1zcGFjZS0xMCk7XG4gICAgYWxpZ24taXRlbXM6c3RhcnQ7XG59XG4vKlxuICAgIEEgcGFuZWwgYSBmb3Jyw6FzYmFuIEVMxZBCQiDDoWxsLCBtaW50IGEgdGFydGFsb20g4oCUIG1vYmlsb24gw61neSBtYWfDoXTDs2wgZWzDtmwgdmFuLFxuICAgIMOpcyBhIGvDqXBlcm55xZFvbHZhc8OzIGlzIGEgbGFwIGbFkSBtxbF2ZWxldMOpdCBrYXBqYSBlbMWRc3rDtnIuIEFzenRhbGkgbsOpemV0YmVuIHZpc3pvbnRcbiAgICBhIGRlc2lnbiBzeXN0ZW0gam9iYiBvbGRhbHJhIHRlc3ppIChyZWFkbWUubWQ6IOKAnmRldGFpbCBwYWdlcyBhIDM3MnB4IHN0aWNreSBib29raW5nXG4gICAgcGFuZWwgb24gdGhlIHJpZ2h04oCdKSwgZXrDqXJ0IGEgc8Ohdm9rYXQgZXhwbGljaXRlbiBvc3p0anVrIGtpLiBFbsOpbGvDvGwgYXogYXV0b21hdGlrdXNcbiAgICBlbGhlbHllesOpcyBhIHBhbmVsdCB0ZW5uw6kgYXogMWZyLWVzIHPDoXZiYSDDqXMgYSB0YXJ0YWxtYXQgYSAzNzJweC1lc2JlIOKAlCBmb3Jkw610dmEuXG4qL1xuLypcbiAgICBBIGBncmlkLXJvdzoxYCBuZW0gZWxoYWd5aGF0w7MuIEEgcGFuZWwgYSBmb3Jyw6FzYmFuIGVsxZFiYiDDoWxsLCBkZSBhIDIuIHPDoXZiYVxuICAgIHZhbiBraW9zenR2YTsgYSByw6FjcyByaXRrYSAoc3BhcnNlKSBlbGhlbHllesOpc2UgZXp1dMOhbiBuZW0gbMOpcCB2aXNzemEsIGV6w6lydFxuICAgIGEgdGFydGFsb20gYSAyLiBTT1JCQSBrZXLDvGx0IHZvbG5hIOKAlCBhIGJhbCBvbGRhbG9uIGVneSBwYW5lbG55aSDDvHJlcyBoZWxseWVsLlxuICAgIE1pbmRrZXR0xZF0IGF6IDEuIHNvcmJhIHN6ZWdlenZlIGEga8OpdCBvc3psb3AgZWd5bcOhcyBtZWxsZXR0IGtlemTFkWRpay5cbiovXG4uZHMtZGV0YWlsX19tYWlue2dyaWQtY29sdW1uOjE7Z3JpZC1yb3c6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0xMCl9XG4vKiA5NnB4LXJlIHRhcGFkLCBhbWkgZWxoYWd5amEgYSA3MnB4LWVzIGZlamzDqWNldCDigJQgcmVhZG1lLm1kIOKAnlNwYWNlIGFuZCBsYXlvdXTigJ0uICovXG4uZHMtZGV0YWlsX19zaWRle2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MTtwb3NpdGlvbjpzdGlja3k7dG9wOjk2cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tY2FyZC1nYXApfVxuXG5AbWVkaWEgKG1heC13aWR0aDoxMDI0cHgpe1xuICAgIC5kcy1kZXRhaWx7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7Z2FwOnZhcigtLXNwYWNlLTgpfVxuICAgIC8qIEVneSBzw6F2cmEgZXN2ZSBhIGZvcnLDoXNzb3JyZW5kIGTDtm50OiBhIHBhbmVsIGVsw7ZsIG1hcmFkLiAqL1xuICAgIC5kcy1kZXRhaWxfX21haW4sLmRzLWRldGFpbF9fc2lkZXtncmlkLWNvbHVtbjphdXRvO2dyaWQtcm93OmF1dG99XG4gICAgLmRzLWRldGFpbF9fc2lkZXtwb3NpdGlvbjpzdGF0aWN9XG59XG5AbWVkaWEgKG1heC13aWR0aDo2NDBweCl7XG4gICAgLmRzLWRldGFpbHtwYWRkaW5nOnZhcigtLXNwYWNlLTEwKSB2YXIoLS1zcGFjZS01KX1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEplbGVudGtlesOpc2kgcGFuZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1wYW5lbHtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtY2FyZCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKTtcbiAgICBwYWRkaW5nOnZhcigtLWNhcmQtcGFkKTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIGdhcDp2YXIoLS1zcGFjZS00KTtcbn1cbi5kcy1wYW5lbF9fdGl0bGV7Zm9udDp2YXIoLS10eXBlLWg1KTtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyl9XG4uZHMtcGFuZWxfX25vdGV7Zm9udDp2YXIoLS10eXBlLWJvZHktc20pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfVxuLmRzLXBhbmVsX19wcmljZXtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6YmFzZWxpbmU7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTIpO1xuICAgIGZvbnQ6dmFyKC0tZnctYm9sZCkgdmFyKC0tZnMtMnhsKS8xLjIgdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtdGlnaHQpO1xufVxuLmRzLXBhbmVsX19wcmljZSBzbWFsbHtmb250OnZhcigtLXR5cGUtYm9keS1zbSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6dmFyKC0tZnctcmVndWxhcil9XG4uZHMtcGFuZWxfX3J1bGV7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1oYWlybGluZSl9XG5cbi8qIMOhbGxhcG90ZG9ib3ogYSBwYW5lbGVuIGJlbMO8bCAoc2Fqw6F0IGplbGVudGtlesOpcywgesOhcnZhLCBiZXRlbHQsIOKApikgKi9cbi5kcy1zdGF0ZXtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6ZmxleC1zdGFydDtcbiAgICBnYXA6dmFyKC0tc3BhY2UtMyk7XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS00KTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1bmtlbik7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xufVxuLmRzLXN0YXRlX19pY29ue2ZsZXg6MCAwIGF1dG87bWFyZ2luLXRvcDoxcHg7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpfVxuLmRzLXN0YXRlX19ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTEpO21pbi13aWR0aDowfVxuLmRzLXN0YXRlX190aXRsZXtmb250OnZhcigtLXR5cGUtbGFiZWwpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy1zdGF0ZV9fdGV4dHtmb250OnZhcigtLXR5cGUtYm9keS1zbSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9XG5cbi5kcy1zdGF0ZS0tc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKX1cbi5kcy1zdGF0ZS0tc3VjY2VzcyAuZHMtc3RhdGVfX2ljb24sLmRzLXN0YXRlLS1zdWNjZXNzIC5kcy1zdGF0ZV9fdGl0bGV7Y29sb3I6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MpfVxuLmRzLXN0YXRlLS1pbmZve2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLWluZm8tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtaW5mby1ib3JkZXIpfVxuLmRzLXN0YXRlLS1pbmZvIC5kcy1zdGF0ZV9faWNvbiwuZHMtc3RhdGUtLWluZm8gLmRzLXN0YXRlX190aXRsZXtjb2xvcjp2YXIoLS1vY2Vhbi04MDApfVxuLmRzLXN0YXRlLS13YXJuaW5ne2JhY2tncm91bmQ6dmFyKC0tc3RhdHVzLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdGF0dXMtd2FybmluZy1ib3JkZXIpfVxuLmRzLXN0YXRlLS13YXJuaW5nIC5kcy1zdGF0ZV9faWNvbiwuZHMtc3RhdGUtLXdhcm5pbmcgLmRzLXN0YXRlX190aXRsZXtjb2xvcjp2YXIoLS1lbWJlci03MDApfVxuLmRzLXN0YXRlLS1kYW5nZXJ7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtZGFuZ2VyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlci1ib3JkZXIpfVxuLmRzLXN0YXRlLS1kYW5nZXIgLmRzLXN0YXRlX19pY29uLC5kcy1zdGF0ZS0tZGFuZ2VyIC5kcy1zdGF0ZV9fdGl0bGV7Y29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlcil9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZGF0bGlzdGEgKGVzZW3DqW55IGFkYXRhaSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1kbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS00KX1cbi5kcy1kbF9fcm93e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH1cbi5kcy1kbF9fa2V5e2ZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6dmFyKC0tbHMtY2Fwcyk7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpfVxuLmRzLWRsX192YWx7Zm9udDp2YXIoLS10eXBlLWJvZHktc20pO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy1kbF9fdmFsLS1tb25ve2ZvbnQ6dmFyKC0tdHlwZS1tb25vKTtmb250LXNpemU6dmFyKC0tZnMteHMpfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFydGFsbWkgc3pla2Npw7NrIMOpcyByaWNoIHRleHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kcy1ibG9ja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS00KX1cbi5kcy1ibG9ja19fdGl0bGV7XG4gICAgZm9udDp2YXIoLS10eXBlLWg0KTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7XG4gICAgcGFkZGluZy1ib3R0b206dmFyKC0tc3BhY2UtMyk7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbn1cblxuLmRzLXByb3Nle2ZvbnQ6dmFyKC0tdHlwZS1ib2R5KTtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO21heC13aWR0aDo3MmNofVxuLmRzLXByb3NlID4gKiArICp7bWFyZ2luLXRvcDp2YXIoLS1zcGFjZS00KX1cbi5kcy1wcm9zZSBoMSwuZHMtcHJvc2UgaDIsLmRzLXByb3NlIGgzLC5kcy1wcm9zZSBoNHtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyk7bWFyZ2luLXRvcDp2YXIoLS1zcGFjZS02KX1cbi5kcy1wcm9zZSBoMntmb250OnZhcigtLXR5cGUtaDQpfVxuLmRzLXByb3NlIGgzLC5kcy1wcm9zZSBoNHtmb250OnZhcigtLXR5cGUtaDUpfVxuLmRzLXByb3NlIGF7Y29sb3I6dmFyKC0tdGV4dC1saW5rKTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtdW5kZXJsaW5lLW9mZnNldDozcHh9XG4uZHMtcHJvc2UgdWwsLmRzLXByb3NlIG9se3BhZGRpbmctbGVmdDp2YXIoLS1zcGFjZS02KTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0yKX1cbi5kcy1wcm9zZSB1bHtsaXN0LXN0eWxlOmRpc2N9XG4uZHMtcHJvc2Ugb2x7bGlzdC1zdHlsZTpkZWNpbWFsfVxuLmRzLXByb3NlIHN0cm9uZ3tmb250LXdlaWdodDp2YXIoLS1mdy1zZW1pYm9sZCk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpfVxuLmRzLXByb3NlIGltZ3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCl9XG4uZHMtcHJvc2UgdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Zm9udDp2YXIoLS10eXBlLWJvZHktc20pfVxuLmRzLXByb3NlIHRoLC5kcy1wcm9zZSB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSk7cGFkZGluZzp2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTt0ZXh0LWFsaWduOmxlZnR9XG4uZHMtcHJvc2UgdGh7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1bmtlbik7Zm9udC13ZWlnaHQ6dmFyKC0tZnctc2VtaWJvbGQpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cblxuLyogbGV0w7ZsdGhldMWRIGFueWFnb2sgKi9cbi5kcy1maWxlbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0yKX1cbi5kcy1maWxlbGlzdCBhLC5kcy1maWxlbGlzdCBzcGFue1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTMpO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tZHMtcmFkaXVzLW1kKTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtY2FyZCk7XG4gICAgZm9udDp2YXIoLS10eXBlLWJvZHktc20pO1xuICAgIGNvbG9yOnZhcigtLXRleHQtYm9keSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLWZpbGVsaXN0IGE6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci10aW50KTtiYWNrZ3JvdW5kOnZhcigtLW9jZWFuLTUwKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLWZpbGVsaXN0IGl7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpO2ZsZXg6MCAwIGF1dG99XG4uZHMtZmlsZWxpc3QgYTpob3ZlciBpe2NvbG9yOnZhcigtLW9jZWFuLTYwMCl9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDDnHJlcyDDoWxsYXBvdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRzLWVtcHR5e1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0zKTtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTE2KSB2YXIoLS1zcGFjZS04KTtcbiAgICBib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtY2FyZCk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLXN1bmtlbik7XG59XG4uZHMtZW1wdHlfX2ljb257XG4gICAgd2lkdGg6NTJweDtoZWlnaHQ6NTJweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXRpbnQpO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7XG59XG4uZHMtZW1wdHlfX2ljb24gaXtjb2xvcjp2YXIoLS1vY2Vhbi02MDApO2ZvbnQtc2l6ZToyMHB4fVxuLmRzLWVtcHR5X190aXRsZXtmb250OnZhcigtLXR5cGUtaDUpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy1lbXB0eV9fdGV4dHtmb250OnZhcigtLXR5cGUtYm9keS1zbSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjQ2Y2h9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDFsHJsYXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBIFN5bWZvbnkgxbFybGFwb2thdCBheiBAQXBwYXJhdHVzQXBwbGljYXRpb24vZm9ybV90YWlsd2luZC5odG1sLnR3aWcgdMOpbWFcbiAgIHJhanpvbGphLCBUYWlsd2luZCB1dGlsaXR5LWtrZWwuIEEgVGFpbHdpbmQgdjQgTUlOREVOIHN6YWLDoWx5YSBgQGxheWVyYC1iZW5cbiAgIHZhbiwgYSByw6l0ZWd6ZXR0IHN0w61sdXNvayBwZWRpZyBtaW5kaWcgdmVzesOtdGVuZWsgYSByw6l0ZWd0ZWxlbmVra2VsIHN6ZW1iZW5cbiAgIOKAlCBmw7xnZ2V0bGVuw7xsIGEgc3BlY2lmaWNpdMOhc3TDs2wuIEV6w6lydCBlbMOpZyBlbGVtc3plbGVrdG9ycmFsIHLDocO8bG5pOlxuICAgbmVtIGtlbGwga8O8bMO2biDFsXJsYXB0w6ltw6F0IMOtcm5pIGFoaG96LCBob2d5IGEgZGVzaWduIHN5c3RlbSBueWVyamVuLiAqL1xuXG4uZHMtZm9ybXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS01KX1cblxuLmRzLWZvcm0gbGFiZWx7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmb250OnZhcigtLXR5cGUtbGFiZWwpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtc3Ryb25nKTtcbiAgICBtYXJnaW4tYm90dG9tOnZhcigtLXNwYWNlLTIpO1xufVxuLmRzLWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZHMtZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uZHMtZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmRzLWZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi5kcy1mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5kcy1mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmRzLWZvcm0gc2VsZWN0LFxuLmRzLWZvcm0gdGV4dGFyZWF7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIG1pbi1oZWlnaHQ6dmFyKC0tY29udHJvbC1oLW1kKTtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICAgIGJvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWNvbnRyb2wpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1jYXJkKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyk7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLWZvcm0gdGV4dGFyZWF7bWluLWhlaWdodDoxMjBweDtyZXNpemU6dmVydGljYWx9XG4uZHMtZm9ybSBpbnB1dDpmb2N1cywuZHMtZm9ybSBzZWxlY3Q6Zm9jdXMsLmRzLWZvcm0gdGV4dGFyZWE6Zm9jdXN7XG4gICAgb3V0bGluZTpub25lO1xuICAgIGJvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZm9jdXMpO1xuICAgIGJveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7XG59XG4uZHMtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIsLmRzLWZvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXRleHQtc3VidGxlKX1cblxuLyogcsOhZGnDsyAvIGplbMO2bMWRbsOpZ3l6ZXQg4oCUIGEgaGVseXN6w61uLSDDqXMgc3ppbnR2w6FsYXN6dMOhcyBpbHllbiAoZXhwYW5kZWQgQ2hvaWNlVHlwZSkuXG4gICBBeiDFsXJsYXB0w6ltYSBgZm9ybS1pbnB1dGAtb3QgaXMgcsOhcmFrLCBhbWkgc3rDtnZlZ21lesWRdsOpIHN0w61sdXNvenphOiBhXG4gICBAdGFpbHdpbmRjc3MvZm9ybXMgYGFwcGVhcmFuY2U6bm9uZWAtdCBhZCDDqXMgaMOhdHTDqXJrw6lwcGVsIHJhanpvbCwgYSBgcm91bmRlZGBcbiAgIHBlZGlnIGxla2VyZWvDrXRldHQgTsOJR1laRVRFVCBjc2luw6FsIGEgcsOhZGnDs2LDs2wgaXMuIFZpc3N6YWFkanVrIGEgbmF0w612IGFsYWtvdCDigJRcbiAgIGEga8O2ci9uw6lneXpldCBtZWdrw7xsw7ZuYsO2enRldMOpcyDDrWd5IG1hZ8OhdMOzbCBoZWx5ZXMgbWFyYWQuICovXG4uZHMtZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sLmRzLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgIGFwcGVhcmFuY2U6YXV0bztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6YXV0bztcbiAgICB3aWR0aDoxNnB4O2hlaWdodDoxNnB4O1xuICAgIG1pbi1oZWlnaHQ6MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgYWNjZW50LWNvbG9yOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBmbGV4OjAgMCBhdXRvO1xufVxuLmRzLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4uZHMtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbHtcbiAgICBkaXNwbGF5OmlubGluZTtcbiAgICBmb250OnZhcigtLXR5cGUtYm9keS1zbSk7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1ib2R5KTtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG59XG5cbi8qIGEgZm9ybV90YWlsd2luZCB0w6ltYSBjc29wb3J0amFpICovXG4uZHMtZm9ybSAuaW5wdXQtZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tc3BhY2UtMil9XG5cbi8qIGJla8O8bGTFkWdvbWIg4oCUIGEgdMOpbWEgc2ltYSA8YnV0dG9uPi10IGFkLCBpdHQga2FwIERTLWFsYWtvdCAqL1xuLmRzLWZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sLmRzLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgIGdhcDo4cHg7XG4gICAgaGVpZ2h0OnZhcigtLWNvbnRyb2wtaC1sZyk7XG4gICAgcGFkZGluZzowIHZhcigtLXNwYWNlLTcpO1xuICAgIGZvbnQ6dmFyKC0tZnctc2VtaWJvbGQpIHZhcigtLWZzLWJhc2UpLzEgdmFyKC0tZHMtZm9udC1zYW5zKTtcbiAgICBsZXR0ZXItc3BhY2luZzp2YXIoLS1scy10aWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtY29udHJvbCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LW9uLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LXByaW1hcnkpO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGFsaWduLXNlbGY6ZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCk7XG59XG4uZHMtZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwuZHMtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWN0aW9uLXByaW1hcnktaG92ZXIpfVxuLmRzLWZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlLC5kcy1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZle3RyYW5zZm9ybTp2YXIoLS1wcmVzcy1zY2FsZSl9XG5cbi8qIGhpYsOhayDDqXMgc8O6Z8OzICovXG4uZHMtZm9ybSAuaGVscC1ibG9jaywuZHMtZm9ybSBzbWFsbHtmb250OnZhcigtLXR5cGUtY2FwdGlvbik7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9XG4uZHMtZm9ybSB1bCBsaXtmb250OnZhcigtLXR5cGUtY2FwdGlvbik7Y29sb3I6dmFyKC0tc3RhdHVzLWRhbmdlcil9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYXBvesOzIOKAlCBuYXZpZ2F0aW9uL1BhZ2luYXRpb24uanN4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHMtcGFnaW5hdGlvbntcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZmxleC13cmFwOndyYXA7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTIpO1xuICAgIG1hcmdpbi10b3A6dmFyKC0tc3BhY2UtMTApO1xufVxuLmRzLXBhZ2V7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICBtaW4td2lkdGg6MzZweDtcbiAgICBoZWlnaHQ6MzZweDtcbiAgICBwYWRkaW5nOjAgMTBweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jb250cm9sKTtcbiAgICBmb250OnZhcigtLXR5cGUtbGFiZWwpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1jYXJkKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgdHJhbnNpdGlvbjp2YXIoLS10cmFuc2l0aW9uLWNvbnRyb2wpO1xufVxuLmRzLXBhZ2U6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLXBhZ2UtLWFjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBjb2xvcjojZmZmO1xuICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy1wcmltYXJ5KTtcbn1cbi5kcy1wYWdlLS1kaXNhYmxlZHtvcGFjaXR5Oi40O2N1cnNvcjpub3QtYWxsb3dlZDtib3gtc2hhZG93Om5vbmV9XG4uZHMtcGFnZV9fZ2Fwe2NvbG9yOnZhcigtLXRleHQtc3VidGxlKTtwYWRkaW5nOjAgMnB4fVxuLmRzLXBhZ2luYXRpb25fX3N1bW1hcnl7XG4gICAgbWFyZ2luLXRvcDp2YXIoLS1zcGFjZS00KTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250OnZhcigtLXR5cGUtY2FwdGlvbik7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9maWwgZWxyZW5kZXrDqXMg4oCUIDI2OHB4IHJhZ2Fkw7NzIG9sZGFsc8OhdiArIHRhcnRhbG9tXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQSByZWFkbWUubWQgYSBsaXN0YW9sZGFsYWtyYSDigJ5maXhlZCAyNjhweCBzdGlja3kgZmlsdGVyIHJhaWwgb24gdGhlIGxlZnTigJ0tZXRcbiAgIMOtciBlbMWROyBhIHByb2ZpbGZlbMO8bGV0IHVneWFuZXp0IGEgc8Ohdm90IGhhc3puw6FsamEgbWVuw7xyZS4gOTZweC1yZSB0YXBhZCxcbiAgIGVsaGFneXZhIGEgNzJweC1lcyBmZWpsw6ljZXQuICovXG5cbi5kcy1wcm9maWxle1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc2VjdGlvbi15LXRpZ2h0KSB2YXIoLS1zcGFjZS04KTtcbiAgICBkaXNwbGF5OmdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI2OHB4IG1pbm1heCgwLDFmcik7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTEwKTtcbiAgICBhbGlnbi1pdGVtczpzdGFydDtcbn1cbi5kcy1wcm9maWxlX19yYWlse3Bvc2l0aW9uOnN0aWNreTt0b3A6OTZweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1jYXJkLWdhcCl9XG4uZHMtcHJvZmlsZV9fbWFpbnttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS04KX1cblxuQG1lZGlhIChtYXgtd2lkdGg6MTAyNHB4KXtcbiAgICAuZHMtcHJvZmlsZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtnYXA6dmFyKC0tc3BhY2UtOCl9XG4gICAgLmRzLXByb2ZpbGVfX3JhaWx7cG9zaXRpb246c3RhdGljfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6NjQwcHgpe1xuICAgIC5kcy1wcm9maWxle3BhZGRpbmc6dmFyKC0tc3BhY2UtMTApIHZhcigtLXNwYWNlLTUpfVxufVxuXG4vKiBmw7xnZ8WRbGVnZXMgbmF2aWfDoWNpw7MgKi9cbi5kcy1uYXZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tc3BhY2UtNil9XG4uZHMtbmF2X19ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0xKX1cbi5kcy1uYXZfX2xhYmVse1xuICAgIHBhZGRpbmc6MCB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS0yKTtcbiAgICBmb250OnZhcigtLXR5cGUtZXllYnJvdyk7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOnZhcigtLWxzLWNhcHMpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtc3VidGxlKTtcbn1cbi5kcy1uYXZfX2l0ZW17XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtMyk7XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCk7XG4gICAgZm9udDp2YXIoLS10eXBlLWxhYmVsKTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1uYXZfX2l0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWhvdmVyKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO3RleHQtZGVjb3JhdGlvbjpub25lfVxuLmRzLW5hdl9faXRlbSBpe3dpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpO2ZvbnQtc2l6ZToxNHB4O2ZsZXg6MCAwIGF1dG99XG4uZHMtbmF2X19pdGVtOmhvdmVyIGl7Y29sb3I6dmFyKC0tb2NlYW4tNjAwKX1cbi5kcy1uYXZfX2l0ZW0tLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLW9jZWFuLTUwKTtjb2xvcjp2YXIoLS1vY2Vhbi03MDApO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXRpbnQpfVxuLmRzLW5hdl9faXRlbS0tYWN0aXZlIGl7Y29sb3I6dmFyKC0tb2NlYW4tNjAwKX1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3Rhc29yb2sgKHN6YXZhesOhc29rLCDDvGzDqXNlaywgaWdhem9sw6Fzb2ssIHRlc3p0ZWspXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHMtbGlzdHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1jYXJkKTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtY2FyZCk7XG4gICAgYm94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbn1cbi5kcy1saXN0X19yb3d7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtNCk7XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS00KSB2YXIoLS1zcGFjZS01KTtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjp2YXIoLS10ZXh0LWJvZHkpO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1saXN0X19yb3cgKyAuZHMtbGlzdF9fcm93e2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSl9XG5hLmRzLWxpc3RfX3Jvdzpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtaG92ZXIpO3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOnZhcigtLXRleHQtYm9keSl9XG4uZHMtbGlzdF9fYm9keXtmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fVxuLmRzLWxpc3RfX3RpdGxle2ZvbnQ6dmFyKC0tdHlwZS1sYWJlbCk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpfVxuLmRzLWxpc3RfX21ldGF7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtMyk7XG4gICAgZm9udDp2YXIoLS10eXBlLWNhcHRpb24pO1xuICAgIGNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO1xufVxuLmRzLWxpc3RfX21ldGEgaXtjb2xvcjp2YXIoLS10ZXh0LXN1YnRsZSl9XG4uZHMtbGlzdF9fdGFpbHtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTMpfVxuLmRzLWxpc3RfX2NoZXZyb257Y29sb3I6dmFyKC0tdGV4dC1zdWJ0bGUpO2ZsZXg6MCAwIGF1dG99XG5hLmRzLWxpc3RfX3Jvdzpob3ZlciAuZHMtbGlzdF9fY2hldnJvbntjb2xvcjp2YXIoLS1vY2Vhbi02MDApfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSmVsZW50a2V6w6lzLWvDoXJ0eWEgYSBwcm9maWxvbiAoRXNlbcOpbnllaW0pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHMtcmVne1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgZ2FwOnZhcigtLXNwYWNlLTQpO1xuICAgIHBhZGRpbmc6dmFyKC0tY2FyZC1wYWQpO1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1jYXJkKTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1oYWlybGluZSk7XG4gICAgYm9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jYXJkKTtcbiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7XG59XG4uZHMtcmVnLS1wZW5kaW5ne2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLXN0YXR1cy13YXJuaW5nKX1cbi5kcy1yZWctLXJlZ2lzdGVyZWR7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tYWN0aW9uLXByaW1hcnkpfVxuLmRzLXJlZy0tYXR0ZW5kZWR7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MpfVxuXG4uZHMtcmVnX19oZWFke2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDp2YXIoLS1zcGFjZS00KX1cbi5kcy1yZWdfX3RpdGxle2ZsZXg6MTttaW4td2lkdGg6MDtmb250OnZhcigtLXR5cGUtaDUpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy1yZWdfX3J1bGV7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1oYWlybGluZSl9XG5cbi8qIHBvbnRzesOhbS1zw6F2IGEgdGVzenRla27DqWwgKi9cbi5kcy1zY29yZXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDp2YXIoLS1zcGFjZS02KX1cbi5kcy1zY29yZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9XG4uZHMtc2NvcmVfX3ZhbHVle2ZvbnQ6dmFyKC0tZnctYm9sZCkgdmFyKC0tZnMteGwpLzEuMiB2YXIoLS1mb250LWRpc3BsYXkpO2NvbG9yOnZhcigtLXRleHQtc3Ryb25nKX1cbi5kcy1zY29yZV9fbGFiZWx7Zm9udDp2YXIoLS10eXBlLWNhcHRpb24pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmVsw6lww6lzIC8gcmVnaXN6dHLDoWNpw7Mg4oCUIHVpX2tpdHMva2VwemVzL0xvZ2luU2NyZWVuLmpzeFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9zenRvdHQga8OpcGVybnnFkTogxbFybGFwIGJhbHJhLCBpbGx1c3p0csOhY2nDsyBqb2JicmEgb2NlYW4tNTAtZW4uIEEga29yw6FiYmlcbiAgIGFwcC1zYWJsb24gZm9yZMOtdHZhIMOhbGx0IChrw6lwIGJhbHJhLCDFsXJsYXAgc2t5LTEwMC1vbiBqb2JicmEpIOKAlCBhIGRlc2lnblxuICAgc3lzdGVtIHNvcnJlbmRqZSBheiBpcsOhbnlhZMOzLiBFemVrZW4gYXogb2xkYWxha29uIG5pbmNzIGZlamzDqWMsIGV6w6lydCBhXG4gICBtYWdhc3PDoWcgYSB0ZWxqZXMgbsOpemV0YWJsYWsuICovXG5cbi5kcy1hdXRoe1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgZGlzcGxheTpncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIG1pbm1heCgwLDFmcik7XG59XG4uZHMtYXV0aF9fZm9ybXtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgcGFkZGluZzp2YXIoLS1zcGFjZS0xNikgdmFyKC0tc3BhY2UtOCk7XG59XG4uZHMtYXV0aF9faW5uZXJ7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtYXgtd2lkdGg6NDAwcHg7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICBnYXA6dmFyKC0tc3BhY2UtNik7XG59XG4uZHMtYXV0aF9fbG9nb3toZWlnaHQ6NjRweDt3aWR0aDphdXRvO2FsaWduLXNlbGY6ZmxleC1zdGFydH1cbi5kcy1hdXRoX19oZWFke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTIpfVxuLmRzLWF1dGhfX3RpdGxle2ZvbnQ6dmFyKC0tdHlwZS1oMyk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpO2xldHRlci1zcGFjaW5nOnZhcigtLWxzLXRpZ2h0KX1cbi5kcy1hdXRoX19sZWFke2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cbi5kcy1hdXRoX19ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTQpfVxuLmRzLWF1dGhfX2Zvb3R7Zm9udDp2YXIoLS10eXBlLWNhcHRpb24pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtYWxpZ246Y2VudGVyfVxuXG4vKiBqb2JiIG9sZGFsaSBwYW5lbCAqL1xuLmRzLWF1dGhfX2FzaWRle1xuICAgIGJhY2tncm91bmQ6dmFyKC0tb2NlYW4tNTApO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTYpO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtMTYpIHZhcigtLXNwYWNlLTEwKTtcbn1cbi5kcy1hdXRoX19hcnR7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDgwcHg7aGVpZ2h0OmF1dG99XG4uZHMtYXV0aF9fcGl0Y2h7bWF4LXdpZHRoOjQyMHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTMpfVxuLmRzLWF1dGhfX3BpdGNoIGgye2ZvbnQ6dmFyKC0tdHlwZS1oNCk7Y29sb3I6dmFyKC0tb2NlYW4tOTAwKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1scy10aWdodCl9XG4uZHMtYXV0aF9fcGl0Y2ggcHtmb250OnZhcigtLXR5cGUtYm9keS1zbSk7Y29sb3I6dmFyKC0tb2NlYW4tODAwKX1cblxuLyogZWx2w6FsYXN6dMOzIChcInZhZ3lcIikgKi9cbi5kcy1kaXZpZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTMpfVxuLmRzLWRpdmlkZXI6OmJlZm9yZSwuZHMtZGl2aWRlcjo6YWZ0ZXJ7Y29udGVudDpcIlwiO2ZsZXg6MTtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLWhhaXJsaW5lKX1cbi5kcy1kaXZpZGVyIHNwYW57Zm9udDp2YXIoLS10eXBlLWNhcHRpb24pO2NvbG9yOnZhcigtLXRleHQtc3VidGxlKX1cblxuLyogamVsc3rDsy1zb3I6IGxpbmsgYSBtZXrFkSBhbGF0dCBqb2JicmEgKi9cbi5kcy1hdXRoX19hdXh7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6dmFyKC0tc3BhY2UtMyl9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjkwMHB4KXtcbiAgICAvKiBFZ3kgaGFzw6FicmEgZXN2ZSBheiBpbGx1c3p0csOhY2nDsyBhIGzDqW55ZWcgYWzDoSBrZXLDvGwsIG5lbSBlbMOpLiAqL1xuICAgIC5kcy1hdXRoe2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO21pbi1oZWlnaHQ6MH1cbiAgICAuZHMtYXV0aF9fZm9ybXtwYWRkaW5nOnZhcigtLXNwYWNlLTEyKSB2YXIoLS1zcGFjZS01KX1cbiAgICAuZHMtYXV0aF9fYXNpZGV7cGFkZGluZzp2YXIoLS1zcGFjZS0xMikgdmFyKC0tc3BhY2UtNSl9XG4gICAgLmRzLWF1dGhfX2FydHttYXgtd2lkdGg6MzIwcHh9XG59XG5cbi8qIMWwcmxhcHNvcm9rIGEgYGZvcm0vZHNfZm9ybV90aGVtZS5odG1sLnR3aWdgIHTDqW3DoWhvei4gKi9cbi8qIEEgYC5kcy1mb3JtYCBneWFrcmFuIEJVUktPTMOTIGEgPGZvcm0+IGvDtnLDvGwgKGZvcm1fc3RhcnQvZm9ybV9lbmQgbWlhdHQpLCBpbHllbmtvciBhXG4gICBidXJrb2zDsyB0w6lya8O2emUgbmVtIGp1dCBlbCBhIDxmb3JtPiBneWVyZWtlaWhleiDigJQgYSBtZXrFkWJsb2trIMOpcyBhIGJla8O8bGTFkWdvbWJcbiAgIMO2c3N6ZcOpcm5lLiBFesOpcnQgYSBiZcOhZ3lhem90dCA8Zm9ybT4gbWFnYSBpcyBvc3psb3BvcyBmbGV4LiAqL1xuLmRzLWZvcm0gZm9ybXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS01KX1cbi5kcy1mb3JtIC5kcy1maWVsZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0yKX1cbi5kcy1mb3JtIC5kcy1maWVsZCArIC5kcy1maWVsZHttYXJnaW4tdG9wOnZhcigtLXNwYWNlLTQpfVxuLmRzLWZpZWxkX19sYWJlbHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZvbnQ6dmFyKC0tdHlwZS1sYWJlbCk7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpO1xuICAgIG1hcmdpbi1ib3R0b206MDtcbn1cbi5kcy1maWVsZF9fbGFiZWwtLXJlcXVpcmVkOjphZnRlcntjb250ZW50OlwiICpcIjtjb2xvcjp2YXIoLS1zdGF0dXMtZGFuZ2VyKX1cbi5kcy1maWVsZF9faGVscHtmb250OnZhcigtLXR5cGUtY2FwdGlvbik7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9XG4uZHMtZmllbGRfX2Vycm9yc3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO21hcmdpbjowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH1cbi5kcy1maWVsZF9fZXJyb3JzIGxpe2ZvbnQ6dmFyKC0tdHlwZS1jYXB0aW9uKTtjb2xvcjp2YXIoLS1zdGF0dXMtZGFuZ2VyKX1cbi8qIEEgdMOpbWEgd2lkZ2V0amVpIG1lZ8WRcnppayBhIFRhaWx3aW5kIGJ1cmtvbMOzaWthdDsgYXpvayBzesOpbGVzc8OpZ8OpdCBpdHQgb2xkanVrIGZlbC4gKi9cbi5kcy1mb3JtIC5kcy1maWVsZCA+IGRpdnttYXgtd2lkdGg6bm9uZTt3aWR0aDoxMDAlfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT25ib2FyZGluZyDigJQgbMOpcMOpc3NvciDDqXMga2VyZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBIHZhcsOhenNsw7Mgw7p0amEgRkVMVMOJVEVMRVM6IGEg4oCeSGl2YXTDoXNyZW5kaSBhZGF0b2vigJ0gbMOpcMOpcyBraW1hcmFkLCBoYSBhXG4gICBmZWxoYXN6bsOhbMOzbmFrIG5pbmNzIGpvZ2kgZGlwbG9tw6FqYSwgYSDigJ5TemFrbWFpIGFkYXRva+KAnSBwZWRpZyBjc2FrIMO8Z3l2w6lkaVxuICAgaGl2YXTDoXNyZW5kbsOpbCBqw7ZuLiBFesOpcnQgYSBsw6lww6lzc29yIE5FTSDDrXIga2kg4oCeMy4gbMOpcMOpcyBhIDQtYsWRbOKAnSBzesOhbWzDoWzDs3Qg4oCUXG4gICBheiBhIGZlbGhhc3puw6Fsw7NrIGVneSByw6lzesOpbmVrIGhhenVkbmEuIENzYWsgYSBrw6lzeiAvIGFrdHXDoWxpcyAvIGjDoXRyYWzDqXbFkVxuICAgw6FsbGFwb3RvdCBqZWzDtmxpLiAqL1xuXG4uZHMtb25ib2FyZGluZ3tcbiAgICBtYXgtd2lkdGg6dmFyKC0tZHMtY29udGFpbmVyLW1kKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTgpIHZhcigtLXNwYWNlLTE2KTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIGdhcDp2YXIoLS1zcGFjZS04KTtcbn1cbi5kcy1vbmJvYXJkaW5nX19oZWFke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS00KTt0ZXh0LWFsaWduOmNlbnRlcn1cbi5kcy1vbmJvYXJkaW5nX19sb2dve2hlaWdodDo1NnB4O3dpZHRoOmF1dG99XG5cbi5kcy1zdGVwc3tcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6ZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0yKTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG59XG4uZHMtc3RlcHtcbiAgICBmbGV4OjEgMSAwO1xuICAgIG1pbi13aWR0aDowO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS0yKTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cbi5kcy1zdGVwX19kb3R7XG4gICAgd2lkdGg6MjhweDtoZWlnaHQ6MjhweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgZm9udDp2YXIoLS1mdy1zZW1pYm9sZCkgdmFyKC0tZnMtMnhzKS8xIHZhcigtLWZvbnQtZGlzcGxheSk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xuICAgIGNvbG9yOnZhcigtLXRleHQtc3VidGxlKTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtcbiAgICBmbGV4OjAgMCBhdXRvO1xuICAgIHRyYW5zaXRpb246dmFyKC0tdHJhbnNpdGlvbi1jb250cm9sKTtcbn1cbi5kcy1zdGVwX19sYWJlbHtmb250OnZhcigtLXR5cGUtY2FwdGlvbik7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9XG4uZHMtc3RlcF9fcnVsZXtcbiAgICBmbGV4OjAgMCBhdXRvO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjJweDtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1oYWlybGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtcGlsbCk7XG59XG5cbi5kcy1zdGVwLS1kb25lIC5kcy1zdGVwX19kb3R7YmFja2dyb3VuZDp2YXIoLS1zdGF0dXMtc3VjY2Vzcyk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9XG4uZHMtc3RlcC0tZG9uZSAuZHMtc3RlcF9fcnVsZXtiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1zdWNjZXNzKX1cbi5kcy1zdGVwLS1kb25lIC5kcy1zdGVwX19sYWJlbHtjb2xvcjp2YXIoLS10ZXh0LWJvZHkpfVxuXG4uZHMtc3RlcC0tY3VycmVudCAuZHMtc3RlcF9fZG90e1xuICAgIGJhY2tncm91bmQ6dmFyKC0tYWN0aW9uLXByaW1hcnkpO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LXByaW1hcnkpO1xufVxuLmRzLXN0ZXAtLWN1cnJlbnQgLmRzLXN0ZXBfX3J1bGV7YmFja2dyb3VuZDp2YXIoLS1hY3Rpb24tcHJpbWFyeSl9XG4uZHMtc3RlcC0tY3VycmVudCAuZHMtc3RlcF9fbGFiZWx7Y29sb3I6dmFyKC0tb2NlYW4tNzAwKTtmb250LXdlaWdodDp2YXIoLS1mdy1zZW1pYm9sZCl9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtb25ib2FyZGluZ3twYWRkaW5nOnZhcigtLXNwYWNlLTgpIHZhcigtLXNwYWNlLTUpIHZhcigtLXNwYWNlLTEyKX1cbiAgICAvKiBTesWxayBraWplbHrFkW4gYSBmZWxpcmF0b2sgZWxmb2d5bmFrLCBhIHDDtnR0ecO2ayDDqXMgYSB2b25hbGFrIG1hcmFkbmFrLiAqL1xuICAgIC5kcy1zdGVwX19sYWJlbHtkaXNwbGF5Om5vbmV9XG59XG5cbi8qIGvDtnrDqXByZSBpZ2F6w610b3R0IMOhbGxhcG90b2xkYWwgKHN0YXJ0IC8gY29tcGxldGUpICovXG4uZHMtb25ib2FyZGluZ19fZm9jdXN7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTQpO1xufVxuLmRzLW9uYm9hcmRpbmdfX2ljb257XG4gICAgd2lkdGg6NzJweDtoZWlnaHQ6NzJweDtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1vY2Vhbi01MCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItdGludCk7XG59XG4uZHMtb25ib2FyZGluZ19faWNvbiBpe2ZvbnQtc2l6ZTozMHB4O2NvbG9yOnZhcigtLW9jZWFuLTYwMCl9XG4uZHMtb25ib2FyZGluZ19faWNvbi0tc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN0YXR1cy1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKX1cbi5kcy1vbmJvYXJkaW5nX19pY29uLS1zdWNjZXNzIGl7Y29sb3I6dmFyKC0tc3RhdHVzLXN1Y2Nlc3MpfVxuXG4vKiBBeiBvbmJvYXJkaW5nIG7DqXZzb3JhOiBlbMWRdGFnIC8gdmV6ZXTDqWtuw6l2IC8ga2VyZXN6dG7DqXYgZWd5IHNvcmJhbi4gKi9cbi5kcy1uYW1lcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMmZyKSBtaW5tYXgoMCw1ZnIpIG1pbm1heCgwLDVmcik7Z2FwOnZhcigtLXNwYWNlLTQpfVxuLmRzLW5hbWVyb3cgLmRzLWZpZWxkICsgLmRzLWZpZWxke21hcmdpbi10b3A6MH1cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtbmFtZXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKX1cbiAgICAuZHMtbmFtZXJvdyAuZHMtZmllbGQgKyAuZHMtZmllbGR7bWFyZ2luLXRvcDp2YXIoLS1zcGFjZS00KX1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFTDoW1vZ2F0w7NpIGxvZ8Ozc8OhdiAocMOhbHnDoXphdGkga8O2dGVsZXrFkSBmZWx0w7xudGV0w6lzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5lbSBkw61zesOtdMOpczogYSBNaW5pc3p0ZXJlbG7Dtmtzw6lnIMOpcyBhIEJldGhsZW4gR8OhYm9yIEFsYXBrZXplbMWRIGxvZ8OzasOhdCBhXG4gICBww6FsecOhemF0aSB0w6Ftb2dhdMOhcyBmZWxoYXN6bsOhbMOhc2EgbWlhdHQga8O2dGVsZXrFkSBraW5uIHRhcnRhbmkuIEEgbcOpcmV0w6l0XG4gICBlesOpcnQgYXogZXJlZGV0aSBtZWdqZWxlbsOpc2hleiBpZ2F6w610anVrIChoLTQ4IOKJiCAxOTJweCBtYWdhcyksIG5lbVxuICAga2ljc2luecOtdGrDvGsg4oCec3plYmJyZeKAnTsgYSBsb2fDs2Jsb2trIGZlaMOpciBhbGFwb24gw6FsbCwgYWhvZ3kgYXogYXJ0d29ya1xuICAgbWVna8OtdsOhbmphLCBrw7Z6dmV0bGVuw7xsIGEgc8O2dMOpdCBsw6FibMOpYyBlbMWRdHQuICovXG5cbi5kcy1zdXBwb3J0e1xuICAgIGJhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1wYWdlKTtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaGFpcmxpbmUpO1xufVxuLmRzLXN1cHBvcnRfX2lubmVye1xuICAgIG1heC13aWR0aDp2YXIoLS1kcy1jb250YWluZXItMnhsKTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTgpO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGdhcDp2YXIoLS1zcGFjZS00KTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cbi5kcy1zdXBwb3J0X19sb2dvc3tcbiAgICB3aWR0aDoxMDAlO1xuICAgIG1heC13aWR0aDo0ODBweDsgICAvKiAyOTY4w5cxMjAwIGFyw6FueSBtZWxsZXR0IH4xOTRweCBtYWdhcyDigJQgYXogZXJlZGV0aXZlbCBlZ3llesWRICovXG4gICAgaGVpZ2h0OmF1dG87XG59XG4uZHMtc3VwcG9ydF9fbm90ZXtmb250OnZhcigtLXR5cGUtYm9keS1zbSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjYwY2h9XG5cbi8qIEEgbMOhYmzDqWMgOTZweCBmZWxzxZEgbWFyZ8OzamEgYSBzw6F2IHBhZGRpbmdqw6lyZSByw6FqxZF2ZSB0w7psIG5hZ3kgZmVow6lyIGZvbHRvdFxuICAgaGFneW5hIOKAlCBrw7Z6dmV0bGVuw7xsIGEgbG9nw7Nzw6F2IHV0w6FuIGVsaGFneWp1ay4gKi9cbi5kcy1zdXBwb3J0ICsgLmRzLWZvb3RlcnttYXJnaW4tdG9wOjB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZHMtc3VwcG9ydF9faW5uZXJ7cGFkZGluZzp2YXIoLS1zcGFjZS0xMCkgdmFyKC0tc3BhY2UtNSl9XG59XG5cbi8qIEtpdGVyamVzenRldHQgKGV4cGFuZGVkKSB2w6FsYXN6dMOzbWV6xZE6IGEgcsOhZGnDs2dvbWJvayBzYWrDoXQgc29yYmFuLCBhIHN6w7Z2ZWdcbiAgIG1lbGxldHTDvGsuIEEgQ2hvaWNlVHlwZSBgZXhwYW5kZWRgIGFsYWtqYSBjw61ta2UraW5wdXQgcMOhcm9rYXQgYWQsIGFtaWtldCBhXG4gICBgLmRzLWZpZWxkYCBhbGFwYsOzbCBlZ3ltw6FzIGFsw6EgdGVubmUg4oCUIGl0dCBzb3JvbmvDqW50IGZvZ2p1ayDDtnNzemUgxZFrZXQuICovXG4uZHMtZmllbGQgPiBkaXYgPiBkaXY6aGFzKD4gaW5wdXRbdHlwZT1cInJhZGlvXCJdKSxcbi5kcy1maWVsZCA+IGRpdiA+IGRpdjpoYXMoPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0pe1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZ2FwOnZhcigtLXNwYWNlLTIpO1xuICAgIHBhZGRpbmc6dmFyKC0tc3BhY2UtMikgMDtcbn1cbi5kcy1maWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbi5kcy1maWVsZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbHtcbiAgICBmb250OnZhcigtLXR5cGUtYm9keS1zbSk7XG4gICAgY29sb3I6dmFyKC0tdGV4dC1ib2R5KTtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb3p6w6Fmw6lyw6lzaSBzemludGVrIGxpc3TDoWphIGEgamVsZW50a2V6w6lzaSBwYW5lbGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3NhayBheiBhZG1pbmJhbiBzemVya2VzenRoZXTFkSBBY2Nlc3NUaWVyLW1lesWRa2V0IG11dGF0amEgKG7DqXYsIGxlw61yw6FzKSwgw6lzIGFcbiAgIGthcGFjaXTDoXMtb2x2YXPDs21vZGVsbCBzemFiYWRoZWx5LXN6w6Ftw6F0LiBTesOhbmTDqWtvc2FuIE5JTkNTIHNhasOhdCDDoXItbWV6xZE6XG4gICBoYSBhIHLDqXN6dsOpdGVsIGZpemV0xZFzLCBheiDDoXIgYSBzemludCBuZXbDqWJlL2xlw61yw6Fzw6FiYSBrZXLDvGwgYXogYWRtaW5cbiAgIGZlbMO8bGV0ZW4gKFRoaW5rYmlnQ2FsZW5kYXIgQWNjZXNzVGllclR5cGU6IG5hbWUgKyBkZXNjcmlwdGlvbikuICovXG5cbi5kcy10aWVyc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0yKX1cbi5kcy10aWVye1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgZ2FwOjJweDtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTMpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xufVxuLmRzLXRpZXItLXNvbGRvdXR7b3BhY2l0eTouNTV9XG4uZHMtdGllcl9faGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOnZhcigtLXNwYWNlLTMpfVxuLmRzLXRpZXJfX25hbWV7Zm9udDp2YXIoLS10eXBlLWxhYmVsKTtjb2xvcjp2YXIoLS10ZXh0LXN0cm9uZyl9XG4uZHMtdGllcl9fc2VhdHN7Zm9udDp2YXIoLS10eXBlLWNhcHRpb24pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcH1cbi5kcy10aWVyX19kZXNje2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFLDoWRpw7Nnb21ib3Mga8OhcnR5w6FrIChgZHNfY2hvaWNlX2NhcmRzYCDFsXJsYXBibG9raylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBIGplbGVudGtlesWRbGFwIHN6aW50dsOhbGFzenTDs2phLiBTesOhbmTDqWtvc2FuIGEgZmVudGkgYC5kcy10aWVyYCBrw6FydHnDoWtcbiAgIGvDqXDDqXJlIGvDqXN6w7xsdCDigJQgdWd5YW5heiBhIHN6aW50IHVneWFuw7pneSBuw6l6IGtpIGF6IGFkYXRsYXBvbiAob2x2YXNoYXTDs1xuICAgbGlzdGEpIMOpcyBheiDFsXJsYXBvbiAodsOhbGFzenRoYXTDsyBrw6FydHlhKS5cblxuICAgQSByw6FkacOzIGF6IGA8aW5wdXQ+YC1iYW4gbWFyYWQsIGNzYWsgdml6dcOhbGlzYW4gcmVqdGrDvGs6IMOtZ3kgYSBuYXTDrXZcbiAgIGJpbGxlbnR5xbFrZXplbMOpcyDDqXMgYSBrw6lwZXJuecWRb2x2YXPDsy12aXNlbGtlZMOpcyBpcyBtZWd2YW4sIEpTIG7DqWxrw7xsLiBBXG4gICBraXbDoWxhc3p0b3R0IMOpcyBhIGxldGlsdG90dCDDoWxsYXBvdG90IGA6aGFzKClgIHJhanpvbGphIOKAlCBleiBhIGbDoWpsYmFuIG3DoXJcbiAgIGJldmV0dCB0ZWNobmlrYSAobMOhc2QgYSBraXRlcmplc3p0ZXR0IHbDoWxhc3p0w7NtZXrFkSBzemFiw6FseWFpdCBmZW50ZWJiKS4gKi9cblxuLmRzLWNob2ljZS1jYXJkc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0yKX1cblxuLmRzLWNob2ljZS1jYXJke1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0O1xuICAgIGdhcDp2YXIoLS1zcGFjZS0zKTtcbiAgICBwYWRkaW5nOnZhcigtLXNwYWNlLTMpO1xuICAgIGJvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWhhaXJsaW5lKTtcbiAgICBib3JkZXItcmFkaXVzOnZhcigtLWRzLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlLWNhcmQpO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB0cmFuc2l0aW9uOnZhcigtLXRyYW5zaXRpb24tY29udHJvbCk7XG59XG4uZHMtY2hvaWNlLWNhcmQ6aG92ZXI6bm90KDpoYXMoaW5wdXQ6ZGlzYWJsZWQpKXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLXN0cm9uZyl9XG4uZHMtY2hvaWNlLWNhcmQ6aGFzKGlucHV0OmNoZWNrZWQpe1xuICAgIGJvcmRlci1jb2xvcjp2YXIoLS1hY3Rpb24tcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tYWN0aW9uLXByaW1hcnkpO1xufVxuLyogQSBiaWxsZW50ecWxemV0ZXMgZsOza3VzeiBhIHJlanRldHQgaW5wdXRvbiDDvGwg4oCUIGEga8OhcnR5w6FyYSBob3p6dWsga2kuICovXG4uZHMtY2hvaWNlLWNhcmQ6aGFzKGlucHV0OmZvY3VzLXZpc2libGUpe1xuICAgIGJvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZm9jdXMpO1xuICAgIGJveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7XG59XG4uZHMtY2hvaWNlLWNhcmQ6aGFzKGlucHV0OmRpc2FibGVkKXtvcGFjaXR5Oi41NTtjdXJzb3I6bm90LWFsbG93ZWR9XG5cbi8qIFZpenXDoWxpc2FuIHJlanRldHQsIGRlIGbDs2t1c3rDoWxoYXTDsyDDqXMgZmVsb2x2YXNoYXTDsy4gQSBrw6l0b3N6dMOhbHlvc1xuICAgc3plbGVrdG9yIHN6w6FuZMOpa29zOiBhIGAuZHMtZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl1gIHN6YWLDoWx5IGVyxZFzZWJiIGxlbm5lXG4gICBlZ3kgZWd5c3plcsWxIG9zenTDoWx5bsOhbCwgw6lzIHZpc3N6YWFkbsOhIGEgMTZweC1lcyBuYXTDrXYgcsOhZGnDs3QuICovXG4uZHMtY2hvaWNlLWNhcmQgLmRzLWNob2ljZS1jYXJkX19pbnB1dHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDoxcHg7aGVpZ2h0OjFweDtcbiAgICBtYXJnaW46MDtwYWRkaW5nOjA7XG4gICAgYm9yZGVyOjA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGNsaXA6cmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6aW5zZXQoNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG59XG5cbi5kcy1jaG9pY2UtY2FyZF9fYm9keXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MH1cbi5kcy1jaG9pY2UtY2FyZF9faGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOnZhcigtLXNwYWNlLTMpfVxuLmRzLWNob2ljZS1jYXJkX19uYW1le2ZvbnQ6dmFyKC0tdHlwZS1sYWJlbCk7Y29sb3I6dmFyKC0tdGV4dC1zdHJvbmcpfVxuLmRzLWNob2ljZS1jYXJkX19zZWF0c3tmb250OnZhcigtLXR5cGUtY2FwdGlvbik7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2hpdGUtc3BhY2U6bm93cmFwfVxuLmRzLWNob2ljZS1jYXJkX19kZXNje2ZvbnQ6dmFyKC0tdHlwZS1ib2R5LXNtKTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX1cblxuLmRzLWNob2ljZS1jYXJkX19jaGVja3tcbiAgICBmbGV4OjAgMCBhdXRvO1xuICAgIHdpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7XG4gICAgbWFyZ2luLXRvcDoycHg7XG4gICAgYm9yZGVyOjJweCBzb2xpZCB2YXIoLS1ib3JkZXItc3Ryb25nKTtcbiAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UtcGFnZSk7XG59XG4uZHMtY2hvaWNlLWNhcmQ6aGFzKGlucHV0OmNoZWNrZWQpIC5kcy1jaG9pY2UtY2FyZF9fY2hlY2t7XG4gICAgYm9yZGVyLWNvbG9yOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOnZhcigtLWFjdGlvbi1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93Omluc2V0IDAgMCAwIDNweCB2YXIoLS1zdXJmYWNlLXBhZ2UpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/