@charset "UTF-8";

/*
The manifest file gives us a global view of everything we're importing
into our stylesheet.

We'll organise our partials using the ITCSS methodology, allowings us
to better manage the cascade and make our CSS more scalable and
maintainable moving forward.

Related reading:
https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/
*/

/*
The manifest file gives us a global view of everything we're importing
into our stylesheet.

We'll organise our partials using the ITCSS methodology, allowings us
to better manage the cascade and make our CSS more scalable and
maintainable moving forward.

Related reading:
https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/
*/

/* FONT PATH
 * -------------------------- */

@font-face {
  font-family: 'FontAwesome';
  src: url(/fonts-compiled/fontawesome-webfont.eot);
  src: url(/fonts-compiled/fontawesome-webfont.eot) format("embedded-opentype"), url(/fonts-compiled/fontawesome-webfont.woff2) format("woff2"), url(/fonts-compiled/fontawesome-webfont.woff) format("woff"), url(/fonts-compiled/fontawesome-webfont.ttf) format("truetype"), url(/fonts-compiled/fontawesome-webfont.svg) format("svg");
  font-weight: normal;
  font-style: normal;
}

.fa {
  display: inline-block;
  font: normal normal normal 0.875rem/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */

.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

/*
Copy font awesome classes from 'node_modules/font-awesome/scss/icons'
as we use them. This way we aren't forced to include 100+ icon clssses in our
CSS that we aren't even using.
*/

.fa-calendar:before {
  content: "\F073";
}

.fa-caret-down:before {
  content: "\F0D7";
}

.fa-chevron-right:before {
  content: "\F054";
}

.fa-envelope:before {
  content: "\F0E0";
}

.fa-file:before {
  content: "\F15B";
}

.fa-info-circle:before {
  content: "\F05A";
}

.fa-map-marker:before {
  content: "\F041";
}

.fa-minus-square-o:before {
  content: "\F147";
}

.fa-phone:before {
  content: "\F095";
}

.fa-plus-square-o:before {
  content: "\F196";
}

.fa-search:before {
  content: "\F002";
}

.fa-user-circle:before {
  content: "\F2BD";
}

.fa-eye-slash:before {
  content: "\F070";
}

.fa-eye:before {
  content: "\F06E";
}

/*
Additional styles for FXST table plugin
*/

#fxst_calendar {
  overflow-y: scroll;
}

/**
 * Attention states, set them all in one go! (usage below)
 */

/* Usage:
	.foo {
		&:focus, &:hover, &:active {
			color: red;
		}
	}
 */

/**
 * Underline on attention (for vanilla links, e.g. TinyMCE output)
 * Usage:
	a {
		@include attention-underline;
	}
 */

/**
 * As attention-underline but with support for inline icons, e.g.
 * <a><span>Lorem</span> <i class="fa fa-envelope"></i></a>
	a {
		@include attention-underline-span;
	}
 */

/*
Calculates and adds on 20% (by default) of the given pixel number. Used to visually
balance spacing, as usually having exact same number for spacing top and bottom
doesn't look right visually.
*/

/*
Allows for quick application of breakout styles, allowing element to break
out of its parent and go full viewport width.
*/

/**
 * calculate-rem
 * Convert font size from pixels to rem
 * (typically only used within the font-size mixin)
 *
 * @param   string  $size      Font size (px)
 * @return  string  $rem-size  Font size (rem)
 */

/**
 * font-size
 * Set a font-size value with created rem values and pixels as fallback
 *
 * @param  string  $size  Font size (px)
 *
	// Example:
	.foo {
		@include font-size(16px);
	}

	// Which would generate:
	font-size: 16px; // fallback (px)
	font-size: 1.6rem;
 */

/**
 * fa
 * Font-awesome icon - inject as a ::before or ::after pseudo element
 *
 * @param  string   $char      Font-awesome character (e.g. $fa-var-envelope)
 * @param  string   $position  [before/after] (default: before)
 * @param  content  {}         Styles that apply to the icon
 *
 * List of font-awesome variables (although they're guessable):
 * https://github.com/FortAwesome/Font-Awesome/blob/master/scss/_variables.scss
 *
	// Simple example - an envelope icon before start of element:
	@include fa($fa-var-envelope);

	// Icon after element:
	@include fa($fa-var-envelope, after);

	// Styled icon:
	@include fa($fa-var-envelope, after) {
		display: inline-block;
		margin-left: 5px;
		color: #55f;
	}
 *
 *  NOTE: If using a CDN for font-awesome and not also importing
 *  font awesome's `_variables.scss` file (unrecommended!),
 *  you can manually provide the unicode, i.e.
 *  	@include fa('\F13A');
 */

/*
Function to retrive a Bootstrap spacer value. Use when you want
to reference a spacer value in a custom component, for consistency. 

.myElement {
	padding-left: spacer('2');
}
*/

/*
Allows for styles to be applied to current classes which will be used
on reskinned version of the site
*/

/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@-ms-viewport {
  width: device-width;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-family: "raleway", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #1b1e21;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #ff9620;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:hover {
  color: #d36f00;
  text-decoration: underline;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 0.0625rem dotted;
  outline: 0.3125rem auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -0.125rem;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

main:focus {
  outline: none;
}

select {
  cursor: pointer;
}

option {
  padding: 0 !important;
  background: white;
}

textarea,
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=search] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

iframe[name='google_conversion_frame'] {
  position: fixed;
}

blockquote {
  position: relative;
  padding-left: 1.5625rem;
  margin-bottom: 1.5em;
}

blockquote::before {
  content: '';
  display: block;
  width: 0.3125rem;
  height: 100%;
  background-color: #ff9620;
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 48em) {
  blockquote {
    padding-left: 2.8125rem;
  }
}

/*
Set some project defaults for heading elements, to match designs and for
ease of use.

To seperate decoration from semantics, we control how the header
looks via the typography component
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: normal;
  margin: 0;
}

/*
[1] Overrides ev_contact_form defaults
*/

ul,
ol {
  margin: 0;
  margin-bottom: 1.5em;
  padding: 0;
}

ul li,
ol li {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none !important;
  /* [1] */
}

ul li::before {
  content: "\25CF   ";
  color: #ff9620;
  padding-right: 0.5em;
}

body.skin-black ul li::before {
  color: #fff;
}

body.skin-smartcharts ul li::before {
  color: #6c757d;
}

ol {
  padding-left: 1em;
}

ol li {
  padding-left: .5em;
}

/*
Set basic styles for body top level element.
*/

body {
  font-size: 1.125rem;
  overflow-x: hidden;
}

body.skin-black {
  background-color: #1c1630;
  color: #e4c692;
}

p {
  margin-bottom: 1.5em;
}

p:last-child {
  margin-bottom: 0;
}

table:not(#fxst-calendartable) {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 3.125rem;
}

table:not(#fxst-calendartable) tr:nth-child(even) {
  background-color: #ffffff;
}

table:not(#fxst-calendartable) tr:nth-child(odd) {
  background-color: #f0f0f0;
}

table:not(#fxst-calendartable) th,
table:not(#fxst-calendartable) td {
  text-align: center;
  padding: 0.9375rem;
}

table:not(#fxst-calendartable) th,
table:not(#fxst-calendartable) thead td {
  background-color: #3f5666;
  border: 0.125rem solid #3f5666;
  color: #ffffff;
  text-transform: uppercase;
}

table:not(#fxst-calendartable) td {
  border: 0.125rem solid #d2d2d2;
}

@media (max-width: 61.99em) {
  table:not(#fxst-calendartable) {
    display: block;
    font-size: 0.75rem;
    overflow-x: auto;
  }
}

/*!
 * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

@-ms-viewport {
  width: device-width;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

.container {
  width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1200px) {
  .container {
    max-width: 75rem;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-sm2-1,
.col-sm2-2,
.col-sm2-3,
.col-sm2-4,
.col-sm2-5,
.col-sm2-6,
.col-sm2-7,
.col-sm2-8,
.col-sm2-9,
.col-sm2-10,
.col-sm2-11,
.col-sm2-12,
.col-sm2,
.col-sm2-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 0.0625rem;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

.col {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-positive: 1;
      -webkit-box-flex: 1;
      flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
      -webkit-box-flex: 0;
      flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  -ms-flex: 0 0 8.33333333%;
      -webkit-box-flex: 0;
      flex: 0 0 8.33333333%;
  max-width: 8.33333333%;
}

.col-2 {
  -ms-flex: 0 0 16.66666667%;
      -webkit-box-flex: 0;
      flex: 0 0 16.66666667%;
  max-width: 16.66666667%;
}

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

.col-4 {
  -ms-flex: 0 0 33.33333333%;
      -webkit-box-flex: 0;
      flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}

.col-5 {
  -ms-flex: 0 0 41.66666667%;
      -webkit-box-flex: 0;
      flex: 0 0 41.66666667%;
  max-width: 41.66666667%;
}

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

.col-7 {
  -ms-flex: 0 0 58.33333333%;
      -webkit-box-flex: 0;
      flex: 0 0 58.33333333%;
  max-width: 58.33333333%;
}

.col-8 {
  -ms-flex: 0 0 66.66666667%;
      -webkit-box-flex: 0;
      flex: 0 0 66.66666667%;
  max-width: 66.66666667%;
}

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

.col-10 {
  -ms-flex: 0 0 83.33333333%;
      -webkit-box-flex: 0;
      flex: 0 0 83.33333333%;
  max-width: 83.33333333%;
}

.col-11 {
  -ms-flex: 0 0 91.66666667%;
      -webkit-box-flex: 0;
      flex: 0 0 91.66666667%;
  max-width: 91.66666667%;
}

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

.order-first {
  -ms-flex-order: -1;
      -webkit-box-ordinal-group: 0;
      order: -1;
}

.order-last {
  -ms-flex-order: 13;
      -webkit-box-ordinal-group: 14;
      order: 13;
}

.order-0 {
  -ms-flex-order: 0;
      -webkit-box-ordinal-group: 1;
      order: 0;
}

.order-1 {
  -ms-flex-order: 1;
      -webkit-box-ordinal-group: 2;
      order: 1;
}

.order-2 {
  -ms-flex-order: 2;
      -webkit-box-ordinal-group: 3;
      order: 2;
}

.order-3 {
  -ms-flex-order: 3;
      -webkit-box-ordinal-group: 4;
      order: 3;
}

.order-4 {
  -ms-flex-order: 4;
      -webkit-box-ordinal-group: 5;
      order: 4;
}

.order-5 {
  -ms-flex-order: 5;
      -webkit-box-ordinal-group: 6;
      order: 5;
}

.order-6 {
  -ms-flex-order: 6;
      -webkit-box-ordinal-group: 7;
      order: 6;
}

.order-7 {
  -ms-flex-order: 7;
      -webkit-box-ordinal-group: 8;
      order: 7;
}

.order-8 {
  -ms-flex-order: 8;
      -webkit-box-ordinal-group: 9;
      order: 8;
}

.order-9 {
  -ms-flex-order: 9;
      -webkit-box-ordinal-group: 10;
      order: 9;
}

.order-10 {
  -ms-flex-order: 10;
      -webkit-box-ordinal-group: 11;
      order: 10;
}

.order-11 {
  -ms-flex-order: 11;
      -webkit-box-ordinal-group: 12;
      order: 11;
}

.order-12 {
  -ms-flex-order: 12;
      -webkit-box-ordinal-group: 13;
      order: 12;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

@media (min-width: 375px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    max-width: 100%;
  }

  .col-sm-auto {
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-sm-1 {
    -ms-flex: 0 0 8.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-sm-2 {
    -ms-flex: 0 0 16.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-sm-3 {
    -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-sm-5 {
    -ms-flex: 0 0 41.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-sm-6 {
    -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    -ms-flex: 0 0 58.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-sm-8 {
    -ms-flex: 0 0 66.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-sm-9 {
    -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    -ms-flex: 0 0 83.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-sm-11 {
    -ms-flex: 0 0 91.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-sm-12 {
    -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
  }

  .order-sm-last {
    -ms-flex-order: 13;
        -webkit-box-ordinal-group: 14;
        order: 13;
  }

  .order-sm-0 {
    -ms-flex-order: 0;
        -webkit-box-ordinal-group: 1;
        order: 0;
  }

  .order-sm-1 {
    -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
  }

  .order-sm-2 {
    -ms-flex-order: 2;
        -webkit-box-ordinal-group: 3;
        order: 2;
  }

  .order-sm-3 {
    -ms-flex-order: 3;
        -webkit-box-ordinal-group: 4;
        order: 3;
  }

  .order-sm-4 {
    -ms-flex-order: 4;
        -webkit-box-ordinal-group: 5;
        order: 4;
  }

  .order-sm-5 {
    -ms-flex-order: 5;
        -webkit-box-ordinal-group: 6;
        order: 5;
  }

  .order-sm-6 {
    -ms-flex-order: 6;
        -webkit-box-ordinal-group: 7;
        order: 6;
  }

  .order-sm-7 {
    -ms-flex-order: 7;
        -webkit-box-ordinal-group: 8;
        order: 7;
  }

  .order-sm-8 {
    -ms-flex-order: 8;
        -webkit-box-ordinal-group: 9;
        order: 8;
  }

  .order-sm-9 {
    -ms-flex-order: 9;
        -webkit-box-ordinal-group: 10;
        order: 9;
  }

  .order-sm-10 {
    -ms-flex-order: 10;
        -webkit-box-ordinal-group: 11;
        order: 10;
  }

  .order-sm-11 {
    -ms-flex-order: 11;
        -webkit-box-ordinal-group: 12;
        order: 11;
  }

  .order-sm-12 {
    -ms-flex-order: 12;
        -webkit-box-ordinal-group: 13;
        order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.33333333%;
  }

  .offset-sm-2 {
    margin-left: 16.66666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.33333333%;
  }

  .offset-sm-5 {
    margin-left: 41.66666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.33333333%;
  }

  .offset-sm-8 {
    margin-left: 66.66666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.33333333%;
  }

  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
}

/*
@media (max-width: 576px) {
.sticky-footer { font-size: .8rem; }
.disclaimer { font-size: .8rem; }
}
*/

@media (min-width: 576px) {
  .col-sm2 {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    max-width: 100%;
  }

  .col-sm2-auto {
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-sm2-1 {
    -ms-flex: 0 0 8.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-sm2-2 {
    -ms-flex: 0 0 16.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-sm2-3 {
    -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm2-4 {
    -ms-flex: 0 0 33.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-sm2-5 {
    -ms-flex: 0 0 41.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-sm2-6 {
    -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm2-7 {
    -ms-flex: 0 0 58.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-sm2-8 {
    -ms-flex: 0 0 66.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-sm2-9 {
    -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm2-10 {
    -ms-flex: 0 0 83.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-sm2-11 {
    -ms-flex: 0 0 91.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-sm2-12 {
    -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm2-first {
    -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
  }

  .order-sm2-last {
    -ms-flex-order: 13;
        -webkit-box-ordinal-group: 14;
        order: 13;
  }

  .order-sm2-0 {
    -ms-flex-order: 0;
        -webkit-box-ordinal-group: 1;
        order: 0;
  }

  .order-sm2-1 {
    -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
  }

  .order-sm2-2 {
    -ms-flex-order: 2;
        -webkit-box-ordinal-group: 3;
        order: 2;
  }

  .order-sm2-3 {
    -ms-flex-order: 3;
        -webkit-box-ordinal-group: 4;
        order: 3;
  }

  .order-sm2-4 {
    -ms-flex-order: 4;
        -webkit-box-ordinal-group: 5;
        order: 4;
  }

  .order-sm2-5 {
    -ms-flex-order: 5;
        -webkit-box-ordinal-group: 6;
        order: 5;
  }

  .order-sm2-6 {
    -ms-flex-order: 6;
        -webkit-box-ordinal-group: 7;
        order: 6;
  }

  .order-sm2-7 {
    -ms-flex-order: 7;
        -webkit-box-ordinal-group: 8;
        order: 7;
  }

  .order-sm2-8 {
    -ms-flex-order: 8;
        -webkit-box-ordinal-group: 9;
        order: 8;
  }

  .order-sm2-9 {
    -ms-flex-order: 9;
        -webkit-box-ordinal-group: 10;
        order: 9;
  }

  .order-sm2-10 {
    -ms-flex-order: 10;
        -webkit-box-ordinal-group: 11;
        order: 10;
  }

  .order-sm2-11 {
    -ms-flex-order: 11;
        -webkit-box-ordinal-group: 12;
        order: 11;
  }

  .order-sm2-12 {
    -ms-flex-order: 12;
        -webkit-box-ordinal-group: 13;
        order: 12;
  }

  .offset-sm2-0 {
    margin-left: 0;
  }

  .offset-sm2-1 {
    margin-left: 8.33333333%;
  }

  .offset-sm2-2 {
    margin-left: 16.66666667%;
  }

  .offset-sm2-3 {
    margin-left: 25%;
  }

  .offset-sm2-4 {
    margin-left: 33.33333333%;
  }

  .offset-sm2-5 {
    margin-left: 41.66666667%;
  }

  .offset-sm2-6 {
    margin-left: 50%;
  }

  .offset-sm2-7 {
    margin-left: 58.33333333%;
  }

  .offset-sm2-8 {
    margin-left: 66.66666667%;
  }

  .offset-sm2-9 {
    margin-left: 75%;
  }

  .offset-sm2-10 {
    margin-left: 83.33333333%;
  }

  .offset-sm2-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    max-width: 100%;
  }

  .col-md-auto {
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-md-1 {
    -ms-flex: 0 0 8.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-md-2 {
    -ms-flex: 0 0 16.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-md-3 {
    -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    -ms-flex: 0 0 33.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-md-5 {
    -ms-flex: 0 0 41.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    -ms-flex: 0 0 58.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-md-8 {
    -ms-flex: 0 0 66.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-md-9 {
    -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    -ms-flex: 0 0 83.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-md-11 {
    -ms-flex: 0 0 91.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-md-12 {
    -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
  }

  .order-md-last {
    -ms-flex-order: 13;
        -webkit-box-ordinal-group: 14;
        order: 13;
  }

  .order-md-0 {
    -ms-flex-order: 0;
        -webkit-box-ordinal-group: 1;
        order: 0;
  }

  .order-md-1 {
    -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
  }

  .order-md-2 {
    -ms-flex-order: 2;
        -webkit-box-ordinal-group: 3;
        order: 2;
  }

  .order-md-3 {
    -ms-flex-order: 3;
        -webkit-box-ordinal-group: 4;
        order: 3;
  }

  .order-md-4 {
    -ms-flex-order: 4;
        -webkit-box-ordinal-group: 5;
        order: 4;
  }

  .order-md-5 {
    -ms-flex-order: 5;
        -webkit-box-ordinal-group: 6;
        order: 5;
  }

  .order-md-6 {
    -ms-flex-order: 6;
        -webkit-box-ordinal-group: 7;
        order: 6;
  }

  .order-md-7 {
    -ms-flex-order: 7;
        -webkit-box-ordinal-group: 8;
        order: 7;
  }

  .order-md-8 {
    -ms-flex-order: 8;
        -webkit-box-ordinal-group: 9;
        order: 8;
  }

  .order-md-9 {
    -ms-flex-order: 9;
        -webkit-box-ordinal-group: 10;
        order: 9;
  }

  .order-md-10 {
    -ms-flex-order: 10;
        -webkit-box-ordinal-group: 11;
        order: 10;
  }

  .order-md-11 {
    -ms-flex-order: 11;
        -webkit-box-ordinal-group: 12;
        order: 11;
  }

  .order-md-12 {
    -ms-flex-order: 12;
        -webkit-box-ordinal-group: 13;
        order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.33333333%;
  }

  .offset-md-2 {
    margin-left: 16.66666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.33333333%;
  }

  .offset-md-5 {
    margin-left: 41.66666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.33333333%;
  }

  .offset-md-8 {
    margin-left: 66.66666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.33333333%;
  }

  .offset-md-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    max-width: 100%;
  }

  .col-lg-auto {
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-lg-1 {
    -ms-flex: 0 0 8.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-lg-2 {
    -ms-flex: 0 0 16.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-lg-3 {
    -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    -ms-flex: 0 0 33.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-lg-5 {
    -ms-flex: 0 0 41.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-lg-6 {
    -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    -ms-flex: 0 0 58.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-lg-8 {
    -ms-flex: 0 0 66.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-lg-9 {
    -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    -ms-flex: 0 0 83.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-lg-11 {
    -ms-flex: 0 0 91.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-lg-12 {
    -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
  }

  .order-lg-last {
    -ms-flex-order: 13;
        -webkit-box-ordinal-group: 14;
        order: 13;
  }

  .order-lg-0 {
    -ms-flex-order: 0;
        -webkit-box-ordinal-group: 1;
        order: 0;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
        -webkit-box-ordinal-group: 3;
        order: 2;
  }

  .order-lg-3 {
    -ms-flex-order: 3;
        -webkit-box-ordinal-group: 4;
        order: 3;
  }

  .order-lg-4 {
    -ms-flex-order: 4;
        -webkit-box-ordinal-group: 5;
        order: 4;
  }

  .order-lg-5 {
    -ms-flex-order: 5;
        -webkit-box-ordinal-group: 6;
        order: 5;
  }

  .order-lg-6 {
    -ms-flex-order: 6;
        -webkit-box-ordinal-group: 7;
        order: 6;
  }

  .order-lg-7 {
    -ms-flex-order: 7;
        -webkit-box-ordinal-group: 8;
        order: 7;
  }

  .order-lg-8 {
    -ms-flex-order: 8;
        -webkit-box-ordinal-group: 9;
        order: 8;
  }

  .order-lg-9 {
    -ms-flex-order: 9;
        -webkit-box-ordinal-group: 10;
        order: 9;
  }

  .order-lg-10 {
    -ms-flex-order: 10;
        -webkit-box-ordinal-group: 11;
        order: 10;
  }

  .order-lg-11 {
    -ms-flex-order: 11;
        -webkit-box-ordinal-group: 12;
        order: 11;
  }

  .order-lg-12 {
    -ms-flex-order: 12;
        -webkit-box-ordinal-group: 13;
        order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.33333333%;
  }

  .offset-lg-2 {
    margin-left: 16.66666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.33333333%;
  }

  .offset-lg-5 {
    margin-left: 41.66666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.33333333%;
  }

  .offset-lg-8 {
    margin-left: 66.66666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.33333333%;
  }

  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    max-width: 100%;
  }

  .col-xl-auto {
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-xl-1 {
    -ms-flex: 0 0 8.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-xl-2 {
    -ms-flex: 0 0 16.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-xl-3 {
    -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    -ms-flex: 0 0 33.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-xl-5 {
    -ms-flex: 0 0 41.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-xl-6 {
    -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    -ms-flex: 0 0 58.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-xl-8 {
    -ms-flex: 0 0 66.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-xl-9 {
    -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    -ms-flex: 0 0 83.33333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-xl-11 {
    -ms-flex: 0 0 91.66666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-xl-12 {
    -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    -ms-flex-order: -1;
        -webkit-box-ordinal-group: 0;
        order: -1;
  }

  .order-xl-last {
    -ms-flex-order: 13;
        -webkit-box-ordinal-group: 14;
        order: 13;
  }

  .order-xl-0 {
    -ms-flex-order: 0;
        -webkit-box-ordinal-group: 1;
        order: 0;
  }

  .order-xl-1 {
    -ms-flex-order: 1;
        -webkit-box-ordinal-group: 2;
        order: 1;
  }

  .order-xl-2 {
    -ms-flex-order: 2;
        -webkit-box-ordinal-group: 3;
        order: 2;
  }

  .order-xl-3 {
    -ms-flex-order: 3;
        -webkit-box-ordinal-group: 4;
        order: 3;
  }

  .order-xl-4 {
    -ms-flex-order: 4;
        -webkit-box-ordinal-group: 5;
        order: 4;
  }

  .order-xl-5 {
    -ms-flex-order: 5;
        -webkit-box-ordinal-group: 6;
        order: 5;
  }

  .order-xl-6 {
    -ms-flex-order: 6;
        -webkit-box-ordinal-group: 7;
        order: 6;
  }

  .order-xl-7 {
    -ms-flex-order: 7;
        -webkit-box-ordinal-group: 8;
        order: 7;
  }

  .order-xl-8 {
    -ms-flex-order: 8;
        -webkit-box-ordinal-group: 9;
        order: 8;
  }

  .order-xl-9 {
    -ms-flex-order: 9;
        -webkit-box-ordinal-group: 10;
        order: 9;
  }

  .order-xl-10 {
    -ms-flex-order: 10;
        -webkit-box-ordinal-group: 11;
        order: 10;
  }

  .order-xl-11 {
    -ms-flex-order: 11;
        -webkit-box-ordinal-group: 12;
        order: 11;
  }

  .order-xl-12 {
    -ms-flex-order: 12;
        -webkit-box-ordinal-group: 13;
        order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
}

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

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

.d-inline-block {
  display: inline-block !important;
}

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

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

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -ms-flexbox !important;
  display: -webkit-box !important;
  display: flex !important;
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: -webkit-inline-box !important;
  display: inline-flex !important;
}

@media (min-width: 375px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 576px) {
  .d-sm2-none {
    display: none !important;
  }

  .d-sm2-inline {
    display: inline !important;
  }

  .d-sm2-inline-block {
    display: inline-block !important;
  }

  .d-sm2-block {
    display: block !important;
  }

  .d-sm2-table {
    display: table !important;
  }

  .d-sm2-table-row {
    display: table-row !important;
  }

  .d-sm2-table-cell {
    display: table-cell !important;
  }

  .d-sm2-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-sm2-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

.flex-row {
  -ms-flex-direction: row !important;
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: normal !important;
      flex-direction: row !important;
}

.flex-column {
  -ms-flex-direction: column !important;
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: normal !important;
      flex-direction: column !important;
}

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
      -webkit-box-orient: horizontal !important;
      -webkit-box-direction: reverse !important;
      flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
      -webkit-box-orient: vertical !important;
      -webkit-box-direction: reverse !important;
      flex-direction: column-reverse !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important;
}

.flex-fill {
  -ms-flex: 1 1 auto !important;
      -webkit-box-flex: 1 !important;
      flex: 1 1 auto !important;
}

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
      -webkit-box-flex: 0 !important;
      flex-grow: 0 !important;
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
      -webkit-box-flex: 1 !important;
      flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
      flex-shrink: 1 !important;
}

.justify-content-start {
  -ms-flex-pack: start !important;
      -webkit-box-pack: start !important;
      justify-content: flex-start !important;
}

.justify-content-end {
  -ms-flex-pack: end !important;
      -webkit-box-pack: end !important;
      justify-content: flex-end !important;
}

.justify-content-center {
  -ms-flex-pack: center !important;
      -webkit-box-pack: center !important;
      justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
      -webkit-box-pack: justify !important;
      justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.align-items-start {
  -ms-flex-align: start !important;
      -webkit-box-align: start !important;
      align-items: flex-start !important;
}

.align-items-end {
  -ms-flex-align: end !important;
      -webkit-box-align: end !important;
      align-items: flex-end !important;
}

.align-items-center {
  -ms-flex-align: center !important;
      -webkit-box-align: center !important;
      align-items: center !important;
}

.align-items-baseline {
  -ms-flex-align: baseline !important;
      -webkit-box-align: baseline !important;
      align-items: baseline !important;
}

.align-items-stretch {
  -ms-flex-align: stretch !important;
      -webkit-box-align: stretch !important;
      align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
      -ms-grid-row-align: auto !important;
      align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
}

@media (min-width: 375px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        flex-direction: row !important;
  }

  .flex-sm-column {
    -ms-flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
        -webkit-box-flex: 1 !important;
        flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
        -webkit-box-flex: 0 !important;
        flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
        -webkit-box-flex: 1 !important;
        flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    -ms-flex-pack: start !important;
        -webkit-box-pack: start !important;
        justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    -ms-flex-pack: end !important;
        -webkit-box-pack: end !important;
        justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    -ms-flex-pack: center !important;
        -webkit-box-pack: center !important;
        justify-content: center !important;
  }

  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
        -webkit-box-pack: justify !important;
        justify-content: space-between !important;
  }

  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }

  .align-items-sm-start {
    -ms-flex-align: start !important;
        -webkit-box-align: start !important;
        align-items: flex-start !important;
  }

  .align-items-sm-end {
    -ms-flex-align: end !important;
        -webkit-box-align: end !important;
        align-items: flex-end !important;
  }

  .align-items-sm-center {
    -ms-flex-align: center !important;
        -webkit-box-align: center !important;
        align-items: center !important;
  }

  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
        -webkit-box-align: baseline !important;
        align-items: baseline !important;
  }

  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
        -webkit-box-align: stretch !important;
        align-items: stretch !important;
  }

  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }

  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }

  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }

  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }

  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }

  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }

  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }

  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }

  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }

  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }

  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }

  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
}

@media (min-width: 576px) {
  .flex-sm2-row {
    -ms-flex-direction: row !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        flex-direction: row !important;
  }

  .flex-sm2-column {
    -ms-flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        flex-direction: column !important;
  }

  .flex-sm2-row-reverse {
    -ms-flex-direction: row-reverse !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        flex-direction: row-reverse !important;
  }

  .flex-sm2-column-reverse {
    -ms-flex-direction: column-reverse !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        flex-direction: column-reverse !important;
  }

  .flex-sm2-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }

  .flex-sm2-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }

  .flex-sm2-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }

  .flex-sm2-fill {
    -ms-flex: 1 1 auto !important;
        -webkit-box-flex: 1 !important;
        flex: 1 1 auto !important;
  }

  .flex-sm2-grow-0 {
    -ms-flex-positive: 0 !important;
        -webkit-box-flex: 0 !important;
        flex-grow: 0 !important;
  }

  .flex-sm2-grow-1 {
    -ms-flex-positive: 1 !important;
        -webkit-box-flex: 1 !important;
        flex-grow: 1 !important;
  }

  .flex-sm2-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }

  .flex-sm2-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }

  .justify-content-sm2-start {
    -ms-flex-pack: start !important;
        -webkit-box-pack: start !important;
        justify-content: flex-start !important;
  }

  .justify-content-sm2-end {
    -ms-flex-pack: end !important;
        -webkit-box-pack: end !important;
        justify-content: flex-end !important;
  }

  .justify-content-sm2-center {
    -ms-flex-pack: center !important;
        -webkit-box-pack: center !important;
        justify-content: center !important;
  }

  .justify-content-sm2-between {
    -ms-flex-pack: justify !important;
        -webkit-box-pack: justify !important;
        justify-content: space-between !important;
  }

  .justify-content-sm2-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }

  .align-items-sm2-start {
    -ms-flex-align: start !important;
        -webkit-box-align: start !important;
        align-items: flex-start !important;
  }

  .align-items-sm2-end {
    -ms-flex-align: end !important;
        -webkit-box-align: end !important;
        align-items: flex-end !important;
  }

  .align-items-sm2-center {
    -ms-flex-align: center !important;
        -webkit-box-align: center !important;
        align-items: center !important;
  }

  .align-items-sm2-baseline {
    -ms-flex-align: baseline !important;
        -webkit-box-align: baseline !important;
        align-items: baseline !important;
  }

  .align-items-sm2-stretch {
    -ms-flex-align: stretch !important;
        -webkit-box-align: stretch !important;
        align-items: stretch !important;
  }

  .align-content-sm2-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }

  .align-content-sm2-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }

  .align-content-sm2-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }

  .align-content-sm2-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }

  .align-content-sm2-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }

  .align-content-sm2-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }

  .align-self-sm2-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }

  .align-self-sm2-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }

  .align-self-sm2-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }

  .align-self-sm2-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }

  .align-self-sm2-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }

  .align-self-sm2-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        flex-direction: row !important;
  }

  .flex-md-column {
    -ms-flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        flex-direction: column !important;
  }

  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
        -webkit-box-flex: 1 !important;
        flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
        -webkit-box-flex: 0 !important;
        flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
        -webkit-box-flex: 1 !important;
        flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    -ms-flex-pack: start !important;
        -webkit-box-pack: start !important;
        justify-content: flex-start !important;
  }

  .justify-content-md-end {
    -ms-flex-pack: end !important;
        -webkit-box-pack: end !important;
        justify-content: flex-end !important;
  }

  .justify-content-md-center {
    -ms-flex-pack: center !important;
        -webkit-box-pack: center !important;
        justify-content: center !important;
  }

  .justify-content-md-between {
    -ms-flex-pack: justify !important;
        -webkit-box-pack: justify !important;
        justify-content: space-between !important;
  }

  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }

  .align-items-md-start {
    -ms-flex-align: start !important;
        -webkit-box-align: start !important;
        align-items: flex-start !important;
  }

  .align-items-md-end {
    -ms-flex-align: end !important;
        -webkit-box-align: end !important;
        align-items: flex-end !important;
  }

  .align-items-md-center {
    -ms-flex-align: center !important;
        -webkit-box-align: center !important;
        align-items: center !important;
  }

  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
        -webkit-box-align: baseline !important;
        align-items: baseline !important;
  }

  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
        -webkit-box-align: stretch !important;
        align-items: stretch !important;
  }

  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }

  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }

  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }

  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }

  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }

  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }

  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }

  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }

  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }

  .align-self-md-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }

  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }

  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    -ms-flex-direction: row !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        flex-direction: row !important;
  }

  .flex-lg-column {
    -ms-flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
        -webkit-box-flex: 1 !important;
        flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
        -webkit-box-flex: 0 !important;
        flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
        -webkit-box-flex: 1 !important;
        flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    -ms-flex-pack: start !important;
        -webkit-box-pack: start !important;
        justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    -ms-flex-pack: end !important;
        -webkit-box-pack: end !important;
        justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    -ms-flex-pack: center !important;
        -webkit-box-pack: center !important;
        justify-content: center !important;
  }

  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
        -webkit-box-pack: justify !important;
        justify-content: space-between !important;
  }

  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }

  .align-items-lg-start {
    -ms-flex-align: start !important;
        -webkit-box-align: start !important;
        align-items: flex-start !important;
  }

  .align-items-lg-end {
    -ms-flex-align: end !important;
        -webkit-box-align: end !important;
        align-items: flex-end !important;
  }

  .align-items-lg-center {
    -ms-flex-align: center !important;
        -webkit-box-align: center !important;
        align-items: center !important;
  }

  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
        -webkit-box-align: baseline !important;
        align-items: baseline !important;
  }

  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
        -webkit-box-align: stretch !important;
        align-items: stretch !important;
  }

  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }

  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }

  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }

  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }

  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }

  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }

  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }

  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }

  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }

  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }

  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }

  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    -ms-flex-direction: row !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        flex-direction: row !important;
  }

  .flex-xl-column {
    -ms-flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    -ms-flex: 1 1 auto !important;
        -webkit-box-flex: 1 !important;
        flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
        -webkit-box-flex: 0 !important;
        flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
        -webkit-box-flex: 1 !important;
        flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    -ms-flex-pack: start !important;
        -webkit-box-pack: start !important;
        justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    -ms-flex-pack: end !important;
        -webkit-box-pack: end !important;
        justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    -ms-flex-pack: center !important;
        -webkit-box-pack: center !important;
        justify-content: center !important;
  }

  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
        -webkit-box-pack: justify !important;
        justify-content: space-between !important;
  }

  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }

  .align-items-xl-start {
    -ms-flex-align: start !important;
        -webkit-box-align: start !important;
        align-items: flex-start !important;
  }

  .align-items-xl-end {
    -ms-flex-align: end !important;
        -webkit-box-align: end !important;
        align-items: flex-end !important;
  }

  .align-items-xl-center {
    -ms-flex-align: center !important;
        -webkit-box-align: center !important;
        align-items: center !important;
  }

  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
        -webkit-box-align: baseline !important;
        align-items: baseline !important;
  }

  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
        -webkit-box-align: stretch !important;
        align-items: stretch !important;
  }

  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }

  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }

  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }

  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }

  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }

  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }

  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important;
  }

  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }

  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }

  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important;
  }

  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }

  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important;
  }
}

.o-inline-list {
  padding-left: 0;
}

.o-inline-list li::before {
  display: none;
}

.btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: 0.125rem solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .btn {
    -webkit-transition: none;
    transition: none;
  }
}

.btn:hover,
.btn:focus {
  text-decoration: none;
}

.btn:focus,
.btn.focus {
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.25);
}

.btn.disabled,
.btn:disabled {
  opacity: 0.65;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #212529;
  background-color: #ff9620;
  border-color: #ff9620;
}

.btn-primary:hover {
  color: #212529;
  background-color: #f98400;
  border-color: #ec7d00;
}

.btn-primary:focus,
.btn-primary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: #212529;
  background-color: #ff9620;
  border-color: #ff9620;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #ec7d00;
  border-color: #df7600;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus,
.btn-secondary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus,
.btn-success.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-success.disabled,
.btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus,
.btn-info.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-info.disabled,
.btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus,
.btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus,
.btn-warning.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-warning.disabled,
.btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus,
.btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus,
.btn-danger.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus,
.btn-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-light.disabled,
.btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.btn-light:not(:disabled):not(.disabled):active:focus,
.btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus,
.btn-dark.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-dark.disabled,
.btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus,
.btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-type-light-grey {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-type-light-grey:hover {
  color: #212529;
  background-color: #b9b9b9;
  border-color: #b3b2b2;
}

.btn-type-light-grey:focus,
.btn-type-light-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-type-light-grey.disabled,
.btn-type-light-grey:disabled {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-type-light-grey:not(:disabled):not(.disabled):active,
.btn-type-light-grey:not(:disabled):not(.disabled).active,
.show > .btn-type-light-grey.dropdown-toggle {
  color: #212529;
  background-color: #b3b2b2;
  border-color: #acacac;
}

.btn-type-light-grey:not(:disabled):not(.disabled):active:focus,
.btn-type-light-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-type-light-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-light-grey {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-light-grey:hover {
  color: #212529;
  background-color: #dddddd;
  border-color: #d7d6d6;
}

.btn-light-grey:focus,
.btn-light-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-light-grey.disabled,
.btn-light-grey:disabled {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-light-grey:not(:disabled):not(.disabled):active,
.btn-light-grey:not(:disabled):not(.disabled).active,
.show > .btn-light-grey.dropdown-toggle {
  color: #212529;
  background-color: #d7d6d6;
  border-color: #d0d0d0;
}

.btn-light-grey:not(:disabled):not(.disabled):active:focus,
.btn-light-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-light-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-grey {
  color: #212529;
  background-color: #d2d2d2;
  border-color: #d2d2d2;
}

.btn-grey:hover {
  color: #212529;
  background-color: #bfbfbf;
  border-color: #b9b8b8;
}

.btn-grey:focus,
.btn-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
}

.btn-grey.disabled,
.btn-grey:disabled {
  color: #212529;
  background-color: #d2d2d2;
  border-color: #d2d2d2;
}

.btn-grey:not(:disabled):not(.disabled):active,
.btn-grey:not(:disabled):not(.disabled).active,
.show > .btn-grey.dropdown-toggle {
  color: #212529;
  background-color: #b9b8b8;
  border-color: #b2b2b2;
}

.btn-grey:not(:disabled):not(.disabled):active:focus,
.btn-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
}

.btn-faded-blue {
  color: #fff;
  background-color: #3f5666;
  border-color: #3f5666;
}

.btn-faded-blue:hover {
  color: #fff;
  background-color: #30424e;
  border-color: #2c3b46;
}

.btn-faded-blue:focus,
.btn-faded-blue.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
}

.btn-faded-blue.disabled,
.btn-faded-blue:disabled {
  color: #fff;
  background-color: #3f5666;
  border-color: #3f5666;
}

.btn-faded-blue:not(:disabled):not(.disabled):active,
.btn-faded-blue:not(:disabled):not(.disabled).active,
.show > .btn-faded-blue.dropdown-toggle {
  color: #fff;
  background-color: #2c3b46;
  border-color: #27353f;
}

.btn-faded-blue:not(:disabled):not(.disabled):active:focus,
.btn-faded-blue:not(:disabled):not(.disabled).active:focus,
.show > .btn-faded-blue.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
}

.btn-dark-blue {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-dark-blue:hover {
  color: #fff;
  background-color: #091b30;
  border-color: #071525;
}

.btn-dark-blue:focus,
.btn-dark-blue.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-dark-blue.disabled,
.btn-dark-blue:disabled {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-dark-blue:not(:disabled):not(.disabled):active,
.btn-dark-blue:not(:disabled):not(.disabled).active,
.show > .btn-dark-blue.dropdown-toggle {
  color: #fff;
  background-color: #071525;
  border-color: #050f1a;
}

.btn-dark-blue:not(:disabled):not(.disabled):active:focus,
.btn-dark-blue:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark-blue.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-dark-blue-alt {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-dark-blue-alt:hover {
  color: #fff;
  background-color: #0c1622;
  border-color: #091018;
}

.btn-dark-blue-alt:focus,
.btn-dark-blue-alt.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-dark-blue-alt.disabled,
.btn-dark-blue-alt:disabled {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-dark-blue-alt:not(:disabled):not(.disabled):active,
.btn-dark-blue-alt:not(:disabled):not(.disabled).active,
.show > .btn-dark-blue-alt.dropdown-toggle {
  color: #fff;
  background-color: #091018;
  border-color: #050a0f;
}

.btn-dark-blue-alt:not(:disabled):not(.disabled):active:focus,
.btn-dark-blue-alt:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark-blue-alt.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-black-primary {
  color: #fff;
  background-color: #0c0620;
  border-color: #0c0620;
}

.btn-black-primary:hover {
  color: #fff;
  background-color: black;
  border-color: black;
}

.btn-black-primary:focus,
.btn-black-primary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
}

.btn-black-primary.disabled,
.btn-black-primary:disabled {
  color: #fff;
  background-color: #0c0620;
  border-color: #0c0620;
}

.btn-black-primary:not(:disabled):not(.disabled):active,
.btn-black-primary:not(:disabled):not(.disabled).active,
.show > .btn-black-primary.dropdown-toggle {
  color: #fff;
  background-color: black;
  border-color: black;
}

.btn-black-primary:not(:disabled):not(.disabled):active:focus,
.btn-black-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-black-primary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
}

.btn-black-secondary {
  color: #212529;
  background-color: #e4c692;
  border-color: #e4c692;
}

.btn-black-secondary:hover {
  color: #212529;
  background-color: #dcb673;
  border-color: #dab169;
}

.btn-black-secondary:focus,
.btn-black-secondary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
}

.btn-black-secondary.disabled,
.btn-black-secondary:disabled {
  color: #212529;
  background-color: #e4c692;
  border-color: #e4c692;
}

.btn-black-secondary:not(:disabled):not(.disabled):active,
.btn-black-secondary:not(:disabled):not(.disabled).active,
.show > .btn-black-secondary.dropdown-toggle {
  color: #212529;
  background-color: #dab169;
  border-color: #d7ab5f;
}

.btn-black-secondary:not(:disabled):not(.disabled):active:focus,
.btn-black-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-black-secondary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
}

.btn-type {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-type:hover {
  color: #fff;
  background-color: #0a0b0c;
  border-color: #040505;
}

.btn-type:focus,
.btn-type.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-type.disabled,
.btn-type:disabled {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-type:not(:disabled):not(.disabled):active,
.btn-type:not(:disabled):not(.disabled).active,
.show > .btn-type.dropdown-toggle {
  color: #fff;
  background-color: #040505;
  border-color: black;
}

.btn-type:not(:disabled):not(.disabled):active:focus,
.btn-type:not(:disabled):not(.disabled).active:focus,
.show > .btn-type.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-type-light {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-type-light:hover {
  color: #212529;
  background-color: #b9b9b9;
  border-color: #b3b2b2;
}

.btn-type-light:focus,
.btn-type-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-type-light.disabled,
.btn-type-light:disabled {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-type-light:not(:disabled):not(.disabled):active,
.btn-type-light:not(:disabled):not(.disabled).active,
.show > .btn-type-light.dropdown-toggle {
  color: #212529;
  background-color: #b3b2b2;
  border-color: #acacac;
}

.btn-type-light:not(:disabled):not(.disabled):active:focus,
.btn-type-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-type-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-header-bg {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-header-bg:hover {
  color: #fff;
  background-color: #091b30;
  border-color: #071525;
}

.btn-header-bg:focus,
.btn-header-bg.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-header-bg.disabled,
.btn-header-bg:disabled {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-header-bg:not(:disabled):not(.disabled):active,
.btn-header-bg:not(:disabled):not(.disabled).active,
.show > .btn-header-bg.dropdown-toggle {
  color: #fff;
  background-color: #071525;
  border-color: #050f1a;
}

.btn-header-bg:not(:disabled):not(.disabled):active:focus,
.btn-header-bg:not(:disabled):not(.disabled).active:focus,
.show > .btn-header-bg.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-footer-bg {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-footer-bg:hover {
  color: #fff;
  background-color: #0c1622;
  border-color: #091018;
}

.btn-footer-bg:focus,
.btn-footer-bg.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-footer-bg.disabled,
.btn-footer-bg:disabled {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-footer-bg:not(:disabled):not(.disabled):active,
.btn-footer-bg:not(:disabled):not(.disabled).active,
.show > .btn-footer-bg.dropdown-toggle {
  color: #fff;
  background-color: #091018;
  border-color: #050a0f;
}

.btn-footer-bg:not(:disabled):not(.disabled):active:focus,
.btn-footer-bg:not(:disabled):not(.disabled).active:focus,
.show > .btn-footer-bg.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-heading-color {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-heading-color:hover {
  color: #fff;
  background-color: #0a0b0c;
  border-color: #040505;
}

.btn-heading-color:focus,
.btn-heading-color.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-heading-color.disabled,
.btn-heading-color:disabled {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-heading-color:not(:disabled):not(.disabled):active,
.btn-heading-color:not(:disabled):not(.disabled).active,
.show > .btn-heading-color.dropdown-toggle {
  color: #fff;
  background-color: #040505;
  border-color: black;
}

.btn-heading-color:not(:disabled):not(.disabled):active:focus,
.btn-heading-color:not(:disabled):not(.disabled).active:focus,
.show > .btn-heading-color.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-section-bg-light {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-section-bg-light:hover {
  color: #212529;
  background-color: #dddddd;
  border-color: #d7d6d6;
}

.btn-section-bg-light:focus,
.btn-section-bg-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-section-bg-light.disabled,
.btn-section-bg-light:disabled {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-section-bg-light:not(:disabled):not(.disabled):active,
.btn-section-bg-light:not(:disabled):not(.disabled).active,
.show > .btn-section-bg-light.dropdown-toggle {
  color: #212529;
  background-color: #d7d6d6;
  border-color: #d0d0d0;
}

.btn-section-bg-light:not(:disabled):not(.disabled):active:focus,
.btn-section-bg-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-section-bg-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-section-bg-dark {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-section-bg-dark:hover {
  color: #fff;
  background-color: #091b30;
  border-color: #071525;
}

.btn-section-bg-dark:focus,
.btn-section-bg-dark.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-section-bg-dark.disabled,
.btn-section-bg-dark:disabled {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-section-bg-dark:not(:disabled):not(.disabled):active,
.btn-section-bg-dark:not(:disabled):not(.disabled).active,
.show > .btn-section-bg-dark.dropdown-toggle {
  color: #fff;
  background-color: #071525;
  border-color: #050f1a;
}

.btn-section-bg-dark:not(:disabled):not(.disabled):active:focus,
.btn-section-bg-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-section-bg-dark.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-primary {
  color: #ff9620;
  background-color: transparent;
  background-image: none;
  border-color: #ff9620;
}

.btn-outline-primary:hover {
  color: #212529;
  background-color: #ff9620;
  border-color: #ff9620;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #ff9620;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #212529;
  background-color: #ff9620;
  border-color: #ff9620;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  background-color: transparent;
  background-image: none;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  background-color: transparent;
  background-image: none;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  background-color: transparent;
  background-image: none;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus,
.btn-outline-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  background-color: transparent;
  background-image: none;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-type-light-grey {
  color: #cccccc;
  background-color: transparent;
  background-image: none;
  border-color: #cccccc;
}

.btn-outline-type-light-grey:hover {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-outline-type-light-grey:focus,
.btn-outline-type-light-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-outline-type-light-grey.disabled,
.btn-outline-type-light-grey:disabled {
  color: #cccccc;
  background-color: transparent;
}

.btn-outline-type-light-grey:not(:disabled):not(.disabled):active,
.btn-outline-type-light-grey:not(:disabled):not(.disabled).active,
.show > .btn-outline-type-light-grey.dropdown-toggle {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-outline-type-light-grey:not(:disabled):not(.disabled):active:focus,
.btn-outline-type-light-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-type-light-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-outline-light-grey {
  color: #f0f0f0;
  background-color: transparent;
  background-image: none;
  border-color: #f0f0f0;
}

.btn-outline-light-grey:hover {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-outline-light-grey:focus,
.btn-outline-light-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-outline-light-grey.disabled,
.btn-outline-light-grey:disabled {
  color: #f0f0f0;
  background-color: transparent;
}

.btn-outline-light-grey:not(:disabled):not(.disabled):active,
.btn-outline-light-grey:not(:disabled):not(.disabled).active,
.show > .btn-outline-light-grey.dropdown-toggle {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-outline-light-grey:not(:disabled):not(.disabled):active:focus,
.btn-outline-light-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-outline-grey {
  color: #d2d2d2;
  background-color: transparent;
  background-image: none;
  border-color: #d2d2d2;
}

.btn-outline-grey:hover {
  color: #212529;
  background-color: #d2d2d2;
  border-color: #d2d2d2;
}

.btn-outline-grey:focus,
.btn-outline-grey.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
}

.btn-outline-grey.disabled,
.btn-outline-grey:disabled {
  color: #d2d2d2;
  background-color: transparent;
}

.btn-outline-grey:not(:disabled):not(.disabled):active,
.btn-outline-grey:not(:disabled):not(.disabled).active,
.show > .btn-outline-grey.dropdown-toggle {
  color: #212529;
  background-color: #d2d2d2;
  border-color: #d2d2d2;
}

.btn-outline-grey:not(:disabled):not(.disabled):active:focus,
.btn-outline-grey:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-grey.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(210, 210, 210, 0.5);
}

.btn-outline-faded-blue {
  color: #3f5666;
  background-color: transparent;
  background-image: none;
  border-color: #3f5666;
}

.btn-outline-faded-blue:hover {
  color: #fff;
  background-color: #3f5666;
  border-color: #3f5666;
}

.btn-outline-faded-blue:focus,
.btn-outline-faded-blue.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
}

.btn-outline-faded-blue.disabled,
.btn-outline-faded-blue:disabled {
  color: #3f5666;
  background-color: transparent;
}

.btn-outline-faded-blue:not(:disabled):not(.disabled):active,
.btn-outline-faded-blue:not(:disabled):not(.disabled).active,
.show > .btn-outline-faded-blue.dropdown-toggle {
  color: #fff;
  background-color: #3f5666;
  border-color: #3f5666;
}

.btn-outline-faded-blue:not(:disabled):not(.disabled):active:focus,
.btn-outline-faded-blue:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-faded-blue.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(63, 86, 102, 0.5);
}

.btn-outline-dark-blue {
  color: #0f2e50;
  background-color: transparent;
  background-image: none;
  border-color: #0f2e50;
}

.btn-outline-dark-blue:hover {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-dark-blue:focus,
.btn-outline-dark-blue.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-dark-blue.disabled,
.btn-outline-dark-blue:disabled {
  color: #0f2e50;
  background-color: transparent;
}

.btn-outline-dark-blue:not(:disabled):not(.disabled):active,
.btn-outline-dark-blue:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark-blue.dropdown-toggle {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-dark-blue:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark-blue:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark-blue.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-dark-blue-alt {
  color: #16283e;
  background-color: transparent;
  background-image: none;
  border-color: #16283e;
}

.btn-outline-dark-blue-alt:hover {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-outline-dark-blue-alt:focus,
.btn-outline-dark-blue-alt.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-outline-dark-blue-alt.disabled,
.btn-outline-dark-blue-alt:disabled {
  color: #16283e;
  background-color: transparent;
}

.btn-outline-dark-blue-alt:not(:disabled):not(.disabled):active,
.btn-outline-dark-blue-alt:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark-blue-alt.dropdown-toggle {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-outline-dark-blue-alt:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark-blue-alt:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark-blue-alt.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-outline-black-primary {
  color: #0c0620;
  background-color: transparent;
  background-image: none;
  border-color: #0c0620;
}

.btn-outline-black-primary:hover {
  color: #fff;
  background-color: #0c0620;
  border-color: #0c0620;
}

.btn-outline-black-primary:focus,
.btn-outline-black-primary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
}

.btn-outline-black-primary.disabled,
.btn-outline-black-primary:disabled {
  color: #0c0620;
  background-color: transparent;
}

.btn-outline-black-primary:not(:disabled):not(.disabled):active,
.btn-outline-black-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-black-primary.dropdown-toggle {
  color: #fff;
  background-color: #0c0620;
  border-color: #0c0620;
}

.btn-outline-black-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-black-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-black-primary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(12, 6, 32, 0.5);
}

.btn-outline-black-secondary {
  color: #e4c692;
  background-color: transparent;
  background-image: none;
  border-color: #e4c692;
}

.btn-outline-black-secondary:hover {
  color: #212529;
  background-color: #e4c692;
  border-color: #e4c692;
}

.btn-outline-black-secondary:focus,
.btn-outline-black-secondary.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
}

.btn-outline-black-secondary.disabled,
.btn-outline-black-secondary:disabled {
  color: #e4c692;
  background-color: transparent;
}

.btn-outline-black-secondary:not(:disabled):not(.disabled):active,
.btn-outline-black-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-black-secondary.dropdown-toggle {
  color: #212529;
  background-color: #e4c692;
  border-color: #e4c692;
}

.btn-outline-black-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-black-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-black-secondary.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(228, 198, 146, 0.5);
}

.btn-outline-type {
  color: #1b1e21;
  background-color: transparent;
  background-image: none;
  border-color: #1b1e21;
}

.btn-outline-type:hover {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-outline-type:focus,
.btn-outline-type.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-outline-type.disabled,
.btn-outline-type:disabled {
  color: #1b1e21;
  background-color: transparent;
}

.btn-outline-type:not(:disabled):not(.disabled):active,
.btn-outline-type:not(:disabled):not(.disabled).active,
.show > .btn-outline-type.dropdown-toggle {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-outline-type:not(:disabled):not(.disabled):active:focus,
.btn-outline-type:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-type.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-outline-type-light {
  color: #cccccc;
  background-color: transparent;
  background-image: none;
  border-color: #cccccc;
}

.btn-outline-type-light:hover {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-outline-type-light:focus,
.btn-outline-type-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-outline-type-light.disabled,
.btn-outline-type-light:disabled {
  color: #cccccc;
  background-color: transparent;
}

.btn-outline-type-light:not(:disabled):not(.disabled):active,
.btn-outline-type-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-type-light.dropdown-toggle {
  color: #212529;
  background-color: #cccccc;
  border-color: #cccccc;
}

.btn-outline-type-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-type-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-type-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(204, 204, 204, 0.5);
}

.btn-outline-header-bg {
  color: #0f2e50;
  background-color: transparent;
  background-image: none;
  border-color: #0f2e50;
}

.btn-outline-header-bg:hover {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-header-bg:focus,
.btn-outline-header-bg.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-header-bg.disabled,
.btn-outline-header-bg:disabled {
  color: #0f2e50;
  background-color: transparent;
}

.btn-outline-header-bg:not(:disabled):not(.disabled):active,
.btn-outline-header-bg:not(:disabled):not(.disabled).active,
.show > .btn-outline-header-bg.dropdown-toggle {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-header-bg:not(:disabled):not(.disabled):active:focus,
.btn-outline-header-bg:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-header-bg.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-footer-bg {
  color: #16283e;
  background-color: transparent;
  background-image: none;
  border-color: #16283e;
}

.btn-outline-footer-bg:hover {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-outline-footer-bg:focus,
.btn-outline-footer-bg.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-outline-footer-bg.disabled,
.btn-outline-footer-bg:disabled {
  color: #16283e;
  background-color: transparent;
}

.btn-outline-footer-bg:not(:disabled):not(.disabled):active,
.btn-outline-footer-bg:not(:disabled):not(.disabled).active,
.show > .btn-outline-footer-bg.dropdown-toggle {
  color: #fff;
  background-color: #16283e;
  border-color: #16283e;
}

.btn-outline-footer-bg:not(:disabled):not(.disabled):active:focus,
.btn-outline-footer-bg:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-footer-bg.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(22, 40, 62, 0.5);
}

.btn-outline-heading-color {
  color: #1b1e21;
  background-color: transparent;
  background-image: none;
  border-color: #1b1e21;
}

.btn-outline-heading-color:hover {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-outline-heading-color:focus,
.btn-outline-heading-color.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-outline-heading-color.disabled,
.btn-outline-heading-color:disabled {
  color: #1b1e21;
  background-color: transparent;
}

.btn-outline-heading-color:not(:disabled):not(.disabled):active,
.btn-outline-heading-color:not(:disabled):not(.disabled).active,
.show > .btn-outline-heading-color.dropdown-toggle {
  color: #fff;
  background-color: #1b1e21;
  border-color: #1b1e21;
}

.btn-outline-heading-color:not(:disabled):not(.disabled):active:focus,
.btn-outline-heading-color:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-heading-color.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(27, 30, 33, 0.5);
}

.btn-outline-section-bg-light {
  color: #f0f0f0;
  background-color: transparent;
  background-image: none;
  border-color: #f0f0f0;
}

.btn-outline-section-bg-light:hover {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-outline-section-bg-light:focus,
.btn-outline-section-bg-light.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-outline-section-bg-light.disabled,
.btn-outline-section-bg-light:disabled {
  color: #f0f0f0;
  background-color: transparent;
}

.btn-outline-section-bg-light:not(:disabled):not(.disabled):active,
.btn-outline-section-bg-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-section-bg-light.dropdown-toggle {
  color: #212529;
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.btn-outline-section-bg-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-section-bg-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-section-bg-light.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(240, 240, 240, 0.5);
}

.btn-outline-section-bg-dark {
  color: #0f2e50;
  background-color: transparent;
  background-image: none;
  border-color: #0f2e50;
}

.btn-outline-section-bg-dark:hover {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-section-bg-dark:focus,
.btn-outline-section-bg-dark.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-outline-section-bg-dark.disabled,
.btn-outline-section-bg-dark:disabled {
  color: #0f2e50;
  background-color: transparent;
}

.btn-outline-section-bg-dark:not(:disabled):not(.disabled):active,
.btn-outline-section-bg-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-section-bg-dark.dropdown-toggle {
  color: #fff;
  background-color: #0f2e50;
  border-color: #0f2e50;
}

.btn-outline-section-bg-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-section-bg-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-section-bg-dark.dropdown-toggle:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(15, 46, 80, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #ff9620;
  background-color: transparent;
}

.btn-link:hover {
  color: #d36f00;
  text-decoration: underline;
  background-color: transparent;
  border-color: transparent;
}

.btn-link:focus,
.btn-link.focus {
  text-decoration: underline;
  border-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn-link:disabled,
.btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0;
}

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}

.card {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 0.125rem solid rgba(0, 0, 0, 0.125);
}

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card-body {
  -ms-flex: 1 1 auto;
      -webkit-box-flex: 1;
      flex: 1 1 auto;
  padding: 1.25rem;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1.25rem;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 0.125rem solid rgba(0, 0, 0, 0.125);
}

.card-header + .list-group .list-group-item:first-child {
  border-top: 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 0.125rem solid rgba(0, 0, 0, 0.125);
}

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img {
  width: 100%;
}

.card-img-top {
  width: 100%;
}

.card-img-bottom {
  width: 100%;
}

.card-deck {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
}

.card-deck .card {
  margin-bottom: 0.9375rem;
}

@media (min-width: 375px) {
  .card-deck {
    -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }

  .card-deck .card {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex: 1 0 0%;
        -webkit-box-flex: 1;
        flex: 1 0 0%;
    -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    margin-right: 0.9375rem;
    margin-bottom: 0;
    margin-left: 0.9375rem;
  }
}

.card-group {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
}

.card-group > .card {
  margin-bottom: 0.9375rem;
}

@media (min-width: 375px) {
  .card-group {
    -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
  }

  .card-group > .card {
    -ms-flex: 1 0 0%;
        -webkit-box-flex: 1;
        flex: 1 0 0%;
    margin-bottom: 0;
  }

  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
}

.card-columns .card {
  margin-bottom: 0.75rem;
}

@media (min-width: 375px) {
  .card-columns {
    -webkit-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 1.25rem;
            column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }

  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

.accordion .card:not(:first-of-type):not(:last-of-type) {
  border-bottom: 0;
  border-radius: 0;
}

.accordion .card:not(:first-of-type) .card-header:first-child {
  border-radius: 0;
}

.accordion .card:first-of-type {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.accordion .card:last-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #1b1e21;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 0.125rem solid rgba(0, 0, 0, 0.15);
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^="top"],
.dropdown-menu[x-placement^="right"],
.dropdown-menu[x-placement^="bottom"],
.dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto;
}

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 0.0625rem solid #e9ecef;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: #16181b;
  text-decoration: none;
  background-color: #f8f9fa;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #ff9620;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #6c757d;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529;
}

.form-control {
  display: block;
  width: 100%;
  height: calc(2.25rem + 0.25rem);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 0.125rem solid #ced4da;
  border-radius: 0;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .form-control {
    -webkit-transition: none;
    transition: none;
  }
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #ffd2a0;
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(255, 150, 32, 0.25);
}

.form-control:-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::-webkit-input-placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-control-file,
.form-control-range {
  display: block;
  width: 100%;
}

.col-form-label {
  padding-top: calc(0.375rem + 0.125rem);
  padding-bottom: calc(0.375rem + 0.125rem);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 0.125rem);
  padding-bottom: calc(0.5rem + 0.125rem);
  font-size: 1.25rem;
  line-height: 1.5;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 0.125rem);
  padding-bottom: calc(0.25rem + 0.125rem);
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #1b1e21;
  background-color: transparent;
  border: solid transparent;
  border-width: 0.125rem 0;
}

.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  height: calc(1.8125rem + 0.25rem);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.form-control-lg {
  height: calc(2.875rem + 0.25rem);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

select.form-control[size],
select.form-control[multiple] {
  height: auto;
}

textarea.form-control {
  height: auto;
}

.form-group {
  margin-bottom: 1rem;
}

.form-text {
  display: block;
  margin-top: 0.25rem;
}

.form-row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -0.3125rem;
  margin-left: -0.3125rem;
}

.form-row > .col,
.form-row > [class*="col-"] {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}

.form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

.form-check-label {
  margin-bottom: 0;
}

.form-check-inline {
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}

.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745;
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
}

.was-validated .form-control:valid,
.form-control.is-valid,
.was-validated
.custom-select:valid,
.custom-select.is-valid {
  border-color: #28a745;
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus,
.was-validated
.custom-select:valid:focus,
.custom-select.is-valid:focus {
  border-color: #28a745;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip,
.form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip,
.was-validated
.custom-select:valid ~ .valid-feedback,
.was-validated
.custom-select:valid ~ .valid-tooltip,
.custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip,
.form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
  color: #28a745;
}

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip,
.form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label,
.custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745;
}

.was-validated .custom-control-input:valid ~ .custom-control-label::before,
.custom-control-input.is-valid ~ .custom-control-label::before {
  background-color: #71dd8a;
}

.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip,
.custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,
.custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #34ce57;
}

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,
.custom-control-input.is-valid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.0625rem #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
          box-shadow: 0 0 0 0.0625rem #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-file-input:valid ~ .custom-file-label,
.custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745;
}

.was-validated .custom-file-input:valid ~ .custom-file-label::after,
.custom-file-input.is-valid ~ .custom-file-label::after {
  border-color: inherit;
}

.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip,
.custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-file-input:valid:focus ~ .custom-file-label,
.custom-file-input.is-valid:focus ~ .custom-file-label {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545;
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
}

.was-validated .form-control:invalid,
.form-control.is-invalid,
.was-validated
.custom-select:invalid,
.custom-select.is-invalid {
  border-color: #dc3545;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus,
.was-validated
.custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  border-color: #dc3545;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip,
.form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip,
.was-validated
.custom-select:invalid ~ .invalid-feedback,
.was-validated
.custom-select:invalid ~ .invalid-tooltip,
.custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip,
.form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-check-input:invalid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip,
.form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label,
.custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label::before,
.custom-control-input.is-invalid ~ .custom-control-label::before {
  background-color: #efa2a9;
}

.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip,
.custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,
.custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-color: #e4606d;
}

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.0625rem #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
          box-shadow: 0 0 0 0.0625rem #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-file-input:invalid ~ .custom-file-label,
.custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545;
}

.was-validated .custom-file-input:invalid ~ .custom-file-label::after,
.custom-file-input.is-invalid ~ .custom-file-label::after {
  border-color: inherit;
}

.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip,
.custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,
.custom-file-input.is-invalid:focus ~ .custom-file-label {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-flow: row wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      flex-flow: row wrap;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
}

.form-inline .form-check {
  width: 100%;
}

@media (min-width: 375px) {
  .form-inline label {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
    margin-bottom: 0;
  }

  .form-inline .form-group {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
    -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    margin-bottom: 0;
  }

  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }

  .form-inline .form-control-plaintext {
    display: inline-block;
  }

  .form-inline .input-group,
  .form-inline .custom-select {
    width: auto;
  }

  .form-inline .form-check {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
    width: auto;
    padding-left: 0;
  }

  .form-inline .form-check-input {
    position: relative;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }

  .form-inline .custom-control {
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
  }

  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}

.nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: none;
}

.nav-link.disabled {
  color: #6c757d;
}

.nav-tabs {
  border-bottom: 0.125rem solid #dee2e6;
}

.nav-tabs .nav-item {
  margin-bottom: -0.125rem;
}

.nav-tabs .nav-link {
  border: 0.125rem solid transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -0.125rem;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #ff9620;
}

.nav-fill .nav-item {
  -ms-flex: 1 1 auto;
      -webkit-box-flex: 1;
      flex: 1 1 auto;
  text-align: center;
}

.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -ms-flex-positive: 1;
      -webkit-box-flex: 1;
      flex-grow: 1;
  text-align: center;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.input-group {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  -ms-flex: 1 1 auto;
      -webkit-box-flex: 1;
      flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}

.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
  margin-left: -0.125rem;
}

.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}

.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}

.input-group > .custom-file {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
}

.input-group-prepend,
.input-group-append {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
  position: relative;
  z-index: 2;
}

.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
  margin-left: -0.125rem;
}

.input-group-prepend {
  margin-right: -0.125rem;
}

.input-group-append {
  margin-left: -0.125rem;
}

.input-group-text {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 0.125rem solid #ced4da;
}

.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
  margin-top: 0;
}

.input-group-lg > .form-control,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  height: calc(2.875rem + 0.25rem);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.input-group-sm > .form-control,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  height: calc(1.8125rem + 0.25rem);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 0.0625rem;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 0.0625rem solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.skip-to-content {
  position: absolute;
  left: -62.5rem;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  text-align: left;
}

.skip-to-content:focus {
  top: 1.25rem;
  left: 0.3125rem;
  z-index: 9999;
  width: auto;
  height: 2.1875rem;
  padding: 0 0.9375rem;
  line-height: 2.1875rem;
  color: #000;
  text-decoration: underline;
  background: #fff;
  -webkit-box-shadow: 0.125rem 0.1875rem 0.3125rem 0 rgba(0, 0, 0, 0.75);
          box-shadow: 0.125rem 0.1875rem 0.3125rem 0 rgba(0, 0, 0, 0.75);
}

.back-to-top {
  display: block;
  padding: 0.9375rem 0;
  text-align: center;
  background: #fff;
}

.back-to-top__link {
  display: inline-block;
  padding: 0.3125rem;
  clear: both;
  color: #fd7e14;
  text-decoration: underline;
}

.back-to-top__link:focus,
.back-to-top__link:hover,
.back-to-top__link:active {
  text-decoration: none;
}

.back-to-top__link .fa {
  display: inline-block;
  margin-left: 0.3125rem;
  color: inherit;
  text-decoration: none;
}

/*
Simple coloured box component
*/

.c-box--light {
  background-color: #f0f0f0;
}

body.skin-black .c-box--light {
  background-color: #0c0620;
}

.c-box--dark {
  background-color: #0f2e50;
}

.c-box--dark,
.c-box--dark h2 {
  color: #ffffff;
}

body.skin-black .c-box--dark {
  background-color: #000;
}

body.skin-smartcharts .c-box--dark,
body.skin-smartcharts .c-box--dark h1,
body.skin-smartcharts .c-box--dark h2 {
  color: #fff;
}

.c-box--spacing-small {
  padding: 1.875rem 0 2.25rem;
}

.c-box--spacing-large {
  padding: 3.125rem 0 3.75rem;
}

@media (min-width: 48em) {
  .c-box--spacing-small {
    padding: 2.5rem 0 3rem;
  }

  .c-box-spacing-large {
    padding: 3.75rem 0 4.5rem;
  }
}

.c-box--border-top {
  border-top: 0.125rem solid #d2d2d2;
}

body.skin-black .c-box--border-top {
  border-color: #e4c692;
}

.c-box--dark.c-box--border-top {
  border-color: #3f5666;
}

/*
Additional styles to extend the default bootstrap buttons

[1] Overide Bootstrap defaults
*/

.btn {
  font-size: 1.125rem;
  padding: 0.625rem 0.9375rem;
  white-space: normal;
  width: 100%;
}

@media (min-width: 23.4375em) {
  .btn {
    width: auto;
  }
}

@media (min-width: 36em) {
  .btn-lg {
    font-size: 1.25rem;
    padding: 0.9375rem 1.25rem;
  }
}

.btn--fake {
  pointer-events: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  /* [1] */
}

.disclaimer {
  position: fixed;
  z-index: 20;
  background: #000;
  color: #f0f0f0;
  top: 0;
}

.disclaimer-banner__reveal {
  cursor: pointer;
  margin-left: 0.5rem;
}

.disclaimer-banner__reveal:focus,
.disclaimer-banner__reveal:hover,
.disclaimer-banner__reveal:active {
  color: #ff9620;
}

.disclaimer-button {
  font-size: 1em;
  background: transparent;
  border-color: #ffffff;
  color: #ffffff;
  padding: 0.2rem 0.6rem;
  margin-top: 0.625rem;
  margin-left: auto;
  min-width: 7.5rem;
}

@media (min-width: 48em) {
  .disclaimer-button {
    margin-top: 0;
  }
}

/*
Additional styles to extend the default bootstrap card
*/

a.card {
  color: inherit;
}

a.card:focus,
a.card:hover,
a.card:active {
  text-decoration: none;
}

.card:focus {
  border-color: #ff9620;
  outline: none;
}

/*
[1] Use of !important to override some inline styles which slick-carousel
adds
*/

.c-carousel {
  position: relative;
  padding: 0.9375rem 0 1.875rem 0;
}

body.skin-smartcharts .c-carousel,
body.skin-smartcharts .c-carousel h1,
body.skin-smartcharts .c-carousel h2 {
  color: #fff;
}

.c-carousel__wrapper {
  padding-bottom: 1.875rem;
}

.c-carousel__arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  display: none !important;
  /* [1] */
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  -webkit-transform: translateY(-1.875rem);
          transform: translateY(-1.875rem);
}

.c-carousel__arrow svg {
  width: 1.25rem;
  height: 1.9375rem;
  fill: rgba(225, 225, 225, 0.5);
}

.c-carousel__arrow:focus {
  outline: none;
}

.c-carousel__arrow:focus svg {
  fill: #ff9620;
}

.c-carousel__arrow--left {
  left: -1.875rem;
}

.c-carousel__arrow--right {
  right: -1.875rem;
}

.c-carousel__dots-inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
      -webkit-box-pack: center;
      justify-content: center;
  margin: 0;
}

.c-carousel__dots-inner li {
  margin: 0 0.3125rem;
}

.c-carousel__dots-inner li::before {
  display: none;
}

.c-carousel__dots-inner li button {
  width: 1.25rem;
  height: 1.25rem;
  border: 0.125rem solid #ffffff;
  border-radius: 50%;
  background-color: transparent;
  font-size: 0;
  cursor: pointer;
}

.c-carousel__dots-inner li button:focus {
  border-color: #ff9620;
  outline: none;
}

.c-carousel__dots-inner li.slick-active button {
  background-color: #ffffff;
}

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

@media (min-width: 48em) {
  .c-carousel {
    padding: 1.875rem 0 3.75rem 0;
  }

  .c-carousel__wrapper {
    padding-bottom: 5rem;
  }
}

@media (min-width: 62em) {
  .c-carousel__slide {
    text-align: left;
  }
}

@media (min-width: 77.5em) {
  .c-carousel__arrow {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
    /* [1] */
  }
}

@media (min-width: 81.875em) {
  .c-carousel__arrow {
    -webkit-transform: translateY(-3.75rem);
            transform: translateY(-3.75rem);
  }

  .c-carousel__arrow--left {
    left: -3.75rem;
  }

  .c-carousel__arrow--right {
    right: -3.75rem;
  }
}

/*
Building on Bootstrap collapse component
*/

.c-collapse__title {
  padding: 0.9375rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  cursor: pointer;
}

.c-collapse__title h2 {
  -ms-flex-positive: 1;
      -webkit-box-flex: 1;
      flex-grow: 1;
  padding-right: 0.9375rem;
}

.c-collapse__icon {
  width: 1.375rem;
  height: 1.375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}

.c-collapse__icon-plus,
.c-collapse__icon-minus {
  position: absolute;
  font-size: 1.5rem;
  top: -0.125rem;
}

.c-collapse__icon-minus {
  display: none;
}

.c-collapse__answer {
  padding: 0 0.9375rem 0.9375rem 0.9375rem;
}

.c-collapse.is-active .c-collapse__icon-plus {
  display: none;
}

.c-collapse.is-active .c-collapse__icon-minus {
  display: block;
}

@media (min-width: 48em) {
  .c-collapse__title {
    padding: 1.25rem;
  }

  .c-collapse__answer {
    padding: 0 1.25rem 1.25rem 1.25rem;
  }
}

/*
Styles for content block with left aligned offset image which breaks out
of container.
*/

body.skin-smartcharts .c-content-image-offset .c-type-echo {
  color: #6c757d;
  text-transform: uppercase;
}

.c-content-offset-image__image {
  text-align: center;
}

.c-content-offset-image__image img {
  width: 100%;
  height: auto;
  margin-bottom: 1.875rem;
  max-width: 25rem;
}

@media (min-width: 48em) {
  .c-content-offset-image__image img {
    width: auto;
  }
}

@media (min-width: 62em) {
  .c-content-offset-image__image img {
    max-width: none;
    -webkit-transform: translateX(-11.25rem);
            transform: translateX(-11.25rem);
  }
}

/*
High level component which adds the standard white/icon/grey page layout
*/

.c-content-wrapper__header {
  padding: 2.5rem 0 5rem 0;
}

body.skin-smartcharts .c-content-wrapper__header h1 {
  color: #6c757d;
}

.c-content-wrapper__body {
  padding: 4.375rem 0 1.875rem;
  background-color: #f0f0f0;
  position: relative;
}

body.skin-black .c-content-wrapper__body {
  background-color: #0c0620;
}

body.skin-black .c-content-wrapper__body h1 {
  color: #fff;
  font-weight: normal;
}

body.skin-black .c-content-wrapper__body a {
  color: #fff !important;
}

body.skin-black .c-content-wrapper__body a .text-primary {
  color: #fff !important;
}

body.skin-smartcharts .c-content-wrapper__body a {
  color: #6c757d;
}

.c-content-wrapper__mark {
  width: 4.6875rem;
  height: 5.1875rem;
  position: absolute;
  top: -3.125rem;
  left: 0;
  right: 0;
  margin: auto;
}

body.skin-smartcharts .c-content-wrapper__mark {
  height: 6.25rem;
  top: -3.125rem;
  width: 16.1875rem;
}

@media (min-width: 48em) {
  .c-content-wrapper__header {
    padding: 3.75rem 0 7.5rem 0;
  }

  .c-content-wrapper__body {
    padding: 7.5rem 0 3.75rem;
  }

  .c-content-wrapper__mark {
    width: 7.5rem;
    height: 8.25rem;
    top: -5rem;
  }
}

.c-footer a {
  color: #ffffff;
}

.c-footer .c-box--dark {
  background-color: #16283e;
}

body.skin-black .c-footer a {
  color: #e4c692;
}

body.skin-black .c-footer .text-primary {
  color: #fff !important;
}

.c-footer__icon {
  fill: #3f5666;
}

body.skin-black .c-footer__icon {
  fill: #e4c692;
}

.c-footer__icon--facebook {
  width: 2.625rem;
  height: 2.625rem;
}

.c-footer__icon--twitter {
  width: 3rem;
  height: 2.5rem;
}

.c-footer__icon--linkedin {
  width: 2.625rem;
  height: 2.625rem;
}

.c-footer__icon--google-plus {
  width: 3.625rem;
  height: 2.25rem;
}

.c-footer__icon--youtube {
  width: 3.25rem;
  height: 2.25rem;
}

.c-footer__evoluted {
  fill: #ff9620;
  width: 1.0625rem;
  height: 1rem;
}

body.skin-black .c-footer__evoluted {
  fill: #e4c692;
}

body.skin-black .c-footer__links a {
  color: #fff;
}

@media (max-width: 47.99em) {
  .c-footer__links {
    padding-bottom: 0;
  }
}

.sticky-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: #000;
  color: #f0f0f0;
}

.sticky-footer__content {
  display: block;
  line-height: 1.3;
  padding: 0.5rem 0;
}

.sticky-footer__content p {
  display: inline;
}

@media (max-width: 47.99em) {
  .sticky-footer__content {
    line-height: 1.1;
  }
}

body.skin-black .c-footer .text-grey {
  color: #e4c692 !important;
}

/*
Additional styles to extend default bootstrap forms

[1] Override Bootstrap defaults
[2] Have to write transform this way to place nice with IE, who wouldn't
accept translateX(calc(-100% - 20px));
*/

.form-control {
  padding: 0.625rem 0.625rem;
  border-width: 0.0625rem;
  height: auto;
}

.form-control:focus {
  z-index: 0 !important;
  /* [1] */
}

.input-group-lg .form-control {
  height: auto;
  padding: 1.25rem 0.9375rem;
}

.input-group-lg .input-group-append {
  -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      align-items: stretch;
}

.input-group-lg .input-group-append > .btn {
  height: auto;
}

@media (min-width: 36em) {
  .form-control {
    padding: 0.9375rem 0.625rem;
  }

  .input-group-lg .form-control {
    padding: 1.5625rem 1.25rem;
  }
}

@media (min-width: 48em) {
  .form-group {
    position: relative;
  }

  .form-group label {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    position: absolute;
    top: 0.875rem;
    -webkit-transform: translateX(-100%) translateX(-1.25rem);
            transform: translateX(-100%) translateX(-1.25rem);
    /* [2] */
    margin: 0;
  }
}

/*
A - Z buttons for glossary filter functionality
*/

.c-glossary-filter {
  margin-bottom: 1.875rem;
}

.c-glossary-filter__item {
  font-weight: bold;
  text-align: center;
  padding: 0 0.625rem;
}

.c-glossary-filter__item-inner {
  background-color: #ffffff;
  border: 0.125rem solid #d2d2d2;
  padding-top: 100%;
  display: block;
  position: relative;
  width: 3.125rem;
  height: 3.125rem;
  cursor: pointer;
}

.c-glossary-filter__item-inner::before {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  content: attr(data-letter);
  position: absolute;
  display: flex;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  -ms-flex-pack: center;
      -webkit-box-pack: center;
      justify-content: center;
}

.c-glossary-filter__item-inner:focus {
  outline: none;
  border-color: #ff9620;
}

.c-glossary-filter__item-inner.is-active {
  border-color: #ff9620;
}

.c-glossary-filter__item-inner[disabled] {
  cursor: not-allowed;
  pointer-events: none;
  background-color: #f0f0f0;
}

.c-glossary-filter__item-inner[disabled]::before {
  color: #d2d2d2;
}

@media (max-width: 61.99em) {
  .c-glossary-filter {
    position: relative;
  }

  .c-glossary-filter::after {
    content: "";
    width: 4.375rem;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.001)), to(#f0f0f0));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.001), #f0f0f0);
    pointer-events: none;
  }

  .c-glossary-filter__inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    overflow: scroll;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
    -webkit-overflow-scrolling: touch;
  }

  .c-glossary-filter__item:first-child {
    padding-left: 0;
  }

  .c-glossary-filter__item:last-child {
    padding-right: 6.25rem;
  }
}

@media (min-width: 62em) {
  .c-glossary-filter {
    margin-bottom: 3.75rem;
  }

  .c-glossary-filter__inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -0.625rem;
  }

  .c-glossary-filter__item {
    padding: 0.625rem;
    width: 7.69230769%;
  }

  .c-glossary-filter__item-inner {
    width: 100%;
    height: 100%;
  }
}

/*
[1] Use of !important to override default Bootstrap button styles
*/

.c-hamburger-button {
  width: auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  border-color: #ffffff;
  cursor: pointer;
}

.c-hamburger-button:focus,
.c-hamburger-button:hover,
.c-hamburger-button:active {
  background-color: transparent  !important;
  /* [1] */
  border-color: #ffffff !important;
  /* [1] */
  outline: none !important;
  /* [1] */
}

.c-hamburger-button__lines {
  margin-left: 0.3125rem;
  position: relative;
}

.c-hamburger-button__line {
  display: block;
  width: 1.0625rem;
  height: 0.1875rem;
  background-color: #ffffff;
  border-radius: 0.25rem;
}

.c-hamburger-button__line--1,
.c-hamburger-button__line--3 {
  position: absolute;
  -webkit-transition: top 0.2s, -webkit-transform 0.2s;
  transition: top 0.2s, -webkit-transform 0.2s;
  transition: transform 0.2s, top 0.2s;
  transition: transform 0.2s, top 0.2s, -webkit-transform 0.2s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.c-hamburger-button__line--1 {
  top: -0.375rem;
}

.c-hamburger-button__line--3 {
  top: 0.375rem;
}

.c-hamburger-button__text {
  margin-right: 0.125rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #ffffff;
  -webkit-transition: font-size 0.25s;
  transition: font-size 0.25s;
}

@media (min-width: 36em) {
  .c-hamburger-button__text {
    font-size: 1.5rem;
  }
}

.c-hamburger-button.is-active .c-hamburger-button__line--2 {
  background-color: transparent;
  opacity: 0;
}

.c-hamburger-button.is-active .c-hamburger-button__line--1,
.c-hamburger-button.is-active .c-hamburger-button__line--3 {
  background-color: #ffffff;
  top: 0;
}

.c-hamburger-button.is-active .c-hamburger-button__line--1 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-hamburger-button.is-active .c-hamburger-button__line--3 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*
[1] Forces content to sit about background gradient and also logo / hamburger
which also have lower z-index values.
[2] Need to add padding to bottom of mobile menu as on smaller iOS devices
the browser bottom nav overlays content.
[3] Get rid of standard list bullet point
*/

.c-header-content {
  background: #0f2e50 url(../img-compiled/header-background3e25.jpg?7c5519378ba0073ff5d6a9d5c12c34e0);
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -14.375rem;
  min-height: 14.375rem;
  padding-top: 14.375rem;
  position: relative;
  z-index: 2;
  color: #ffffff;
}

.c-header-content:before {
  content: '';
  display: block;
  width: 100%;
  height: 12.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.8)), to(transparent));
  background: linear-gradient(rgba(0, 0, 0, 0.8), transparent);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.c-header-content::after {
  content: '';
  background-color: #0f2e50;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  position: absolute;
  left: 0;
  top: 0;
}

.c-header-content__container {
  z-index: 1;
  position: relative;
}

.c-header-content.is-changing-background::after {
  opacity: 1;
}

.c-header-top {
  background-color: rgba(0, 0, 0, 0.6);
  position: relative;
  /* [1] */
  z-index: 10;
  /* [1] */
  font-size: 1rem;
}

.c-header-body {
  top: 0;
  padding: 1.25rem 0 1.875rem 0;
  z-index: 3;
  -webkit-transition: padding 0.25s;
  transition: padding 0.25s;
}

.c-header-body.is-sticky {
  position: fixed;
  width: 100%;
  background-color: #0f2e50;
}

.c-header-top,
.c-header-body {
  color: #ffffff;
}

.c-header-top a:not(.btn),
.c-header-top a:not(.btn):hover,
.c-header-body a:not(.btn),
.c-header-body a:not(.btn):hover {
  color: inherit;
}

.c-header-top__link,
.c-header-body__nav-item {
  padding: 0.5rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      align-items: stretch;
  -ms-flex-pack: center;
      -webkit-box-pack: center;
      justify-content: center;
}

.c-header-top__link::before,
.c-header-body__nav-item::before {
  display: none;
  /* [3] */
}

.c-header-body__logo {
  z-index: 6;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.c-header-body__logo svg {
  fill: black;
  width: 9.375rem;
  height: 3.3125rem;
  -webkit-transition: width 0.25s, height 0.25s;
  transition: width 0.25s, height 0.25s;
}

body.skin-smartcharts .c-header-body__logo img {
  width: 7.8125rem;
  height: 3.3125rem;
}

.c-header-body__inner-container {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      justify-content: space-between;
  position: relative;
  z-index: 3;
}

.c-header-body__account-link {
  color: #ff9620;
}

.c-header-top__link:not(.c-nav-dropdown) .nav-link {
  padding: 0;
}

.nav-link {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
}

.c-header-body__account-btn {
  display: none;
}

.c-header-body__hamburger {
  z-index: 6;
}

.c-header-body.is-sticky {
  padding-top: 0.625rem;
  padding-bottom: 0.875rem;
}

.c-header-body.is-sticky .c-header-body__logo svg {
  width: 7.8125rem;
  height: 2.75rem;
}

.c-header-body.is-sticky .c-header-body__hamburger .c-hamburger-button__text {
  font-size: 0.875rem;
}

@media (max-width: 23.4275em) {
  .c-header-top__container {
    padding-left: 0;
    padding-right: 0;
  }

  .c-header-top__link {
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
  }
}

@media (max-width: 65.625em) {
  .c-header-body__nav-wrapper {
    background-color: rgba(15, 46, 80, 0.95);
    position: fixed;
    width: 100%;
    min-height: calc(100vh - 2.5rem);
    top: 0;
    left: 100%;
    -webkit-transition: left 0.25s;
    transition: left 0.25s;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    z-index: 5;
    width: 100%;
    overflow: hidden;
  }

  .c-header-body__nav-wrapper.is-active {
    left: 0;
    overflow: auto;
  }

  .c-header-body__nav-wrapper.is-hidden {
    width: 0;
  }

  .nav.c-header-body__nav {
    display: block;
  }

  .c-header-body__nav {
    overflow: scroll;
    height: calc(100vh - 8.9375rem);
    width: 100%;
    padding-bottom: 6.875rem;
  }

  .c-header-body__nav-item {
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.25);
    padding: 1rem;
    -ms-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
  }

  /*
	Add this class to the <body> element to stop the user from being able to scroll
	*/

  .has-nav-active {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 35.99em) {
  .c-header-body__nav-wrapper {
    padding: 8.125rem 0 3.125rem 0;
  }
}

@media (min-width: 36em) and (max-width: 47.99em) {
  .c-header-body__nav-wrapper {
    padding: 7rem 0 3.125rem 0;
  }

  .c-header-body__nav-item {
    font-size: 1.25rem;
  }
}

@media (min-width: 48em) and (max-width: 65.625em) {
  .c-header-body__nav {
    height: calc(100vh - 15.5rem);
  }

  .c-header-body__nav-wrapper {
    padding: 9.625rem 0 4.6875rem 0;
  }

  .c-header-body__nav-item {
    font-size: 1.75rem;
  }
}

@media (min-width: 23.4375em) {
  .c-header-top__link:last-child {
    padding-right: 0;
  }
}

@media (min-width: 48em) {
  .c-header-body {
    padding: 1.875rem 0 3.125rem 0;
  }

  .c-header-top__link {
    padding: 1rem;
  }

  .c-header-body__logo svg {
    width: 12.5rem;
    height: 4.4375rem;
  }

  body.skin-smartcharts .c-header-body__logo img {
    width: 10.625rem;
    height: 4.75rem;
  }

  .c-header-body.is-sticky {
    padding-top: 0.9375rem;
    padding-bottom: 1.25rem;
  }

  .c-header-body.is-sticky .c-header-body__logo svg {
    width: 9.375rem;
    height: 3.3125rem;
  }

  .c-header-body.is-sticky .c-header-body__hamburger .c-hamburger-button__text {
    font-size: 1.125rem;
  }
}

@media (min-width: 65.6875em) {
  .c-header-body__account-btn {
    display: block;
  }

  .c-header-body__hamburger,
  .c-header-body__account-link {
    display: none;
  }

  .c-header-body__nav-wrapper {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    margin-top: 1rem;
  }

  .c-header-body__nav {
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
    font-size: 1.25rem;
    padding-bottom: 0;
  }

  .c-header-body__nav-item {
    padding: 0.625rem 0.9375rem 1.25rem 0.9375rem;
  }

  .c-header-body__inner-container {
    -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
  }
}

/*
Random assorted icon styles not tied to any particular component
*/

.c-icon-sash-tick {
  width: 9.375rem;
  height: 7.5625rem;
}

.c-icon-cog-spanner {
  width: 9.375rem;
  height: 7.8125rem;
}

.c-icon-heart-handshake {
  width: 9.375rem;
  height: 7.9375rem;
}

.c-icon-profile-hands {
  height: 9.375rem;
  width: 9.375rem;
}

.c-icon-graph-tick {
  height: 9.375rem;
  width: 9.375rem;
}

.c-icon-calendar-toolbox {
  height: 9.375rem;
  width: 9.375rem;
}

/*
Horizontal list with orange seperaters in between each entry
*/

.c-inline-list {
  text-align: center;
  font-size: 1rem;
  margin: 0;
}

.c-inline-list li {
  line-height: 3;
}

.c-inline-list li::before {
  display: block;
  content: "";
  width: 100%;
  border-top: 0.125rem solid #3f5666;
}

.c-inline-list li a {
  color: inherit;
}

@media (min-width: 48em) {
  .c-inline-list {
    text-align: left;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
        -webkit-box-pack: center;
        justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .c-inline-list li {
    line-height: 2;
  }

  .c-inline-list li::before {
    content: "|";
    display: inline-block;
    color: #ff9620;
    padding: 0 1.5625rem;
    width: auto;
    border-top-width: 0;
  }

  body.skin-black .c-inline-list li::before {
    color: #e4c692;
  }

  .c-inline-list li:first-child::before {
    display: none;
  }
}

/*
[1] Get rid of standard list bullet point
*/

.nav li {
  white-space: nowrap;
}

.c-nav-dropdown {
  position: relative;
}

.c-nav-dropdown ul {
  list-style: none;
}

.c-nav-dropdown li::before {
  display: none;
  /* [1] */
}

.c-nav-dropdown::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.c-nav-dropdown::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 0.625rem;
  background-color: #f0f0f0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  z-index: 1001;
  /* Override bootstrap menu 1000 zindex */
}

.c-nav-dropdown__label {
  position: relative;
  padding: 0;
}

.nav > .c-nav-dropdown > .c-nav-dropdown__label {
  cursor: pointer;
  text-decoration: none;
}

.nav > .c-nav-dropdown > .c-nav-dropdown__label:focus,
.nav > .c-nav-dropdown > .c-nav-dropdown__label:hover,
.nav > .c-nav-dropdown > .c-nav-dropdown__label:active {
  text-decoration: underline;
}

.c-nav-dropdown__dropdown {
  display: none;
  background-color: #f0f0f0;
  color: #0f2e50;
  border: 0;
  padding: 0.5rem;
  margin: 0;
  font-weight: 700;
  -webkit-box-shadow: 0 0 0.375rem 0.0625rem rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 0.375rem 0.0625rem rgba(0, 0, 0, 0.4);
  min-width: 100%;
  width: auto;
  white-space: nowrap;
}

.c-nav-dropdown__dropdown li:not(:last-child) {
  margin-bottom: 0.4em;
}

.c-nav-dropdown__dropdown ul {
  font-weight: normal;
  padding: 0.3125rem 0  0 1em;
  font-size: 0.9em;
}

.c-nav-dropdown:focus,
.c-nav-dropdown.show {
  background-color: #f0f0f0;
  color: #0f2e50;
  outline: none;
}

.c-nav-dropdown:focus::before,
.c-nav-dropdown.show::before {
  -webkit-box-shadow: 0 0 0.375rem 0.0625rem rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 0.375rem 0.0625rem rgba(0, 0, 0, 0.4);
}

.c-nav-dropdown:focus::after,
.c-nav-dropdown.show::after {
  visibility: visible;
}

.c-nav-dropdown:focus .c-nav-dropdown__dropdown,
.c-nav-dropdown.show .c-nav-dropdown__dropdown {
  display: block;
}

@media (min-width: 48em) {
  .c-nav-dropdown__dropdown {
    padding: 1rem;
  }
}

/*
Modifier which adds in behaviour which makes this component more usable
on smaller screens. Currently only used for instances within the sites main
navigation.
*/

@media (max-width: 65.625em) {
  .c-nav-dropdown--collapse {
    padding: 0;
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__label {
    display: block;
    width: 100%;
    text-align: center;
    padding: 1rem;
  }

  .c-nav-dropdown--collapse.show .c-nav-dropdown__label {
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.25);
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown {
    position: relative;
    -webkit-box-shadow: none;
            box-shadow: none;
    text-align: center;
    padding: 1.25rem 0;
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown ul {
    padding: 0;
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown a {
    display: inline-block;
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown li,
  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown a {
    margin: 0;
    padding: 0 0 0.9375rem 0;
  }

  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown li:last-child,
  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown a:last-child {
    padding: 0;
  }
}

@media (min-width: 48em) and (max-width: 65.625em) {
  .c-nav-dropdown--collapse .c-nav-dropdown__dropdown {
    font-size: 1.5rem;
  }
}

/*
News post block for the listing page
*/

.c-news-post {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
}

body.skin-black .c-news-post .fa {
  color: #fff !important;
}

.c-news-post__image {
  width: 100%;
  height: auto;
}

.c-news-post__title a {
  color: #0f2e50;
}

@media (min-width: 48em) {
  .c-news-post {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-direction: row;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row;
  }

  .c-news-post__image {
    width: 16.9375rem;
  }
}

.news-container img {
  max-width: 100% !important;
  height: auto;
}

/*
Attributed quote component

[1] Remove default blockquote style
*/

.c-quote {
  padding: 0;
  margin: 0;
}

.c-quote::before {
  display: none;
  /* [1] */
}

.c-quote cite p {
  margin-bottom: 0;
  text-align: center;
  font-style: normal;
}

.c-quote__text {
  position: relative;
  text-align: center;
  padding-top: 2.8125rem;
  margin-bottom: 1.5625rem;
}

.c-quote__icon {
  width: 2.3125rem;
  height: 2.0625rem;
  fill: #d2d2d2;
  position: absolute;
}

.c-quote__icon--left {
  top: 0;
  left: 0;
}

.c-quote__icon--right {
  bottom: -2.8125rem;
  right: 0;
}

/*
Visual steps process
*/

.c-steps {
  counter-reset: step;
  position: relative;
}

.c-steps:after {
  display: none;
  content: "";
  position: absolute;
  width: 72%;
  height: 0.3125rem;
  background-color: #ff9620;
  top: 1.875rem;
  left: 14%;
}

body.skin-black .c-steps::after {
  background-color: #e4c692;
}

.c-steps__item {
  counter-increment: step;
  position: relative;
}

.c-steps__item h2 {
  margin-top: 0.625rem;
}

.c-steps__item:before {
  content: "";
  display: inline-block;
  border: 0.3125rem solid #ff9620;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background-color: #16283e;
  position: relative;
  z-index: 1;
}

body.skin-black .c-steps__item::before {
  border-color: #e4c692;
}

.c-steps__item:after {
  content: counter(step);
  font-size: 1.5rem;
  position: absolute;
  top: 1.875rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}

@media (min-width: 48em) {
  .c-steps:after {
    display: block;
  }

  .c-steps__item::after {
    font-size: 1.5rem;
  }

  .c-steps__item:nth-child(3)::after {
    -webkit-transform: translate(-50%, -55%);
            transform: translate(-50%, -55%);
  }
}

.c-team-member {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
}

.c-team-member__photo {
  margin-bottom: 1.5625rem;
  position: relative;
  border: 0.3125rem solid #ff9620;
  border-radius: 50%;
}

body.skin-black .c-team-member__photo {
  border-color: #e4c692;
}

.c-team-member__photo img {
  border: 0.3125rem solid #ffffff;
  border-radius: 50%;
  display: block;
}

.c-team-member__content {
  text-align: center;
}

body.skin-black .c-team-member__content h3,
body.skin-black .c-team-member__content h4 {
  color: #fff;
}

@media (min-width: 36em) {
  .c-team-member {
    -ms-flex-direction: row;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row;
    -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
  }

  .c-team-member__content {
    -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
    margin-left: 1.875rem;
    text-align: left;
  }
}

/*
In order to separate our semantic decisions from our stylistic ones, we only
define opinionated typographical styles against classes, NOT against
typographic HTML elements.

Example: Will prevent a case where we need to use a H3 because of how it
looks, rather than because its the correct place to use it in the document.

https://csswizardry.com/2016/02/managing-typography-on-large-apps/

Naming convention taken from the NATO phonetic alphabet.
https://en.wikipedia.org/wiki/NATO_phonetic_alphabet

We use this naming convention rather than more semantic sizes (eg: c-type-big)
because if we need to add more sizes in the future, we'll then have to move around
all other sizes to accomodate them.
*/

.c-type-alpha {
  font-size: 2.25rem;
  /* 56px (md) */
  font-weight: bold;
}

.c-type-bravo {
  font-size: 1.5rem;
  /* 36px (md) */
}

.c-type-charlie {
  font-size: 0.875rem;
}

.c-type-delta {
  font-size: 1.25rem;
  /* 24px (md) */
}

.c-type-echo {
  font-size: 1.375rem;
  /* 30px (md) */
}

.c-type-foxtrot {
  font-size: 1rem;
}

.c-type-golf {
  font-size: 1.125rem;
  /* 20px (md) */
}

@media (min-width: 48em) {
  .c-type-alpha {
    font-size: 3.5rem;
  }

  .c-type-bravo {
    font-size: 2.25rem;
  }

  .c-type-delta {
    font-size: 1.5rem;
  }

  .c-type-echo {
    font-size: 1.875rem;
  }

  .c-type-golf {
    font-size: 1.25rem;
  }
}

.c-type--semi-bold {
  font-weight: 600;
}

.c-type--faded-blue {
  color: #3f5666;
}

.c-type--small-line-height {
  line-height: 1;
}

body.skin-black a {
  color: #e4c692;
}

body.skin-black .text-body {
  color: #fff !important;
}

body.skin-black .text-body .text-primary {
  color: #fff !important;
}

.color--type {
  color: #1b1e21;
}

/*
Wrap around a Youtube or any other embed to maintain a consistent
16:9 aspect ratio as the viewport is scaled down. Makes embeds much more
usuable on smaller screens.
*/

.c-video {
  padding-top: 56.25%;
  position: relative;
  margin-bottom: 1.875rem;
}

.c-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 48em) {
  .c-video {
    margin-bottom: 3.75rem;
  }
}

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

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

.d-inline-block {
  display: inline-block !important;
}

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

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

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -ms-flexbox !important;
  display: -webkit-box !important;
  display: flex !important;
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: -webkit-inline-box !important;
  display: inline-flex !important;
}

@media (min-width: 375px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 576px) {
  .d-sm2-none {
    display: none !important;
  }

  .d-sm2-inline {
    display: inline !important;
  }

  .d-sm2-inline-block {
    display: inline-block !important;
  }

  .d-sm2-block {
    display: block !important;
  }

  .d-sm2-table {
    display: table !important;
  }

  .d-sm2-table-row {
    display: table-row !important;
  }

  .d-sm2-table-cell {
    display: table-cell !important;
  }

  .d-sm2-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-sm2-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }

  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.m-6 {
  margin: 4rem !important;
}

.mt-6,
.my-6 {
  margin-top: 4rem !important;
}

.mr-6,
.mx-6 {
  margin-right: 4rem !important;
}

.mb-6,
.my-6 {
  margin-bottom: 4rem !important;
}

.ml-6,
.mx-6 {
  margin-left: 4rem !important;
}

.m-7 {
  margin: 6rem !important;
}

.mt-7,
.my-7 {
  margin-top: 6rem !important;
}

.mr-7,
.mx-7 {
  margin-right: 6rem !important;
}

.mb-7,
.my-7 {
  margin-bottom: 6rem !important;
}

.ml-7,
.mx-7 {
  margin-left: 6rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.p-6 {
  padding: 4rem !important;
}

.pt-6,
.py-6 {
  padding-top: 4rem !important;
}

.pr-6,
.px-6 {
  padding-right: 4rem !important;
}

.pb-6,
.py-6 {
  padding-bottom: 4rem !important;
}

.pl-6,
.px-6 {
  padding-left: 4rem !important;
}

.p-7 {
  padding: 6rem !important;
}

.pt-7,
.py-7 {
  padding-top: 6rem !important;
}

.pr-7,
.px-7 {
  padding-right: 6rem !important;
}

.pb-7,
.py-7 {
  padding-bottom: 6rem !important;
}

.pl-7,
.px-7 {
  padding-left: 6rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 375px) {
  .m-sm-0 {
    margin: 0 !important;
  }

  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }

  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }

  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }

  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }

  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }

  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }

  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }

  .m-sm-6 {
    margin: 4rem !important;
  }

  .mt-sm-6,
  .my-sm-6 {
    margin-top: 4rem !important;
  }

  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 4rem !important;
  }

  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 4rem !important;
  }

  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 4rem !important;
  }

  .m-sm-7 {
    margin: 6rem !important;
  }

  .mt-sm-7,
  .my-sm-7 {
    margin-top: 6rem !important;
  }

  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 6rem !important;
  }

  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 6rem !important;
  }

  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 6rem !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }

  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }

  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }

  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }

  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }

  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }

  .p-sm-6 {
    padding: 4rem !important;
  }

  .pt-sm-6,
  .py-sm-6 {
    padding-top: 4rem !important;
  }

  .pr-sm-6,
  .px-sm-6 {
    padding-right: 4rem !important;
  }

  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 4rem !important;
  }

  .pl-sm-6,
  .px-sm-6 {
    padding-left: 4rem !important;
  }

  .p-sm-7 {
    padding: 6rem !important;
  }

  .pt-sm-7,
  .py-sm-7 {
    padding-top: 6rem !important;
  }

  .pr-sm-7,
  .px-sm-7 {
    padding-right: 6rem !important;
  }

  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 6rem !important;
  }

  .pl-sm-7,
  .px-sm-7 {
    padding-left: 6rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }

  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }

  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 576px) {
  .m-sm2-0 {
    margin: 0 !important;
  }

  .mt-sm2-0,
  .my-sm2-0 {
    margin-top: 0 !important;
  }

  .mr-sm2-0,
  .mx-sm2-0 {
    margin-right: 0 !important;
  }

  .mb-sm2-0,
  .my-sm2-0 {
    margin-bottom: 0 !important;
  }

  .ml-sm2-0,
  .mx-sm2-0 {
    margin-left: 0 !important;
  }

  .m-sm2-1 {
    margin: 0.25rem !important;
  }

  .mt-sm2-1,
  .my-sm2-1 {
    margin-top: 0.25rem !important;
  }

  .mr-sm2-1,
  .mx-sm2-1 {
    margin-right: 0.25rem !important;
  }

  .mb-sm2-1,
  .my-sm2-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-sm2-1,
  .mx-sm2-1 {
    margin-left: 0.25rem !important;
  }

  .m-sm2-2 {
    margin: 0.5rem !important;
  }

  .mt-sm2-2,
  .my-sm2-2 {
    margin-top: 0.5rem !important;
  }

  .mr-sm2-2,
  .mx-sm2-2 {
    margin-right: 0.5rem !important;
  }

  .mb-sm2-2,
  .my-sm2-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-sm2-2,
  .mx-sm2-2 {
    margin-left: 0.5rem !important;
  }

  .m-sm2-3 {
    margin: 1rem !important;
  }

  .mt-sm2-3,
  .my-sm2-3 {
    margin-top: 1rem !important;
  }

  .mr-sm2-3,
  .mx-sm2-3 {
    margin-right: 1rem !important;
  }

  .mb-sm2-3,
  .my-sm2-3 {
    margin-bottom: 1rem !important;
  }

  .ml-sm2-3,
  .mx-sm2-3 {
    margin-left: 1rem !important;
  }

  .m-sm2-4 {
    margin: 1.5rem !important;
  }

  .mt-sm2-4,
  .my-sm2-4 {
    margin-top: 1.5rem !important;
  }

  .mr-sm2-4,
  .mx-sm2-4 {
    margin-right: 1.5rem !important;
  }

  .mb-sm2-4,
  .my-sm2-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-sm2-4,
  .mx-sm2-4 {
    margin-left: 1.5rem !important;
  }

  .m-sm2-5 {
    margin: 3rem !important;
  }

  .mt-sm2-5,
  .my-sm2-5 {
    margin-top: 3rem !important;
  }

  .mr-sm2-5,
  .mx-sm2-5 {
    margin-right: 3rem !important;
  }

  .mb-sm2-5,
  .my-sm2-5 {
    margin-bottom: 3rem !important;
  }

  .ml-sm2-5,
  .mx-sm2-5 {
    margin-left: 3rem !important;
  }

  .m-sm2-6 {
    margin: 4rem !important;
  }

  .mt-sm2-6,
  .my-sm2-6 {
    margin-top: 4rem !important;
  }

  .mr-sm2-6,
  .mx-sm2-6 {
    margin-right: 4rem !important;
  }

  .mb-sm2-6,
  .my-sm2-6 {
    margin-bottom: 4rem !important;
  }

  .ml-sm2-6,
  .mx-sm2-6 {
    margin-left: 4rem !important;
  }

  .m-sm2-7 {
    margin: 6rem !important;
  }

  .mt-sm2-7,
  .my-sm2-7 {
    margin-top: 6rem !important;
  }

  .mr-sm2-7,
  .mx-sm2-7 {
    margin-right: 6rem !important;
  }

  .mb-sm2-7,
  .my-sm2-7 {
    margin-bottom: 6rem !important;
  }

  .ml-sm2-7,
  .mx-sm2-7 {
    margin-left: 6rem !important;
  }

  .p-sm2-0 {
    padding: 0 !important;
  }

  .pt-sm2-0,
  .py-sm2-0 {
    padding-top: 0 !important;
  }

  .pr-sm2-0,
  .px-sm2-0 {
    padding-right: 0 !important;
  }

  .pb-sm2-0,
  .py-sm2-0 {
    padding-bottom: 0 !important;
  }

  .pl-sm2-0,
  .px-sm2-0 {
    padding-left: 0 !important;
  }

  .p-sm2-1 {
    padding: 0.25rem !important;
  }

  .pt-sm2-1,
  .py-sm2-1 {
    padding-top: 0.25rem !important;
  }

  .pr-sm2-1,
  .px-sm2-1 {
    padding-right: 0.25rem !important;
  }

  .pb-sm2-1,
  .py-sm2-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-sm2-1,
  .px-sm2-1 {
    padding-left: 0.25rem !important;
  }

  .p-sm2-2 {
    padding: 0.5rem !important;
  }

  .pt-sm2-2,
  .py-sm2-2 {
    padding-top: 0.5rem !important;
  }

  .pr-sm2-2,
  .px-sm2-2 {
    padding-right: 0.5rem !important;
  }

  .pb-sm2-2,
  .py-sm2-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-sm2-2,
  .px-sm2-2 {
    padding-left: 0.5rem !important;
  }

  .p-sm2-3 {
    padding: 1rem !important;
  }

  .pt-sm2-3,
  .py-sm2-3 {
    padding-top: 1rem !important;
  }

  .pr-sm2-3,
  .px-sm2-3 {
    padding-right: 1rem !important;
  }

  .pb-sm2-3,
  .py-sm2-3 {
    padding-bottom: 1rem !important;
  }

  .pl-sm2-3,
  .px-sm2-3 {
    padding-left: 1rem !important;
  }

  .p-sm2-4 {
    padding: 1.5rem !important;
  }

  .pt-sm2-4,
  .py-sm2-4 {
    padding-top: 1.5rem !important;
  }

  .pr-sm2-4,
  .px-sm2-4 {
    padding-right: 1.5rem !important;
  }

  .pb-sm2-4,
  .py-sm2-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-sm2-4,
  .px-sm2-4 {
    padding-left: 1.5rem !important;
  }

  .p-sm2-5 {
    padding: 3rem !important;
  }

  .pt-sm2-5,
  .py-sm2-5 {
    padding-top: 3rem !important;
  }

  .pr-sm2-5,
  .px-sm2-5 {
    padding-right: 3rem !important;
  }

  .pb-sm2-5,
  .py-sm2-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sm2-5,
  .px-sm2-5 {
    padding-left: 3rem !important;
  }

  .p-sm2-6 {
    padding: 4rem !important;
  }

  .pt-sm2-6,
  .py-sm2-6 {
    padding-top: 4rem !important;
  }

  .pr-sm2-6,
  .px-sm2-6 {
    padding-right: 4rem !important;
  }

  .pb-sm2-6,
  .py-sm2-6 {
    padding-bottom: 4rem !important;
  }

  .pl-sm2-6,
  .px-sm2-6 {
    padding-left: 4rem !important;
  }

  .p-sm2-7 {
    padding: 6rem !important;
  }

  .pt-sm2-7,
  .py-sm2-7 {
    padding-top: 6rem !important;
  }

  .pr-sm2-7,
  .px-sm2-7 {
    padding-right: 6rem !important;
  }

  .pb-sm2-7,
  .py-sm2-7 {
    padding-bottom: 6rem !important;
  }

  .pl-sm2-7,
  .px-sm2-7 {
    padding-left: 6rem !important;
  }

  .m-sm2-auto {
    margin: auto !important;
  }

  .mt-sm2-auto,
  .my-sm2-auto {
    margin-top: auto !important;
  }

  .mr-sm2-auto,
  .mx-sm2-auto {
    margin-right: auto !important;
  }

  .mb-sm2-auto,
  .my-sm2-auto {
    margin-bottom: auto !important;
  }

  .ml-sm2-auto,
  .mx-sm2-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }

  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }

  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }

  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }

  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }

  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }

  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }

  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }

  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }

  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }

  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }

  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }

  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }

  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }

  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }

  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }

  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }

  .m-md-6 {
    margin: 4rem !important;
  }

  .mt-md-6,
  .my-md-6 {
    margin-top: 4rem !important;
  }

  .mr-md-6,
  .mx-md-6 {
    margin-right: 4rem !important;
  }

  .mb-md-6,
  .my-md-6 {
    margin-bottom: 4rem !important;
  }

  .ml-md-6,
  .mx-md-6 {
    margin-left: 4rem !important;
  }

  .m-md-7 {
    margin: 6rem !important;
  }

  .mt-md-7,
  .my-md-7 {
    margin-top: 6rem !important;
  }

  .mr-md-7,
  .mx-md-7 {
    margin-right: 6rem !important;
  }

  .mb-md-7,
  .my-md-7 {
    margin-bottom: 6rem !important;
  }

  .ml-md-7,
  .mx-md-7 {
    margin-left: 6rem !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }

  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }

  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }

  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }

  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }

  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }

  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }

  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }

  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }

  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }

  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }

  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }

  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }

  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }

  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }

  .p-md-6 {
    padding: 4rem !important;
  }

  .pt-md-6,
  .py-md-6 {
    padding-top: 4rem !important;
  }

  .pr-md-6,
  .px-md-6 {
    padding-right: 4rem !important;
  }

  .pb-md-6,
  .py-md-6 {
    padding-bottom: 4rem !important;
  }

  .pl-md-6,
  .px-md-6 {
    padding-left: 4rem !important;
  }

  .p-md-7 {
    padding: 6rem !important;
  }

  .pt-md-7,
  .py-md-7 {
    padding-top: 6rem !important;
  }

  .pr-md-7,
  .px-md-7 {
    padding-right: 6rem !important;
  }

  .pb-md-7,
  .py-md-7 {
    padding-bottom: 6rem !important;
  }

  .pl-md-7,
  .px-md-7 {
    padding-left: 6rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }

  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }

  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }

  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }

  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }

  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }

  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }

  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }

  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }

  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }

  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }

  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }

  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }

  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }

  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }

  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }

  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }

  .m-lg-6 {
    margin: 4rem !important;
  }

  .mt-lg-6,
  .my-lg-6 {
    margin-top: 4rem !important;
  }

  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 4rem !important;
  }

  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 4rem !important;
  }

  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 4rem !important;
  }

  .m-lg-7 {
    margin: 6rem !important;
  }

  .mt-lg-7,
  .my-lg-7 {
    margin-top: 6rem !important;
  }

  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 6rem !important;
  }

  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 6rem !important;
  }

  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 6rem !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }

  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }

  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }

  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }

  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }

  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }

  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }

  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }

  .p-lg-6 {
    padding: 4rem !important;
  }

  .pt-lg-6,
  .py-lg-6 {
    padding-top: 4rem !important;
  }

  .pr-lg-6,
  .px-lg-6 {
    padding-right: 4rem !important;
  }

  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 4rem !important;
  }

  .pl-lg-6,
  .px-lg-6 {
    padding-left: 4rem !important;
  }

  .p-lg-7 {
    padding: 6rem !important;
  }

  .pt-lg-7,
  .py-lg-7 {
    padding-top: 6rem !important;
  }

  .pr-lg-7,
  .px-lg-7 {
    padding-right: 6rem !important;
  }

  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 6rem !important;
  }

  .pl-lg-7,
  .px-lg-7 {
    padding-left: 6rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }

  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }

  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }

  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }

  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }

  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }

  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }

  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }

  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }

  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }

  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }

  .m-xl-6 {
    margin: 4rem !important;
  }

  .mt-xl-6,
  .my-xl-6 {
    margin-top: 4rem !important;
  }

  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 4rem !important;
  }

  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 4rem !important;
  }

  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 4rem !important;
  }

  .m-xl-7 {
    margin: 6rem !important;
  }

  .mt-xl-7,
  .my-xl-7 {
    margin-top: 6rem !important;
  }

  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 6rem !important;
  }

  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 6rem !important;
  }

  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 6rem !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }

  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }

  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }

  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }

  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }

  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }

  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }

  .p-xl-6 {
    padding: 4rem !important;
  }

  .pt-xl-6,
  .py-xl-6 {
    padding-top: 4rem !important;
  }

  .pr-xl-6,
  .px-xl-6 {
    padding-right: 4rem !important;
  }

  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 4rem !important;
  }

  .pl-xl-6,
  .px-xl-6 {
    padding-left: 4rem !important;
  }

  .p-xl-7 {
    padding: 6rem !important;
  }

  .pt-xl-7,
  .py-xl-7 {
    padding-top: 6rem !important;
  }

  .pr-xl-7,
  .px-xl-7 {
    padding-right: 6rem !important;
  }

  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 6rem !important;
  }

  .pl-xl-7,
  .px-xl-7 {
    padding-left: 6rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }

  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }

  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.text-justify {
  text-align: justify !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-left {
  text-align: left !important;
}

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

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

@media (min-width: 375px) {
  .text-sm-left {
    text-align: left !important;
  }

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

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

@media (min-width: 576px) {
  .text-sm2-left {
    text-align: left !important;
  }

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

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

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }

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

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

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

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

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

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }

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

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

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #ff9620 !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: #ec7d00 !important;
}

.text-secondary {
  color: #6c757d !important;
}

a.text-secondary:hover,
a.text-secondary:focus {
  color: #545b62 !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover,
a.text-success:focus {
  color: #1e7e34 !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover,
a.text-info:focus {
  color: #117a8b !important;
}

.text-warning {
  color: #ffc107 !important;
}

a.text-warning:hover,
a.text-warning:focus {
  color: #d39e00 !important;
}

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover,
a.text-danger:focus {
  color: #bd2130 !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover,
a.text-light:focus {
  color: #dae0e5 !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover,
a.text-dark:focus {
  color: #1d2124 !important;
}

.text-type-light-grey {
  color: #cccccc !important;
}

a.text-type-light-grey:hover,
a.text-type-light-grey:focus {
  color: #b3b2b2 !important;
}

.text-light-grey {
  color: #f0f0f0 !important;
}

a.text-light-grey:hover,
a.text-light-grey:focus {
  color: #d7d6d6 !important;
}

.text-grey {
  color: #d2d2d2 !important;
}

a.text-grey:hover,
a.text-grey:focus {
  color: #b9b8b8 !important;
}

.text-faded-blue {
  color: #3f5666 !important;
}

a.text-faded-blue:hover,
a.text-faded-blue:focus {
  color: #2c3b46 !important;
}

.text-dark-blue {
  color: #0f2e50 !important;
}

a.text-dark-blue:hover,
a.text-dark-blue:focus {
  color: #071525 !important;
}

.text-dark-blue-alt {
  color: #16283e !important;
}

a.text-dark-blue-alt:hover,
a.text-dark-blue-alt:focus {
  color: #091018 !important;
}

.text-black-primary {
  color: #0c0620 !important;
}

a.text-black-primary:hover,
a.text-black-primary:focus {
  color: black !important;
}

.text-black-secondary {
  color: #e4c692 !important;
}

a.text-black-secondary:hover,
a.text-black-secondary:focus {
  color: #dab169 !important;
}

.text-type {
  color: #1b1e21 !important;
}

a.text-type:hover,
a.text-type:focus {
  color: #040505 !important;
}

.text-type-light {
  color: #cccccc !important;
}

a.text-type-light:hover,
a.text-type-light:focus {
  color: #b3b2b2 !important;
}

.text-header-bg {
  color: #0f2e50 !important;
}

a.text-header-bg:hover,
a.text-header-bg:focus {
  color: #071525 !important;
}

.text-footer-bg {
  color: #16283e !important;
}

a.text-footer-bg:hover,
a.text-footer-bg:focus {
  color: #091018 !important;
}

.text-heading-color {
  color: #1b1e21 !important;
}

a.text-heading-color:hover,
a.text-heading-color:focus {
  color: #040505 !important;
}

.text-section-bg-light {
  color: #f0f0f0 !important;
}

a.text-section-bg-light:hover,
a.text-section-bg-light:focus {
  color: #d7d6d6 !important;
}

.text-section-bg-dark {
  color: #0f2e50 !important;
}

a.text-section-bg-dark:hover,
a.text-section-bg-dark:focus {
  color: #071525 !important;
}

.text-body {
  color: #1b1e21 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.fade {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

@media screen and (prefers-reduced-motion: reduce) {
  .fade {
    -webkit-transition: none;
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease;
}

@media screen and (prefers-reduced-motion: reduce) {
  .collapsing {
    -webkit-transition: none;
    transition: none;
  }
}

/*
Extends Bootstraps spacing utility classes to create modifier classes
for margin/padding bottom which disable spacing only if the element in question
is last-child.

This is useful, as when you're using these classes with dynamically
generated content, it allows you to disable the margin for the 
last item, as that can sometimes result in too much spacing when combined
with the spacing of its parent.
*/

.mb-lc:last-child {
  margin-bottom: 0 !important;
}

.pb-lc:last-child {
  padding-bottom: 0 !important;
}

.modal-open {
  overflow: hidden;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -25%);
          transform: translate(0, -25%);
}

@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    -webkit-transition: none;
    transition: none;
  }
}

.modal.show .modal-dialog {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.modal-dialog-centered {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - (0.5rem * 2));
  content: "";
}

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 0.125rem solid rgba(0, 0, 0, 0.2);
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: start;
      -webkit-box-align: start;
      align-items: flex-start;
  -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      justify-content: space-between;
  padding: 1rem;
  border-bottom: 0.125rem solid #e9ecef;
}

.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  -ms-flex: 1 1 auto;
      -webkit-box-flex: 1;
      flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
      -webkit-box-align: center;
      align-items: center;
  -ms-flex-pack: end;
      -webkit-box-pack: end;
      justify-content: flex-end;
  padding: 1rem;
  border-top: 0.125rem solid #e9ecef;
}

.modal-footer > :not(:first-child) {
  margin-left: .25rem;
}

.modal-footer > :not(:last-child) {
  margin-right: .25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -624.9375rem;
  width: 3.125rem;
  height: 3.125rem;
  overflow: scroll;
}

@media (min-width: 375px) {
  .modal-dialog {
    max-width: 50rem;
    margin: 1.75rem auto;
  }

  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }

  .modal-dialog-centered::before {
    height: calc(100vh - (1.75rem * 2));
  }

  .modal-sm {
    max-width: 18.75rem;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    max-width: 50rem;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9hcHBfY2FwaXRhbGluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9mb250LWF3ZXNvbWUvc2Nzcy9fcGF0aC5zY3NzIiwid2VicGFjazovLy8uL34vZm9udC1hd2Vzb21lL3Njc3MvX2NvcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2ZvbnQtYXdlc29tZS9zY3NzL19sYXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy92ZW5kb3IvX2ZvbnQtYXdlc29tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3ZlbmRvci9fZnhzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19hdHRlbnRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy90b29scy9fYmFsYW5jZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19icmVha291dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19zcGFjZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy90b29scy9fc2tpbi5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLXJlYm9vdC5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2dlbmVyaWMvX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9zYXNzLW1xL19tcS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvZWxlbWVudHMvX3BhcmFncmFwaHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9lbGVtZW50cy9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL29iamVjdHMvX2lubGluZS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL34vc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2NvbGxhcHNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fY29udGVudC1vZmZzZXQtaW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19jb250ZW50LXdyYXBwZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2dsb3NzYXJ5LWZpbHRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2hhbWJ1cmdlci1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2lubGluZS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fbmF2LWRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fbmV3cy1wb3N0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fcXVvdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19zdGVwcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX3RlYW0tbWVtYmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX3ZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvdXRpbGl0aWVzL3NwYWNpbmctbGFzdC1jaGlsZC5zY3NzIiwid2VicGFjazovLy8uL34vYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBSUE7Ozs7Ozs7Ozs7RUFRRTs7QUNSRjs7Ozs7Ozs7OztFRG9CRTs7QUV4QkY7Z0NGMkJnQzs7QUV4QmhDO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTtDRnNCRDs7QUdoQ0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0htQ0Q7O0FJekNEOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0NKNkNEOztBSTNDRDtFQUF3QjtDSitDdkI7O0FJOUNEO0VBQXdCO0NKa0R2Qjs7QUlqREQ7RUFBd0I7Q0pxRHZCOztBSXBERDtFQUF3QjtDSndEdkI7O0FLaEVEOzs7O0VMc0VFOztBS2hFRjtFQUNDO0NMbUVBOztBS2pFRDtFQUNDO0NMb0VBOztBS2xFRDtFQUNDO0NMcUVBOztBS25FRDtFQUNDO0NMc0VBOztBS3BFRDtFQUNDO0NMdUVBOztBS3JFRDtFQUNDO0NMd0VBOztBS3RFRDtFQUNDO0NMeUVBOztBS3ZFRDtFQUNDO0NMMEVBOztBS3hFRDtFQUNDO0NMMkVBOztBS3pFRDtFQUNDO0NMNEVBOztBSzFFRDtFQUNDO0NMNkVBOztBSzNFRDtFQUNDO0NMOEVBOztBSzVFRDtFQUNDO0NMK0VBOztBSzdFRDtFQUNDO0NMZ0ZBOztBTTlIRDs7RU5rSUU7O0FNOUhGO0VBQ0M7Q05pSUE7O0FPdElEOztHUDBJRzs7QU90SUg7Ozs7OztHUDhJRzs7QU90SUg7Ozs7OztHUDhJRzs7QU9oSUg7Ozs7OztHUHdJRzs7QVFsS0g7Ozs7RVJ3S0U7O0FTeEtGOzs7RVQ2S0U7O0FVakxGOzs7Ozs7O0dWMExHOztBVTNLSDs7Ozs7Ozs7Ozs7Ozs7R1YyTEc7O0FVcktIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dWbU1HOztBV3BPSDs7Ozs7OztFWDZPRTs7QVk3T0Y7OztFWmtQRTs7QWF0UEY7Ozs7OztHYjhQRzs7QWMxT0g7OztFQUdFO1VBQUE7Q2Q2T0Q7O0FjMU9EO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NkNk9EOztBY3hPQztFQUNFO0NkMk9IOztBY3JPRDs7Ozs7Ozs7OztFQUNFO0NkaVBEOztBY3RPRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2R5T0Q7O0FBMUJEO0VjdE1FO0Nkb09EOztBYzNORDtFQUNFO1VBQUE7RUFDQTtFQUNBO0NkOE5EOztBY2pORDs7Ozs7O0VBQ0U7RUFDQTtDZHlORDs7QWNqTkQ7RUFDRTtFQUNBO0Nkb05EOztBYzFNRDs7RUFFRTtFQUNBO1VBQUE7RUFDQTtFQUNBO0NkNk1EOztBYzFNRDtFQUNFO0VBQ0E7RUFDQTtDZDZNRDs7QWMxTUQ7OztFQUdFO0VBQ0E7Q2Q2TUQ7O0FjMU1EOzs7O0VBSUU7Q2Q2TUQ7O0FjMU1EO0VBQ0U7Q2Q2TUQ7O0FjMU1EO0VBQ0U7RUFDQTtDZDZNRDs7QWMxTUQ7RUFDRTtDZDZNRDs7QWMxTUQ7RUFDRTtDZDZNRDs7QWN6TUQ7O0VBRUU7Q2Q0TUQ7O0FjeE1EO0VBQ0U7Q2QyTUQ7O0Fjbk1EOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0Nkc01EOztBY25NRDtFQUFNO0NkdU1MOztBY3RNRDtFQUFNO0NkME1MOztBY25NRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Nkc01EOztBZW5ZQztFRGdNRTtFQUNBO0NkdU1IOztBYzdMRDtFQUNFO0VBQ0E7Q2RnTUQ7O0FlellDOztFRDRNRTtFQUNBO0Nka01IOztBY3hNRDtFQVVJO0Nka01IOztBY3pMRDs7OztFQUlFO0VBQ0E7Q2Q0TEQ7O0FjekxEO0VBRUU7RUFFQTtFQUVBO0VBR0E7Q2R1TEQ7O0FjL0tEO0VBRUU7Q2RpTEQ7O0FjektEO0VBQ0U7RUFDQTtDZDRLRDs7QWN6S0Q7RUFHRTtFQUNBO0NkMEtEOztBY2xLRDtFQUNFO0NkcUtEOztBY2xLRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2RxS0Q7O0FjbEtEO0VBR0U7Q2RtS0Q7O0FjM0pEO0VBRUU7RUFDQTtDZDZKRDs7QWN2SkQ7RUFDRTtDZDBKRDs7QWNuSkQ7RUFDRTtFQUNBO0Nkc0pEOztBY25KRDs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtDZHNKRDs7QWNuSkQ7O0VBRUU7Q2RzSkQ7O0FjbkpEOztFQUVFO0Nkc0pEOztBY2hKRDs7OztFQUlFO0NkbUpEOztBYy9JRDs7OztFQUlFO0VBQ0E7Q2RrSkQ7O0FjL0lEOztFQUVFO1VBQUE7RUFDQTtDZGtKRDs7QWM5SUQ7Ozs7RUFTRTtDZDRJRDs7QWN6SUQ7RUFDRTtFQUVBO0NkMklEOztBY3hJRDtFQU1FO0VBRUE7RUFDQTtFQUNBO0NkcUlEOztBY2hJRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDZG1JRDs7QWNoSUQ7RUFDRTtDZG1JRDs7QUFoQ0Q7O0VjN0ZFO0Nka0lEOztBQWhDRDtFYzFGRTtFQUNBO0NkOEhEOztBQWhDRDs7RWNyRkU7Q2QwSEQ7O0FjbEhEO0VBQ0U7RUFDQTtDZHFIRDs7QWM5R0Q7RUFDRTtDZGlIRDs7QWM5R0Q7RUFDRTtFQUNBO0NkaUhEOztBYzlHRDtFQUNFO0NkaUhEOztBQWhDRDtFYzNFRTtDZCtHRDs7QWdCL2tCRDtFQUNXO0NoQmtsQlY7O0FnQjlrQkQ7RUFBUztDaEJrbEJSOztBZ0Iva0JEO0VBQ0M7RUFDQTtDaEJrbEJBOztBZ0I5a0JEOzs7Ozs7O0VBT0M7S0FBQTtVQUFBO0NoQmlsQkE7O0FnQjdrQkQ7RUFDQztFQUNBO0NoQmdsQkE7O0FnQjVrQkQ7RUFDQztDaEIra0JBOztBY25kRDtFR3hKQztFQUNBO0VBQ0E7Q2pCK21CQTs7QWlCbG5CRDtFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pCaW5CRDs7QWtCaGFPO0VKcEVSO0lHdklFO0dqQmduQkM7Q0FDRjs7QW1Cbm9CRDs7Ozs7O0VuQjJvQkU7O0FjN2lCRjs7Ozs7O0VLaEZDO0VBQ0E7RUFDQTtDbkJzb0JBOztBb0J0cEJEOztFcEIwcEJFOztBb0J0cEJGOztFQUVDO0VBQ0E7RUFDQTtDcEJ5cEJBOztBb0I3cEJEOztFQU9FO0VBQ0E7Q3BCMnBCRDs7QW9CdnBCRDtFQUNDO0VBQTZCO0NwQjJwQjdCOztBb0I1cEJEO0VBS0c7RUFDQTtFQUNBO0NwQjJwQkY7O0FZNXFCQTtFUW9CRztDcEI0cEJIOztBWTFxQkE7RVFrQkc7Q3BCNHBCSDs7QW9CdHBCRDtFQUNDO0NwQnlwQkE7O0FvQjFwQkQ7RUFJRTtDcEIwcEJEOztBcUJsc0JEOztFckJzc0JFOztBY2xwQkY7RU8zQ0M7RUFDQTtDckJpc0JBOztBcUJuc0JEO0VBS0U7RUFDQTtDckJrc0JEOztBY3htQkQ7RVF2R0M7Q3RCbXRCQTs7QXNCcHRCRDtFQUdFO0N0QnF0QkQ7O0F1Qnh0QkQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZCMnRCQTs7QXVCanVCRDtFQVNFO0N2QjR0QkQ7O0F1QnJ1QkQ7RUFZRTtDdkI2dEJEOztBdUJ6dUJEOztFQWlCRTtFQUNBO0N2QjZ0QkQ7O0F1Qi91QkQ7O0VBdUJFO0VBQ0E7RUFDQTtFQUNBO0N2QjZ0QkQ7O0F1QnZ2QkQ7RUE4QkU7Q3ZCNnRCRDs7QWtCOWhCTztFSzdOUjtJQW9DRTtJQUNBO0lBQ0E7R3ZCNHRCQztDQUNGOztBd0J2d0JEOzs7OztHeEI4d0JHOztBd0J0d0JEO0VBQWdCO0N4QjB3QmpCOztBY3h2QkQ7RVVkRTtVQUFBO0VBQ0E7Q3hCMHdCRDs7QWNud0JEOzs7RVVERTtVQUFBO0N4QjB3QkQ7O0F5Qnh4QkM7RUNBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQjR4QkQ7O0EyQnp1Qkc7RUZ2REY7SUNZSTtHMUJ5eEJIO0NBQ0Y7O0F5QjF4QkM7RUNaQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQjB5QkQ7O0F5Qnh4QkM7RUNKQTtFQUFBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtDMUJneUJEOztBeUJ6eEJDO0VBQ0U7RUFDQTtDekI0eEJIOztBeUI5eEJDOztFQU1JO0VBQ0E7Q3pCNnhCTDs7QTRCOXpCQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUJvNUJIOztBNEJqNEJLO0VBQ0U7TUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO0M1Qm80QlA7O0E0Qmw0Qks7RUFDRTtNQUFBO01BQUE7RUFDQTtFQUNBO0M1QnE0QlA7O0E0Qmo0Qk87RUZGTjtNQUFBO01BQUE7RUFJQTtDMUJvNEJEOztBNEJ0NEJPO0VGRk47TUFBQTtNQUFBO0VBSUE7QzFCeTRCRDs7QTRCMzRCTztFRkZOO01BQUE7TUFBQTtFQUlBO0MxQjg0QkQ7O0E0Qmg1Qk87RUZGTjtNQUFBO01BQUE7RUFJQTtDMUJtNUJEOztBNEJyNUJPO0VGRk47TUFBQTtNQUFBO0VBSUE7QzFCdzVCRDs7QTRCMTVCTztFRkZOO01BQUE7TUFBQTtFQUlBO0MxQjY1QkQ7O0E0Qi81Qk87RUZGTjtNQUFBO01BQUE7RUFJQTtDMUJrNkJEOztBNEJwNkJPO0VGRk47TUFBQTtNQUFBO0VBSUE7QzFCdTZCRDs7QTRCejZCTztFRkZOO01BQUE7TUFBQTtFQUlBO0MxQjQ2QkQ7O0E0Qjk2Qk87RUZGTjtNQUFBO01BQUE7RUFJQTtDMUJpN0JEOztBNEJuN0JPO0VGRk47TUFBQTtNQUFBO0VBSUE7QzFCczdCRDs7QTRCeDdCTztFRkZOO01BQUE7TUFBQTtFQUlBO0MxQjI3QkQ7O0E0Qng3Qks7RUFBd0I7TUFBQTtNQUFBO0M1QjQ3QjdCOztBNEIxN0JLO0VBQXVCO01BQUE7TUFBQTtDNUI4N0I1Qjs7QTRCMzdCTztFQUF3QjtNQUFBO01BQUE7QzVCKzdCL0I7O0E0Qi83Qk87RUFBd0I7TUFBQTtNQUFBO0M1Qm04Qi9COztBNEJuOEJPO0VBQXdCO01BQUE7TUFBQTtDNUJ1OEIvQjs7QTRCdjhCTztFQUF3QjtNQUFBO01BQUE7QzVCMjhCL0I7O0E0QjM4Qk87RUFBd0I7TUFBQTtNQUFBO0M1Qis4Qi9COztBNEIvOEJPO0VBQXdCO01BQUE7TUFBQTtDNUJtOUIvQjs7QTRCbjlCTztFQUF3QjtNQUFBO01BQUE7QzVCdTlCL0I7O0E0QnY5Qk87RUFBd0I7TUFBQTtNQUFBO0M1QjI5Qi9COztBNEIzOUJPO0VBQXdCO01BQUE7TUFBQTtDNUIrOUIvQjs7QTRCLzlCTztFQUF3QjtNQUFBO01BQUE7QzVCbStCL0I7O0E0Qm4rQk87RUFBd0I7TUFBQTtNQUFBO0M1QnUrQi9COztBNEJ2K0JPO0VBQXdCO01BQUE7TUFBQTtDNUIyK0IvQjs7QTRCMytCTztFQUF3QjtNQUFBO01BQUE7QzVCKytCL0I7O0E0QnorQlM7RUZUUjtDMUJzL0JEOztBNEI3K0JTO0VGVFI7QzFCMC9CRDs7QTRCai9CUztFRlRSO0MxQjgvQkQ7O0E0QnIvQlM7RUZUUjtDMUJrZ0NEOztBNEJ6L0JTO0VGVFI7QzFCc2dDRDs7QTRCNy9CUztFRlRSO0MxQjBnQ0Q7O0E0QmpnQ1M7RUZUUjtDMUI4Z0NEOztBNEJyZ0NTO0VGVFI7QzFCa2hDRDs7QTRCemdDUztFRlRSO0MxQnNoQ0Q7O0E0QjdnQ1M7RUZUUjtDMUIwaENEOztBNEJqaENTO0VGVFI7QzFCOGhDRDs7QTJCcGhDRztFQzdCRTtJQUNFO1FBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtHNUJxakNMOztFNEJuakNHO0lBQ0U7UUFBQTtRQUFBO0lBQ0E7SUFDQTtHNUJzakNMOztFNEJsakNLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCcWpDQzs7RTRCdmpDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjBqQ0M7O0U0QjVqQ0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUIrakNDOztFNEJqa0NLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCb2tDQzs7RTRCdGtDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnlrQ0M7O0U0QjNrQ0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI4a0NDOztFNEJobENLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCbWxDQzs7RTRCcmxDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQndsQ0M7O0U0QjFsQ0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI2bENDOztFNEIvbENLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCa21DQzs7RTRCcG1DSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnVtQ0M7O0U0QnptQ0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI0bUNDOztFNEJ6bUNHO0lBQXdCO1FBQUE7UUFBQTtHNUI2bUMzQjs7RTRCM21DRztJQUF1QjtRQUFBO1FBQUE7RzVCK21DMUI7O0U0QjVtQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QmduQzdCOztFNEJobkNLO0lBQXdCO1FBQUE7UUFBQTtHNUJvbkM3Qjs7RTRCcG5DSztJQUF3QjtRQUFBO1FBQUE7RzVCd25DN0I7O0U0QnhuQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QjRuQzdCOztFNEI1bkNLO0lBQXdCO1FBQUE7UUFBQTtHNUJnb0M3Qjs7RTRCaG9DSztJQUF3QjtRQUFBO1FBQUE7RzVCb29DN0I7O0U0QnBvQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QndvQzdCOztFNEJ4b0NLO0lBQXdCO1FBQUE7UUFBQTtHNUI0b0M3Qjs7RTRCNW9DSztJQUF3QjtRQUFBO1FBQUE7RzVCZ3BDN0I7O0U0QmhwQ0s7SUFBd0I7UUFBQTtRQUFBO0c1Qm9wQzdCOztFNEJwcENLO0lBQXdCO1FBQUE7UUFBQTtHNUJ3cEM3Qjs7RTRCeHBDSztJQUF3QjtRQUFBO1FBQUE7RzVCNHBDN0I7O0U0QjVwQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QmdxQzdCOztFNEIxcENPO0lGVFI7RzFCdXFDQzs7RTRCOXBDTztJRlRSO0cxQjJxQ0M7O0U0QmxxQ087SUZUUjtHMUIrcUNDOztFNEJ0cUNPO0lGVFI7RzFCbXJDQzs7RTRCMXFDTztJRlRSO0cxQnVyQ0M7O0U0QjlxQ087SUZUUjtHMUIyckNDOztFNEJsckNPO0lGVFI7RzFCK3JDQzs7RTRCdHJDTztJRlRSO0cxQm1zQ0M7O0U0QjFyQ087SUZUUjtHMUJ1c0NDOztFNEI5ckNPO0lGVFI7RzFCMnNDQzs7RTRCbHNDTztJRlRSO0cxQitzQ0M7O0U0QnRzQ087SUZUUjtHMUJtdENDO0NBQ0Y7O0EyQjFzQ0c7RUM3QkU7SUFDRTtRQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7RzVCMnVDTDs7RTRCenVDRztJQUNFO1FBQUE7UUFBQTtJQUNBO0lBQ0E7RzVCNHVDTDs7RTRCeHVDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjJ1Q0M7O0U0Qjd1Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJndkNDOztFNEJsdkNLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCcXZDQzs7RTRCdnZDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjB2Q0M7O0U0QjV2Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUIrdkNDOztFNEJqd0NLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCb3dDQzs7RTRCdHdDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnl3Q0M7O0U0QjN3Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI4d0NDOztFNEJoeENLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCbXhDQzs7RTRCcnhDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnd4Q0M7O0U0QjF4Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI2eENDOztFNEIveENLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCa3lDQzs7RTRCL3hDRztJQUF3QjtRQUFBO1FBQUE7RzVCbXlDM0I7O0U0Qmp5Q0c7SUFBdUI7UUFBQTtRQUFBO0c1QnF5QzFCOztFNEJseUNLO0lBQXdCO1FBQUE7UUFBQTtHNUJzeUM3Qjs7RTRCdHlDSztJQUF3QjtRQUFBO1FBQUE7RzVCMHlDN0I7O0U0QjF5Q0s7SUFBd0I7UUFBQTtRQUFBO0c1Qjh5QzdCOztFNEI5eUNLO0lBQXdCO1FBQUE7UUFBQTtHNUJrekM3Qjs7RTRCbHpDSztJQUF3QjtRQUFBO1FBQUE7RzVCc3pDN0I7O0U0QnR6Q0s7SUFBd0I7UUFBQTtRQUFBO0c1QjB6QzdCOztFNEIxekNLO0lBQXdCO1FBQUE7UUFBQTtHNUI4ekM3Qjs7RTRCOXpDSztJQUF3QjtRQUFBO1FBQUE7RzVCazBDN0I7O0U0QmwwQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QnMwQzdCOztFNEJ0MENLO0lBQXdCO1FBQUE7UUFBQTtHNUIwMEM3Qjs7RTRCMTBDSztJQUF3QjtRQUFBO1FBQUE7RzVCODBDN0I7O0U0QjkwQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QmsxQzdCOztFNEJsMUNLO0lBQXdCO1FBQUE7UUFBQTtHNUJzMUM3Qjs7RTRCaDFDTztJRlRSO0cxQjYxQ0M7O0U0QnAxQ087SUZUUjtHMUJpMkNDOztFNEJ4MUNPO0lGVFI7RzFCcTJDQzs7RTRCNTFDTztJRlRSO0cxQnkyQ0M7O0U0QmgyQ087SUZUUjtHMUI2MkNDOztFNEJwMkNPO0lGVFI7RzFCaTNDQzs7RTRCeDJDTztJRlRSO0cxQnEzQ0M7O0U0QjUyQ087SUZUUjtHMUJ5M0NDOztFNEJoM0NPO0lGVFI7RzFCNjNDQzs7RTRCcDNDTztJRlRSO0cxQmk0Q0M7O0U0QngzQ087SUZUUjtHMUJxNENDOztFNEI1M0NPO0lGVFI7RzFCeTRDQztDQUNGOztBMkJoNENHO0VDN0JFO0lBQ0U7UUFBQTtJQUNBO1FBQUE7UUFBQTtJQUNBO0c1Qmk2Q0w7O0U0Qi81Q0c7SUFDRTtRQUFBO1FBQUE7SUFDQTtJQUNBO0c1Qms2Q0w7O0U0Qjk1Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJpNkNDOztFNEJuNkNLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCczZDQzs7RTRCeDZDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjI2Q0M7O0U0Qjc2Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJnN0NDOztFNEJsN0NLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCcTdDQzs7RTRCdjdDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjA3Q0M7O0U0QjU3Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUIrN0NDOztFNEJqOENLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCbzhDQzs7RTRCdDhDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnk4Q0M7O0U0QjM4Q0s7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI4OENDOztFNEJoOUNLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCbTlDQzs7RTRCcjlDSztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnc5Q0M7O0U0QnI5Q0c7SUFBd0I7UUFBQTtRQUFBO0c1Qnk5QzNCOztFNEJ2OUNHO0lBQXVCO1FBQUE7UUFBQTtHNUIyOUMxQjs7RTRCeDlDSztJQUF3QjtRQUFBO1FBQUE7RzVCNDlDN0I7O0U0QjU5Q0s7SUFBd0I7UUFBQTtRQUFBO0c1QmcrQzdCOztFNEJoK0NLO0lBQXdCO1FBQUE7UUFBQTtHNUJvK0M3Qjs7RTRCcCtDSztJQUF3QjtRQUFBO1FBQUE7RzVCdytDN0I7O0U0QngrQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QjQrQzdCOztFNEI1K0NLO0lBQXdCO1FBQUE7UUFBQTtHNUJnL0M3Qjs7RTRCaC9DSztJQUF3QjtRQUFBO1FBQUE7RzVCby9DN0I7O0U0QnAvQ0s7SUFBd0I7UUFBQTtRQUFBO0c1QncvQzdCOztFNEJ4L0NLO0lBQXdCO1FBQUE7UUFBQTtHNUI0L0M3Qjs7RTRCNS9DSztJQUF3QjtRQUFBO1FBQUE7RzVCZ2dEN0I7O0U0QmhnREs7SUFBd0I7UUFBQTtRQUFBO0c1Qm9nRDdCOztFNEJwZ0RLO0lBQXdCO1FBQUE7UUFBQTtHNUJ3Z0Q3Qjs7RTRCeGdESztJQUF3QjtRQUFBO1FBQUE7RzVCNGdEN0I7O0U0QnRnRE87SUZUUjtHMUJtaERDOztFNEIxZ0RPO0lGVFI7RzFCdWhEQzs7RTRCOWdETztJRlRSO0cxQjJoREM7O0U0QmxoRE87SUZUUjtHMUIraERDOztFNEJ0aERPO0lGVFI7RzFCbWlEQzs7RTRCMWhETztJRlRSO0cxQnVpREM7O0U0QjloRE87SUZUUjtHMUIyaURDOztFNEJsaURPO0lGVFI7RzFCK2lEQzs7RTRCdGlETztJRlRSO0cxQm1qREM7O0U0QjFpRE87SUZUUjtHMUJ1akRDOztFNEI5aURPO0lGVFI7RzFCMmpEQzs7RTRCbGpETztJRlRSO0cxQitqREM7Q0FDRjs7QTJCdGpERztFQzdCRTtJQUNFO1FBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtHNUJ1bERMOztFNEJybERHO0lBQ0U7UUFBQTtRQUFBO0lBQ0E7SUFDQTtHNUJ3bERMOztFNEJwbERLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCdWxEQzs7RTRCemxESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjRsREM7O0U0QjlsREs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJpbURDOztFNEJubURLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCc21EQzs7RTRCeG1ESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjJtREM7O0U0QjdtREs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJnbkRDOztFNEJsbkRLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCcW5EQzs7RTRCdm5ESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjBuREM7O0U0QjVuREs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUIrbkRDOztFNEJqb0RLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCb29EQzs7RTRCdG9ESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQnlvREM7O0U0QjNvREs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUI4b0RDOztFNEIzb0RHO0lBQXdCO1FBQUE7UUFBQTtHNUIrb0QzQjs7RTRCN29ERztJQUF1QjtRQUFBO1FBQUE7RzVCaXBEMUI7O0U0QjlvREs7SUFBd0I7UUFBQTtRQUFBO0c1QmtwRDdCOztFNEJscERLO0lBQXdCO1FBQUE7UUFBQTtHNUJzcEQ3Qjs7RTRCdHBESztJQUF3QjtRQUFBO1FBQUE7RzVCMHBEN0I7O0U0QjFwREs7SUFBd0I7UUFBQTtRQUFBO0c1QjhwRDdCOztFNEI5cERLO0lBQXdCO1FBQUE7UUFBQTtHNUJrcUQ3Qjs7RTRCbHFESztJQUF3QjtRQUFBO1FBQUE7RzVCc3FEN0I7O0U0QnRxREs7SUFBd0I7UUFBQTtRQUFBO0c1QjBxRDdCOztFNEIxcURLO0lBQXdCO1FBQUE7UUFBQTtHNUI4cUQ3Qjs7RTRCOXFESztJQUF3QjtRQUFBO1FBQUE7RzVCa3JEN0I7O0U0QmxyREs7SUFBd0I7UUFBQTtRQUFBO0c1QnNyRDdCOztFNEJ0ckRLO0lBQXdCO1FBQUE7UUFBQTtHNUIwckQ3Qjs7RTRCMXJESztJQUF3QjtRQUFBO1FBQUE7RzVCOHJEN0I7O0U0QjlyREs7SUFBd0I7UUFBQTtRQUFBO0c1QmtzRDdCOztFNEI1ckRPO0lGVFI7RzFCeXNEQzs7RTRCaHNETztJRlRSO0cxQjZzREM7O0U0QnBzRE87SUZUUjtHMUJpdERDOztFNEJ4c0RPO0lGVFI7RzFCcXREQzs7RTRCNXNETztJRlRSO0cxQnl0REM7O0U0Qmh0RE87SUZUUjtHMUI2dERDOztFNEJwdERPO0lGVFI7RzFCaXVEQzs7RTRCeHRETztJRlRSO0cxQnF1REM7O0U0QjV0RE87SUZUUjtHMUJ5dURDOztFNEJodURPO0lGVFI7RzFCNnVEQzs7RTRCcHVETztJRlRSO0cxQml2REM7O0U0Qnh1RE87SUZUUjtHMUJxdkRDO0NBQ0Y7O0EyQjV1REc7RUM3QkU7SUFDRTtRQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7RzVCNndETDs7RTRCM3dERztJQUNFO1FBQUE7UUFBQTtJQUNBO0lBQ0E7RzVCOHdETDs7RTRCMXdESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjZ3REM7O0U0Qi93REs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJreERDOztFNEJweERLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCdXhEQzs7RTRCenhESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjR4REM7O0U0Qjl4REs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJpeURDOztFNEJueURLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCc3lEQzs7RTRCeHlESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjJ5REM7O0U0Qjd5REs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUJnekRDOztFNEJsekRLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCcXpEQzs7RTRCdnpESztJRkZOO1FBQUE7UUFBQTtJQUlBO0cxQjB6REM7O0U0QjV6REs7SUZGTjtRQUFBO1FBQUE7SUFJQTtHMUIrekRDOztFNEJqMERLO0lGRk47UUFBQTtRQUFBO0lBSUE7RzFCbzBEQzs7RTRCajBERztJQUF3QjtRQUFBO1FBQUE7RzVCcTBEM0I7O0U0Qm4wREc7SUFBdUI7UUFBQTtRQUFBO0c1QnUwRDFCOztFNEJwMERLO0lBQXdCO1FBQUE7UUFBQTtHNUJ3MEQ3Qjs7RTRCeDBESztJQUF3QjtRQUFBO1FBQUE7RzVCNDBEN0I7O0U0QjUwREs7SUFBd0I7UUFBQTtRQUFBO0c1QmcxRDdCOztFNEJoMURLO0lBQXdCO1FBQUE7UUFBQTtHNUJvMUQ3Qjs7RTRCcDFESztJQUF3QjtRQUFBO1FBQUE7RzVCdzFEN0I7O0U0QngxREs7SUFBd0I7UUFBQTtRQUFBO0c1QjQxRDdCOztFNEI1MURLO0lBQXdCO1FBQUE7UUFBQTtHNUJnMkQ3Qjs7RTRCaDJESztJQUF3QjtRQUFBO1FBQUE7RzVCbzJEN0I7O0U0QnAyREs7SUFBd0I7UUFBQTtRQUFBO0c1QncyRDdCOztFNEJ4MkRLO0lBQXdCO1FBQUE7UUFBQTtHNUI0MkQ3Qjs7RTRCNTJESztJQUF3QjtRQUFBO1FBQUE7RzVCZzNEN0I7O0U0QmgzREs7SUFBd0I7UUFBQTtRQUFBO0c1Qm8zRDdCOztFNEJwM0RLO0lBQXdCO1FBQUE7UUFBQTtHNUJ3M0Q3Qjs7RTRCbDNETztJRlRSO0cxQiszREM7O0U0QnQzRE87SUZUUjtHMUJtNERDOztFNEIxM0RPO0lGVFI7RzFCdTREQzs7RTRCOTNETztJRlRSO0cxQjI0REM7O0U0Qmw0RE87SUZUUjtHMUIrNERDOztFNEJ0NERPO0lGVFI7RzFCbTVEQzs7RTRCMTRETztJRlRSO0cxQnU1REM7O0U0Qjk0RE87SUZUUjtHMUIyNURDOztFNEJsNURPO0lGVFI7RzFCKzVEQzs7RTRCdDVETztJRlRSO0cxQm02REM7O0U0QjE1RE87SUZUUjtHMUJ1NkRDOztFNEI5NURPO0lGVFI7RzFCMjZEQztDQUNGOztBNkJwOURHO0VBQTJCO0M3Qnc5RDlCOztBNkJ2OURHO0VBQTJCO0M3QjI5RDlCOztBNkIxOURHO0VBQTJCO0M3Qjg5RDlCOztBNkI3OURHO0VBQTJCO0M3QmkrRDlCOztBNkJoK0RHO0VBQTJCO0M3Qm8rRDlCOztBNkJuK0RHO0VBQTJCO0M3QnUrRDlCOztBNkJ0K0RHO0VBQTJCO0M3QjArRDlCOztBNkJ6K0RHO0VBQTJCO0VBQUE7RUFBQTtDN0I2K0Q5Qjs7QTZCNStERztFQUEyQjtFQUFBO0VBQUE7QzdCZy9EOUI7O0EyQnQ4REc7RUVsREE7SUFBMkI7RzdCNi9ENUI7O0U2QjUvREM7SUFBMkI7RzdCZ2dFNUI7O0U2Qi8vREM7SUFBMkI7RzdCbWdFNUI7O0U2QmxnRUM7SUFBMkI7RzdCc2dFNUI7O0U2QnJnRUM7SUFBMkI7RzdCeWdFNUI7O0U2QnhnRUM7SUFBMkI7RzdCNGdFNUI7O0U2QjNnRUM7SUFBMkI7RzdCK2dFNUI7O0U2QjlnRUM7SUFBMkI7SUFBQTtJQUFBO0c3QmtoRTVCOztFNkJqaEVDO0lBQTJCO0lBQUE7SUFBQTtHN0JxaEU1QjtDQUNGOztBMkI1K0RHO0VFbERBO0lBQTJCO0c3Qm1pRTVCOztFNkJsaUVDO0lBQTJCO0c3QnNpRTVCOztFNkJyaUVDO0lBQTJCO0c3QnlpRTVCOztFNkJ4aUVDO0lBQTJCO0c3QjRpRTVCOztFNkIzaUVDO0lBQTJCO0c3QitpRTVCOztFNkI5aUVDO0lBQTJCO0c3QmtqRTVCOztFNkJqakVDO0lBQTJCO0c3QnFqRTVCOztFNkJwakVDO0lBQTJCO0lBQUE7SUFBQTtHN0J3akU1Qjs7RTZCdmpFQztJQUEyQjtJQUFBO0lBQUE7RzdCMmpFNUI7Q0FDRjs7QTJCbGhFRztFRWxEQTtJQUEyQjtHN0J5a0U1Qjs7RTZCeGtFQztJQUEyQjtHN0I0a0U1Qjs7RTZCM2tFQztJQUEyQjtHN0Ira0U1Qjs7RTZCOWtFQztJQUEyQjtHN0JrbEU1Qjs7RTZCamxFQztJQUEyQjtHN0JxbEU1Qjs7RTZCcGxFQztJQUEyQjtHN0J3bEU1Qjs7RTZCdmxFQztJQUEyQjtHN0IybEU1Qjs7RTZCMWxFQztJQUEyQjtJQUFBO0lBQUE7RzdCOGxFNUI7O0U2QjdsRUM7SUFBMkI7SUFBQTtJQUFBO0c3QmltRTVCO0NBQ0Y7O0EyQnhqRUc7RUVsREE7SUFBMkI7RzdCK21FNUI7O0U2QjltRUM7SUFBMkI7RzdCa25FNUI7O0U2QmpuRUM7SUFBMkI7RzdCcW5FNUI7O0U2QnBuRUM7SUFBMkI7RzdCd25FNUI7O0U2QnZuRUM7SUFBMkI7RzdCMm5FNUI7O0U2QjFuRUM7SUFBMkI7RzdCOG5FNUI7O0U2QjduRUM7SUFBMkI7RzdCaW9FNUI7O0U2QmhvRUM7SUFBMkI7SUFBQTtJQUFBO0c3Qm9vRTVCOztFNkJub0VDO0lBQTJCO0lBQUE7SUFBQTtHN0J1b0U1QjtDQUNGOztBMkI5bEVHO0VFbERBO0lBQTJCO0c3QnFwRTVCOztFNkJwcEVDO0lBQTJCO0c3QndwRTVCOztFNkJ2cEVDO0lBQTJCO0c3QjJwRTVCOztFNkIxcEVDO0lBQTJCO0c3QjhwRTVCOztFNkI3cEVDO0lBQTJCO0c3QmlxRTVCOztFNkJocUVDO0lBQTJCO0c3Qm9xRTVCOztFNkJucUVDO0lBQTJCO0c3QnVxRTVCOztFNkJ0cUVDO0lBQTJCO0lBQUE7SUFBQTtHN0IwcUU1Qjs7RTZCenFFQztJQUEyQjtJQUFBO0lBQUE7RzdCNnFFNUI7Q0FDRjs7QTZCcnFFRDtFQUNFO0lBQXdCO0c3QnlxRXZCOztFNkJ4cUVEO0lBQXdCO0c3QjRxRXZCOztFNkIzcUVEO0lBQXdCO0c3QitxRXZCOztFNkI5cUVEO0lBQXdCO0c3QmtyRXZCOztFNkJqckVEO0lBQXdCO0c3QnFyRXZCOztFNkJwckVEO0lBQXdCO0c3QndyRXZCOztFNkJ2ckVEO0lBQXdCO0c3QjJyRXZCOztFNkIxckVEO0lBQXdCO0lBQUE7SUFBQTtHN0I4ckV2Qjs7RTZCN3JFRDtJQUF3QjtJQUFBO0lBQUE7RzdCaXNFdkI7Q0FDRjs7QThCNXRFRztFQUFnQztNQUFBO01BQUE7TUFBQTtDOUJndUVuQzs7QThCL3RFRztFQUFnQztNQUFBO01BQUE7TUFBQTtDOUJtdUVuQzs7QThCbHVFRztFQUFnQztNQUFBO01BQUE7TUFBQTtDOUJzdUVuQzs7QThCcnVFRztFQUFnQztNQUFBO01BQUE7TUFBQTtDOUJ5dUVuQzs7QThCdnVFRztFQUE4QjtNQUFBO0M5QjJ1RWpDOztBOEIxdUVHO0VBQThCO01BQUE7QzlCOHVFakM7O0E4Qjd1RUc7RUFBOEI7TUFBQTtDOUJpdkVqQzs7QThCaHZFRztFQUE4QjtNQUFBO01BQUE7QzlCb3ZFakM7O0E4Qm52RUc7RUFBOEI7TUFBQTtNQUFBO0M5QnV2RWpDOztBOEJ0dkVHO0VBQThCO01BQUE7TUFBQTtDOUIwdkVqQzs7QThCenZFRztFQUE4QjtNQUFBO0M5QjZ2RWpDOztBOEI1dkVHO0VBQThCO01BQUE7QzlCZ3dFakM7O0E4Qjl2RUc7RUFBb0M7TUFBQTtNQUFBO0M5Qmt3RXZDOztBOEJqd0VHO0VBQW9DO01BQUE7TUFBQTtDOUJxd0V2Qzs7QThCcHdFRztFQUFvQztNQUFBO01BQUE7QzlCd3dFdkM7O0E4QnZ3RUc7RUFBb0M7TUFBQTtNQUFBO0M5QjJ3RXZDOztBOEIxd0VHO0VBQW9DO01BQUE7QzlCOHdFdkM7O0E4QjV3RUc7RUFBaUM7TUFBQTtNQUFBO0M5Qmd4RXBDOztBOEIvd0VHO0VBQWlDO01BQUE7TUFBQTtDOUJteEVwQzs7QThCbHhFRztFQUFpQztNQUFBO01BQUE7QzlCc3hFcEM7O0E4QnJ4RUc7RUFBaUM7TUFBQTtNQUFBO0M5Qnl4RXBDOztBOEJ4eEVHO0VBQWlDO01BQUE7TUFBQTtDOUI0eEVwQzs7QThCMXhFRztFQUFrQztNQUFBO0M5Qjh4RXJDOztBOEI3eEVHO0VBQWtDO01BQUE7QzlCaXlFckM7O0E4Qmh5RUc7RUFBa0M7TUFBQTtDOUJveUVyQzs7QThCbnlFRztFQUFrQztNQUFBO0M5QnV5RXJDOztBOEJ0eUVHO0VBQWtDO01BQUE7QzlCMHlFckM7O0E4Qnp5RUc7RUFBa0M7TUFBQTtDOUI2eUVyQzs7QThCM3lFRztFQUFnQztNQUFBO01BQUE7QzlCK3lFbkM7O0E4Qjl5RUc7RUFBZ0M7TUFBQTtDOUJrekVuQzs7QThCanpFRztFQUFnQztNQUFBO0M5QnF6RW5DOztBOEJwekVHO0VBQWdDO01BQUE7TUFBQTtDOUJ3ekVuQzs7QThCdnpFRztFQUFnQztNQUFBO0M5QjJ6RW5DOztBOEIxekVHO0VBQWdDO01BQUE7TUFBQTtDOUI4ekVuQzs7QTJCbHpFRztFR2xEQTtJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUJ5MkVqQzs7RThCeDJFQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUI0MkVqQzs7RThCMzJFQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUIrMkVqQzs7RThCOTJFQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUJrM0VqQzs7RThCaDNFQztJQUE4QjtRQUFBO0c5Qm8zRS9COztFOEJuM0VDO0lBQThCO1FBQUE7RzlCdTNFL0I7O0U4QnQzRUM7SUFBOEI7UUFBQTtHOUIwM0UvQjs7RThCejNFQztJQUE4QjtRQUFBO1FBQUE7RzlCNjNFL0I7O0U4QjUzRUM7SUFBOEI7UUFBQTtRQUFBO0c5Qmc0RS9COztFOEIvM0VDO0lBQThCO1FBQUE7UUFBQTtHOUJtNEUvQjs7RThCbDRFQztJQUE4QjtRQUFBO0c5QnM0RS9COztFOEJyNEVDO0lBQThCO1FBQUE7RzlCeTRFL0I7O0U4QnY0RUM7SUFBb0M7UUFBQTtRQUFBO0c5QjI0RXJDOztFOEIxNEVDO0lBQW9DO1FBQUE7UUFBQTtHOUI4NEVyQzs7RThCNzRFQztJQUFvQztRQUFBO1FBQUE7RzlCaTVFckM7O0U4Qmg1RUM7SUFBb0M7UUFBQTtRQUFBO0c5Qm81RXJDOztFOEJuNUVDO0lBQW9DO1FBQUE7RzlCdTVFckM7O0U4QnI1RUM7SUFBaUM7UUFBQTtRQUFBO0c5Qnk1RWxDOztFOEJ4NUVDO0lBQWlDO1FBQUE7UUFBQTtHOUI0NUVsQzs7RThCMzVFQztJQUFpQztRQUFBO1FBQUE7RzlCKzVFbEM7O0U4Qjk1RUM7SUFBaUM7UUFBQTtRQUFBO0c5Qms2RWxDOztFOEJqNkVDO0lBQWlDO1FBQUE7UUFBQTtHOUJxNkVsQzs7RThCbjZFQztJQUFrQztRQUFBO0c5QnU2RW5DOztFOEJ0NkVDO0lBQWtDO1FBQUE7RzlCMDZFbkM7O0U4Qno2RUM7SUFBa0M7UUFBQTtHOUI2NkVuQzs7RThCNTZFQztJQUFrQztRQUFBO0c5Qmc3RW5DOztFOEIvNkVDO0lBQWtDO1FBQUE7RzlCbTdFbkM7O0U4Qmw3RUM7SUFBa0M7UUFBQTtHOUJzN0VuQzs7RThCcDdFQztJQUFnQztRQUFBO1FBQUE7RzlCdzdFakM7O0U4QnY3RUM7SUFBZ0M7UUFBQTtHOUIyN0VqQzs7RThCMTdFQztJQUFnQztRQUFBO0c5Qjg3RWpDOztFOEI3N0VDO0lBQWdDO1FBQUE7UUFBQTtHOUJpOEVqQzs7RThCaDhFQztJQUFnQztRQUFBO0c5Qm84RWpDOztFOEJuOEVDO0lBQWdDO1FBQUE7UUFBQTtHOUJ1OEVqQztDQUNGOztBMkI1N0VHO0VHbERBO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5Qm0vRWpDOztFOEJsL0VDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5QnMvRWpDOztFOEJyL0VDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5QnkvRWpDOztFOEJ4L0VDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5QjQvRWpDOztFOEIxL0VDO0lBQThCO1FBQUE7RzlCOC9FL0I7O0U4QjcvRUM7SUFBOEI7UUFBQTtHOUJpZ0YvQjs7RThCaGdGQztJQUE4QjtRQUFBO0c5Qm9nRi9COztFOEJuZ0ZDO0lBQThCO1FBQUE7UUFBQTtHOUJ1Z0YvQjs7RThCdGdGQztJQUE4QjtRQUFBO1FBQUE7RzlCMGdGL0I7O0U4QnpnRkM7SUFBOEI7UUFBQTtRQUFBO0c5QjZnRi9COztFOEI1Z0ZDO0lBQThCO1FBQUE7RzlCZ2hGL0I7O0U4Qi9nRkM7SUFBOEI7UUFBQTtHOUJtaEYvQjs7RThCamhGQztJQUFvQztRQUFBO1FBQUE7RzlCcWhGckM7O0U4QnBoRkM7SUFBb0M7UUFBQTtRQUFBO0c5QndoRnJDOztFOEJ2aEZDO0lBQW9DO1FBQUE7UUFBQTtHOUIyaEZyQzs7RThCMWhGQztJQUFvQztRQUFBO1FBQUE7RzlCOGhGckM7O0U4QjdoRkM7SUFBb0M7UUFBQTtHOUJpaUZyQzs7RThCL2hGQztJQUFpQztRQUFBO1FBQUE7RzlCbWlGbEM7O0U4QmxpRkM7SUFBaUM7UUFBQTtRQUFBO0c5QnNpRmxDOztFOEJyaUZDO0lBQWlDO1FBQUE7UUFBQTtHOUJ5aUZsQzs7RThCeGlGQztJQUFpQztRQUFBO1FBQUE7RzlCNGlGbEM7O0U4QjNpRkM7SUFBaUM7UUFBQTtRQUFBO0c5QitpRmxDOztFOEI3aUZDO0lBQWtDO1FBQUE7RzlCaWpGbkM7O0U4QmhqRkM7SUFBa0M7UUFBQTtHOUJvakZuQzs7RThCbmpGQztJQUFrQztRQUFBO0c5QnVqRm5DOztFOEJ0akZDO0lBQWtDO1FBQUE7RzlCMGpGbkM7O0U4QnpqRkM7SUFBa0M7UUFBQTtHOUI2akZuQzs7RThCNWpGQztJQUFrQztRQUFBO0c5QmdrRm5DOztFOEI5akZDO0lBQWdDO1FBQUE7UUFBQTtHOUJra0ZqQzs7RThCamtGQztJQUFnQztRQUFBO0c5QnFrRmpDOztFOEJwa0ZDO0lBQWdDO1FBQUE7RzlCd2tGakM7O0U4QnZrRkM7SUFBZ0M7UUFBQTtRQUFBO0c5QjJrRmpDOztFOEIxa0ZDO0lBQWdDO1FBQUE7RzlCOGtGakM7O0U4QjdrRkM7SUFBZ0M7UUFBQTtRQUFBO0c5QmlsRmpDO0NBQ0Y7O0EyQnRrRkc7RUdsREE7SUFBZ0M7UUFBQTtRQUFBO1FBQUE7RzlCNm5GakM7O0U4QjVuRkM7SUFBZ0M7UUFBQTtRQUFBO1FBQUE7RzlCZ29GakM7O0U4Qi9uRkM7SUFBZ0M7UUFBQTtRQUFBO1FBQUE7RzlCbW9GakM7O0U4QmxvRkM7SUFBZ0M7UUFBQTtRQUFBO1FBQUE7RzlCc29GakM7O0U4QnBvRkM7SUFBOEI7UUFBQTtHOUJ3b0YvQjs7RThCdm9GQztJQUE4QjtRQUFBO0c5QjJvRi9COztFOEIxb0ZDO0lBQThCO1FBQUE7RzlCOG9GL0I7O0U4QjdvRkM7SUFBOEI7UUFBQTtRQUFBO0c5QmlwRi9COztFOEJocEZDO0lBQThCO1FBQUE7UUFBQTtHOUJvcEYvQjs7RThCbnBGQztJQUE4QjtRQUFBO1FBQUE7RzlCdXBGL0I7O0U4QnRwRkM7SUFBOEI7UUFBQTtHOUIwcEYvQjs7RThCenBGQztJQUE4QjtRQUFBO0c5QjZwRi9COztFOEIzcEZDO0lBQW9DO1FBQUE7UUFBQTtHOUIrcEZyQzs7RThCOXBGQztJQUFvQztRQUFBO1FBQUE7RzlCa3FGckM7O0U4QmpxRkM7SUFBb0M7UUFBQTtRQUFBO0c5QnFxRnJDOztFOEJwcUZDO0lBQW9DO1FBQUE7UUFBQTtHOUJ3cUZyQzs7RThCdnFGQztJQUFvQztRQUFBO0c5QjJxRnJDOztFOEJ6cUZDO0lBQWlDO1FBQUE7UUFBQTtHOUI2cUZsQzs7RThCNXFGQztJQUFpQztRQUFBO1FBQUE7RzlCZ3JGbEM7O0U4Qi9xRkM7SUFBaUM7UUFBQTtRQUFBO0c5Qm1yRmxDOztFOEJsckZDO0lBQWlDO1FBQUE7UUFBQTtHOUJzckZsQzs7RThCcnJGQztJQUFpQztRQUFBO1FBQUE7RzlCeXJGbEM7O0U4QnZyRkM7SUFBa0M7UUFBQTtHOUIyckZuQzs7RThCMXJGQztJQUFrQztRQUFBO0c5QjhyRm5DOztFOEI3ckZDO0lBQWtDO1FBQUE7RzlCaXNGbkM7O0U4QmhzRkM7SUFBa0M7UUFBQTtHOUJvc0ZuQzs7RThCbnNGQztJQUFrQztRQUFBO0c5QnVzRm5DOztFOEJ0c0ZDO0lBQWtDO1FBQUE7RzlCMHNGbkM7O0U4QnhzRkM7SUFBZ0M7UUFBQTtRQUFBO0c5QjRzRmpDOztFOEIzc0ZDO0lBQWdDO1FBQUE7RzlCK3NGakM7O0U4QjlzRkM7SUFBZ0M7UUFBQTtHOUJrdEZqQzs7RThCanRGQztJQUFnQztRQUFBO1FBQUE7RzlCcXRGakM7O0U4QnB0RkM7SUFBZ0M7UUFBQTtHOUJ3dEZqQzs7RThCdnRGQztJQUFnQztRQUFBO1FBQUE7RzlCMnRGakM7Q0FDRjs7QTJCaHRGRztFR2xEQTtJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUJ1d0ZqQzs7RThCdHdGQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUIwd0ZqQzs7RThCendGQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUI2d0ZqQzs7RThCNXdGQztJQUFnQztRQUFBO1FBQUE7UUFBQTtHOUJneEZqQzs7RThCOXdGQztJQUE4QjtRQUFBO0c5Qmt4Ri9COztFOEJqeEZDO0lBQThCO1FBQUE7RzlCcXhGL0I7O0U4QnB4RkM7SUFBOEI7UUFBQTtHOUJ3eEYvQjs7RThCdnhGQztJQUE4QjtRQUFBO1FBQUE7RzlCMnhGL0I7O0U4QjF4RkM7SUFBOEI7UUFBQTtRQUFBO0c5Qjh4Ri9COztFOEI3eEZDO0lBQThCO1FBQUE7UUFBQTtHOUJpeUYvQjs7RThCaHlGQztJQUE4QjtRQUFBO0c5Qm95Ri9COztFOEJueUZDO0lBQThCO1FBQUE7RzlCdXlGL0I7O0U4QnJ5RkM7SUFBb0M7UUFBQTtRQUFBO0c5Qnl5RnJDOztFOEJ4eUZDO0lBQW9DO1FBQUE7UUFBQTtHOUI0eUZyQzs7RThCM3lGQztJQUFvQztRQUFBO1FBQUE7RzlCK3lGckM7O0U4Qjl5RkM7SUFBb0M7UUFBQTtRQUFBO0c5Qmt6RnJDOztFOEJqekZDO0lBQW9DO1FBQUE7RzlCcXpGckM7O0U4Qm56RkM7SUFBaUM7UUFBQTtRQUFBO0c5QnV6RmxDOztFOEJ0ekZDO0lBQWlDO1FBQUE7UUFBQTtHOUIwekZsQzs7RThCenpGQztJQUFpQztRQUFBO1FBQUE7RzlCNnpGbEM7O0U4QjV6RkM7SUFBaUM7UUFBQTtRQUFBO0c5QmcwRmxDOztFOEIvekZDO0lBQWlDO1FBQUE7UUFBQTtHOUJtMEZsQzs7RThCajBGQztJQUFrQztRQUFBO0c5QnEwRm5DOztFOEJwMEZDO0lBQWtDO1FBQUE7RzlCdzBGbkM7O0U4QnYwRkM7SUFBa0M7UUFBQTtHOUIyMEZuQzs7RThCMTBGQztJQUFrQztRQUFBO0c5QjgwRm5DOztFOEI3MEZDO0lBQWtDO1FBQUE7RzlCaTFGbkM7O0U4QmgxRkM7SUFBa0M7UUFBQTtHOUJvMUZuQzs7RThCbDFGQztJQUFnQztRQUFBO1FBQUE7RzlCczFGakM7O0U4QnIxRkM7SUFBZ0M7UUFBQTtHOUJ5MUZqQzs7RThCeDFGQztJQUFnQztRQUFBO0c5QjQxRmpDOztFOEIzMUZDO0lBQWdDO1FBQUE7UUFBQTtHOUIrMUZqQzs7RThCOTFGQztJQUFnQztRQUFBO0c5QmsyRmpDOztFOEJqMkZDO0lBQWdDO1FBQUE7UUFBQTtHOUJxMkZqQztDQUNGOztBMkIxMUZHO0VHbERBO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5Qmk1RmpDOztFOEJoNUZDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5Qm81RmpDOztFOEJuNUZDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5QnU1RmpDOztFOEJ0NUZDO0lBQWdDO1FBQUE7UUFBQTtRQUFBO0c5QjA1RmpDOztFOEJ4NUZDO0lBQThCO1FBQUE7RzlCNDVGL0I7O0U4QjM1RkM7SUFBOEI7UUFBQTtHOUIrNUYvQjs7RThCOTVGQztJQUE4QjtRQUFBO0c5Qms2Ri9COztFOEJqNkZDO0lBQThCO1FBQUE7UUFBQTtHOUJxNkYvQjs7RThCcDZGQztJQUE4QjtRQUFBO1FBQUE7RzlCdzZGL0I7O0U4QnY2RkM7SUFBOEI7UUFBQTtRQUFBO0c5QjI2Ri9COztFOEIxNkZDO0lBQThCO1FBQUE7RzlCODZGL0I7O0U4Qjc2RkM7SUFBOEI7UUFBQTtHOUJpN0YvQjs7RThCLzZGQztJQUFvQztRQUFBO1FBQUE7RzlCbTdGckM7O0U4Qmw3RkM7SUFBb0M7UUFBQTtRQUFBO0c5QnM3RnJDOztFOEJyN0ZDO0lBQW9DO1FBQUE7UUFBQTtHOUJ5N0ZyQzs7RThCeDdGQztJQUFvQztRQUFBO1FBQUE7RzlCNDdGckM7O0U4QjM3RkM7SUFBb0M7UUFBQTtHOUIrN0ZyQzs7RThCNzdGQztJQUFpQztRQUFBO1FBQUE7RzlCaThGbEM7O0U4Qmg4RkM7SUFBaUM7UUFBQTtRQUFBO0c5Qm84RmxDOztFOEJuOEZDO0lBQWlDO1FBQUE7UUFBQTtHOUJ1OEZsQzs7RThCdDhGQztJQUFpQztRQUFBO1FBQUE7RzlCMDhGbEM7O0U4Qno4RkM7SUFBaUM7UUFBQTtRQUFBO0c5QjY4RmxDOztFOEIzOEZDO0lBQWtDO1FBQUE7RzlCKzhGbkM7O0U4Qjk4RkM7SUFBa0M7UUFBQTtHOUJrOUZuQzs7RThCajlGQztJQUFrQztRQUFBO0c5QnE5Rm5DOztFOEJwOUZDO0lBQWtDO1FBQUE7RzlCdzlGbkM7O0U4QnY5RkM7SUFBa0M7UUFBQTtHOUIyOUZuQzs7RThCMTlGQztJQUFrQztRQUFBO0c5Qjg5Rm5DOztFOEI1OUZDO0lBQWdDO1FBQUE7UUFBQTtHOUJnK0ZqQzs7RThCLzlGQztJQUFnQztRQUFBO0c5Qm0rRmpDOztFOEJsK0ZDO0lBQWdDO1FBQUE7RzlCcytGakM7O0U4QnIrRkM7SUFBZ0M7UUFBQTtRQUFBO0c5QnkrRmpDOztFOEJ4K0ZDO0lBQWdDO1FBQUE7RzlCNCtGakM7O0U4QjMrRkM7SUFBZ0M7UUFBQTtRQUFBO0c5QisrRmpDO0NBQ0Y7O0ErQjVoR0Q7RUFDQztDL0IraEdBOztBK0JoaUdEO0VBR0U7Qy9CaWlHRDs7QWdDbGlHRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO01BQUE7VUFBQTtFQUNBO0VDc0ZBO0VBQ0E7RUFDQTtFQUtFO0VDckdFO0VBQUE7RUFBQTtFQUFBO0NsQ2tqR0w7O0FrQzlpR0M7RUZIRjtJRUlJO0lBQUE7R2xDa2pHRDtDQUNGOztBZTdpR0M7O0VpQkdFO0NoQytpR0g7O0FnQzVqR0Q7O0VBa0JJO0VBQ0E7VUFBQTtDaEMraUdIOztBZ0Nsa0dEOztFQXlCSTtDaEM4aUdIOztBZ0N2a0dEO0VBK0JJO0NoQzRpR0g7O0FnQzloR0Q7O0VBRUU7Q2hDaWlHRDs7QWdDeGhHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDb2xHRDs7QWVobEdDO0VrQkFFO0VFTkE7RUZRQTtDakNvbEdIOztBaUNqbEdDOztFQU1JO1VBQUE7Q2pDZ2xHTDs7QWlDM2tHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDOGtHSDs7QWlDM2tHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzJrR0g7O0FpQ3prR0c7OztFQUtJO1VBQUE7Q2pDMGtHUDs7QWdDOWpHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDMG5HRDs7QWV0bkdDO0VrQkFFO0VFTkE7RUZRQTtDakMwbkdIOztBaUN2bkdDOztFQU1JO1VBQUE7Q2pDc25HTDs7QWlDam5HQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDb25HSDs7QWlDam5HQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ2luR0g7O0FpQy9tR0c7OztFQUtJO1VBQUE7Q2pDZ25HUDs7QWdDcG1HQztFQ3hEQTtFRUFFO0VGRUY7Q2pDZ3FHRDs7QWU1cEdDO0VrQkFFO0VFTkE7RUZRQTtDakNncUdIOztBaUM3cEdDOztFQU1JO1VBQUE7Q2pDNHBHTDs7QWlDdnBHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDMHBHSDs7QWlDdnBHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3VwR0g7O0FpQ3JwR0c7OztFQUtJO1VBQUE7Q2pDc3BHUDs7QWdDMW9HQztFQ3hEQTtFRUFFO0VGRUY7Q2pDc3NHRDs7QWVsc0dDO0VrQkFFO0VFTkE7RUZRQTtDakNzc0dIOztBaUNuc0dDOztFQU1JO1VBQUE7Q2pDa3NHTDs7QWlDN3JHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDZ3NHSDs7QWlDN3JHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzZyR0g7O0FpQzNyR0c7OztFQUtJO1VBQUE7Q2pDNHJHUDs7QWdDaHJHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDNHVHRDs7QWV4dUdDO0VrQkFFO0VFTkE7RUZRQTtDakM0dUdIOztBaUN6dUdDOztFQU1JO1VBQUE7Q2pDd3VHTDs7QWlDbnVHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDc3VHSDs7QWlDbnVHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ211R0g7O0FpQ2p1R0c7OztFQUtJO1VBQUE7Q2pDa3VHUDs7QWdDdHRHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDa3hHRDs7QWU5d0dDO0VrQkFFO0VFTkE7RUZRQTtDakNreEdIOztBaUMvd0dDOztFQU1JO1VBQUE7Q2pDOHdHTDs7QWlDendHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDNHdHSDs7QWlDendHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3l3R0g7O0FpQ3Z3R0c7OztFQUtJO1VBQUE7Q2pDd3dHUDs7QWdDNXZHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDd3pHRDs7QWVwekdDO0VrQkFFO0VFTkE7RUZRQTtDakN3ekdIOztBaUNyekdDOztFQU1JO1VBQUE7Q2pDb3pHTDs7QWlDL3lHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDa3pHSDs7QWlDL3lHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQyt5R0g7O0FpQzd5R0c7OztFQUtJO1VBQUE7Q2pDOHlHUDs7QWdDbHlHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDODFHRDs7QWUxMUdDO0VrQkFFO0VFTkE7RUZRQTtDakM4MUdIOztBaUMzMUdDOztFQU1JO1VBQUE7Q2pDMDFHTDs7QWlDcjFHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDdzFHSDs7QWlDcjFHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3ExR0g7O0FpQ24xR0c7OztFQUtJO1VBQUE7Q2pDbzFHUDs7QWdDeDBHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDbzRHRDs7QWVoNEdDO0VrQkFFO0VFTkE7RUZRQTtDakNvNEdIOztBaUNqNEdDOztFQU1JO1VBQUE7Q2pDZzRHTDs7QWlDMzNHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDODNHSDs7QWlDMzNHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzIzR0g7O0FpQ3ozR0c7OztFQUtJO1VBQUE7Q2pDMDNHUDs7QWdDOTJHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDMDZHRDs7QWV0NkdDO0VrQkFFO0VFTkE7RUZRQTtDakMwNkdIOztBaUN2NkdDOztFQU1JO1VBQUE7Q2pDczZHTDs7QWlDajZHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDbzZHSDs7QWlDajZHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ2k2R0g7O0FpQy81R0c7OztFQUtJO1VBQUE7Q2pDZzZHUDs7QWdDcDVHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDZzlHRDs7QWU1OEdDO0VrQkFFO0VFTkE7RUZRQTtDakNnOUdIOztBaUM3OEdDOztFQU1JO1VBQUE7Q2pDNDhHTDs7QWlDdjhHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDMDhHSDs7QWlDdjhHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3U4R0g7O0FpQ3I4R0c7OztFQUtJO1VBQUE7Q2pDczhHUDs7QWdDMTdHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDcy9HRDs7QWVsL0dDO0VrQkFFO0VFTkE7RUZRQTtDakNzL0dIOztBaUNuL0dDOztFQU1JO1VBQUE7Q2pDay9HTDs7QWlDNytHQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDZy9HSDs7QWlDNytHQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzYrR0g7O0FpQzMrR0c7OztFQUtJO1VBQUE7Q2pDNCtHUDs7QWdDaCtHQztFQ3hEQTtFRUFFO0VGRUY7Q2pDNGhIRDs7QWV4aEhDO0VrQkFFO0VFTkE7RUZRQTtDakM0aEhIOztBaUN6aEhDOztFQU1JO1VBQUE7Q2pDd2hITDs7QWlDbmhIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDc2hISDs7QWlDbmhIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ21oSEg7O0FpQ2poSEc7OztFQUtJO1VBQUE7Q2pDa2hIUDs7QWdDdGdIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDa2tIRDs7QWU5akhDO0VrQkFFO0VFTkE7RUZRQTtDakNra0hIOztBaUMvakhDOztFQU1JO1VBQUE7Q2pDOGpITDs7QWlDempIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDNGpISDs7QWlDempIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3lqSEg7O0FpQ3ZqSEc7OztFQUtJO1VBQUE7Q2pDd2pIUDs7QWdDNWlIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDd21IRDs7QWVwbUhDO0VrQkFFO0VFTkE7RUZRQTtDakN3bUhIOztBaUNybUhDOztFQU1JO1VBQUE7Q2pDb21ITDs7QWlDL2xIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDa21ISDs7QWlDL2xIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQytsSEg7O0FpQzdsSEc7OztFQUtJO1VBQUE7Q2pDOGxIUDs7QWdDbGxIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDOG9IRDs7QWUxb0hDO0VrQkFFO0VFTkE7RUZRQTtDakM4b0hIOztBaUMzb0hDOztFQU1JO1VBQUE7Q2pDMG9ITDs7QWlDcm9IQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDd29ISDs7QWlDcm9IQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3FvSEg7O0FpQ25vSEc7OztFQUtJO1VBQUE7Q2pDb29IUDs7QWdDeG5IQztFQ3hEQTtFRUFFO0VGRUY7Q2pDb3JIRDs7QWVockhDO0VrQkFFO0VFTkE7RUZRQTtDakNvckhIOztBaUNqckhDOztFQU1JO1VBQUE7Q2pDZ3JITDs7QWlDM3FIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDOHFISDs7QWlDM3FIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzJxSEg7O0FpQ3pxSEc7OztFQUtJO1VBQUE7Q2pDMHFIUDs7QWdDOXBIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDMHRIRDs7QWV0dEhDO0VrQkFFO0VFTkE7RUZRQTtDakMwdEhIOztBaUN2dEhDOztFQU1JO1VBQUE7Q2pDc3RITDs7QWlDanRIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDb3RISDs7QWlDanRIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ2l0SEg7O0FpQy9zSEc7OztFQUtJO1VBQUE7Q2pDZ3RIUDs7QWdDcHNIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDZ3dIRDs7QWU1dkhDO0VrQkFFO0VFTkE7RUZRQTtDakNnd0hIOztBaUM3dkhDOztFQU1JO1VBQUE7Q2pDNHZITDs7QWlDdnZIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDMHZISDs7QWlDdnZIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3V2SEg7O0FpQ3J2SEc7OztFQUtJO1VBQUE7Q2pDc3ZIUDs7QWdDMXVIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDc3lIRDs7QWVseUhDO0VrQkFFO0VFTkE7RUZRQTtDakNzeUhIOztBaUNueUhDOztFQU1JO1VBQUE7Q2pDa3lITDs7QWlDN3hIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDZ3lISDs7QWlDN3hIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQzZ4SEg7O0FpQzN4SEc7OztFQUtJO1VBQUE7Q2pDNHhIUDs7QWdDaHhIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDNDBIRDs7QWV4MEhDO0VrQkFFO0VFTkE7RUZRQTtDakM0MEhIOztBaUN6MEhDOztFQU1JO1VBQUE7Q2pDdzBITDs7QWlDbjBIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDczBISDs7QWlDbjBIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ20wSEg7O0FpQ2owSEc7OztFQUtJO1VBQUE7Q2pDazBIUDs7QWdDdHpIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDazNIRDs7QWU5MkhDO0VrQkFFO0VFTkE7RUZRQTtDakNrM0hIOztBaUMvMkhDOztFQU1JO1VBQUE7Q2pDODJITDs7QWlDejJIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDNDJISDs7QWlDejJIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQ3kySEg7O0FpQ3YySEc7OztFQUtJO1VBQUE7Q2pDdzJIUDs7QWdDNTFIQztFQ3hEQTtFRUFFO0VGRUY7Q2pDdzVIRDs7QWVwNUhDO0VrQkFFO0VFTkE7RUZRQTtDakN3NUhIOztBaUNyNUhDOztFQU1JO1VBQUE7Q2pDbzVITDs7QWlDLzRIQzs7RUFFRTtFQUNBO0VBQ0E7Q2pDazVISDs7QWlDLzRIQzs7O0VBR0U7RUFDQTtFQUlBO0NqQys0SEg7O0FpQzc0SEc7OztFQUtJO1VBQUE7Q2pDODRIUDs7QWdDNTNIQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQzI0SEQ7O0FpQ3o0SEM7RUFDRTtFQUNBO0VBQ0E7Q2pDNDRISDs7QWlDejRIQzs7RUFFRTtVQUFBO0NqQzQ0SEg7O0FpQ3o0SEM7O0VBRUU7RUFDQTtDakM0NEhIOztBaUN6NEhDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDNDRISDs7QWlDMTRIRzs7O0VBS0k7VUFBQTtDakMyNEhQOztBZ0NsNkhDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDaTdIRDs7QWlDLzZIQztFQUNFO0VBQ0E7RUFDQTtDakNrN0hIOztBaUMvNkhDOztFQUVFO1VBQUE7Q2pDazdISDs7QWlDLzZIQzs7RUFFRTtFQUNBO0NqQ2s3SEg7O0FpQy82SEM7OztFQUdFO0VBQ0E7RUFDQTtDakNrN0hIOztBaUNoN0hHOzs7RUFLSTtVQUFBO0NqQ2k3SFA7O0FnQ3g4SEM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakN1OUhEOztBaUNyOUhDO0VBQ0U7RUFDQTtFQUNBO0NqQ3c5SEg7O0FpQ3I5SEM7O0VBRUU7VUFBQTtDakN3OUhIOztBaUNyOUhDOztFQUVFO0VBQ0E7Q2pDdzlISDs7QWlDcjlIQzs7O0VBR0U7RUFDQTtFQUNBO0NqQ3c5SEg7O0FpQ3Q5SEc7OztFQUtJO1VBQUE7Q2pDdTlIUDs7QWdDOStIQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQzYvSEQ7O0FpQzMvSEM7RUFDRTtFQUNBO0VBQ0E7Q2pDOC9ISDs7QWlDMy9IQzs7RUFFRTtVQUFBO0NqQzgvSEg7O0FpQzMvSEM7O0VBRUU7RUFDQTtDakM4L0hIOztBaUMzL0hDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDOC9ISDs7QWlDNS9IRzs7O0VBS0k7VUFBQTtDakM2L0hQOztBZ0NwaElDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDbWlJRDs7QWlDamlJQztFQUNFO0VBQ0E7RUFDQTtDakNvaUlIOztBaUNqaUlDOztFQUVFO1VBQUE7Q2pDb2lJSDs7QWlDamlJQzs7RUFFRTtFQUNBO0NqQ29pSUg7O0FpQ2ppSUM7OztFQUdFO0VBQ0E7RUFDQTtDakNvaUlIOztBaUNsaUlHOzs7RUFLSTtVQUFBO0NqQ21pSVA7O0FnQzFqSUM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakN5a0lEOztBaUN2a0lDO0VBQ0U7RUFDQTtFQUNBO0NqQzBrSUg7O0FpQ3ZrSUM7O0VBRUU7VUFBQTtDakMwa0lIOztBaUN2a0lDOztFQUVFO0VBQ0E7Q2pDMGtJSDs7QWlDdmtJQzs7O0VBR0U7RUFDQTtFQUNBO0NqQzBrSUg7O0FpQ3hrSUc7OztFQUtJO1VBQUE7Q2pDeWtJUDs7QWdDaG1JQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQyttSUQ7O0FpQzdtSUM7RUFDRTtFQUNBO0VBQ0E7Q2pDZ25JSDs7QWlDN21JQzs7RUFFRTtVQUFBO0NqQ2duSUg7O0FpQzdtSUM7O0VBRUU7RUFDQTtDakNnbklIOztBaUM3bUlDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDZ25JSDs7QWlDOW1JRzs7O0VBS0k7VUFBQTtDakMrbUlQOztBZ0N0b0lDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDcXBJRDs7QWlDbnBJQztFQUNFO0VBQ0E7RUFDQTtDakNzcElIOztBaUNucElDOztFQUVFO1VBQUE7Q2pDc3BJSDs7QWlDbnBJQzs7RUFFRTtFQUNBO0NqQ3NwSUg7O0FpQ25wSUM7OztFQUdFO0VBQ0E7RUFDQTtDakNzcElIOztBaUNwcElHOzs7RUFLSTtVQUFBO0NqQ3FwSVA7O0FnQzVxSUM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakMycklEOztBaUN6cklDO0VBQ0U7RUFDQTtFQUNBO0NqQzRySUg7O0FpQ3pySUM7O0VBRUU7VUFBQTtDakM0cklIOztBaUN6cklDOztFQUVFO0VBQ0E7Q2pDNHJJSDs7QWlDenJJQzs7O0VBR0U7RUFDQTtFQUNBO0NqQzRySUg7O0FpQzFySUc7OztFQUtJO1VBQUE7Q2pDMnJJUDs7QWdDbHRJQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQ2l1SUQ7O0FpQy90SUM7RUFDRTtFQUNBO0VBQ0E7Q2pDa3VJSDs7QWlDL3RJQzs7RUFFRTtVQUFBO0NqQ2t1SUg7O0FpQy90SUM7O0VBRUU7RUFDQTtDakNrdUlIOztBaUMvdElDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDa3VJSDs7QWlDaHVJRzs7O0VBS0k7VUFBQTtDakNpdUlQOztBZ0N4dklDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDdXdJRDs7QWlDcndJQztFQUNFO0VBQ0E7RUFDQTtDakN3d0lIOztBaUNyd0lDOztFQUVFO1VBQUE7Q2pDd3dJSDs7QWlDcndJQzs7RUFFRTtFQUNBO0NqQ3d3SUg7O0FpQ3J3SUM7OztFQUdFO0VBQ0E7RUFDQTtDakN3d0lIOztBaUN0d0lHOzs7RUFLSTtVQUFBO0NqQ3V3SVA7O0FnQzl4SUM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakM2eUlEOztBaUMzeUlDO0VBQ0U7RUFDQTtFQUNBO0NqQzh5SUg7O0FpQzN5SUM7O0VBRUU7VUFBQTtDakM4eUlIOztBaUMzeUlDOztFQUVFO0VBQ0E7Q2pDOHlJSDs7QWlDM3lJQzs7O0VBR0U7RUFDQTtFQUNBO0NqQzh5SUg7O0FpQzV5SUc7OztFQUtJO1VBQUE7Q2pDNnlJUDs7QWdDcDBJQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQ20xSUQ7O0FpQ2oxSUM7RUFDRTtFQUNBO0VBQ0E7Q2pDbzFJSDs7QWlDajFJQzs7RUFFRTtVQUFBO0NqQ28xSUg7O0FpQ2oxSUM7O0VBRUU7RUFDQTtDakNvMUlIOztBaUNqMUlDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDbzFJSDs7QWlDbDFJRzs7O0VBS0k7VUFBQTtDakNtMUlQOztBZ0MxMklDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDeTNJRDs7QWlDdjNJQztFQUNFO0VBQ0E7RUFDQTtDakMwM0lIOztBaUN2M0lDOztFQUVFO1VBQUE7Q2pDMDNJSDs7QWlDdjNJQzs7RUFFRTtFQUNBO0NqQzAzSUg7O0FpQ3YzSUM7OztFQUdFO0VBQ0E7RUFDQTtDakMwM0lIOztBaUN4M0lHOzs7RUFLSTtVQUFBO0NqQ3kzSVA7O0FnQ2g1SUM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakMrNUlEOztBaUM3NUlDO0VBQ0U7RUFDQTtFQUNBO0NqQ2c2SUg7O0FpQzc1SUM7O0VBRUU7VUFBQTtDakNnNklIOztBaUM3NUlDOztFQUVFO0VBQ0E7Q2pDZzZJSDs7QWlDNzVJQzs7O0VBR0U7RUFDQTtFQUNBO0NqQ2c2SUg7O0FpQzk1SUc7OztFQUtJO1VBQUE7Q2pDKzVJUDs7QWdDdDdJQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQ3E4SUQ7O0FpQ244SUM7RUFDRTtFQUNBO0VBQ0E7Q2pDczhJSDs7QWlDbjhJQzs7RUFFRTtVQUFBO0NqQ3M4SUg7O0FpQ244SUM7O0VBRUU7RUFDQTtDakNzOElIOztBaUNuOElDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDczhJSDs7QWlDcDhJRzs7O0VBS0k7VUFBQTtDakNxOElQOztBZ0M1OUlDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDMitJRDs7QWlDeitJQztFQUNFO0VBQ0E7RUFDQTtDakM0K0lIOztBaUN6K0lDOztFQUVFO1VBQUE7Q2pDNCtJSDs7QWlDeitJQzs7RUFFRTtFQUNBO0NqQzQrSUg7O0FpQ3orSUM7OztFQUdFO0VBQ0E7RUFDQTtDakM0K0lIOztBaUMxK0lHOzs7RUFLSTtVQUFBO0NqQzIrSVA7O0FnQ2xnSkM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakNpaEpEOztBaUMvZ0pDO0VBQ0U7RUFDQTtFQUNBO0NqQ2toSkg7O0FpQy9nSkM7O0VBRUU7VUFBQTtDakNraEpIOztBaUMvZ0pDOztFQUVFO0VBQ0E7Q2pDa2hKSDs7QWlDL2dKQzs7O0VBR0U7RUFDQTtFQUNBO0NqQ2toSkg7O0FpQ2hoSkc7OztFQUtJO1VBQUE7Q2pDaWhKUDs7QWdDeGlKQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQ3VqSkQ7O0FpQ3JqSkM7RUFDRTtFQUNBO0VBQ0E7Q2pDd2pKSDs7QWlDcmpKQzs7RUFFRTtVQUFBO0NqQ3dqSkg7O0FpQ3JqSkM7O0VBRUU7RUFDQTtDakN3akpIOztBaUNyakpDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDd2pKSDs7QWlDdGpKRzs7O0VBS0k7VUFBQTtDakN1akpQOztBZ0M5a0pDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDNmxKRDs7QWlDM2xKQztFQUNFO0VBQ0E7RUFDQTtDakM4bEpIOztBaUMzbEpDOztFQUVFO1VBQUE7Q2pDOGxKSDs7QWlDM2xKQzs7RUFFRTtFQUNBO0NqQzhsSkg7O0FpQzNsSkM7OztFQUdFO0VBQ0E7RUFDQTtDakM4bEpIOztBaUM1bEpHOzs7RUFLSTtVQUFBO0NqQzZsSlA7O0FnQ3BuSkM7RUNYQTtFQUNBO0VBQ0E7RUFDQTtDakNtb0pEOztBaUNqb0pDO0VBQ0U7RUFDQTtFQUNBO0NqQ29vSkg7O0FpQ2pvSkM7O0VBRUU7VUFBQTtDakNvb0pIOztBaUNqb0pDOztFQUVFO0VBQ0E7Q2pDb29KSDs7QWlDam9KQzs7O0VBR0U7RUFDQTtFQUNBO0NqQ29vSkg7O0FpQ2xvSkc7OztFQUtJO1VBQUE7Q2pDbW9KUDs7QWdDMXBKQztFQ1hBO0VBQ0E7RUFDQTtFQUNBO0NqQ3lxSkQ7O0FpQ3ZxSkM7RUFDRTtFQUNBO0VBQ0E7Q2pDMHFKSDs7QWlDdnFKQzs7RUFFRTtVQUFBO0NqQzBxSkg7O0FpQ3ZxSkM7O0VBRUU7RUFDQTtDakMwcUpIOztBaUN2cUpDOzs7RUFHRTtFQUNBO0VBQ0E7Q2pDMHFKSDs7QWlDeHFKRzs7O0VBS0k7VUFBQTtDakN5cUpQOztBZ0Noc0pDO0VDWEE7RUFDQTtFQUNBO0VBQ0E7Q2pDK3NKRDs7QWlDN3NKQztFQUNFO0VBQ0E7RUFDQTtDakNndEpIOztBaUM3c0pDOztFQUVFO1VBQUE7Q2pDZ3RKSDs7QWlDN3NKQzs7RUFFRTtFQUNBO0NqQ2d0Skg7O0FpQzdzSkM7OztFQUdFO0VBQ0E7RUFDQTtDakNndEpIOztBaUM5c0pHOzs7RUFLSTtVQUFBO0NqQytzSlA7O0FnQzN0SkQ7RUFDRTtFQUNBO0VBQ0E7Q2hDOHRKRDs7QWVweUpDO0VpQnlFRTtFQUNBO0VBQ0E7RUFDQTtDaEMrdEpIOztBZ0N4dUpEOztFQWNJO0VBQ0E7RUFDQTtVQUFBO0NoQyt0Skg7O0FnQy91SkQ7O0VBcUJJO0VBQ0E7Q2hDK3RKSDs7QWdDcHRKRDtFQ2JFO0VBQ0E7RUFDQTtFQUtFO0NqQ2l1Skg7O0FnQ3Z0SkQ7RUNqQkU7RUFDQTtFQUNBO0VBS0U7Q2pDd3VKSDs7QWdDcnRKRDtFQUNFO0VBQ0E7Q2hDd3RKRDs7QWdDMXRKRDtFQU1JO0NoQ3d0Skg7O0FnQ250SkQ7OztFQUlJO0NoQ3F0Skg7O0FvQzcxSkQ7RUFDRTtFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtNQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcENnMkpEOztBb0N4MkpEO0VBWUk7RUFDQTtDcENnMkpIOztBb0NoMUpEO0VBR0U7TUFBQTtNQUFBO0VBQ0E7Q3BDaTFKRDs7QW9DOTBKRDtFQUNFO0NwQ2kxSkQ7O0FvQzkwSkQ7RUFDRTtFQUNBO0NwQ2kxSkQ7O0FvQzkwSkQ7RUFDRTtDcENpMUpEOztBZXYzSkM7RXFCMkNFO0NwQ2cxSkg7O0FvQ2wxSkQ7RUFNSTtDcENnMUpIOztBb0N4MEpEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3BDMjBKRDs7QW9DLzBKRDtFQVlNO0NwQ3UwSkw7O0FvQ2wwSkQ7RUFDRTtFQUNBO0VBQ0E7Q3BDcTBKRDs7QW9DenpKRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NwQzR6SkQ7O0FvQ3p6SkQ7RUFDRTtFQUNBO0NwQzR6SkQ7O0FvQ3h6SkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDMnpKRDs7QW9DeHpKRDtFQUNFO0NwQzJ6SkQ7O0FvQ3R6SkQ7RUFDRTtDcEN5ekpEOztBb0NyekpEO0VBQ0U7Q3BDd3pKRDs7QW9DanpKRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtNQUFBO0NwQ296SkQ7O0FvQ3R6SkQ7RUFLSTtDcENxekpIOztBMkIxNEpHO0VTZ0ZKO0lBU0k7UUFBQTtRQUFBO1FBQUE7SUFDQTtJQUNBO0dwQ3N6SkQ7O0VvQ2owSkg7SUFjTTtJQUFBO0lBQUE7SUFFQTtRQUFBO1FBQUE7SUFDQTtRQUFBO1FBQUE7UUFBQTtJQUNBO0lBQ0E7SUFDQTtHcENzekpIO0NBQ0Y7O0FvQzd5SkQ7RUFDRTtFQUFBO0VBQUE7RUFDQTtNQUFBO01BQUE7TUFBQTtDcENnekpEOztBb0NsekpEO0VBT0k7Q3BDK3lKSDs7QTJCcDZKRztFUzhHSjtJQVdJO1FBQUE7UUFBQTtRQUFBO0dwQ2d6SkQ7O0VvQzN6Skg7SUFnQk07UUFBQTtRQUFBO0lBQ0E7R3BDK3lKSDs7RW9DaDBKSDtJQW9CUTtJQUNBO0dwQ2d6Skw7Q0FDRjs7QW9DanZKRDtFQUVJO0NwQ212Skg7O0EyQng3Skc7RVNtTUo7SUFNSTtZQUFBO0lBQ0E7WUFBQTtJQUNBO0lBQ0E7R3BDb3ZKRDs7RW9DN3ZKSDtJQVlNO0lBQ0E7R3BDcXZKSDtDQUNGOztBb0M1dUpEO0VBRUk7RUFDQTtDcEM4dUpIOztBb0NqdkpEO0VBUU07Q3BDNnVKTDs7QW9DcnZKRDtFQWFJO0VBQ0E7RUFDQTtDcEM0dUpIOztBb0MzdkpEO0VBbUJJO0VBQ0E7Q3BDNHVKSDs7QXFDcmhLRDs7OztFQUlFO0NyQ3doS0Q7O0FxQy9nS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckNraEtEOztBcUM3Z0tEO0VBQ0U7RUFDQTtDckNnaEtEOztBcUMzZ0tEO0VBRUk7RUFDQTtFQUNBO0VBQ0E7Q3JDNmdLSDs7QXFDcmdLRDtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JDdWdLSDs7QXFDN2dLRDtFQVlNO0NyQ3FnS0w7O0FxQ2hnS0Q7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQ2tnS0g7O0FxQ3hnS0Q7RUFZTTtDckNnZ0tMOztBcUN6L0pEOzs7O0VBS0k7RUFDQTtDckMyL0pIOztBcUNyL0pEO0VDbEdFO0VBQ0E7RUFDQTtFQUNBO0N0QzJsS0Q7O0FxQ3IvSkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckN3L0pEOztBZWhtS0M7O0VzQjJHRTtFQUNBO0VGdEhBO0NuQ2luS0g7O0FxQ3pnS0Q7O0VBb0JJO0VBQ0E7RUY3SEE7Q25Dd25LSDs7QXFDaGhLRDs7RUEyQkk7RUFDQTtDckMwL0pIOztBcUNsL0pEO0VBQ0U7Q3JDcS9KRDs7QXFDai9KRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckNvL0pEOztBcUNoL0pEO0VBQ0U7RUFDQTtFQUNBO0NyQ20vSkQ7O0F1Q2pwS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFFO0VMbkJFO0VBQUE7RUFBQTtFQUFBO0NsQ2lxS0w7O0FrQzdwS0M7RUtIRjtJTElJO0lBQUE7R2xDaXFLRDtDQUNGOztBdUN0cUtEO0VBMEJJO0VBQ0E7Q3ZDZ3BLSDs7QXdDcHFLQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBS0U7VUFBQTtDeENtcUtMOztBdUNucktEO0VBbUNJO0VBRUE7Q3ZDbXBLSDs7QXVDeHJLRDtFQW1DSTtFQUVBO0N2Q21wS0g7O0F1Q3hyS0Q7RUFtQ0k7RUFFQTtDdkNtcEtIOztBdUN4cktEOztFQStDSTtFQUVBO0N2QzZvS0g7O0F1Q3pvS0Q7RUFPSTtFQUNBO0N2Q3NvS0g7O0F1Q2pvS0Q7O0VBRUU7RUFDQTtDdkNvb0tEOztBdUMxbktEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkM2bktEOztBdUMxbktEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3ZDNm5LRDs7QXVDMW5LRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0N2QzZuS0Q7O0F1Q3BuS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkN1bktEOztBdUNqb0tEOztFQWNJO0VBQ0E7Q3ZDd25LSDs7QXVDNW1LRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0N2QyttS0Q7O0F1QzNtS0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDdkM4bUtEOztBdUN6bUtEOztFQUdJO0N2QzJtS0g7O0F1Q3ZtS0Q7RUFDRTtDdkMwbUtEOztBdUNqbUtEO0VBQ0U7Q3ZDb21LRDs7QXVDam1LRDtFQUNFO0VBQ0E7Q3ZDb21LRDs7QXVDNWxLRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7RUFDQTtFQUNBO0N2QytsS0Q7O0F1Q25tS0Q7O0VBUUk7RUFDQTtDdkNnbUtIOztBdUN2bEtEO0VBQ0U7RUFDQTtFQUNBO0N2QzBsS0Q7O0F1Q3ZsS0Q7RUFDRTtFQUNBO0VBQ0E7Q3ZDMGxLRDs7QXVDN2xLRDtFQU1JO0N2QzJsS0g7O0F1Q3ZsS0Q7RUFDRTtDdkMwbEtEOztBdUN2bEtEO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7RUFDQTtDdkMwbEtEOztBdUM5bEtEO0VBUUk7RUFDQTtFQUNBO0VBQ0E7Q3ZDMGxLSDs7QXdDMXlLQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDNnlLSDs7QXdDMXlLQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDNnlLSDs7QXdDdnlLRzs7Ozs7RUFFRTtDeEM2eUtMOztBd0MveUtHOzs7OztFQUtJO0VBQ0E7VUFBQTtDeENrektQOztBd0N4ektHOzs7Ozs7Ozs7O0VBV0k7Q3hDMHpLUDs7QXdDcHpLRzs7OztFQUlJO0N4Q3V6S1A7O0F3Q2p6S0c7O0VBR0k7Q3hDbXpLUDs7QXdDdHpLRzs7OztFQVFJO0N4Q3F6S1A7O0F3Qy95S0c7O0VBR0k7Q3hDaXpLUDs7QXdDcHpLRzs7RUFNTTtDeENtektUOztBd0N6ektHOzs7O0VBWUk7Q3hDb3pLUDs7QXdDaDBLRzs7RUx6RkE7Q25DODVLSDs7QXdDcjBLRzs7RUF1Qk07VUFBQTtDeENtektUOztBd0MzeUtHOztFQUdJO0N4QzZ5S1A7O0F3Q2h6S0c7O0VBS2U7Q3hDZ3pLbEI7O0F3Q3J6S0c7Ozs7RUFVSTtDeENrektQOztBd0M1ektHOztFQWVNO1VBQUE7Q3hDa3pLVDs7QXdDbDZLQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDcTZLSDs7QXdDbDZLQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDcTZLSDs7QXdDLzVLRzs7Ozs7RUFFRTtDeENxNktMOztBd0N2NktHOzs7OztFQUtJO0VBQ0E7VUFBQTtDeEMwNktQOztBd0NoN0tHOzs7Ozs7Ozs7O0VBV0k7Q3hDazdLUDs7QXdDNTZLRzs7OztFQUlJO0N4Qys2S1A7O0F3Q3o2S0c7O0VBR0k7Q3hDMjZLUDs7QXdDOTZLRzs7OztFQVFJO0N4QzY2S1A7O0F3Q3Y2S0c7O0VBR0k7Q3hDeTZLUDs7QXdDNTZLRzs7RUFNTTtDeEMyNktUOztBd0NqN0tHOzs7O0VBWUk7Q3hDNDZLUDs7QXdDeDdLRzs7RUx6RkE7Q25Dc2hMSDs7QXdDNzdLRzs7RUF1Qk07VUFBQTtDeEMyNktUOztBd0NuNktHOztFQUdJO0N4Q3E2S1A7O0F3Q3g2S0c7O0VBS2U7Q3hDdzZLbEI7O0F3Qzc2S0c7Ozs7RUFVSTtDeEMwNktQOztBd0NwN0tHOztFQWVNO1VBQUE7Q3hDMDZLVDs7QXVDbHpLRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtNQUFBO0VBQ0E7TUFBQTtNQUFBO0N2Q3F6S0Q7O0F1Q3h6S0Q7RUFTSTtDdkNtektIOztBMkJyZ0xHO0VZeU1KO0lBZU07SUFBQTtJQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7R3ZDa3pLSDs7RXVDcDBLSDtJQXVCTTtJQUFBO0lBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtRQUFBO1FBQUE7UUFBQTtJQUNBO1FBQUE7UUFBQTtJQUNBO0d2Q2l6S0g7O0V1QzUwS0g7SUFnQ007SUFDQTtJQUNBO0d2Q2d6S0g7O0V1Q2wxS0g7SUF1Q007R3ZDK3lLSDs7RXVDdDFLSDs7SUE0Q007R3ZDK3lLSDs7RXVDMzFLSDtJQWtETTtJQUFBO0lBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtJQUNBO0d2QzZ5S0g7O0V1Q24yS0g7SUF5RE07SUFDQTtJQUNBO0lBQ0E7R3ZDOHlLSDs7RXVDMTJLSDtJQWdFTTtRQUFBO1FBQUE7SUFDQTtRQUFBO1FBQUE7R3ZDOHlLSDs7RXVDLzJLSDtJQW9FTTtHdkMreUtIO0NBQ0Y7O0F5Q3BuTEQ7RUFDRTtFQUFBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtFQUNBO0N6Q3VuTEQ7O0F5Q3BuTEQ7RUFDRTtFQUNBO0N6Q3VuTEQ7O0FldG5MQzs7RTBCRUU7Q3pDeW5MSDs7QXlDOW5MRDtFQVVJO0N6Q3duTEg7O0F5Q2huTEQ7RUFDRTtDekNtbkxEOztBeUNwbkxEO0VBSUk7Q3pDb25MSDs7QXlDeG5MRDtFQVFJO0N6Q29uTEg7O0FlM29MQzs7RTBCMkJJO0N6Q3FuTEw7O0F5Q2pvTEQ7RUFnQk07RUFDQTtFQUNBO0N6Q3FuTEw7O0F5Q3ZvTEQ7O0VBd0JJO0VBQ0E7RUFDQTtDekNvbkxIOztBeUM5b0xEO0VBK0JJO0N6Q21uTEg7O0F5Q3htTEQ7O0VBT0k7RUFDQTtDekNzbUxIOztBeUM3bExEO0VBRUk7TUFBQTtNQUFBO0VBQ0E7Q3pDK2xMSDs7QXlDM2xMRDtFQUVJO01BQUE7RUFDQTtNQUFBO01BQUE7RUFDQTtDekM2bExIOztBeUNwbExEO0VBRUk7Q3pDc2xMSDs7QXlDeGxMRDtFQUtJO0N6Q3VsTEg7O0EwQ3BzTEQ7RUFDRTtFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO01BQUE7RUFDQTtDMUN1c0xEOztBMEM1c0xEOzs7RUFVSTtFQUNBO01BQUE7TUFBQTtFQUdBO0VBQ0E7QzFDc3NMSDs7QTBDcnRMRDs7Ozs7Ozs7O0VBb0JNO0MxQzZzTEw7O0EwQ2p1TEQ7OztFQTRCSTtDMUMyc0xIOztBMEN2dUxEO0VBaUNJO0MxQzBzTEg7O0EwQzN1TEQ7RUE2Q0k7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0MxQ2tzTEg7O0EwQ25yTEQ7O0VBRUU7RUFBQTtFQUFBO0MxQ3NyTEQ7O0EwQ3hyTEQ7O0VBUUk7RUFDQTtDMUNxckxIOztBMEM5ckxEOzs7Ozs7OztFQWdCSTtDMUN5ckxIOztBMENyckxEO0VBQXVCO0MxQ3lyTHRCOztBMEN4ckxEO0VBQXNCO0MxQzRyTHJCOztBMENwckxEO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDdXJMRDs7QTBDbnNMRDs7RUFrQkk7QzFDc3JMSDs7QTBDNXFMRDs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtDMUMrcUxEOztBMEMzcUxEOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0MxQzhxTEQ7O0EyQzl6TEQ7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDaTBMSDs7QTJDL3pMRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDazBMSDs7QTJDdjBMRDtFQVFRO0MzQ20wTFA7O0EyQzMwTEQ7RUFZUTtFQUNBO0MzQ20wTFA7O0EyQ2gwTEQ7O0VBTUk7VUFBQTtDM0NtMExIOztBMkNoMExEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQ20wTEg7O0EyQ3owTEQ7O0VBVVE7RUFDQTtDM0NvMExQOztBMkMvMExEO0VBZVE7QzNDbzBMUDs7QTJDajBMRztFQUNJO0MzQ28wTFA7O0EyQ2owTEQ7RUFDSTtFQUNBO0VBQ0E7RUFXQTtDM0MwekxIOztBQTd3QkQ7RTJDdGpLUTtDM0N1MExQOztBMkM1MExEO0VBUVE7QzNDdzBMUDs7QTJDaDFMRDtFQVdRO0MzQ3kwTFA7O0EyQ3AxTEQ7RUFpQlE7QzNDdTBMUDs7QTJDcDBMRztFQUNJO0MzQ3UwTFA7O0EyQ3AwTEc7RUFDSTtDM0N1MExQOztBMkNwMExHO0VBQ0k7RUFDQTtFQUNBO0MzQ3UwTFA7O0EyQ3AwTEQ7RUFDSTtDM0N1MExIOztBNEN4NkxEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QzI2TEE7O0E0Q2o3TEQ7RUFTRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QzVDNDZMRDs7QTRDdjZMRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0M1QzA2TEE7O0E0Q3Y2TEQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QzA2TEE7O0E0Qy82TEQ7OztFQU9pQjtDNUM4NkxoQjs7QTRDcjdMRDtFQVVFO0VBQ0E7RUFDQTtFQUNBO0M1Qys2TEQ7O0E2Q3g5TEQ7O0U3QzQ5TEU7O0E2Q3g5TEY7RUFDQztDN0MyOUxBOztBWTE5TEE7RWlDRUM7QzdDNDlMRDs7QTZDeDlMRDtFQUNDO0M3QzI5TEE7O0E2QzU5TEQ7O0VBS0U7QzdDNDlMRDs7QVl2K0xBO0VpQ2VDO0M3QzQ5TEQ7O0FZcitMQTs7O0VpQ2dCRTtDN0MyOUxGOztBNkN0OUxEO0VBQ0M7QzdDeTlMQTs7QTZDdDlMRDtFQUNDO0M3Q3k5TEE7O0FrQmx5TE87RTJCNUxSO0lBVUU7RzdDeTlMQzs7RTZDdDlMRjtJQUNDO0c3Q3k5TEM7Q0FDRjs7QTZDdDlMRDtFQUNDO0M3Q3k5TEE7O0FZdmdNQTtFaUNpREM7QzdDMDlMRDs7QTZDdDlMRDtFQUNDO0M3Q3k5TEE7O0E4Q3JoTUQ7Ozs7RTlDMmhNRTs7QWdDemhNRjtFY0tDO0VBQ0E7RUFDQTtFQUNBO0M5Q3doTUE7O0FrQnIwTE87RWMzTlI7SWNhRTtHOUN3aE1DO0NBQ0Y7O0FrQjMwTE87RWNqSFI7SWN2RkU7SUFDQTtHOUN3aE1DO0NBQ0Y7O0E4Q3JoTUQ7RUFDQztFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO0tBQUE7VUFBQTtFQUE2QjtDOUN5aE03Qjs7QThDdGhNRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDeWhNQTs7QThDdGhNRDtFQUNDO0VBQ0E7QzlDeWhNQTs7QThDM2hNRDs7O0VBS0U7QzlDNGhNRDs7QThDeGhNRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QzlDMGhNQTs7QWtCeDNMTztFNEIzS1I7SUFZRTtHOUM0aE1DO0NBQ0Y7O0ErQzNsTUQ7O0UvQytsTUU7O0ErQzNsTUY7RUFDQztDL0M4bE1BOztBK0MvbE1EOzs7RUFHRTtDL0NrbU1EOztBK0M5bE1EO0VBQ0M7RUFDQTtDL0NpbU1BOztBZ0Q5bU1EOzs7RWhEbW5NRTs7QWdEOW1NRjtFQUNDO0VBQ0E7Q2hEaW5NQTs7QVk1bU1BOzs7RW9DQ0U7Q2hEaW5NRjs7QWdENW1NRDtFQUNDO0NoRCttTUE7O0FnRDVtTUQ7RUFNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQTBCO0VBQzFCO01BQUE7TUFBQTtFQUNBO1VBQUE7Q2hEMm1NQTs7QWdEdm5NRDtFQUVFO0VBQ0E7RUFDQTtDaER5bk1EOztBZ0Q3bk1EO0VBY0U7Q2hEbW5NRDs7QWdEam9NRDtFQWdCRztDaERxbk1GOztBZ0Robk1EO0VBQ0M7Q2hEbW5NQTs7QWdEaG5NRDtFQUNDO0NoRG1uTUE7O0FnRGhuTUQ7RUFDQztFQUFBO0VBQUE7RUFDQTtNQUFBO01BQUE7RUFDQTtDaERtbk1BOztBZ0R0bk1EO0VBS0U7Q2hEcW5NRDs7QWdEMW5NRDtFQU9HO0NoRHVuTUY7O0FnRDluTUQ7RUFVRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaER3bk1GOztBZ0R4b01EO0VBbUJHO0VBQ0E7Q2hEeW5NRjs7QWdEN29NRDtFQXdCRTtDaER5bk1EOztBZ0Rybk1EO0VBQ0M7Q2hEd25NQTs7QWtCMytMTztFOEJ4TlI7SUFnRkU7R2hEd25NQzs7RWdEM3JNSDtJQXVFRTtHaER3bk1DO0NBQ0Y7O0FrQnIvTE87RThCOUlSO0lBZ0JFO0doRHduTUM7Q0FDRjs7QWtCMy9MTztFOEJ2TVI7SUErRUU7SUFBQTtJQUFBO0lBQTBCO0doRHluTXpCO0NBQ0Y7O0FrQmxnTU87RThCdk1SO0lBc0ZFO1lBQUE7R2hEd25NQzs7RWdEenJNSDtJQXFFRTtHaER3bk1DOztFZ0R6ck1IO0lBcUVFO0doRHduTUM7Q0FDRjs7QWlEN3VNRDs7RWpEaXZNRTs7QWlEN3VNRjtFQUNDO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7Q2pEZ3ZNQTs7QWlEcHZNRDtFQU1FO01BQUE7TUFBQTtFQUNBO0NqRGt2TUQ7O0FpRDl1TUQ7RUFDQztFQUNBO0VBQ0E7TUFBQTtFQUNBO0NqRGl2TUE7O0FpRDl1TUQ7O0VBRUM7RUFDQTtFQUNBO0NqRGl2TUE7O0FpRDl1TUQ7RUFDQztDakRpdk1BOztBaUQ5dU1EO0VBQ0M7Q2pEaXZNQTs7QWlEOXVNRDtFQUdHO0NqRCt1TUY7O0FpRGx2TUQ7RUFNRztDakRndk1GOztBa0I5ak1PO0UrQnpOUjtJQThDRTtHakQ4dU1DOztFaUQvdk1IO0lBcUJFO0dqRDh1TUM7Q0FDRjs7QWtEcnlNRDs7O0VsRDB5TUU7O0FZOXhNRDtFc0NKRTtFQUNBO0NsRHN5TUY7O0FrRGp5TUQ7RUFDQztDbERveU1BOztBa0RyeU1EO0VBR0U7RUFDQTtFQUNBO0VBQ0E7Q2xEc3lNRDs7QWtCN2xNTztFZ0MvTVI7SUFhRztHbERveU1BO0NBQ0Y7O0FrQm5tTU87RWdDL01SO0lBcUJFO0lBQ0E7WUFBQTtHbERreU1DO0NBQ0Y7O0FtRHYwTUQ7O0VuRDIwTUU7O0FtRHYwTUY7RUFDQztDbkQwME1BOztBWW4wTUE7RXVDSEU7Q25EMDBNRjs7QW1EcjBNRDtFQUNDO0VBQ0E7RUFDQTtDbkR3ME1BOztBWW4xTUE7RXVDY0M7Q25EeTBNRDs7QVl2MU1BO0V1Q2lCRTtFQUNBO0NuRDAwTUY7O0FZNTFNQTtFdUNzQkU7Q25EMDBNRjs7QVloMk1BO0V1Q3lCRztDbkQyME1IOztBWTkxTUE7RXVDMEJFO0NuRHcwTUY7O0FtRG4wTUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkRzME1BOztBWTUyTUE7RXVDeUNDO0VBQ0E7RUFDQTtDbkR1ME1EOztBa0JqcU1PO0VpQ3pOUjtJQTBERTtHbkRxME1DOztFbURyM01IO0lBb0RFO0duRHEwTUM7O0VtRDUxTUg7SUEyQkU7SUFDQTtJQUNBO0duRHEwTUM7Q0FDRjs7QW9EOTRNRDtFQUVFO0NwRGc1TUQ7O0FvRGw1TUQ7RUFNRTtDcERnNU1EOztBWWg1TUE7RXdDS0U7Q3BEKzRNRjs7QVlwNU1BO0V3Q1NFO0NwRCs0TUY7O0FvRDE0TUQ7RUFDQztDcEQ2NE1BOztBWTU1TUE7RXdDa0JDO0NwRDg0TUQ7O0FvRDE0TUQ7RUFDQztFQUNBO0NwRDY0TUE7O0FvRDE0TUQ7RUFDQztFQUNBO0NwRDY0TUE7O0FvRDE0TUQ7RUFDQztFQUNBO0NwRDY0TUE7O0FvRDE0TUQ7RUFDQztFQUNBO0NwRDY0TUE7O0FvRDE0TUQ7RUFDQztFQUNBO0NwRDY0TUE7O0FvRDE0TUQ7RUFDQztFQUNBO0VBQ0E7Q3BENjRNQTs7QVkvN01BO0V3Q3FEQztDcEQ4NE1EOztBWW44TUE7RXdDMkRDO0NwRDQ0TUQ7O0FrQmh2TU87RWtDdkpQO0lBQ0M7R3BEMjRNQztDQUNGOztBb0R4NE1EO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BEMjRNQTs7QW9EeDRNRDtFQUNDO0VBQ0E7RUFDQTtDcEQyNE1BOztBb0Q5NE1EO0VBTUU7Q3BENDRNRDs7QWtCMXdNTztFa0N4SVI7SUFhRTtHcEQwNE1DO0NBQ0Y7O0FZditNQTtFd0NrR0M7Q3BEeTRNRDs7QXFEai9NRDs7Ozs7O0VyRHkvTUU7O0F1Q3YvTUY7RWNPQztFQUNBO0VBQ0E7Q3JEby9NQTs7QXdDdC9NQztFYUlBO0VBQXVCO0NyRHUvTXhCOztBcURuL01EO0VBQ0M7RUFDQTtDckRzL01BOztBcURuL01EO0VBQ0M7TUFBQTtNQUFBO0NyRHMvTUE7O0FxRHYvTUQ7RUFHRTtDckR3L01EOztBa0Jwek1PO0VxQjNOUjtJYzZCRTtHckR1L01DOztFcURyZ05IO0lBa0JFO0dyRHUvTUM7Q0FDRjs7QWtCOXpNTztFcUJuRFI7SWNqSUU7R3JEdS9NQzs7RXFEeC9NRjtJQUdFO0lBQUE7SUFBQTtJQUNBO1FBQUE7UUFBQTtJQUNBO0lBQ0E7SUFDQTtZQUFBO0lBQWdEO0lBQ2hEO0dyRDAvTUE7Q0FDRjs7QXNEM2lORDs7RXREK2lORTs7QXNEM2lORjtFQUNDO0N0RDhpTkE7O0FzRDNpTkQ7RUFDQztFQUNBO0VBQ0E7Q3REOGlOQTs7QXNEM2lORDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3REOGlOQTs7QXNEdGpORDtFQVVFO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7TUFBQTtNQUFBO0N0RGdqTkQ7O0FzRG5rTkQ7RUFzQkU7RUFDQTtDdERpak5EOztBc0R4a05EO0VBMEJFO0N0RGtqTkQ7O0FzRDlpTkQ7RUFDQztFQUNBO0VBQ0E7Q3REaWpOQTs7QXNEcGpORDtFQUtFO0N0RG1qTkQ7O0FrQnY0TU87RW9Dek5SO0lBbURFO0d0RGtqTkM7O0VzRG5qTkY7SUFHRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUFBO0lBQ0E7R3REb2pOQTs7RXNEaGpORjtJQUNDO0lBQUE7SUFBQTtJQUNBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7R3REbWpOQzs7RXNEaGpORjtJQUVFO0d0RGtqTkE7O0VzRHBqTkY7SUFLRTtHdERtak5BO0NBQ0Y7O0FrQnY2TU87RW9Dek5SO0lBb0ZFO0d0RGlqTkM7O0VzRHJrTkY7SUF3QkM7SUFBQTtJQUFBO0lBQ0E7UUFBQTtJQUNBO0d0RGlqTkM7O0VzRHZvTkg7SUEwRkU7SUFDQTtHdERpak5DOztFc0R0b05IO0lBeUZFO0lBQ0E7R3REaWpOQztDQUNGOztBdUQxcE5EOztFdkQ4cE5FOztBdUQxcE5GO0VBQ0M7RUFDQTtFQUFBO0VBQUE7RUFDQTtNQUFBO01BQUE7RUFDQTtFQUNBO0N2RDZwTkE7O0F1RGxxTkQ7OztFQU9FO0VBQTJDO0VBQzNDO0VBQWtDO0VBQ2xDO0VBQTBCO0N2RG9xTjNCOztBdURocU5EO0VBQ0M7RUFDQTtDdkRtcU5BOztBdURocU5EO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkRtcU5BOztBdURocU5EOztFQUVDO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0N2RG1xTkE7O0F1RGhxTkQ7RUFDQztDdkRtcU5BOztBdURocU5EO0VBQ0M7Q3ZEbXFOQTs7QXVEaHFORDtFQUNDO0VBQ0E7S0FBQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQUE7Q3ZEbXFOQTs7QWtCdi9NTztFcUNoTFI7SUFTRTtHdkRtcU5DO0NBQ0Y7O0F1RGhxTkQ7RUFHRTtFQUNBO0N2RGlxTkQ7O0F1RHJxTkQ7O0VBU0U7RUFDQTtDdkRpcU5EOztBdUQzcU5EO0VBY0U7VUFBQTtDdkRpcU5EOztBdUQvcU5EO0VBa0JFO1VBQUE7Q3ZEaXFORDs7QXdEN3VORDs7Ozs7O0V4RHF2TkU7O0F3RDd1TkY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hEZ3ZOQTs7QXdEenZORDtFQVdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RGt2TkQ7O0F3RHJ3TkQ7RUFzQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtDeERtdk5EOztBd0QvdU5EO0VBQ0M7RUFDQTtDeERrdk5BOztBd0QvdU5EO0VBQ0M7Q3hEa3ZOQTs7QXdEL3VORDtFQUNDO0VBQ0E7RUFBb0I7RUFDcEI7RUFBYTtFQUNiO0N4RG92TkE7O0F3RGp2TkQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUFBO0N4RG92TkE7O0F3RGp2TkQ7RUFDQztFQUNBO0VBQ0E7Q3hEb3ZOQTs7QXdEanZORDs7RUFFQztDeERvdk5BOztBd0R0dk5EOzs7O0VBS0U7Q3hEd3ZORDs7QXdEcHZORDs7RUFFQztFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO01BQUE7TUFBQTtDeER1dk5BOztBd0Rwdk5EOztFQUVDO0VBQWU7Q3hEd3ZOZjs7QXdEcnZORDtFQUNDO0VBQ0E7TUFBQTtNQUFBO0N4RHd2TkE7O0F3RDF2TkQ7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0N4RDB2TkQ7O0FZbjFOQTtFNEM4RkU7RUFDQTtDeER5dk5GOztBd0Rwdk5EO0VBQ0M7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7TUFBQTtNQUFBO0VBQ0E7RUFDQTtDeER1dk5BOztBd0Rudk5EO0VBQ0M7Q3hEc3ZOQTs7QXdEbHZORDtFQUVFO0N4RG92TkQ7O0F5QzMyTkQ7RWU0SEM7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO0N4RG12TkE7O0F3RGh2TkQ7RUFDQztDeERtdk5BOztBd0Rodk5EO0VBQ0M7Q3hEbXZOQTs7QXdEL3pORDtFQWlGQztFQUNBO0N4RGt2TkE7O0F3RHB2TkQ7RUFLRTtFQUNBO0N4RG12TkQ7O0F3RHp2TkQ7RUFVRTtDeERtdk5EOztBa0Jsck5PO0VzQzFEUDtJQUNDO0lBQ0E7R3hEZ3ZOQzs7RXdEOXVORjtJQUNDO1FBQUE7UUFBQTtHeERpdk5DO0NBQ0Y7O0FrQjdyTk87RXNDOUNQO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFBQTtJQUNBO0lBQUE7SUFBQTtJQUNBO0lBQ0E7SUFDQTtHeEQrdU5DOztFd0Q1dU5GO0lBQ0M7SUFDQTtHeEQrdU5DOztFd0Q1dU5GO0lBQ0M7R3hEK3VOQzs7RXdEM3VORjtJQUNDO0d4RDh1TkM7O0V3RDN1TkY7SUFDQztJQUNBO0lBQ0E7SUFDQTtHeEQ4dU5DOztFd0QzdU5GO0lBQ0M7SUFDQTtJQUNBO1FBQUE7UUFBQTtRQUFBO0lBQ0E7UUFBQTtRQUFBO0d4RDh1TkM7O0V3RDN1TkY7O0d4RCt1TkU7O0V3RDN1TkY7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0d4RDh1TkM7Q0FDRjs7QWtCcHZOTztFc0M5Q1A7SUF5REM7R3hEOHVOQztDQUNGOztBa0Ixdk5PO0VzQzlDUDtJQStEQztHeEQ4dU5DOztFd0Qxd05GO0lBZ0NDO0d4RDh1TkM7Q0FDRjs7QWtCcHdOTztFc0NsQlA7SUE2Q0M7R3hEOHVOQzs7RXdEdnpORjtJQTZFQztHeEQ4dU5DOztFd0R4eE5GO0lBOENDO0d4RDh1TkM7Q0FDRjs7QWtCbHhOTztFc0N3Q1A7SUFDQztHeEQ4dU5DO0NBQ0Y7O0FrQnh4Tk87RXNDbEtSO0lBb05FO0d4RDJ1TkM7O0V3RG4xTkY7SUE0R0M7R3hEMnVOQzs7RXdEaDZOSDtJQTBMRztJQUNBO0d4RDB1TkE7O0VZdi9ORjtJNENpUkc7SUFDQTtHeEQwdU5EOztFd0R0OE5IO0lBbU9FO0lBQ0E7R3hEdXVOQzs7RXdEMzNOSDtJQXdKSTtJQUNBO0d4RHV1TkQ7O0V3RGg0Tkg7SUE4Skc7R3hEc3VOQTtDQUNGOztBa0Ixek5PO0VzQ3BGUjtJQThLRTtHeERxdU5DOztFd0RsdU5GOztJQUVDO0d4RHF1TkM7O0V3RGwzTkY7SUFpSkM7SUFBQTtJQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7R3hEcXVOQzs7RXdENTFORjtJQTJIQztRQUFBO1FBQUE7SUFDQTtJQUFBO0lBQUE7SUFDQTtRQUFBO1FBQUE7SUFDQTtJQUNBO0d4RHF1TkM7O0V3RDcxTkY7SUE0SEM7R3hEcXVOQzs7RXdEbjhOSDtJQWtPRTtRQUFBO1FBQUE7R3hEcXVOQztDQUNGOztBeUR4ak9EOztFekQ0ak9FOztBeUR4ak9GO0VBQ0M7RUFDQTtDekQyak9BOztBeUR4ak9EO0VBQ0M7RUFDQTtDekQyak9BOztBeUR4ak9EO0VBQ0M7RUFDQTtDekQyak9BOztBeUR4ak9EO0VBQ0M7RUFDQTtDekQyak9BOztBeUR4ak9EO0VBQ0M7RUFDQTtDekQyak9BOztBeUR4ak9EO0VBQ0M7RUFDQTtDekQyak9BOztBMEQxbE9EOztFMUQ4bE9FOztBMEQxbE9GO0VBQ0M7RUFDQTtFQUNBO0MxRDZsT0E7O0EwRGhtT0Q7RUFLRTtDMUQrbE9EOztBMERwbU9EO0VBT0c7RUFDQTtFQUNBO0VBQ0E7QzFEaW1PRjs7QTBEM21PRDtFQWFHO0MxRGttT0Y7O0FrQnQ1Tk87RXdDek5SO0lBb0JFO0lBQ0E7SUFBQTtJQUFBO0lBQ0E7UUFBQTtRQUFBO0lBQ0E7UUFBQTtHMURnbU9DOztFMER2bk9IO0lBeUJHO0cxRGttT0E7O0UwRDNuT0g7SUEyQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0cxRG9tT0Q7O0VZbG9PRjtJOENpQ0k7RzFEcW1PRjs7RTBEcm5PRjtJQW9CRztHMURxbU9EO0NBQ0Y7O0EyRGpwT0Q7O0UzRHFwT0U7O0EyRGpwT0Y7RUFFQztDM0RtcE9BOztBd0QzaE9rQjtFR3BIbEI7QzNEbXBPQTs7QTJEcHBPRDtFQUdFO0MzRHFwT0Q7O0EyRHhwT0Q7RUFNRTtFQUFlO0MzRHVwT2hCOztBMkQ3cE9EO0VBU0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEd3BPRDs7QTJEdnFPRDtFQWtCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFlO0MzRDBwT2hCOztBMkR0cE9EO0VBQ0M7RUFDQTtDM0R5cE9BOztBMkR0cE9EO0VBQ0M7RXBEMUJBO0NQb3JPQTs7QU9uck9BOzs7RUFDQztDUHdyT0Q7O0EyRDVwT0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QzNEK3BPQTs7QTJEMXFPRDtFQWFFO0MzRGlxT0Q7O0EyRDlxT0Q7RUFnQkU7RUFDQTtFQUNBO0MzRGtxT0Q7O0EyRDlwT0Q7O0VBRUM7RUFDQTtFQUNBO0MzRGlxT0E7O0EyRHJxT0Q7O0VBTUU7VUFBQTtDM0RvcU9EOztBMkQxcU9EOztFQVNFO0MzRHNxT0Q7O0EyRC9xT0Q7O0VBWUU7QzNEd3FPRDs7QWtCL2hPTztFeUMzS1I7SUF3Q0U7RzNEdXFPQztDQUNGOztBMkRqcU9EOzs7O0UzRHVxT0U7O0FrQjNpT007RXlDckhQO0lBQ0M7RzNEb3FPQzs7RTJEcnFPRjtJQUdFO0lBQ0E7SUFDQTtJQUNBO0czRHNxT0E7O0UyRDVxT0Y7SUFTRTtHM0R1cU9BOztFMkRock9GO0lBWUU7SUFDQTtZQUFBO0lBQ0E7SUFDQTtHM0R3cU9BOztFMkR2ck9GO0lBaUJHO0czRDBxT0Q7O0UyRDNyT0Y7SUFvQkc7RzNEMnFPRDs7RTJEL3JPRjs7SUF3Qkc7SUFDQTtHM0Q0cU9EOztFMkRyc09GOztJQTZCRztHM0Q2cU9EO0NBQ0Y7O0FrQnRsT087RXlDckhQO0lBc0NFO0czRDBxT0E7Q0FDRjs7QTREenpPRDs7RTVENnpPRTs7QTREenpPRjtFQUNDO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtNQUFBO0M1RDR6T0E7O0FZNXpPQTtFZ0RJRTtDNUQ0ek9GOztBNER2ek9EO0VBQ0M7RUFDQTtDNUQwek9BOztBNER2ek9EO0VBRUU7QzVEeXpPRDs7QWtCbG5PTztFMEN6TlI7SUF3QkU7SUFBQTtJQUFBO0lBQ0E7UUFBQTtRQUFBO1FBQUE7RzVEd3pPQzs7RTREdDBPSDtJQWtCRTtHNUR3ek9DO0NBQ0Y7O0E0RHB6T0Q7RUFFRTtFQUNBO0M1RHN6T0Q7O0E2RC8xT0Q7Ozs7RTdEcTJPRTs7QTZELzFPRjtFQUNDO0VBQ0E7QzdEazJPQTs7QTZEcDJPRDtFQUlFO0VBQWU7QzdEcTJPaEI7O0E2RHoyT0Q7RUFPRTtFQUNBO0VBQ0E7QzdEczJPRDs7QTZEbDJPRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0M3RHEyT0E7O0E2RGwyT0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtDN0RxMk9BOztBNkRsMk9EO0VBQ0M7RUFDQTtDN0RxMk9BOztBNkRsMk9EO0VBQ0M7RUFDQTtDN0RxMk9BOztBOEQ3NE9EOztFOURpNU9FOztBOEQ3NE9GO0VBQ0M7RUFDQTtDOURnNU9BOztBOERsNU9EO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOURpNU9EOztBWTM1T0E7RWtEZUU7QzlEZzVPRjs7QThEMzRPRDtFQUNDO0VBQ0E7QzlEODRPQTs7QThEaDVPRDtFQUtFO0M5RCs0T0Q7O0E4RHA1T0Q7RUFTRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEKzRPRDs7QVlwN09BO0VrRDBDRTtDOUQ4NE9GOztBOERwNk9EO0VBMkJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7QzlENjRPRDs7QWtCM3VPTztFNEN6TlI7SUE4REc7RzlEMjRPQTs7RThEdjRPRjtJQUVFO0c5RHk0T0E7O0U4RHA0T0Y7SUFFRTtZQUFBO0c5RHM0T0E7Q0FDRjs7QStEdDlPRDtFQUNDO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtNQUFBO0VBQ0E7TUFBQTtNQUFBO0MvRHk5T0E7O0ErRHQ5T0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtDL0R5OU9BOztBWTc5T0E7RW1ET0M7Qy9EMDlPRDs7QStEaitPRDtFQVdFO0VBQ0E7RUFDQTtDL0QwOU9EOztBK0R0OU9EO0VBQ0M7Qy9EeTlPQTs7QVkzK09BOztFbUR1QkU7Qy9EeTlPRjs7QWtCenhPTztFNkM3TlI7SUFxQ0U7UUFBQTtRQUFBO1FBQUE7SUFDQTtRQUFBO1FBQUE7Ry9EczlPQzs7RStEcitPSDtJQW1CRTtRQUFBO1FBQUE7SUFDQTtJQUNBO0cvRHM5T0M7Q0FDRjs7QWdFbmdQRDs7Ozs7Ozs7Ozs7Ozs7OztFaEVxaFBFOztBZ0VuZ1BGO0VBQ0M7RUFBaUI7RUFDakI7Q2hFdWdQQTs7QWdFcGdQRDtFQUNDO0VBQWlCO0NoRXdnUGpCOztBZ0VyZ1BEO0VBQ0M7Q2hFd2dQQTs7QWdFcmdQRDtFQUNDO0VBQWlCO0NoRXlnUGpCOztBZ0V0Z1BEO0VBQ0M7RUFBaUI7Q2hFMGdQakI7O0FnRXZnUEQ7RUFDQztDaEUwZ1BBOztBZ0V2Z1BEO0VBQ0M7RUFBaUI7Q2hFMmdQakI7O0FrQjExT087RThDM01SO0lBK0JFO0doRTJnUEM7O0VnRXJpUEg7SUE4QkU7R2hFMmdQQzs7RWdFamlQSDtJQTBCRTtHaEUyZ1BDOztFZ0VqaVBIO0lBMEJFO0doRTJnUEM7O0VnRTdoUEg7SUFzQkU7R2hFMmdQQztDQUNGOztBZ0V2Z1BEO0VBQ0M7Q2hFMGdQQTs7QWdFdGdQRDtFQUNDO0NoRXlnUEE7O0FnRXRnUEQ7RUFDQztDaEV5Z1BBOztBWW5sUEE7RW9EK0VDO0NoRXdnUEQ7O0FZdmxQQTtFb0RxRkM7Q2hFc2dQRDs7QVkzbFBBO0VvRHdGRTtDaEV1Z1BGOztBZ0VsZ1BEO0VBQ0M7Q2hFcWdQQTs7QWlFem1QRDs7OztFakUrbVBFOztBaUV6bVBGO0VBQ0M7RUFDQTtFQUNBO0NqRTRtUEE7O0FpRS9tUEQ7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRThtUEQ7O0FrQmg2T087RStDdk5SO0lBZUU7R2pFNm1QQztDQUNGOztBNkI3blBHO0VBQTJCO0M3QmlvUDlCOztBNkJob1BHO0VBQTJCO0M3Qm9vUDlCOztBNkJub1BHO0VBQTJCO0M3QnVvUDlCOztBNkJ0b1BHO0VBQTJCO0M3QjBvUDlCOztBNkJ6b1BHO0VBQTJCO0M3QjZvUDlCOztBNkI1b1BHO0VBQTJCO0M3QmdwUDlCOztBNkIvb1BHO0VBQTJCO0M3Qm1wUDlCOztBNkJscFBHO0VBQTJCO0VBQUE7RUFBQTtDN0JzcFA5Qjs7QTZCcnBQRztFQUEyQjtFQUFBO0VBQUE7QzdCeXBQOUI7O0EyQi9tUEc7RUVsREE7SUFBMkI7RzdCc3FQNUI7O0U2QnJxUEM7SUFBMkI7RzdCeXFQNUI7O0U2QnhxUEM7SUFBMkI7RzdCNHFQNUI7O0U2QjNxUEM7SUFBMkI7RzdCK3FQNUI7O0U2QjlxUEM7SUFBMkI7RzdCa3JQNUI7O0U2QmpyUEM7SUFBMkI7RzdCcXJQNUI7O0U2QnByUEM7SUFBMkI7RzdCd3JQNUI7O0U2QnZyUEM7SUFBMkI7SUFBQTtJQUFBO0c3QjJyUDVCOztFNkIxclBDO0lBQTJCO0lBQUE7SUFBQTtHN0I4clA1QjtDQUNGOztBMkJycFBHO0VFbERBO0lBQTJCO0c3QjRzUDVCOztFNkIzc1BDO0lBQTJCO0c3QitzUDVCOztFNkI5c1BDO0lBQTJCO0c3Qmt0UDVCOztFNkJqdFBDO0lBQTJCO0c3QnF0UDVCOztFNkJwdFBDO0lBQTJCO0c3Qnd0UDVCOztFNkJ2dFBDO0lBQTJCO0c3QjJ0UDVCOztFNkIxdFBDO0lBQTJCO0c3Qjh0UDVCOztFNkI3dFBDO0lBQTJCO0lBQUE7SUFBQTtHN0JpdVA1Qjs7RTZCaHVQQztJQUEyQjtJQUFBO0lBQUE7RzdCb3VQNUI7Q0FDRjs7QTJCM3JQRztFRWxEQTtJQUEyQjtHN0JrdlA1Qjs7RTZCanZQQztJQUEyQjtHN0JxdlA1Qjs7RTZCcHZQQztJQUEyQjtHN0J3dlA1Qjs7RTZCdnZQQztJQUEyQjtHN0IydlA1Qjs7RTZCMXZQQztJQUEyQjtHN0I4dlA1Qjs7RTZCN3ZQQztJQUEyQjtHN0Jpd1A1Qjs7RTZCaHdQQztJQUEyQjtHN0Jvd1A1Qjs7RTZCbndQQztJQUEyQjtJQUFBO0lBQUE7RzdCdXdQNUI7O0U2QnR3UEM7SUFBMkI7SUFBQTtJQUFBO0c3QjB3UDVCO0NBQ0Y7O0EyQmp1UEc7RUVsREE7SUFBMkI7RzdCd3hQNUI7O0U2QnZ4UEM7SUFBMkI7RzdCMnhQNUI7O0U2QjF4UEM7SUFBMkI7RzdCOHhQNUI7O0U2Qjd4UEM7SUFBMkI7RzdCaXlQNUI7O0U2Qmh5UEM7SUFBMkI7RzdCb3lQNUI7O0U2Qm55UEM7SUFBMkI7RzdCdXlQNUI7O0U2QnR5UEM7SUFBMkI7RzdCMHlQNUI7O0U2Qnp5UEM7SUFBMkI7SUFBQTtJQUFBO0c3QjZ5UDVCOztFNkI1eVBDO0lBQTJCO0lBQUE7SUFBQTtHN0JnelA1QjtDQUNGOztBMkJ2d1BHO0VFbERBO0lBQTJCO0c3Qjh6UDVCOztFNkI3elBDO0lBQTJCO0c3QmkwUDVCOztFNkJoMFBDO0lBQTJCO0c3Qm8wUDVCOztFNkJuMFBDO0lBQTJCO0c3QnUwUDVCOztFNkJ0MFBDO0lBQTJCO0c3QjAwUDVCOztFNkJ6MFBDO0lBQTJCO0c3QjYwUDVCOztFNkI1MFBDO0lBQTJCO0c3QmcxUDVCOztFNkIvMFBDO0lBQTJCO0lBQUE7SUFBQTtHN0JtMVA1Qjs7RTZCbDFQQztJQUEyQjtJQUFBO0lBQUE7RzdCczFQNUI7Q0FDRjs7QTZCOTBQRDtFQUNFO0lBQXdCO0c3QmsxUHZCOztFNkJqMVBEO0lBQXdCO0c3QnExUHZCOztFNkJwMVBEO0lBQXdCO0c3QncxUHZCOztFNkJ2MVBEO0lBQXdCO0c3QjIxUHZCOztFNkIxMVBEO0lBQXdCO0c3QjgxUHZCOztFNkI3MVBEO0lBQXdCO0c3QmkyUHZCOztFNkJoMlBEO0lBQXdCO0c3Qm8yUHZCOztFNkJuMlBEO0lBQXdCO0lBQUE7SUFBQTtHN0J1MlB2Qjs7RTZCdDJQRDtJQUF3QjtJQUFBO0lBQUE7RzdCMDJQdkI7Q0FDRjs7QWtFcDRQTztFQUFnQztDbEV3NFB2Qzs7QWtFdjRQTzs7RUFFRTtDbEUwNFBUOztBa0V4NFBPOztFQUVFO0NsRTI0UFQ7O0FrRXo0UE87O0VBRUU7Q2xFNDRQVDs7QWtFMTRQTzs7RUFFRTtDbEU2NFBUOztBa0U1NVBPO0VBQWdDO0NsRWc2UHZDOztBa0UvNVBPOztFQUVFO0NsRWs2UFQ7O0FrRWg2UE87O0VBRUU7Q2xFbTZQVDs7QWtFajZQTzs7RUFFRTtDbEVvNlBUOztBa0VsNlBPOztFQUVFO0NsRXE2UFQ7O0FrRXA3UE87RUFBZ0M7Q2xFdzdQdkM7O0FrRXY3UE87O0VBRUU7Q2xFMDdQVDs7QWtFeDdQTzs7RUFFRTtDbEUyN1BUOztBa0V6N1BPOztFQUVFO0NsRTQ3UFQ7O0FrRTE3UE87O0VBRUU7Q2xFNjdQVDs7QWtFNThQTztFQUFnQztDbEVnOVB2Qzs7QWtFLzhQTzs7RUFFRTtDbEVrOVBUOztBa0VoOVBPOztFQUVFO0NsRW05UFQ7O0FrRWo5UE87O0VBRUU7Q2xFbzlQVDs7QWtFbDlQTzs7RUFFRTtDbEVxOVBUOztBa0VwK1BPO0VBQWdDO0NsRXcrUHZDOztBa0V2K1BPOztFQUVFO0NsRTArUFQ7O0FrRXgrUE87O0VBRUU7Q2xFMitQVDs7QWtFeitQTzs7RUFFRTtDbEU0K1BUOztBa0UxK1BPOztFQUVFO0NsRTYrUFQ7O0FrRTUvUE87RUFBZ0M7Q2xFZ2dRdkM7O0FrRS8vUE87O0VBRUU7Q2xFa2dRVDs7QWtFaGdRTzs7RUFFRTtDbEVtZ1FUOztBa0VqZ1FPOztFQUVFO0NsRW9nUVQ7O0FrRWxnUU87O0VBRUU7Q2xFcWdRVDs7QWtFcGhRTztFQUFnQztDbEV3aFF2Qzs7QWtFdmhRTzs7RUFFRTtDbEUwaFFUOztBa0V4aFFPOztFQUVFO0NsRTJoUVQ7O0FrRXpoUU87O0VBRUU7Q2xFNGhRVDs7QWtFMWhRTzs7RUFFRTtDbEU2aFFUOztBa0U1aVFPO0VBQWdDO0NsRWdqUXZDOztBa0UvaVFPOztFQUVFO0NsRWtqUVQ7O0FrRWhqUU87O0VBRUU7Q2xFbWpRVDs7QWtFampRTzs7RUFFRTtDbEVvalFUOztBa0VsalFPOztFQUVFO0NsRXFqUVQ7O0FrRXBrUU87RUFBZ0M7Q2xFd2tRdkM7O0FrRXZrUU87O0VBRUU7Q2xFMGtRVDs7QWtFeGtRTzs7RUFFRTtDbEUya1FUOztBa0V6a1FPOztFQUVFO0NsRTRrUVQ7O0FrRTFrUU87O0VBRUU7Q2xFNmtRVDs7QWtFNWxRTztFQUFnQztDbEVnbVF2Qzs7QWtFL2xRTzs7RUFFRTtDbEVrbVFUOztBa0VobVFPOztFQUVFO0NsRW1tUVQ7O0FrRWptUU87O0VBRUU7Q2xFb21RVDs7QWtFbG1RTzs7RUFFRTtDbEVxbVFUOztBa0VwblFPO0VBQWdDO0NsRXduUXZDOztBa0V2blFPOztFQUVFO0NsRTBuUVQ7O0FrRXhuUU87O0VBRUU7Q2xFMm5RVDs7QWtFem5RTzs7RUFFRTtDbEU0blFUOztBa0UxblFPOztFQUVFO0NsRTZuUVQ7O0FrRTVvUU87RUFBZ0M7Q2xFZ3BRdkM7O0FrRS9vUU87O0VBRUU7Q2xFa3BRVDs7QWtFaHBRTzs7RUFFRTtDbEVtcFFUOztBa0VqcFFPOztFQUVFO0NsRW9wUVQ7O0FrRWxwUU87O0VBRUU7Q2xFcXBRVDs7QWtFcHFRTztFQUFnQztDbEV3cVF2Qzs7QWtFdnFRTzs7RUFFRTtDbEUwcVFUOztBa0V4cVFPOztFQUVFO0NsRTJxUVQ7O0FrRXpxUU87O0VBRUU7Q2xFNHFRVDs7QWtFMXFRTzs7RUFFRTtDbEU2cVFUOztBa0U1clFPO0VBQWdDO0NsRWdzUXZDOztBa0UvclFPOztFQUVFO0NsRWtzUVQ7O0FrRWhzUU87O0VBRUU7Q2xFbXNRVDs7QWtFanNRTzs7RUFFRTtDbEVvc1FUOztBa0Vsc1FPOztFQUVFO0NsRXFzUVQ7O0FrRXB0UU87RUFBZ0M7Q2xFd3RRdkM7O0FrRXZ0UU87O0VBRUU7Q2xFMHRRVDs7QWtFeHRRTzs7RUFFRTtDbEUydFFUOztBa0V6dFFPOztFQUVFO0NsRTR0UVQ7O0FrRTF0UU87O0VBRUU7Q2xFNnRRVDs7QWtFNXVRTztFQUFnQztDbEVndlF2Qzs7QWtFL3VRTzs7RUFFRTtDbEVrdlFUOztBa0VodlFPOztFQUVFO0NsRW12UVQ7O0FrRWp2UU87O0VBRUU7Q2xFb3ZRVDs7QWtFbHZRTzs7RUFFRTtDbEVxdlFUOztBa0UvdVFHO0VBQW1CO0NsRW12UXRCOztBa0VsdlFHOztFQUVFO0NsRXF2UUw7O0FrRW52UUc7O0VBRUU7Q2xFc3ZRTDs7QWtFcHZRRzs7RUFFRTtDbEV1dlFMOztBa0VydlFHOztFQUVFO0NsRXd2UUw7O0EyQjN1UUc7RXVDakRJO0lBQWdDO0dsRWl5UXJDOztFa0VoeVFLOztJQUVFO0dsRW15UVA7O0VrRWp5UUs7O0lBRUU7R2xFb3lRUDs7RWtFbHlRSzs7SUFFRTtHbEVxeVFQOztFa0VueVFLOztJQUVFO0dsRXN5UVA7O0VrRXJ6UUs7SUFBZ0M7R2xFeXpRckM7O0VrRXh6UUs7O0lBRUU7R2xFMnpRUDs7RWtFenpRSzs7SUFFRTtHbEU0elFQOztFa0UxelFLOztJQUVFO0dsRTZ6UVA7O0VrRTN6UUs7O0lBRUU7R2xFOHpRUDs7RWtFNzBRSztJQUFnQztHbEVpMVFyQzs7RWtFaDFRSzs7SUFFRTtHbEVtMVFQOztFa0VqMVFLOztJQUVFO0dsRW8xUVA7O0VrRWwxUUs7O0lBRUU7R2xFcTFRUDs7RWtFbjFRSzs7SUFFRTtHbEVzMVFQOztFa0VyMlFLO0lBQWdDO0dsRXkyUXJDOztFa0V4MlFLOztJQUVFO0dsRTIyUVA7O0VrRXoyUUs7O0lBRUU7R2xFNDJRUDs7RWtFMTJRSzs7SUFFRTtHbEU2MlFQOztFa0UzMlFLOztJQUVFO0dsRTgyUVA7O0VrRTczUUs7SUFBZ0M7R2xFaTRRckM7O0VrRWg0UUs7O0lBRUU7R2xFbTRRUDs7RWtFajRRSzs7SUFFRTtHbEVvNFFQOztFa0VsNFFLOztJQUVFO0dsRXE0UVA7O0VrRW40UUs7O0lBRUU7R2xFczRRUDs7RWtFcjVRSztJQUFnQztHbEV5NVFyQzs7RWtFeDVRSzs7SUFFRTtHbEUyNVFQOztFa0V6NVFLOztJQUVFO0dsRTQ1UVA7O0VrRTE1UUs7O0lBRUU7R2xFNjVRUDs7RWtFMzVRSzs7SUFFRTtHbEU4NVFQOztFa0U3NlFLO0lBQWdDO0dsRWk3UXJDOztFa0VoN1FLOztJQUVFO0dsRW03UVA7O0VrRWo3UUs7O0lBRUU7R2xFbzdRUDs7RWtFbDdRSzs7SUFFRTtHbEVxN1FQOztFa0VuN1FLOztJQUVFO0dsRXM3UVA7O0VrRXI4UUs7SUFBZ0M7R2xFeThRckM7O0VrRXg4UUs7O0lBRUU7R2xFMjhRUDs7RWtFejhRSzs7SUFFRTtHbEU0OFFQOztFa0UxOFFLOztJQUVFO0dsRTY4UVA7O0VrRTM4UUs7O0lBRUU7R2xFODhRUDs7RWtFNzlRSztJQUFnQztHbEVpK1FyQzs7RWtFaCtRSzs7SUFFRTtHbEVtK1FQOztFa0VqK1FLOztJQUVFO0dsRW8rUVA7O0VrRWwrUUs7O0lBRUU7R2xFcStRUDs7RWtFbitRSzs7SUFFRTtHbEVzK1FQOztFa0VyL1FLO0lBQWdDO0dsRXkvUXJDOztFa0V4L1FLOztJQUVFO0dsRTIvUVA7O0VrRXovUUs7O0lBRUU7R2xFNC9RUDs7RWtFMS9RSzs7SUFFRTtHbEU2L1FQOztFa0UzL1FLOztJQUVFO0dsRTgvUVA7O0VrRTdnUks7SUFBZ0M7R2xFaWhSckM7O0VrRWhoUks7O0lBRUU7R2xFbWhSUDs7RWtFamhSSzs7SUFFRTtHbEVvaFJQOztFa0VsaFJLOztJQUVFO0dsRXFoUlA7O0VrRW5oUks7O0lBRUU7R2xFc2hSUDs7RWtFcmlSSztJQUFnQztHbEV5aVJyQzs7RWtFeGlSSzs7SUFFRTtHbEUyaVJQOztFa0V6aVJLOztJQUVFO0dsRTRpUlA7O0VrRTFpUks7O0lBRUU7R2xFNmlSUDs7RWtFM2lSSzs7SUFFRTtHbEU4aVJQOztFa0U3alJLO0lBQWdDO0dsRWlrUnJDOztFa0Voa1JLOztJQUVFO0dsRW1rUlA7O0VrRWprUks7O0lBRUU7R2xFb2tSUDs7RWtFbGtSSzs7SUFFRTtHbEVxa1JQOztFa0Vua1JLOztJQUVFO0dsRXNrUlA7O0VrRXJsUks7SUFBZ0M7R2xFeWxSckM7O0VrRXhsUks7O0lBRUU7R2xFMmxSUDs7RWtFemxSSzs7SUFFRTtHbEU0bFJQOztFa0UxbFJLOztJQUVFO0dsRTZsUlA7O0VrRTNsUks7O0lBRUU7R2xFOGxSUDs7RWtFN21SSztJQUFnQztHbEVpblJyQzs7RWtFaG5SSzs7SUFFRTtHbEVtblJQOztFa0VqblJLOztJQUVFO0dsRW9uUlA7O0VrRWxuUks7O0lBRUU7R2xFcW5SUDs7RWtFbm5SSzs7SUFFRTtHbEVzblJQOztFa0Vyb1JLO0lBQWdDO0dsRXlvUnJDOztFa0V4b1JLOztJQUVFO0dsRTJvUlA7O0VrRXpvUks7O0lBRUU7R2xFNG9SUDs7RWtFMW9SSzs7SUFFRTtHbEU2b1JQOztFa0Uzb1JLOztJQUVFO0dsRThvUlA7O0VrRXhvUkM7SUFBbUI7R2xFNG9ScEI7O0VrRTNvUkM7O0lBRUU7R2xFOG9SSDs7RWtFNW9SQzs7SUFFRTtHbEUrb1JIOztFa0U3b1JDOztJQUVFO0dsRWdwUkg7O0VrRTlvUkM7O0lBRUU7R2xFaXBSSDtDQUNGOztBMkJyb1JHO0V1Q2pESTtJQUFnQztHbEUyclJyQzs7RWtFMXJSSzs7SUFFRTtHbEU2clJQOztFa0UzclJLOztJQUVFO0dsRThyUlA7O0VrRTVyUks7O0lBRUU7R2xFK3JSUDs7RWtFN3JSSzs7SUFFRTtHbEVnc1JQOztFa0Uvc1JLO0lBQWdDO0dsRW10UnJDOztFa0VsdFJLOztJQUVFO0dsRXF0UlA7O0VrRW50Uks7O0lBRUU7R2xFc3RSUDs7RWtFcHRSSzs7SUFFRTtHbEV1dFJQOztFa0VydFJLOztJQUVFO0dsRXd0UlA7O0VrRXZ1Uks7SUFBZ0M7R2xFMnVSckM7O0VrRTF1Uks7O0lBRUU7R2xFNnVSUDs7RWtFM3VSSzs7SUFFRTtHbEU4dVJQOztFa0U1dVJLOztJQUVFO0dsRSt1UlA7O0VrRTd1Uks7O0lBRUU7R2xFZ3ZSUDs7RWtFL3ZSSztJQUFnQztHbEVtd1JyQzs7RWtFbHdSSzs7SUFFRTtHbEVxd1JQOztFa0Vud1JLOztJQUVFO0dsRXN3UlA7O0VrRXB3Uks7O0lBRUU7R2xFdXdSUDs7RWtFcndSSzs7SUFFRTtHbEV3d1JQOztFa0V2eFJLO0lBQWdDO0dsRTJ4UnJDOztFa0UxeFJLOztJQUVFO0dsRTZ4UlA7O0VrRTN4Uks7O0lBRUU7R2xFOHhSUDs7RWtFNXhSSzs7SUFFRTtHbEUreFJQOztFa0U3eFJLOztJQUVFO0dsRWd5UlA7O0VrRS95Uks7SUFBZ0M7R2xFbXpSckM7O0VrRWx6Uks7O0lBRUU7R2xFcXpSUDs7RWtFbnpSSzs7SUFFRTtHbEVzelJQOztFa0VwelJLOztJQUVFO0dsRXV6UlA7O0VrRXJ6Uks7O0lBRUU7R2xFd3pSUDs7RWtFdjBSSztJQUFnQztHbEUyMFJyQzs7RWtFMTBSSzs7SUFFRTtHbEU2MFJQOztFa0UzMFJLOztJQUVFO0dsRTgwUlA7O0VrRTUwUks7O0lBRUU7R2xFKzBSUDs7RWtFNzBSSzs7SUFFRTtHbEVnMVJQOztFa0UvMVJLO0lBQWdDO0dsRW0yUnJDOztFa0VsMlJLOztJQUVFO0dsRXEyUlA7O0VrRW4yUks7O0lBRUU7R2xFczJSUDs7RWtFcDJSSzs7SUFFRTtHbEV1MlJQOztFa0VyMlJLOztJQUVFO0dsRXcyUlA7O0VrRXYzUks7SUFBZ0M7R2xFMjNSckM7O0VrRTEzUks7O0lBRUU7R2xFNjNSUDs7RWtFMzNSSzs7SUFFRTtHbEU4M1JQOztFa0U1M1JLOztJQUVFO0dsRSszUlA7O0VrRTczUks7O0lBRUU7R2xFZzRSUDs7RWtFLzRSSztJQUFnQztHbEVtNVJyQzs7RWtFbDVSSzs7SUFFRTtHbEVxNVJQOztFa0VuNVJLOztJQUVFO0dsRXM1UlA7O0VrRXA1Uks7O0lBRUU7R2xFdTVSUDs7RWtFcjVSSzs7SUFFRTtHbEV3NVJQOztFa0V2NlJLO0lBQWdDO0dsRTI2UnJDOztFa0UxNlJLOztJQUVFO0dsRTY2UlA7O0VrRTM2Uks7O0lBRUU7R2xFODZSUDs7RWtFNTZSSzs7SUFFRTtHbEUrNlJQOztFa0U3NlJLOztJQUVFO0dsRWc3UlA7O0VrRS83Uks7SUFBZ0M7R2xFbThSckM7O0VrRWw4Uks7O0lBRUU7R2xFcThSUDs7RWtFbjhSSzs7SUFFRTtHbEVzOFJQOztFa0VwOFJLOztJQUVFO0dsRXU4UlA7O0VrRXI4Uks7O0lBRUU7R2xFdzhSUDs7RWtFdjlSSztJQUFnQztHbEUyOVJyQzs7RWtFMTlSSzs7SUFFRTtHbEU2OVJQOztFa0UzOVJLOztJQUVFO0dsRTg5UlA7O0VrRTU5Uks7O0lBRUU7R2xFKzlSUDs7RWtFNzlSSzs7SUFFRTtHbEVnK1JQOztFa0UvK1JLO0lBQWdDO0dsRW0vUnJDOztFa0VsL1JLOztJQUVFO0dsRXEvUlA7O0VrRW4vUks7O0lBRUU7R2xFcy9SUDs7RWtFcC9SSzs7SUFFRTtHbEV1L1JQOztFa0VyL1JLOztJQUVFO0dsRXcvUlA7O0VrRXZnU0s7SUFBZ0M7R2xFMmdTckM7O0VrRTFnU0s7O0lBRUU7R2xFNmdTUDs7RWtFM2dTSzs7SUFFRTtHbEU4Z1NQOztFa0U1Z1NLOztJQUVFO0dsRStnU1A7O0VrRTdnU0s7O0lBRUU7R2xFZ2hTUDs7RWtFL2hTSztJQUFnQztHbEVtaVNyQzs7RWtFbGlTSzs7SUFFRTtHbEVxaVNQOztFa0VuaVNLOztJQUVFO0dsRXNpU1A7O0VrRXBpU0s7O0lBRUU7R2xFdWlTUDs7RWtFcmlTSzs7SUFFRTtHbEV3aVNQOztFa0VsaVNDO0lBQW1CO0dsRXNpU3BCOztFa0VyaVNDOztJQUVFO0dsRXdpU0g7O0VrRXRpU0M7O0lBRUU7R2xFeWlTSDs7RWtFdmlTQzs7SUFFRTtHbEUwaVNIOztFa0V4aVNDOztJQUVFO0dsRTJpU0g7Q0FDRjs7QTJCL2hTRztFdUNqREk7SUFBZ0M7R2xFcWxTckM7O0VrRXBsU0s7O0lBRUU7R2xFdWxTUDs7RWtFcmxTSzs7SUFFRTtHbEV3bFNQOztFa0V0bFNLOztJQUVFO0dsRXlsU1A7O0VrRXZsU0s7O0lBRUU7R2xFMGxTUDs7RWtFem1TSztJQUFnQztHbEU2bVNyQzs7RWtFNW1TSzs7SUFFRTtHbEUrbVNQOztFa0U3bVNLOztJQUVFO0dsRWduU1A7O0VrRTltU0s7O0lBRUU7R2xFaW5TUDs7RWtFL21TSzs7SUFFRTtHbEVrblNQOztFa0Vqb1NLO0lBQWdDO0dsRXFvU3JDOztFa0Vwb1NLOztJQUVFO0dsRXVvU1A7O0VrRXJvU0s7O0lBRUU7R2xFd29TUDs7RWtFdG9TSzs7SUFFRTtHbEV5b1NQOztFa0V2b1NLOztJQUVFO0dsRTBvU1A7O0VrRXpwU0s7SUFBZ0M7R2xFNnBTckM7O0VrRTVwU0s7O0lBRUU7R2xFK3BTUDs7RWtFN3BTSzs7SUFFRTtHbEVncVNQOztFa0U5cFNLOztJQUVFO0dsRWlxU1A7O0VrRS9wU0s7O0lBRUU7R2xFa3FTUDs7RWtFanJTSztJQUFnQztHbEVxclNyQzs7RWtFcHJTSzs7SUFFRTtHbEV1clNQOztFa0VyclNLOztJQUVFO0dsRXdyU1A7O0VrRXRyU0s7O0lBRUU7R2xFeXJTUDs7RWtFdnJTSzs7SUFFRTtHbEUwclNQOztFa0V6c1NLO0lBQWdDO0dsRTZzU3JDOztFa0U1c1NLOztJQUVFO0dsRStzU1A7O0VrRTdzU0s7O0lBRUU7R2xFZ3RTUDs7RWtFOXNTSzs7SUFFRTtHbEVpdFNQOztFa0Uvc1NLOztJQUVFO0dsRWt0U1A7O0VrRWp1U0s7SUFBZ0M7R2xFcXVTckM7O0VrRXB1U0s7O0lBRUU7R2xFdXVTUDs7RWtFcnVTSzs7SUFFRTtHbEV3dVNQOztFa0V0dVNLOztJQUVFO0dsRXl1U1A7O0VrRXZ1U0s7O0lBRUU7R2xFMHVTUDs7RWtFenZTSztJQUFnQztHbEU2dlNyQzs7RWtFNXZTSzs7SUFFRTtHbEUrdlNQOztFa0U3dlNLOztJQUVFO0dsRWd3U1A7O0VrRTl2U0s7O0lBRUU7R2xFaXdTUDs7RWtFL3ZTSzs7SUFFRTtHbEVrd1NQOztFa0VqeFNLO0lBQWdDO0dsRXF4U3JDOztFa0VweFNLOztJQUVFO0dsRXV4U1A7O0VrRXJ4U0s7O0lBRUU7R2xFd3hTUDs7RWtFdHhTSzs7SUFFRTtHbEV5eFNQOztFa0V2eFNLOztJQUVFO0dsRTB4U1A7O0VrRXp5U0s7SUFBZ0M7R2xFNnlTckM7O0VrRTV5U0s7O0lBRUU7R2xFK3lTUDs7RWtFN3lTSzs7SUFFRTtHbEVnelNQOztFa0U5eVNLOztJQUVFO0dsRWl6U1A7O0VrRS95U0s7O0lBRUU7R2xFa3pTUDs7RWtFajBTSztJQUFnQztHbEVxMFNyQzs7RWtFcDBTSzs7SUFFRTtHbEV1MFNQOztFa0VyMFNLOztJQUVFO0dsRXcwU1A7O0VrRXQwU0s7O0lBRUU7R2xFeTBTUDs7RWtFdjBTSzs7SUFFRTtHbEUwMFNQOztFa0V6MVNLO0lBQWdDO0dsRTYxU3JDOztFa0U1MVNLOztJQUVFO0dsRSsxU1A7O0VrRTcxU0s7O0lBRUU7R2xFZzJTUDs7RWtFOTFTSzs7SUFFRTtHbEVpMlNQOztFa0UvMVNLOztJQUVFO0dsRWsyU1A7O0VrRWozU0s7SUFBZ0M7R2xFcTNTckM7O0VrRXAzU0s7O0lBRUU7R2xFdTNTUDs7RWtFcjNTSzs7SUFFRTtHbEV3M1NQOztFa0V0M1NLOztJQUVFO0dsRXkzU1A7O0VrRXYzU0s7O0lBRUU7R2xFMDNTUDs7RWtFejRTSztJQUFnQztHbEU2NFNyQzs7RWtFNTRTSzs7SUFFRTtHbEUrNFNQOztFa0U3NFNLOztJQUVFO0dsRWc1U1A7O0VrRTk0U0s7O0lBRUU7R2xFaTVTUDs7RWtFLzRTSzs7SUFFRTtHbEVrNVNQOztFa0VqNlNLO0lBQWdDO0dsRXE2U3JDOztFa0VwNlNLOztJQUVFO0dsRXU2U1A7O0VrRXI2U0s7O0lBRUU7R2xFdzZTUDs7RWtFdDZTSzs7SUFFRTtHbEV5NlNQOztFa0V2NlNLOztJQUVFO0dsRTA2U1A7O0VrRXo3U0s7SUFBZ0M7R2xFNjdTckM7O0VrRTU3U0s7O0lBRUU7R2xFKzdTUDs7RWtFNzdTSzs7SUFFRTtHbEVnOFNQOztFa0U5N1NLOztJQUVFO0dsRWk4U1A7O0VrRS83U0s7O0lBRUU7R2xFazhTUDs7RWtFNTdTQztJQUFtQjtHbEVnOFNwQjs7RWtFLzdTQzs7SUFFRTtHbEVrOFNIOztFa0VoOFNDOztJQUVFO0dsRW04U0g7O0VrRWo4U0M7O0lBRUU7R2xFbzhTSDs7RWtFbDhTQzs7SUFFRTtHbEVxOFNIO0NBQ0Y7O0EyQno3U0c7RXVDakRJO0lBQWdDO0dsRSsrU3JDOztFa0U5K1NLOztJQUVFO0dsRWkvU1A7O0VrRS8rU0s7O0lBRUU7R2xFay9TUDs7RWtFaC9TSzs7SUFFRTtHbEVtL1NQOztFa0VqL1NLOztJQUVFO0dsRW8vU1A7O0VrRW5nVEs7SUFBZ0M7R2xFdWdUckM7O0VrRXRnVEs7O0lBRUU7R2xFeWdUUDs7RWtFdmdUSzs7SUFFRTtHbEUwZ1RQOztFa0V4Z1RLOztJQUVFO0dsRTJnVFA7O0VrRXpnVEs7O0lBRUU7R2xFNGdUUDs7RWtFM2hUSztJQUFnQztHbEUraFRyQzs7RWtFOWhUSzs7SUFFRTtHbEVpaVRQOztFa0UvaFRLOztJQUVFO0dsRWtpVFA7O0VrRWhpVEs7O0lBRUU7R2xFbWlUUDs7RWtFamlUSzs7SUFFRTtHbEVvaVRQOztFa0VualRLO0lBQWdDO0dsRXVqVHJDOztFa0V0alRLOztJQUVFO0dsRXlqVFA7O0VrRXZqVEs7O0lBRUU7R2xFMGpUUDs7RWtFeGpUSzs7SUFFRTtHbEUyalRQOztFa0V6alRLOztJQUVFO0dsRTRqVFA7O0VrRTNrVEs7SUFBZ0M7R2xFK2tUckM7O0VrRTlrVEs7O0lBRUU7R2xFaWxUUDs7RWtFL2tUSzs7SUFFRTtHbEVrbFRQOztFa0VobFRLOztJQUVFO0dsRW1sVFA7O0VrRWpsVEs7O0lBRUU7R2xFb2xUUDs7RWtFbm1USztJQUFnQztHbEV1bVRyQzs7RWtFdG1USzs7SUFFRTtHbEV5bVRQOztFa0V2bVRLOztJQUVFO0dsRTBtVFA7O0VrRXhtVEs7O0lBRUU7R2xFMm1UUDs7RWtFem1USzs7SUFFRTtHbEU0bVRQOztFa0UzblRLO0lBQWdDO0dsRStuVHJDOztFa0U5blRLOztJQUVFO0dsRWlvVFA7O0VrRS9uVEs7O0lBRUU7R2xFa29UUDs7RWtFaG9USzs7SUFFRTtHbEVtb1RQOztFa0Vqb1RLOztJQUVFO0dsRW9vVFA7O0VrRW5wVEs7SUFBZ0M7R2xFdXBUckM7O0VrRXRwVEs7O0lBRUU7R2xFeXBUUDs7RWtFdnBUSzs7SUFFRTtHbEUwcFRQOztFa0V4cFRLOztJQUVFO0dsRTJwVFA7O0VrRXpwVEs7O0lBRUU7R2xFNHBUUDs7RWtFM3FUSztJQUFnQztHbEUrcVRyQzs7RWtFOXFUSzs7SUFFRTtHbEVpclRQOztFa0UvcVRLOztJQUVFO0dsRWtyVFA7O0VrRWhyVEs7O0lBRUU7R2xFbXJUUDs7RWtFanJUSzs7SUFFRTtHbEVvclRQOztFa0Vuc1RLO0lBQWdDO0dsRXVzVHJDOztFa0V0c1RLOztJQUVFO0dsRXlzVFA7O0VrRXZzVEs7O0lBRUU7R2xFMHNUUDs7RWtFeHNUSzs7SUFFRTtHbEUyc1RQOztFa0V6c1RLOztJQUVFO0dsRTRzVFA7O0VrRTN0VEs7SUFBZ0M7R2xFK3RUckM7O0VrRTl0VEs7O0lBRUU7R2xFaXVUUDs7RWtFL3RUSzs7SUFFRTtHbEVrdVRQOztFa0VodVRLOztJQUVFO0dsRW11VFA7O0VrRWp1VEs7O0lBRUU7R2xFb3VUUDs7RWtFbnZUSztJQUFnQztHbEV1dlRyQzs7RWtFdHZUSzs7SUFFRTtHbEV5dlRQOztFa0V2dlRLOztJQUVFO0dsRTB2VFA7O0VrRXh2VEs7O0lBRUU7R2xFMnZUUDs7RWtFenZUSzs7SUFFRTtHbEU0dlRQOztFa0Uzd1RLO0lBQWdDO0dsRSt3VHJDOztFa0U5d1RLOztJQUVFO0dsRWl4VFA7O0VrRS93VEs7O0lBRUU7R2xFa3hUUDs7RWtFaHhUSzs7SUFFRTtHbEVteFRQOztFa0VqeFRLOztJQUVFO0dsRW94VFA7O0VrRW55VEs7SUFBZ0M7R2xFdXlUckM7O0VrRXR5VEs7O0lBRUU7R2xFeXlUUDs7RWtFdnlUSzs7SUFFRTtHbEUweVRQOztFa0V4eVRLOztJQUVFO0dsRTJ5VFA7O0VrRXp5VEs7O0lBRUU7R2xFNHlUUDs7RWtFM3pUSztJQUFnQztHbEUrelRyQzs7RWtFOXpUSzs7SUFFRTtHbEVpMFRQOztFa0UvelRLOztJQUVFO0dsRWswVFA7O0VrRWgwVEs7O0lBRUU7R2xFbTBUUDs7RWtFajBUSzs7SUFFRTtHbEVvMFRQOztFa0VuMVRLO0lBQWdDO0dsRXUxVHJDOztFa0V0MVRLOztJQUVFO0dsRXkxVFA7O0VrRXYxVEs7O0lBRUU7R2xFMDFUUDs7RWtFeDFUSzs7SUFFRTtHbEUyMVRQOztFa0V6MVRLOztJQUVFO0dsRTQxVFA7O0VrRXQxVEM7SUFBbUI7R2xFMDFUcEI7O0VrRXoxVEM7O0lBRUU7R2xFNDFUSDs7RWtFMTFUQzs7SUFFRTtHbEU2MVRIOztFa0UzMVRDOztJQUVFO0dsRTgxVEg7O0VrRTUxVEM7O0lBRUU7R2xFKzFUSDtDQUNGOztBMkJuMVRHO0V1Q2pESTtJQUFnQztHbEV5NFRyQzs7RWtFeDRUSzs7SUFFRTtHbEUyNFRQOztFa0V6NFRLOztJQUVFO0dsRTQ0VFA7O0VrRTE0VEs7O0lBRUU7R2xFNjRUUDs7RWtFMzRUSzs7SUFFRTtHbEU4NFRQOztFa0U3NVRLO0lBQWdDO0dsRWk2VHJDOztFa0VoNlRLOztJQUVFO0dsRW02VFA7O0VrRWo2VEs7O0lBRUU7R2xFbzZUUDs7RWtFbDZUSzs7SUFFRTtHbEVxNlRQOztFa0VuNlRLOztJQUVFO0dsRXM2VFA7O0VrRXI3VEs7SUFBZ0M7R2xFeTdUckM7O0VrRXg3VEs7O0lBRUU7R2xFMjdUUDs7RWtFejdUSzs7SUFFRTtHbEU0N1RQOztFa0UxN1RLOztJQUVFO0dsRTY3VFA7O0VrRTM3VEs7O0lBRUU7R2xFODdUUDs7RWtFNzhUSztJQUFnQztHbEVpOVRyQzs7RWtFaDlUSzs7SUFFRTtHbEVtOVRQOztFa0VqOVRLOztJQUVFO0dsRW85VFA7O0VrRWw5VEs7O0lBRUU7R2xFcTlUUDs7RWtFbjlUSzs7SUFFRTtHbEVzOVRQOztFa0VyK1RLO0lBQWdDO0dsRXkrVHJDOztFa0V4K1RLOztJQUVFO0dsRTIrVFA7O0VrRXorVEs7O0lBRUU7R2xFNCtUUDs7RWtFMStUSzs7SUFFRTtHbEU2K1RQOztFa0UzK1RLOztJQUVFO0dsRTgrVFA7O0VrRTcvVEs7SUFBZ0M7R2xFaWdVckM7O0VrRWhnVUs7O0lBRUU7R2xFbWdVUDs7RWtFamdVSzs7SUFFRTtHbEVvZ1VQOztFa0VsZ1VLOztJQUVFO0dsRXFnVVA7O0VrRW5nVUs7O0lBRUU7R2xFc2dVUDs7RWtFcmhVSztJQUFnQztHbEV5aFVyQzs7RWtFeGhVSzs7SUFFRTtHbEUyaFVQOztFa0V6aFVLOztJQUVFO0dsRTRoVVA7O0VrRTFoVUs7O0lBRUU7R2xFNmhVUDs7RWtFM2hVSzs7SUFFRTtHbEU4aFVQOztFa0U3aVVLO0lBQWdDO0dsRWlqVXJDOztFa0VoalVLOztJQUVFO0dsRW1qVVA7O0VrRWpqVUs7O0lBRUU7R2xFb2pVUDs7RWtFbGpVSzs7SUFFRTtHbEVxalVQOztFa0VualVLOztJQUVFO0dsRXNqVVA7O0VrRXJrVUs7SUFBZ0M7R2xFeWtVckM7O0VrRXhrVUs7O0lBRUU7R2xFMmtVUDs7RWtFemtVSzs7SUFFRTtHbEU0a1VQOztFa0Uxa1VLOztJQUVFO0dsRTZrVVA7O0VrRTNrVUs7O0lBRUU7R2xFOGtVUDs7RWtFN2xVSztJQUFnQztHbEVpbVVyQzs7RWtFaG1VSzs7SUFFRTtHbEVtbVVQOztFa0VqbVVLOztJQUVFO0dsRW9tVVA7O0VrRWxtVUs7O0lBRUU7R2xFcW1VUDs7RWtFbm1VSzs7SUFFRTtHbEVzbVVQOztFa0VyblVLO0lBQWdDO0dsRXluVXJDOztFa0V4blVLOztJQUVFO0dsRTJuVVA7O0VrRXpuVUs7O0lBRUU7R2xFNG5VUDs7RWtFMW5VSzs7SUFFRTtHbEU2blVQOztFa0UzblVLOztJQUVFO0dsRThuVVA7O0VrRTdvVUs7SUFBZ0M7R2xFaXBVckM7O0VrRWhwVUs7O0lBRUU7R2xFbXBVUDs7RWtFanBVSzs7SUFFRTtHbEVvcFVQOztFa0VscFVLOztJQUVFO0dsRXFwVVA7O0VrRW5wVUs7O0lBRUU7R2xFc3BVUDs7RWtFcnFVSztJQUFnQztHbEV5cVVyQzs7RWtFeHFVSzs7SUFFRTtHbEUycVVQOztFa0V6cVVLOztJQUVFO0dsRTRxVVA7O0VrRTFxVUs7O0lBRUU7R2xFNnFVUDs7RWtFM3FVSzs7SUFFRTtHbEU4cVVQOztFa0U3clVLO0lBQWdDO0dsRWlzVXJDOztFa0Voc1VLOztJQUVFO0dsRW1zVVA7O0VrRWpzVUs7O0lBRUU7R2xFb3NVUDs7RWtFbHNVSzs7SUFFRTtHbEVxc1VQOztFa0Vuc1VLOztJQUVFO0dsRXNzVVA7O0VrRXJ0VUs7SUFBZ0M7R2xFeXRVckM7O0VrRXh0VUs7O0lBRUU7R2xFMnRVUDs7RWtFenRVSzs7SUFFRTtHbEU0dFVQOztFa0UxdFVLOztJQUVFO0dsRTZ0VVA7O0VrRTN0VUs7O0lBRUU7R2xFOHRVUDs7RWtFN3VVSztJQUFnQztHbEVpdlVyQzs7RWtFaHZVSzs7SUFFRTtHbEVtdlVQOztFa0VqdlVLOztJQUVFO0dsRW92VVA7O0VrRWx2VUs7O0lBRUU7R2xFcXZVUDs7RWtFbnZVSzs7SUFFRTtHbEVzdlVQOztFa0VodlVDO0lBQW1CO0dsRW92VXBCOztFa0VudlVDOztJQUVFO0dsRXN2VUg7O0VrRXB2VUM7O0lBRUU7R2xFdXZVSDs7RWtFcnZVQzs7SUFFRTtHbEV3dlVIOztFa0V0dlVDOztJQUVFO0dsRXl2VUg7Q0FDRjs7QW1FbnlVRztFQUF1QjtDbkV1eVUxQjs7QW1FdnlVRztFQUF1QjtDbkUyeVUxQjs7QW1FM3lVRztFQUF1QjtDbkUreVUxQjs7QW1FL3lVRztFQUF1QjtDbkVtelUxQjs7QW1FbnpVRztFQUF1QjtDbkV1elUxQjs7QW1FdnpVRztFQUF1QjtDbkUyelUxQjs7QW1FM3pVRztFQUF1QjtDbkUrelUxQjs7QW1FL3pVRztFQUF1QjtDbkVtMFUxQjs7QW1FbjBVRztFQUF1QjtDbkV1MFUxQjs7QW1FdjBVRztFQUF1QjtDbkUyMFUxQjs7QW1FdjBVRDtFQUFVO0NuRTIwVVQ7O0FtRTEwVUQ7RUFBVTtDbkU4MFVUOztBb0VuMVVEO0VBQWtCO0NwRXUxVWpCOztBb0VuMVVEO0VBQWlCO0NwRXUxVWhCOztBb0V0MVVEO0VBQWlCO0NwRTAxVWhCOztBb0V6MVVEO0VDUkU7RUFDQTtFQUNBO0NyRXEyVUQ7O0FvRXYxVUc7RUFBd0I7Q3BFMjFVM0I7O0FvRTExVUc7RUFBd0I7Q3BFODFVM0I7O0FvRTcxVUc7RUFBd0I7Q3BFaTJVM0I7O0EyQjN6VUc7RXlDeENBO0lBQXdCO0dwRXcyVXpCOztFb0V2MlVDO0lBQXdCO0dwRTIyVXpCOztFb0UxMlVDO0lBQXdCO0dwRTgyVXpCO0NBQ0Y7O0EyQnowVUc7RXlDeENBO0lBQXdCO0dwRXMzVXpCOztFb0VyM1VDO0lBQXdCO0dwRXkzVXpCOztFb0V4M1VDO0lBQXdCO0dwRTQzVXpCO0NBQ0Y7O0EyQnYxVUc7RXlDeENBO0lBQXdCO0dwRW80VXpCOztFb0VuNFVDO0lBQXdCO0dwRXU0VXpCOztFb0V0NFVDO0lBQXdCO0dwRTA0VXpCO0NBQ0Y7O0EyQnIyVUc7RXlDeENBO0lBQXdCO0dwRWs1VXpCOztFb0VqNVVDO0lBQXdCO0dwRXE1VXpCOztFb0VwNVVDO0lBQXdCO0dwRXc1VXpCO0NBQ0Y7O0EyQm4zVUc7RXlDeENBO0lBQXdCO0dwRWc2VXpCOztFb0UvNVVDO0lBQXdCO0dwRW02VXpCOztFb0VsNlVDO0lBQXdCO0dwRXM2VXpCO0NBQ0Y7O0FvRWo2VUQ7RUFBbUI7Q3BFcTZVbEI7O0FvRXA2VUQ7RUFBbUI7Q3BFdzZVbEI7O0FvRXY2VUQ7RUFBbUI7Q3BFMjZVbEI7O0FvRXY2VUQ7RUFBc0I7Q3BFMjZVckI7O0FvRTE2VUQ7RUFBc0I7Q3BFODZVckI7O0FvRTc2VUQ7RUFBc0I7Q3BFaTdVckI7O0FvRWg3VUQ7RUFBc0I7Q3BFbzdVckI7O0FvRWg3VUQ7RUFBYztDcEVvN1ViOztBc0V4OVVDO0VBQ0U7Q3RFMjlVSDs7QWVqOVVDOztFdUROSTtDdEU0OVVMOztBc0VqK1VDO0VBQ0U7Q3RFbytVSDs7QWUxOVVDOztFdUROSTtDdEVxK1VMOztBc0UxK1VDO0VBQ0U7Q3RFNitVSDs7QWVuK1VDOztFdUROSTtDdEU4K1VMOztBc0VuL1VDO0VBQ0U7Q3RFcy9VSDs7QWU1K1VDOztFdUROSTtDdEV1L1VMOztBc0U1L1VDO0VBQ0U7Q3RFKy9VSDs7QWVyL1VDOztFdUROSTtDdEVnZ1ZMOztBc0VyZ1ZDO0VBQ0U7Q3RFd2dWSDs7QWU5L1VDOztFdUROSTtDdEV5Z1ZMOztBc0U5Z1ZDO0VBQ0U7Q3RFaWhWSDs7QWV2Z1ZDOztFdUROSTtDdEVraFZMOztBc0V2aFZDO0VBQ0U7Q3RFMGhWSDs7QWVoaFZDOztFdUROSTtDdEUyaFZMOztBc0VoaVZDO0VBQ0U7Q3RFbWlWSDs7QWV6aFZDOztFdUROSTtDdEVvaVZMOztBc0V6aVZDO0VBQ0U7Q3RFNGlWSDs7QWVsaVZDOztFdUROSTtDdEU2aVZMOztBc0VsalZDO0VBQ0U7Q3RFcWpWSDs7QWUzaVZDOztFdUROSTtDdEVzalZMOztBc0UzalZDO0VBQ0U7Q3RFOGpWSDs7QWVwalZDOztFdUROSTtDdEUralZMOztBc0Vwa1ZDO0VBQ0U7Q3RFdWtWSDs7QWU3alZDOztFdUROSTtDdEV3a1ZMOztBc0U3a1ZDO0VBQ0U7Q3RFZ2xWSDs7QWV0a1ZDOztFdUROSTtDdEVpbFZMOztBc0V0bFZDO0VBQ0U7Q3RFeWxWSDs7QWUva1ZDOztFdUROSTtDdEUwbFZMOztBc0UvbFZDO0VBQ0U7Q3RFa21WSDs7QWV4bFZDOztFdUROSTtDdEVtbVZMOztBc0V4bVZDO0VBQ0U7Q3RFMm1WSDs7QWVqbVZDOztFdUROSTtDdEU0bVZMOztBc0VqblZDO0VBQ0U7Q3RFb25WSDs7QWUxbVZDOztFdUROSTtDdEVxblZMOztBc0UxblZDO0VBQ0U7Q3RFNm5WSDs7QWVublZDOztFdUROSTtDdEU4blZMOztBc0Vub1ZDO0VBQ0U7Q3RFc29WSDs7QWU1blZDOztFdUROSTtDdEV1b1ZMOztBc0U1b1ZDO0VBQ0U7Q3RFK29WSDs7QWVyb1ZDOztFdUROSTtDdEVncFZMOztBc0VycFZDO0VBQ0U7Q3RFd3BWSDs7QWU5b1ZDOztFdUROSTtDdEV5cFZMOztBc0U5cFZDO0VBQ0U7Q3RFaXFWSDs7QWV2cFZDOztFdUROSTtDdEVrcVZMOztBb0U3blZEO0VBQWE7Q3BFaW9WWjs7QW9FaG9WRDtFQUFjO0NwRW9vVmI7O0FvRWxvVkQ7RUFBaUI7Q3BFc29WaEI7O0FvRXJvVkQ7RUFBaUI7Q3BFeW9WaEI7O0FvRXJvVkQ7RUdwREU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkU2clZEOztBd0Vsc1ZEO0V0Q0dNO0VBQUE7Q2xDbXNWTDs7QWtDL3JWQztFc0NQRjtJdENRSTtJQUFBO0dsQ21zVkQ7Q0FDRjs7QXdFNXNWRDtFQUlJO0N4RTRzVkg7O0F3RXhzVkQ7RUFFSTtDeEUwc1ZIOztBd0V0c1ZEO0VBQ0U7RUFDQTtFQUNBO0V0Q2RJO0VBQUE7Q2xDd3RWTDs7QWtDcHRWQztFc0NPRjtJdENOSTtJQUFBO0dsQ3d0VkQ7Q0FDRjs7QXlFL3RWRDs7Ozs7Ozs7O0V6RTB1VkU7O0F5RTF0VkQ7RUFDQztDekU2dFZEOztBeUU5dFZBO0VBQ0M7Q3pFaXVWRDs7QTBFaHZWRDtFQUVFO0MxRWt2VkQ7O0EwRXB2VkQ7RUFLSTtFQUNBO0MxRW12Vkg7O0EwRTl1VkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QzFFK3VWRDs7QTBFeHVWRDtFQUNFO0VBQ0E7RUFDQTtFQUVBO0MxRTB1VkQ7O0EwRXZ1VkM7RXhDdENJO0VBQUE7RUFBQTtFQUFBO0V3Q3dDRjtVQUFBO0MxRTB1Vkg7O0FrQzl3VkM7RXdDa0NBO0l4Q2pDRTtJQUFBO0dsQ2t4VkQ7Q0FDRjs7QTBFOXVWQztFQUNFO1VBQUE7QzFFaXZWSDs7QTBFN3VWRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO0MxRWd2VkQ7O0EwRW52VkQ7RUFPSTtFQUNBO0VBQ0E7QzFFZ3ZWSDs7QTBFM3VWRDtFQUNFO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7TUFBQTtNQUFBO01BQUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QzFFMHVWRDs7QTBFdHVWRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRXl1VkQ7O0EwRWh2VkQ7RUFVVztDMUUwdVZWOztBMEVwdlZEO0VBV1c7QzFFNnVWVjs7QTBFeHVWRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO0VBQ0E7QzFFMnVWRDs7QTBFaHZWRDtFQVNJO0VBRUE7QzFFMHVWSDs7QTBFcnVWRDtFQUNFO0VBQ0E7QzFFd3VWRDs7QTBFbnVWRDtFQUNFO0VBR0E7TUFBQTtNQUFBO0VBQ0E7QzFFb3VWRDs7QTBFaHVWRDtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO01BQUE7TUFBQTtFQUNBO0VBQ0E7QzFFbXVWRDs7QTBFeHVWRDtFQVF5QjtDMUVvdVZ4Qjs7QTBFNXVWRDtFQVN3QjtDMUV1dVZ2Qjs7QTBFbnVWRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFFc3VWRDs7QTJCL3pWRztFK0N6Qko7SUF5SEk7SUFDQTtHMUVvdVZEOztFMEU3MFZIO0lBNkdJO0cxRW91VkQ7O0UwRWoxVkg7SUFnSE07RzFFcXVWSDs7RTBFNXRWRDtJQUFZO0cxRWd1Vlg7Q0FDRjs7QTJCbDFWRztFK0NzSEY7SUFBWTtHMUVpdVZYO0NBQ0YiLCJmaWxlIjoiL2Nzcy9hcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNBU1MgTUFOSUZFU1QgRklMRSAtIFNwZWNpZmljYWxseSBmb3IgdGhlIGRlZmF1bHQgdGhlbWVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5UaGUgbWFuaWZlc3QgZmlsZSBnaXZlcyB1cyBhIGdsb2JhbCB2aWV3IG9mIGV2ZXJ5dGhpbmcgd2UncmUgaW1wb3J0aW5nXG5pbnRvIG91ciBzdHlsZXNoZWV0LlxuXG5XZSdsbCBvcmdhbmlzZSBvdXIgcGFydGlhbHMgdXNpbmcgdGhlIElUQ1NTIG1ldGhvZG9sb2d5LCBhbGxvd2luZ3MgdXNcbnRvIGJldHRlciBtYW5hZ2UgdGhlIGNhc2NhZGUgYW5kIG1ha2Ugb3VyIENTUyBtb3JlIHNjYWxhYmxlIGFuZFxubWFpbnRhaW5hYmxlIG1vdmluZyBmb3J3YXJkLlxuXG5SZWxhdGVkIHJlYWRpbmc6XG5odHRwczovL3d3dy54Zml2ZS5jby9ibG9nL2l0Y3NzLXNjYWxhYmxlLW1haW50YWluYWJsZS1jc3MtYXJjaGl0ZWN0dXJlL1xuKi9cblxuLy8gT1ZFUklERVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFkZCB0by9vdmVycmlkZSBCb290c3RyYXAgdGhlbWUgY29sb3JzIHdpdGggb3VyIG93blxuJHRoZW1lLWNvbG9yczogKFxuXHQndHlwZS1saWdodC1ncmV5JzogI2NjY2NjYyxcblx0J2xpZ2h0LWdyZXknOiAjZjBmMGYwLFxuXHQnZ3JleSc6ICNkMmQyZDIsXG5cblx0J2ZhZGVkLWJsdWUnOiAjM2Y1NjY2LFxuXHQnZGFyay1ibHVlJzogIzBmMmU1MCxcblx0J2RhcmstYmx1ZS1hbHQnOiAjMTYyODNlLFxuXHQnYmxhY2stcHJpbWFyeSc6ICMwYzA2MjAsXG5cdCdibGFjay1zZWNvbmRhcnknOiAjZTRjNjkyLFxuXG5cdCdwcmltYXJ5JzogI2ZmOTYyMCxcblxuXHQndHlwZSc6ICMxYjFlMjEsXG5cdCd0eXBlLWxpZ2h0JzogI2NjY2NjYyxcblxuXHQnaGVhZGVyLWJnJzogIzBmMmU1MCxcblx0J2Zvb3Rlci1iZyc6ICMxNjI4M2UsXG5cblx0J2hlYWRpbmctY29sb3InOiAjMWIxZTIxLFxuXG5cdCdzZWN0aW9uLWJnLWxpZ2h0JzogI2YwZjBmMCxcblx0J3NlY3Rpb24tYmctZGFyayc6ICMwZjJlNTBcbik7XG5cbi8vIGFmdGVyIHNldHRpbmcgdGhlIHRoZW1lIGNvbG91cnMsIHByb2NlZWQgd2l0aCB0aGUgYXBwIHN0eWxlcyBhcyBub3JtYWxcbkBpbXBvcnQgXCJhcHAuc2Nzc1wiO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvYXBwX2NhcGl0YWxpbmRleC5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNBU1MgTUFOSUZFU1QgRklMRVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcblRoZSBtYW5pZmVzdCBmaWxlIGdpdmVzIHVzIGEgZ2xvYmFsIHZpZXcgb2YgZXZlcnl0aGluZyB3ZSdyZSBpbXBvcnRpbmdcbmludG8gb3VyIHN0eWxlc2hlZXQuXG5cbldlJ2xsIG9yZ2FuaXNlIG91ciBwYXJ0aWFscyB1c2luZyB0aGUgSVRDU1MgbWV0aG9kb2xvZ3ksIGFsbG93aW5ncyB1c1xudG8gYmV0dGVyIG1hbmFnZSB0aGUgY2FzY2FkZSBhbmQgbWFrZSBvdXIgQ1NTIG1vcmUgc2NhbGFibGUgYW5kXG5tYWludGFpbmFibGUgbW92aW5nIGZvcndhcmQuXG5cblJlbGF0ZWQgcmVhZGluZzpcbmh0dHBzOi8vd3d3LnhmaXZlLmNvL2Jsb2cvaXRjc3Mtc2NhbGFibGUtbWFpbnRhaW5hYmxlLWNzcy1hcmNoaXRlY3R1cmUvXG4qL1xuXG4vLyBPVkVSSURFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSW1wb3J0IGJvb3RzdHJhcCBmdW5jdGlvbnMgaGVyZSBzbyB3ZSBjYW4gdXNlIHRoZW0gaW4gb3ZlcnJpZGVzXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuXG4vLyBFeHRlbmQgZGVmYXVsdCBCb290c3RyYXAgYnJlYWtwb2ludHMgYXMgbmVlZGVkXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IDM3NXB4LFxuXHRzbTI6IDU3NnB4LFxuXHRtZDogNzY4cHgsXG5cdGxnOiA5OTJweCxcblx0eGw6IDEyMDBweFxuKTtcblxuLy8gRXh0ZW5kIGRlZmF1bHQgQm9vdHN0cmFwIHNwYWNlciB1bml0c1xuJHNwYWNlcjogMXJlbTtcbiRzcGFjZXJzOiAoXG5cdDY6ICgkc3BhY2VyICogNCksXG5cdDc6ICgkc3BhY2VyICogNilcbik7XG5cbi8vIFN5bmMgU0FTUy1NUSB3aXRoIEJvb3RzdHJhcCBicmVha3BvaW50c1xuJG1xLWJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cztcblxuLy8gQWRkIHRvL292ZXJyaWRlIEJvb3RzdHJhcCB0aGVtZSBjb2xvcnMgd2l0aCBvdXIgb3duXG4vLyAkdGhlbWUtY29sb3JzOiAoXG4vLyBcdCd0eXBlJzogIzFiMWUyMSxcbi8vIFx0J3R5cGUtbGlnaHQtZ3JleSc6ICNjY2NjY2MsXG4vLyBcdCdsaWdodC1ncmV5JzogI2YwZjBmMCxcbi8vIFx0J2dyZXknOiAjZDJkMmQyLFxuLy8gXHQncHJpbWFyeSc6ICNmZjk2MjAsXG4vLyBcdCdmYWRlZC1ibHVlJzogIzNmNTY2Nixcbi8vIFx0J2RhcmstYmx1ZSc6ICMwZjJlNTAsXG4vLyBcdCdkYXJrLWJsdWUtYWx0JzogIzE2MjgzZSxcbi8vIFx0J2JsYWNrLXByaW1hcnknOiAjMGMwNjIwLFxuLy8gXHQnYmxhY2stc2Vjb25kYXJ5JzogI2U0YzY5MlxuLy8gKTtcblxuLy8gT3ZlcnJpZGUgQm9vdHN0cmFwIGdsb2JhbHNcbiRmb250LWZhbWlseS1iYXNlOiAncmFsZXdheScsIHNhbnMtc2VyaWY7XG4kYm9keS1jb2xvcjogdGhlbWUtY29sb3IodHlwZSk7XG4kZW5hYmxlLWNhcmV0OiBmYWxzZTtcbiRlbmFibGUtcm91bmRlZDogZmFsc2U7XG4kZW5hYmxlLXNoYWRvd3M6IGZhbHNlO1xuJGVuYWJsZS1ncmFkaWVudHM6IGZhbHNlO1xuJGJvcmRlci13aWR0aDogMnB4O1xuJGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoZ3JleSk7XG5cbi8vIE1ha2UgY29udGFpbmVyIHdpZHRoIG1hdGNoIHRoZSBkZXNpZ24sXG4vLyBhbmQgYWxzbyBzdG9wIHRoZSBjb250YWluZXIgZnJvbSBtb3Zpbmdcbi8vIHRvIG11bHRpcGxlIHdpZHRocyBhcyB2aWV3cG9ydCBpcyBzY2FsZWQgZG93blxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhsOiAxMjAwcHhcbik7XG5cbi8vICNkZWJ1Zy1raXQtdG9vbGJhciB7XG4vLyBcdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuLy8gfVxuXG5cbi8vIElNUE9SVFNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZvbnQgQXdlc29tZSAoT25seSBpbXBvcnQgd2hhdCB3ZSB1c2UpXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvcGF0aFwiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9jb3JlXCI7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL2xhcmdlclwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9maXhlZC13aWR0aFwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9saXN0XCI7XG4vLyBAaW1wb3J0IFwibm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL2JvcmRlcmVkLXB1bGxlZFwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9hbmltYXRlZFwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9yb3RhdGVkLWZsaXBwZWRcIjtcbi8vIEBpbXBvcnQgXCJub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3Mvc3RhY2tlZFwiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9pY29uc1wiO1xuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9zY3JlZW4tcmVhZGVyXCI7XG5cbi8vIFZlbmRvclxuQGltcG9ydCAndmVuZG9yL2ZvbnQtYXdlc29tZSc7XG5AaW1wb3J0ICd2ZW5kb3IvZnhzdCc7XG5cbi8vIFRvb2xzXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL3Nhc3MtbXEvbXFcIjsgLy8gSW1wb3J0IFNBU1MtTVEgdG8gaGFuZGxlIG1lZGlhIHF1ZXJpZXMgYXMgQm9vdHN0cmFwIGVxdWl2YWxlbnQgZG9lc24ndCBjb252ZXJ0IHRvIEVNIHVuaXQuXG5AaW1wb3J0ICd0b29scy9hdHRlbnRpb24nO1xuQGltcG9ydCAndG9vbHMvYmFsYW5jZSc7XG5AaW1wb3J0ICd0b29scy9icmVha291dCc7XG5AaW1wb3J0ICd0b29scy9mb250cyc7XG5AaW1wb3J0ICd0b29scy9zcGFjZXInO1xuQGltcG9ydCAndG9vbHMvc2tpbic7XG5cbi8vIEdlbmVyaWNcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLXJlYm9vdFwiO1xuQGltcG9ydCAnZ2VuZXJpYy9ub3JtYWxpemUnO1xuXG4vLyBFbGVtZW50c1xuQGltcG9ydCAnZWxlbWVudHMvYmxvY2txdW90ZSc7XG5AaW1wb3J0ICdlbGVtZW50cy9oZWFkaW5ncyc7XG5AaW1wb3J0ICdlbGVtZW50cy9saXN0cyc7XG5AaW1wb3J0ICdlbGVtZW50cy9wYWdlJztcbkBpbXBvcnQgJ2VsZW1lbnRzL3BhcmFncmFwaHMnO1xuQGltcG9ydCAnZWxlbWVudHMvdGFibGUnO1xuXG4vLyBPYmplY3RzIChIaWdobHkgcmV1c2FibGUgdW5kZWNvcmF0ZWQgcGF0dGVybnMpXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1ncmlkXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9pbmxpbmUtbGlzdFwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY2FyZFwiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9kcm9wZG93blwiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzc1wiO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2Nlc3NpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYm94JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJvdXNlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1vZmZzZXQtaW1hZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LXdyYXBwZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dsb3NzYXJ5LWZpbHRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hhbWJ1cmdlci1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2lubGluZS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2LWRyb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1wb3N0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcXVvdGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGVwcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYW0tbWVtYmVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ZpZGVvJztcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9zaXppbmdcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgJ3V0aWxpdGllcy9zcGFjaW5nLWxhc3QtY2hpbGQnO1xuXG5cbiRtb2RhbC1tZDogODAwcHg7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21vZGFsXCI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9hcHAuc2NzcyIsIi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD92PSN7JGZhLXZlcnNpb259Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9I3skZmEtdmVyc2lvbn0jZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbi8vICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9Gb250QXdlc29tZS5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7IC8vIHVzZWQgd2hlbiBkZXZlbG9waW5nIGZvbnRzXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vZm9udC1hd2Vzb21lL3Njc3MvX3BhdGguc2NzcyIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vZm9udC1hd2Vzb21lL3Njc3MvX2NvcmUuc2NzcyIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogKDRlbSAvIDMpO1xuICBsaW5lLWhlaWdodDogKDNlbSAvIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tM3ggeyBmb250LXNpemU6IDNlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTR4IHsgZm9udC1zaXplOiA0ZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01eCB7IGZvbnQtc2l6ZTogNWVtOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2ZvbnQtYXdlc29tZS9zY3NzL19sYXJnZXIuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT05UIEFXRVNPTUVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5Db3B5IGZvbnQgYXdlc29tZSBjbGFzc2VzIGZyb20gJ25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9pY29ucydcbmFzIHdlIHVzZSB0aGVtLiBUaGlzIHdheSB3ZSBhcmVuJ3QgZm9yY2VkIHRvIGluY2x1ZGUgMTAwKyBpY29uIGNsc3NzZXMgaW4gb3VyXG5DU1MgdGhhdCB3ZSBhcmVuJ3QgZXZlbiB1c2luZy5cbiovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUge1xuXHRjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHtcblx0Y29udGVudDogJGZhLXZhci1jYXJldC1kb3duO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogJGZhLXZhci1jaGV2cm9uLXJpZ2h0O1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUge1xuXHRjb250ZW50OiAkZmEtdmFyLWZpbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHtcblx0Y29udGVudDogJGZhLXZhci1pbmZvLWNpcmNsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItbWFwLW1hcmtlcjtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmUtbzpiZWZvcmUge1xuXHRjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZS1vO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItcGhvbmU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuXHRjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlLW87XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICRmYS12YXItZXllLXNsYXNoO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUge1xuXHRjb250ZW50OiAkZmEtdmFyLWV5ZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3ZlbmRvci9fZm9udC1hd2Vzb21lLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRlhTVCBUQUJMRVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcbkFkZGl0aW9uYWwgc3R5bGVzIGZvciBGWFNUIHRhYmxlIHBsdWdpblxuKi9cblxuI2Z4c3RfY2FsZW5kYXIge1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvdmVuZG9yL19meHN0LnNjc3MiLCIvL1xuLy8gQXR0ZW50aW9uIE1peGluc1xuLy9cblxuLyoqXG4gKiBBdHRlbnRpb24gc3RhdGVzLCBzZXQgdGhlbSBhbGwgaW4gb25lIGdvISAodXNhZ2UgYmVsb3cpXG4gKi9cbiRhdHRlbnRpb246IFwiJjpmb2N1cywgJjpob3ZlciwgJjphY3RpdmVcIjtcbi8qIFVzYWdlOlxuXHQuZm9vIHtcblx0XHQjeyRhdHRlbnRpb259IHtcblx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0fVxuXHR9XG4gKi9cblxuLyoqXG4gKiBVbmRlcmxpbmUgb24gYXR0ZW50aW9uIChmb3IgdmFuaWxsYSBsaW5rcywgZS5nLiBUaW55TUNFIG91dHB1dClcbiAqIFVzYWdlOlxuXHRhIHtcblx0XHRAaW5jbHVkZSBhdHRlbnRpb24tdW5kZXJsaW5lO1xuXHR9XG4gKi9cbkBtaXhpbiBhdHRlbnRpb24tdW5kZXJsaW5lIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQjeyRhdHRlbnRpb259IHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuXG4vKipcbiAqIEFzIGF0dGVudGlvbi11bmRlcmxpbmUgYnV0IHdpdGggc3VwcG9ydCBmb3IgaW5saW5lIGljb25zLCBlLmcuXG4gKiA8YT48c3Bhbj5Mb3JlbTwvc3Bhbj4gPGkgY2xhc3M9XCJmYSBmYS1lbnZlbG9wZVwiPjwvaT48L2E+XG5cdGEge1xuXHRcdEBpbmNsdWRlIGF0dGVudGlvbi11bmRlcmxpbmUtc3Bhbjtcblx0fVxuICovXG5AbWl4aW4gYXR0ZW50aW9uLXVuZGVybGluZS1zcGFuIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQjeyRhdHRlbnRpb259IHtcblx0XHRzcGFuIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvdG9vbHMvX2F0dGVudGlvbi5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJBTEFOQ0UgRlVOQ1RJT05cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5DYWxjdWxhdGVzIGFuZCBhZGRzIG9uIDIwJSAoYnkgZGVmYXVsdCkgb2YgdGhlIGdpdmVuIHBpeGVsIG51bWJlci4gVXNlZCB0byB2aXN1YWxseVxuYmFsYW5jZSBzcGFjaW5nLCBhcyB1c3VhbGx5IGhhdmluZyBleGFjdCBzYW1lIG51bWJlciBmb3Igc3BhY2luZyB0b3AgYW5kIGJvdHRvbVxuZG9lc24ndCBsb29rIHJpZ2h0IHZpc3VhbGx5LlxuKi9cblxuQGZ1bmN0aW9uIGJhbGFuY2UoJHZhbHVlLCAkcGVyY2VudGFnZTogMjApIHtcblxuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIpIHtcblx0XHRAaWYgKHVuaXQoJHZhbHVlKSAhPSBcInB4XCIpIHtcblx0XHRcdEBlcnJvciBcIicjeyR2YWx1ZX0nIG5lZWRzIHRvIGJlIGEgcGl4ZWwgdmFsdWUuXCI7XG5cdFx0fVxuXHR9XG5cdEBlbHNlIHtcblx0XHRAZXJyb3IgXCInI3skdmFsdWV9JyBuZWVkcyB0byBiZSBhIG51bWJlci5cIjtcblx0fVxuXG5cdEByZXR1cm4gJHZhbHVlICsgKCR2YWx1ZSAqICgkcGVyY2VudGFnZSAvIDEwMCkpO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19iYWxhbmNlLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlJFQUtPVVRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5BbGxvd3MgZm9yIHF1aWNrIGFwcGxpY2F0aW9uIG9mIGJyZWFrb3V0IHN0eWxlcywgYWxsb3dpbmcgZWxlbWVudCB0byBicmVha1xub3V0IG9mIGl0cyBwYXJlbnQgYW5kIGdvIGZ1bGwgdmlld3BvcnQgd2lkdGguXG4qL1xuXG5AbWl4aW4gYnJlYWtvdXQge1xuXHR3aWR0aDogMTAwdnc7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bGVmdDogNTAlO1xuXHRyaWdodDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTUwdnc7XG5cdG1hcmdpbi1yaWdodDogLTUwdnc7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvdG9vbHMvX2JyZWFrb3V0LnNjc3MiLCIvKipcbiAqIGNhbGN1bGF0ZS1yZW1cbiAqIENvbnZlcnQgZm9udCBzaXplIGZyb20gcGl4ZWxzIHRvIHJlbVxuICogKHR5cGljYWxseSBvbmx5IHVzZWQgd2l0aGluIHRoZSBmb250LXNpemUgbWl4aW4pXG4gKlxuICogQHBhcmFtICAgc3RyaW5nICAkc2l6ZSAgICAgIEZvbnQgc2l6ZSAocHgpXG4gKiBAcmV0dXJuICBzdHJpbmcgICRyZW0tc2l6ZSAgRm9udCBzaXplIChyZW0pXG4gKi9cbkBmdW5jdGlvbiBjYWxjdWxhdGUtcmVtKCRzaXplLCAkYmFzZTogMTBweCkge1xuXHQvLyBSZWxhdGl2ZSB0byAxMHB4IChiYXNlIDEwKSBhcyB0aGlzIGlzIHRoZVxuXHQvLyBmb250LXNpemUgc2V0IG9uIGh0bWwge30gYnkgYm9vdHN0cmFwJ3MgYF9zY2FmZm9sZGluZy5zY3NzYFxuXHQkcmVtLXNpemU6ICRzaXplIC8gJGJhc2U7XG5cdEByZXR1cm4gI3skcmVtLXNpemV9cmVtO1xufVxuXG4vKipcbiAqIGZvbnQtc2l6ZVxuICogU2V0IGEgZm9udC1zaXplIHZhbHVlIHdpdGggY3JlYXRlZCByZW0gdmFsdWVzIGFuZCBwaXhlbHMgYXMgZmFsbGJhY2tcbiAqXG4gKiBAcGFyYW0gIHN0cmluZyAgJHNpemUgIEZvbnQgc2l6ZSAocHgpXG4gKlxuXHQvLyBFeGFtcGxlOlxuXHQuZm9vIHtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG5cdH1cblxuXHQvLyBXaGljaCB3b3VsZCBnZW5lcmF0ZTpcblx0Zm9udC1zaXplOiAxNnB4OyAvLyBmYWxsYmFjayAocHgpXG5cdGZvbnQtc2l6ZTogMS42cmVtO1xuICovXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XG5cdGZvbnQtc2l6ZTogJHNpemU7IC8vIGZhbGxiYWNrIChweClcblx0QGlmICgkc2l6ZSAhPSAnaW5oZXJpdCcpIHtcblx0XHRmb250LXNpemU6IGNhbGN1bGF0ZS1yZW0oJHNpemUpO1xuXHR9XG59XG5cbi8qKlxuICogZmFcbiAqIEZvbnQtYXdlc29tZSBpY29uIC0gaW5qZWN0IGFzIGEgOjpiZWZvcmUgb3IgOjphZnRlciBwc2V1ZG8gZWxlbWVudFxuICpcbiAqIEBwYXJhbSAgc3RyaW5nICAgJGNoYXIgICAgICBGb250LWF3ZXNvbWUgY2hhcmFjdGVyIChlLmcuICRmYS12YXItZW52ZWxvcGUpXG4gKiBAcGFyYW0gIHN0cmluZyAgICRwb3NpdGlvbiAgW2JlZm9yZS9hZnRlcl0gKGRlZmF1bHQ6IGJlZm9yZSlcbiAqIEBwYXJhbSAgY29udGVudCAge30gICAgICAgICBTdHlsZXMgdGhhdCBhcHBseSB0byB0aGUgaWNvblxuICpcbiAqIExpc3Qgb2YgZm9udC1hd2Vzb21lIHZhcmlhYmxlcyAoYWx0aG91Z2ggdGhleSdyZSBndWVzc2FibGUpOlxuICogaHR0cHM6Ly9naXRodWIuY29tL0ZvcnRBd2Vzb21lL0ZvbnQtQXdlc29tZS9ibG9iL21hc3Rlci9zY3NzL192YXJpYWJsZXMuc2Nzc1xuICpcblx0Ly8gU2ltcGxlIGV4YW1wbGUgLSBhbiBlbnZlbG9wZSBpY29uIGJlZm9yZSBzdGFydCBvZiBlbGVtZW50OlxuXHRAaW5jbHVkZSBmYSgkZmEtdmFyLWVudmVsb3BlKTtcblxuXHQvLyBJY29uIGFmdGVyIGVsZW1lbnQ6XG5cdEBpbmNsdWRlIGZhKCRmYS12YXItZW52ZWxvcGUsIGFmdGVyKTtcblxuXHQvLyBTdHlsZWQgaWNvbjpcblx0QGluY2x1ZGUgZmEoJGZhLXZhci1lbnZlbG9wZSwgYWZ0ZXIpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRjb2xvcjogIzU1Zjtcblx0fVxuICpcbiAqICBOT1RFOiBJZiB1c2luZyBhIENETiBmb3IgZm9udC1hd2Vzb21lIGFuZCBub3QgYWxzbyBpbXBvcnRpbmdcbiAqICBmb250IGF3ZXNvbWUncyBgX3ZhcmlhYmxlcy5zY3NzYCBmaWxlICh1bnJlY29tbWVuZGVkISksXG4gKiAgeW91IGNhbiBtYW51YWxseSBwcm92aWRlIHRoZSB1bmljb2RlLCBpLmUuXG4gKiAgXHRAaW5jbHVkZSBmYSgnXFxGMTNBJyk7XG4gKi9cbkBtaXhpbiBmYSgkY2hhcjogbnVsbCwgJHBvc2l0aW9uOiBiZWZvcmUpIHtcblx0Ly8gJGNoYXIgY29udGVudCBjYW4gYmUgZW1wdHksIHNheSBpZiBpbmhlcml0aW5nIGZyb20gYSBwYXJlbnRcblx0QGlmICgkY2hhciAhPSBudWxsKSB7XG5cdFx0JjojeyRwb3NpdGlvbn0ge1xuXHRcdFx0Y29udGVudDogXCIjeyRjaGFyfSBcIjtcblx0XHR9XG5cdH1cblx0JjojeyRwb3NpdGlvbn0ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Ly8gdW5kZXJsaW5lIG11c3QgYmUgc2V0LCB0aGVuIHVuc2V0IC0gaWU4IGZpeFxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cdCY6I3skcG9zaXRpb259IHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL3Rvb2xzL19mb250cy5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNQQUNFUlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5GdW5jdGlvbiB0byByZXRyaXZlIGEgQm9vdHN0cmFwIHNwYWNlciB2YWx1ZS4gVXNlIHdoZW4geW91IHdhbnRcbnRvIHJlZmVyZW5jZSBhIHNwYWNlciB2YWx1ZSBpbiBhIGN1c3RvbSBjb21wb25lbnQsIGZvciBjb25zaXN0ZW5jeS4gXG5cbi5teUVsZW1lbnQge1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlcignMicpO1xufVxuKi9cblxuQGZ1bmN0aW9uIHNwYWNlcigkdmFsdWUpIHtcblx0JGNob3Nlbi1zcGFjZXI6IG51bGw7XG5cdEBpZiBtYXAtaGFzLWtleSgkc3BhY2VycywgJHZhbHVlKSB7XG5cdFx0JGNob3Nlbi1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsICR2YWx1ZSk7XG5cdH1cblx0QGVsc2Uge1xuXHRcdEBlcnJvciBcIicjeyR2YWx1ZX0nIGRvZXNuJ3QgZXhpc3QgaW4gQm9vdHN0cmFwcyBzcGFjZXIgbWFwXCI7XG5cdH1cblx0QHJldHVybiAkY2hvc2VuLXNwYWNlcjtcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy90b29scy9fc3BhY2VyLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU0tJTlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcbkFsbG93cyBmb3Igc3R5bGVzIHRvIGJlIGFwcGxpZWQgdG8gY3VycmVudCBjbGFzc2VzIHdoaWNoIHdpbGwgYmUgdXNlZFxub24gcmVza2lubmVkIHZlcnNpb24gb2YgdGhlIHNpdGVcbiovXG5cbkBtaXhpbiBza2luLWJsYWNrIHtcblx0Ym9keS5za2luLWJsYWNrICYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBza2luLXNtYXJ0Y2hhcnRzIHtcblx0Ym9keS5za2luLXNtYXJ0Y2hhcnRzICYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy90b29scy9fc2tpbi5zY3NzIiwiLyohXG4gKiBCb290c3RyYXAgUmVib290IHY0LjEuMyAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMTggVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKiBGb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzLCBsaWNlbnNlZCBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZClcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1yZWJvb3Quc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIFNldHRpbmcgQHZpZXdwb3J0IGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xuLy8gICAgd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cbi8vIDYuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7IC8vIDVcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDZcbn1cblxuLy8gSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzLlxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2VycylcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlIHRoZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4vLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbi8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtXG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZvbnQtd2VpZ2h0LW5vdGF0aW9uXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvLyBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIFdlIGhhdmUgQHZpZXdwb3J0IHNldCB3aGljaCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbiAgLy8gd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG8gY291bnRlcmFjdC5cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGFwcGVhcmFuY2Ugb2YgdGVtcG9yYWwgaW5wdXRzIHRvIGF2b2lkIGEgTW9iaWxlIFNhZmFyaVxuICAvLyBidWcgd2hlcmUgc2V0dGluZyBhIGN1c3RvbSBsaW5lLWhlaWdodCBwcmV2ZW50cyB0ZXh0IGZyb20gYmVpbmcgdmVydGljYWxseVxuICAvLyBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi8vIFJlbW92ZSBvdXRsaW5lIG9uIGZvY3VzIGZvciBibG9jayBlbGVtZW50cyB0byBzdG9wIG91dGxpbmluZyAnc3R1cGlkJyB0aGluZ3MuXG5tYWluIHsgLy8sIGRpdiwgaGVhZGVyLFxuXHQmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxufVxuXG4vLyBXaXRob3V0IHRoaXMsIHNlbGVjdCBoYXMgY3Vyc29yOiBkZWZhdWx0OyBkJ29oIVxuc2VsZWN0IHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8vIFN0b3Agc2VsZWN0IHN0eWxlcyBmcm9tIGFmZmVjdGluZyB0aGUgb3B0aW9ucyB0b29cbm9wdGlvbiB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi8vIGlPUyBkZXZpY2VzIGRvIHNpbGx5IHRoaW5ncyB0aGF0IG92ZXJyaWRlIGlucHV0IHN0eWxlc1xudGV4dGFyZWEsXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSB7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFN0b3AgdGVsOiBsaW5rcyBmcm9tIHVzaW5nIHR5cGljYWwgbGluayBzdHlsZXNcbmFbaHJlZl49XCJ0ZWxcIl17XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8vIEhpZGVzIHRoZSBpZnJhbWUgd2l0aG91dCBhZmZlY3RpbmcgYW55IGZ1bmN0aW9uYWxpdHlcbmlmcmFtZVtuYW1lPSdnb29nbGVfY29udmVyc2lvbl9mcmFtZSddIHtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQkxPQ0tRVU9URVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYmxvY2txdW90ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdHdpZHRoOiA1cHg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG1kKSB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdHBhZGRpbmctbGVmdDogNDVweDtcblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDDosKAwqZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW50w6LCgMKmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDDosKJwqUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L3Nhc3MtbXEvX21xLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSEVBRElOR1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcblNldCBzb21lIHByb2plY3QgZGVmYXVsdHMgZm9yIGhlYWRpbmcgZWxlbWVudHMsIHRvIG1hdGNoIGRlc2lnbnMgYW5kIGZvclxuZWFzZSBvZiB1c2UuXG5cblRvIHNlcGVyYXRlIGRlY29yYXRpb24gZnJvbSBzZW1hbnRpY3MsIHdlIGNvbnRyb2wgaG93IHRoZSBoZWFkZXJcbmxvb2tzIHZpYSB0aGUgdHlwb2dyYXBoeSBjb21wb25lbnRcbiovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bWFyZ2luOiAwO1xufVxuXG5oMSxcbmgyIHtcblx0Y29sb3I6IHRoZW1lLWNvbG9yKCdoZWFkaW5nJyk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9lbGVtZW50cy9faGVhZGluZ3Muc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMSVNUU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcblsxXSBPdmVycmlkZXMgZXZfY29udGFjdF9mb3JtIGRlZmF1bHRzXG4qL1xuXG51bCxcbm9sIHtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0cGFkZGluZzogMDtcblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxudWwge1xuXHRsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7IC8qIFsxXSAqL1xuXG5cdGxpIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXDI1Q0YgXCI7XG5cdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuXG5cdFx0XHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgc2tpbi1zbWFydGNoYXJ0cygpIHtcblx0XHRcdFx0Y29sb3I6IHRoZW1lLWNvbG9yKCdzZWNvbmRhcnknKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxub2wge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcblxuXHRsaSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAuNWVtO1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9lbGVtZW50cy9fbGlzdHMuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQQUdFXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuU2V0IGJhc2ljIHN0eWxlcyBmb3IgYm9keSB0b3AgbGV2ZWwgZWxlbWVudC5cbiovXG5cbmh0bWwge1xuXHQvLyBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuXHRmb250LXNpemU6IDE4cHg7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblxuXHQmLnNraW4tYmxhY2sge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxYzE2MzA7XG5cdFx0Y29sb3I6IHRoZW1lLWNvbG9yKCdibGFjay1zZWNvbmRhcnknKTtcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvZWxlbWVudHMvX3BhZ2Uuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQQVJBR1JBUEhTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL19wYXJhZ3JhcGhzLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVEFCTEVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRhYmxlOm5vdCgjZnhzdC1jYWxlbmRhcnRhYmxlKSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cblx0dHI6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHR9XG5cdHRyOm50aC1jaGlsZChvZGQpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcignbGlnaHQtZ3JleScpO1xuXHR9XG5cblx0dGgsXG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxuXG5cdHRoLFxuXHR0aGVhZCB0ZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2ZhZGVkLWJsdWUnKTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCB0aGVtZS1jb2xvcignZmFkZWQtYmx1ZScpO1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblxuXHR0ZCB7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgdGhlbWUtY29sb3IoJ2dyZXknKTtcblx0fVxufVxuXG5AaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG5cdHRhYmxlOm5vdCgjZnhzdC1jYWxlbmRhcnRhYmxlKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2VsZW1lbnRzL190YWJsZS5zY3NzIiwiLyohXG4gKiBCb290c3RyYXAgR3JpZCB2NC4xLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH0gLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXhcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuXG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLWdyaWQuc2NzcyIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG59XG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGggMTAwJSB3aWR0aCBmb3Jcbi8vIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cbn1cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMnB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kI3skaW5maXh9LW5vbmUgICAgICAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1ibG9jayAgICAgICAgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1mbGV4ICAgICAgICAgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU5MSU5FIExJU1Rcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLWlubGluZS1saXN0IHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRsaTo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3Mvb2JqZWN0cy9faW5saW5lLWxpc3Quc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRmb250LXNpemUtYmFzZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIC8vIFNoYXJlIGhvdmVyIGFuZCBmb2N1cyBzdHlsZXNcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5idG4gZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG59XG5cbi5jYXJkLWltZyB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENhcmQgaW1hZ2UgY2Fwc1xuLmNhcmQtaW1nLXRvcCB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6b25seS1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIsXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIC5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuXG4gIC5jYXJkOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAwO1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBSZWRlY2xhcmUgYmVjYXVzZSBuZXN0aW5nIGNhbiBjYXVzZSBpbmhlcml0YW5jZSBpc3N1ZXNcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIGVuYWJsZWQgUG9wcGVyLmpzLCByZXNldCBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIC8vIE1hbnVhbGx5IHVzZSB0aGUgaWYvZWxzZSBpbnN0ZWFkIG9mIHRoZSBtaXhpbiB0byBhY2NvdW50IGZvciBpT1Mgb3ZlcnJpZGVcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVuZG8gdGhlIGlPUyBkZWZhdWx0XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJ2YWxpZFwiLCAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcik7XG5AaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXCJpbnZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IpO1xuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJHRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YWZ0ZXIgeyBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIi8vc2tpcCB0byBjb250ZW50IGxpbmtcbi5za2lwLXRvLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC0xMDAwcHg7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdCY6Zm9jdXMge1xuXHRcdHRvcDogMjBweDtcblx0XHRsZWZ0OiA1cHg7XG5cdFx0ei1pbmRleDogOTk5OTtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IDM1cHg7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzNXB4O1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0Ym94LXNoYWRvdzogMnB4IDNweCA1cHggMCByZ2JhKDAsIDAsIDAsIC43NSk7XG5cdH1cbn1cblxuLy8gQmFjayB0byB0b3AgbGlua1xuLmJhY2stdG8tdG9wIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6ICRncmlkLWd1dHRlci13aWR0aCAqIC41IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmJhY2stdG8tdG9wX19saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiA1cHg7XG5cdGNsZWFyOiBib3RoO1xuXHRjb2xvcjogY29sb3IoJ29yYW5nZScpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHQjeyRhdHRlbnRpb259IHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblx0LmZhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCT1hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5TaW1wbGUgY29sb3VyZWQgYm94IGNvbXBvbmVudFxuKi9cblxuLmMtYm94LS1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdzZWN0aW9uLWJnLWxpZ2h0Jyk7XG5cblx0QGluY2x1ZGUgc2tpbi1ibGFjaygpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcignYmxhY2stcHJpbWFyeScpO1xuXHR9XG59XG5cbi5jLWJveC0tZGFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdzZWN0aW9uLWJnLWRhcmsnKTtcblxuXHQmLFxuXHQmIGgyIHtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0fVxuXG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0fVxuXG5cdEBpbmNsdWRlIHNraW4tc21hcnRjaGFydHMge1xuXHRcdCYsXG5cdFx0aDEsXG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWJveC0tc3BhY2luZy1zbWFsbCB7XG5cdHBhZGRpbmc6IDMwcHggMCBiYWxhbmNlKDMwcHgpO1xufVxuXG4uYy1ib3gtLXNwYWNpbmctbGFyZ2Uge1xuXHRwYWRkaW5nOiA1MHB4IDAgYmFsYW5jZSg1MHB4KTtcbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtYm94LS1zcGFjaW5nLXNtYWxsIHtcblx0XHRwYWRkaW5nOiA0MHB4IDAgYmFsYW5jZSg0MHB4KTtcblx0fVxuXG5cdC5jLWJveC1zcGFjaW5nLWxhcmdlIHtcblx0XHRwYWRkaW5nOiA2MHB4IDAgYmFsYW5jZSg2MHB4KTtcblx0fVxufVxuXG4uYy1ib3gtLWJvcmRlci10b3Age1xuXHRib3JkZXItdG9wOiAycHggc29saWQgdGhlbWUtY29sb3IoJ2dyZXknKTtcblxuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXNlY29uZGFyeScpO1xuXHR9XG59XG5cbi5jLWJveC0tZGFyay5jLWJveC0tYm9yZGVyLXRvcCB7XG5cdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ2ZhZGVkLWJsdWUnKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2JveC5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJVVFRPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5BZGRpdGlvbmFsIHN0eWxlcyB0byBleHRlbmQgdGhlIGRlZmF1bHQgYm9vdHN0cmFwIGJ1dHRvbnNcblxuWzFdIE92ZXJpZGUgQm9vdHN0cmFwIGRlZmF1bHRzXG4qL1xuXG4uYnRuIHtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5AaW5jbHVkZSBtcShzbSkge1xuXHQuYnRuIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG5AaW5jbHVkZSBtcShzbTIpIHtcblx0LmJ0bi1sZyB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDE1cHggMjBweDtcblx0fVxufVxuXG4uYnRuLS1mYWtlIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDsgLyogWzFdICovXG59XG5cbi5kaXNjbGFpbWVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR6LWluZGV4OiAyMDsgLy8gaGlnaGVyIHRoYW4gLmMtaGVhZGVyLXRvcFxuXHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRjb2xvcjogI2YwZjBmMDtcblx0dG9wOiAwO1xufVxuXG4uZGlzY2xhaW1lci1iYW5uZXJfX3JldmVhbCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDAuNXJlbTtcblxuXHQjeyRhdHRlbnRpb259IHtcblx0XHRjb2xvcjogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblx0fVxufVxuXG4uZGlzY2xhaW1lci1idXR0b24ge1xuXHRmb250LXNpemU6IDFlbTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG5cblx0bWFyZ2luLXRvcDogMTBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1pbi13aWR0aDogMTIwcHg7XG5cblx0QGluY2x1ZGUgbXEobWQpIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi5idG4tcHJpbWFyeSB7XG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0Ly9AZXh0ZW5kIC5idG4tYmxhY2stc2Vjb25kYXJ5O1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0FSRFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcbkFkZGl0aW9uYWwgc3R5bGVzIHRvIGV4dGVuZCB0aGUgZGVmYXVsdCBib290c3RyYXAgY2FyZFxuKi9cblxuYS5jYXJkIHtcblx0Y29sb3I6IGluaGVyaXQ7IC8vIElmIGNhcmQgaXMgYWxzbyBhbiBhbmNob3IsIG1ha2UgdGV4dCBjb2xvdXIgbm9ybWFsXG5cdCN7JGF0dGVudGlvbn0ge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG4uY2FyZDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmNhcmQge1xuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdibGFjay10ZXJ0aWFyeScpO1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ0FST1VTRUxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5bMV0gVXNlIG9mICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgc29tZSBpbmxpbmUgc3R5bGVzIHdoaWNoIHNsaWNrLWNhcm91c2VsXG5hZGRzXG4qL1xuXG4uYy1jYXJvdXNlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMTVweCAwIDMwcHggMDtcblxuXHRAaW5jbHVkZSBza2luLXNtYXJ0Y2hhcnRzKCkge1xuXHRcdCYsXG5cdFx0aDEsXG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWNhcm91c2VsX193cmFwcGVyIHtcblx0cGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbi5jLWNhcm91c2VsX19hcnJvdyB7XG5cdHN2ZyB7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAzMXB4O1xuXHRcdGZpbGw6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC41KTtcblx0fVxuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogWzFdICovXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0c3ZnIHtcblx0XHRcdGZpbGw6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWNhcm91c2VsX19hcnJvdy0tbGVmdCB7XG5cdGxlZnQ6IC0zMHB4O1xufVxuXG4uYy1jYXJvdXNlbF9fYXJyb3ctLXJpZ2h0IHtcblx0cmlnaHQ6IC0zMHB4O1xufVxuXG4uYy1jYXJvdXNlbF9fZG90cy1pbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IDA7XG5cdGxpIHtcblx0XHRtYXJnaW46IDAgNXB4O1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRidXR0b24ge1xuXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRmb250LXNpemU6IDA7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdGJ1dHRvbjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxuXHRsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHR9XG59XG5cbi5jLWNhcm91c2VsX19zbGlkZSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtY2Fyb3VzZWwge1xuXHRcdHBhZGRpbmc6IDMwcHggMCA2MHB4IDA7XG5cdH1cblxuXHQuYy1jYXJvdXNlbF9fd3JhcHBlciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDgwcHg7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobGcpIHtcblx0LmMtY2Fyb3VzZWxfX3NsaWRlIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKDEyNDApIHtcblx0LmMtY2Fyb3VzZWxfX2Fycm93IHtcblx0XHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8qIFsxXSAqL1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKDEzMTBweCkge1xuXG5cdC5jLWNhcm91c2VsX19hcnJvdyB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcblx0fVxuXG5cdC5jLWNhcm91c2VsX19hcnJvdy0tbGVmdCB7XG5cdFx0bGVmdDogLTYwcHg7XG5cdH1cblxuXHQuYy1jYXJvdXNlbF9fYXJyb3ctLXJpZ2h0IHtcblx0XHRyaWdodDogLTYwcHg7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09MTEFQU0Vcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5CdWlsZGluZyBvbiBCb290c3RyYXAgY29sbGFwc2UgY29tcG9uZW50XG4qL1xuXG4uYy1jb2xsYXBzZV9fdGl0bGUge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGgyIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0fVxufVxuXG4uYy1jb2xsYXBzZV9faWNvbiB7XG5cdHdpZHRoOiAyMnB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWNvbGxhcHNlX19pY29uLXBsdXMsXG4uYy1jb2xsYXBzZV9faWNvbi1taW51cyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Zm9udC1zaXplOiAyNHB4O1xuXHR0b3A6IC0ycHg7XG59XG5cbi5jLWNvbGxhcHNlX19pY29uLW1pbnVzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtY29sbGFwc2VfX2Fuc3dlciB7XG5cdHBhZGRpbmc6IDAgMTVweCAxNXB4IDE1cHg7XG59XG5cbi5jLWNvbGxhcHNlIHtcblx0Ji5pcy1hY3RpdmUge1xuXHRcdC5jLWNvbGxhcHNlX19pY29uLXBsdXMge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmMtY29sbGFwc2VfX2ljb24tbWludXMge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG1kKSB7XG5cdC5jLWNvbGxhcHNlX190aXRsZSB7XG5cdFx0cGFkZGluZzogMjBweDtcblx0fVxuXG5cdC5jLWNvbGxhcHNlX19hbnN3ZXIge1xuXHRcdHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG5cdH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19jb2xsYXBzZS5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTlRFTlQgT0ZGU0VUIElNQUdFXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuU3R5bGVzIGZvciBjb250ZW50IGJsb2NrIHdpdGggbGVmdCBhbGlnbmVkIG9mZnNldCBpbWFnZSB3aGljaCBicmVha3Mgb3V0XG5vZiBjb250YWluZXIuXG4qL1xuXG4uYy1jb250ZW50LWltYWdlLW9mZnNldCB7XG5cdC5jLXR5cGUtZWNobyB7XG5cdFx0QGluY2x1ZGUgc2tpbi1zbWFydGNoYXJ0cygpIHtcblx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcignc2Vjb25kYXJ5Jyk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jb250ZW50LW9mZnNldC1pbWFnZV9faW1hZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0fVxufVxuXG5AaW5jbHVkZSBtcShtZCkge1xuXHQuYy1jb250ZW50LW9mZnNldC1pbWFnZV9faW1hZ2Uge1xuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuXG5AaW5jbHVkZSBtcShsZykge1xuXHQuYy1jb250ZW50LW9mZnNldC1pbWFnZV9faW1hZ2UgaW1nIHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xODBweCk7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtb2Zmc2V0LWltYWdlLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVEVOVCBXUkFQUEVSXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuSGlnaCBsZXZlbCBjb21wb25lbnQgd2hpY2ggYWRkcyB0aGUgc3RhbmRhcmQgd2hpdGUvaWNvbi9ncmV5IHBhZ2UgbGF5b3V0XG4qL1xuXG4uYy1jb250ZW50LXdyYXBwZXJfX2hlYWRlciB7XG5cdHBhZGRpbmc6IDQwcHggMCA4MHB4IDA7XG5cblx0aDEge1xuXHRcdEBpbmNsdWRlIHNraW4tc21hcnRjaGFydHMoKSB7XG5cdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ3NlY29uZGFyeScpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jb250ZW50LXdyYXBwZXJfX2JvZHkge1xuXHRwYWRkaW5nOiA3MHB4IDAgMzBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2xpZ2h0LWdyZXknKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXByaW1hcnknKTtcblxuXHRcdGgxIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cblx0XHRcdC50ZXh0LXByaW1hcnkge1xuXHRcdFx0XHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdEBpbmNsdWRlIHNraW4tc21hcnRjaGFydHMoKSB7XG5cdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ3NlY29uZGFyeScpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jb250ZW50LXdyYXBwZXJfX21hcmsge1xuXHR3aWR0aDogNzVweDtcblx0aGVpZ2h0OiA4M3B4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTUwcHg7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IGF1dG87XG5cblx0QGluY2x1ZGUgc2tpbi1zbWFydGNoYXJ0cygpIHtcblx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdHRvcDogLTUwcHg7XG5cdFx0d2lkdGg6IDI1OXB4O1xuXHR9XG59XG5cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtY29udGVudC13cmFwcGVyX19oZWFkZXIge1xuXHRcdHBhZGRpbmc6IDYwcHggMCAxMjBweCAwO1xuXHR9XG5cblx0LmMtY29udGVudC13cmFwcGVyX19ib2R5IHtcblx0XHRwYWRkaW5nOiAxMjBweCAwIDYwcHg7XG5cdH1cblxuXHQuYy1jb250ZW50LXdyYXBwZXJfX21hcmsge1xuXHRcdHdpZHRoOiAxMjBweDtcblx0XHRoZWlnaHQ6IDEzMnB4O1xuXHRcdHRvcDogLTgwcHg7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2NvbnRlbnQtd3JhcHBlci5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPT1RFUlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtZm9vdGVyIHtcblx0YSB7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdH1cblxuXHQuYy1ib3gtLWRhcmsge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdmb290ZXItYmcnKTtcblx0fVxuXG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXNlY29uZGFyeScpO1xuXHRcdH1cblxuXHRcdC50ZXh0LXByaW1hcnkge1xuXHRcdFx0Y29sb3I6ICNmZmYgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLmMtZm9vdGVyX19pY29uIHtcblx0ZmlsbDogdGhlbWUtY29sb3IoJ2ZhZGVkLWJsdWUnKTtcblxuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGZpbGw6IHRoZW1lLWNvbG9yKCdibGFjay1zZWNvbmRhcnknKTtcblx0fVxufVxuXG4uYy1mb290ZXJfX2ljb24tLWZhY2Vib29rIHtcblx0d2lkdGg6IDQycHg7XG5cdGhlaWdodDogNDJweDtcbn1cblxuLmMtZm9vdGVyX19pY29uLS10d2l0dGVyIHtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLmMtZm9vdGVyX19pY29uLS1saW5rZWRpbiB7XG5cdHdpZHRoOiA0MnB4O1xuXHRoZWlnaHQ6IDQycHg7XG59XG5cbi5jLWZvb3Rlcl9faWNvbi0tZ29vZ2xlLXBsdXMge1xuXHR3aWR0aDogNThweDtcblx0aGVpZ2h0OiAzNnB4O1xufVxuXG4uYy1mb290ZXJfX2ljb24tLXlvdXR1YmUge1xuXHR3aWR0aDogNTJweDtcblx0aGVpZ2h0OiAzNnB4O1xufVxuXG4uYy1mb290ZXJfX2V2b2x1dGVkIHtcblx0ZmlsbDogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcblx0d2lkdGg6IDE3cHg7XG5cdGhlaWdodDogMTZweDtcblxuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGZpbGw6IHRoZW1lLWNvbG9yKCdibGFjay1zZWNvbmRhcnknKTtcblx0fVxufVxuXG4uYy1mb290ZXJfX2xpbmtzIGEge1xuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogbWQpIHtcblx0LmMtZm9vdGVyX19saW5rcyB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLnN0aWNreS1mb290ZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRjb2xvcjogI2YwZjBmMDtcbn1cblxuLnN0aWNreS1mb290ZXJfX2NvbnRlbnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0cGFkZGluZzogMC41cmVtIDA7XG5cblx0cCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogbWQpIHtcblx0Ly8gTG93ZXIgdGhlIGZvbnQtc2l6ZSBvbiBtb2JpbGUgdG8gcHJldmVudCB0aGUgc3RpY2t5IGZvb3RlciBmcm9tIHRha2luZyB1cCB0b28gbXVjaCBzY3JlZW4gc3BhY2UuXG5cdC5zdGlja3ktZm9vdGVyX19jb250ZW50IHtcblx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHR9XG59XG5cbi5jLWZvb3RlciAudGV4dC1ncmV5IHtcblx0QGluY2x1ZGUgc2tpbi1ibGFjaygpIHtcblx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXNlY29uZGFyeScpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPUk1TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuQWRkaXRpb25hbCBzdHlsZXMgdG8gZXh0ZW5kIGRlZmF1bHQgYm9vdHN0cmFwIGZvcm1zXG5cblsxXSBPdmVycmlkZSBCb290c3RyYXAgZGVmYXVsdHNcblsyXSBIYXZlIHRvIHdyaXRlIHRyYW5zZm9ybSB0aGlzIHdheSB0byBwbGFjZSBuaWNlIHdpdGggSUUsIHdobyB3b3VsZG4ndFxuYWNjZXB0IHRyYW5zbGF0ZVgoY2FsYygtMTAwJSAtIDIwcHgpKTtcbiovXG5cbi5mb3JtLWNvbnRyb2wge1xuXHRwYWRkaW5nOiAxMHB4IDEwcHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRoZWlnaHQ6IGF1dG87XG5cdCY6Zm9jdXMge1xuXHRcdHotaW5kZXg6IDAgIWltcG9ydGFudDsgLyogWzFdICovXG5cdH1cbn1cblxuLmlucHV0LWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wge1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBhZGRpbmc6IDIwcHggMTVweDtcbn1cblxuLmlucHV0LWdyb3VwLWxnIC5pbnB1dC1ncm91cC1hcHBlbmQge1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0PiAuYnRuIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoc20yKSB7XG5cdC5mb3JtLWNvbnRyb2wge1xuXHRcdHBhZGRpbmc6IDE1cHggMTBweDtcblx0fVxuXG5cdC5pbnB1dC1ncm91cC1sZyAuZm9ybS1jb250cm9sIHtcblx0XHRwYWRkaW5nOiAyNXB4IDIwcHg7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmZvcm0tZ3JvdXAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTRweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWCgtMjBweCk7IC8qIFsyXSAqL1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR0xPU1NBUlkgRklMVEVSXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuQSAtIFogYnV0dG9ucyBmb3IgZ2xvc3NhcnkgZmlsdGVyIGZ1bmN0aW9uYWxpdHlcbiovXG5cbi5jLWdsb3NzYXJ5LWZpbHRlciB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jLWdsb3NzYXJ5LWZpbHRlcl9faXRlbSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLmMtZ2xvc3NhcnktZmlsdGVyX19pdGVtLWlubmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0Ym9yZGVyOiAycHggc29saWQgdGhlbWUtY29sb3IoJ2dyZXknKTtcblx0cGFkZGluZy10b3A6MTAwJTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDUwcHg7XG5cdGhlaWdodDogNTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWxldHRlcik7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XG5cdH1cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcblx0fVxufVxuXG4uYy1nbG9zc2FyeS1maWx0ZXJfX2l0ZW0taW5uZXJbZGlzYWJsZWRdIHtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdsaWdodC1ncmV5Jyk7XG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29sb3I6IHRoZW1lLWNvbG9yKCdncmV5Jyk7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuXHQuYy1nbG9zc2FyeS1maWx0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDcwcHg7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjAwMSksIHRoZW1lLWNvbG9yKCdsaWdodC1ncmV5JykpO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmMtZ2xvc3NhcnktZmlsdGVyX19pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHR9XG5cblx0LmMtZ2xvc3NhcnktZmlsdGVyX19pdGVtIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBtcShsZykge1xuXG5cdC5jLWdsb3NzYXJ5LWZpbHRlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0fVxuXG5cdC5jLWdsb3NzYXJ5LWZpbHRlcl9faW5uZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdG1hcmdpbjogMCAtMTBweDtcblx0fVxuXG5cdC5jLWdsb3NzYXJ5LWZpbHRlcl9faXRlbSB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHR3aWR0aDogKDEwMCUgLyAxMyk7XG5cdH1cblxuXHQuYy1nbG9zc2FyeS1maWx0ZXJfX2l0ZW0taW5uZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2dsb3NzYXJ5LWZpbHRlci5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhBTUJVUkdFUiBCVVRUT04gQ09NUE9ORU5UXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuWzFdIFVzZSBvZiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGRlZmF1bHQgQm9vdHN0cmFwIGJ1dHRvbiBzdHlsZXNcbiovXG5cbi5jLWhhbWJ1cmdlci1idXR0b24ge1xuXHR3aWR0aDogYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdCN7JGF0dGVudGlvbn0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICAhaW1wb3J0YW50OyAvKiBbMV0gKi9cblx0XHRib3JkZXItY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgLyogWzFdICovXG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAvKiBbMV0gKi9cblx0fVxufVxuXG4uYy1oYW1idXJnZXItYnV0dG9uX19saW5lcyB7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaGFtYnVyZ2VyLWJ1dHRvbl9fbGluZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDoxN3B4O1xuXHRoZWlnaHQ6IDNweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy1oYW1idXJnZXItYnV0dG9uX19saW5lLS0xLFxuLmMtaGFtYnVyZ2VyLWJ1dHRvbl9fbGluZS0tMyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIHRvcCAwLjJzO1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuXG4uYy1oYW1idXJnZXItYnV0dG9uX19saW5lLS0xIHtcblx0dG9wOiAtNnB4O1xufVxuXG4uYy1oYW1idXJnZXItYnV0dG9uX19saW5lLS0zIHtcblx0dG9wOiA2cHg7XG59XG5cbi5jLWhhbWJ1cmdlci1idXR0b25fX3RleHQge1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHR0cmFuc2l0aW9uOiBmb250LXNpemUgMC4yNXM7XG59XG5cbkBpbmNsdWRlIG1xKHNtMikge1xuXHQuYy1oYW1idXJnZXItYnV0dG9uX190ZXh0IHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cbn1cblxuLmMtaGFtYnVyZ2VyLWJ1dHRvbi5pcy1hY3RpdmUge1xuXG5cdC5jLWhhbWJ1cmdlci1idXR0b25fX2xpbmUtLTIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQuYy1oYW1idXJnZXItYnV0dG9uX19saW5lLS0xLFxuXHQuYy1oYW1idXJnZXItYnV0dG9uX19saW5lLS0zIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdC5jLWhhbWJ1cmdlci1idXR0b25fX2xpbmUtLTEge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdC5jLWhhbWJ1cmdlci1idXR0b25fX2xpbmUtLTMge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX2hhbWJ1cmdlci1idXR0b24uc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRUFERVJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5bMV0gRm9yY2VzIGNvbnRlbnQgdG8gc2l0IGFib3V0IGJhY2tncm91bmQgZ3JhZGllbnQgYW5kIGFsc28gbG9nbyAvIGhhbWJ1cmdlclxud2hpY2ggYWxzbyBoYXZlIGxvd2VyIHotaW5kZXggdmFsdWVzLlxuWzJdIE5lZWQgdG8gYWRkIHBhZGRpbmcgdG8gYm90dG9tIG9mIG1vYmlsZSBtZW51IGFzIG9uIHNtYWxsZXIgaU9TIGRldmljZXNcbnRoZSBicm93c2VyIGJvdHRvbSBuYXYgb3ZlcmxheXMgY29udGVudC5cblszXSBHZXQgcmlkIG9mIHN0YW5kYXJkIGxpc3QgYnVsbGV0IHBvaW50XG4qL1xuXG4uYy1oZWFkZXItY29udGVudCB7XG5cdGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKCdkYXJrLWJsdWUnKSB1cmwoJ2ltZy9oZWFkZXItYmFja2dyb3VuZC5qcGcnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0bWFyZ2luLXRvcDogLTIzMHB4O1xuXHRtaW4taGVpZ2h0OiAyMzBweDtcblx0cGFkZGluZy10b3A6IDIzMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdGNvbG9yOiAjZmZmZmZmO1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAyMDBweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgjMDAwMDAwLCAwLjgpLCB0cmFuc3BhcmVudCk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdkYXJrLWJsdWUnKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0fVxufVxuXG4uYy1oZWFkZXItY29udGVudF9fY29udGFpbmVyIHtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1oZWFkZXItY29udGVudC5pcy1jaGFuZ2luZy1iYWNrZ3JvdW5kOjphZnRlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5jLWhlYWRlci10b3Age1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogWzFdICovXG5cdHotaW5kZXg6IDEwOyAvKiBbMV0gKi9cblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4uYy1oZWFkZXItYm9keSB7XG5cdHRvcDogMDtcblx0cGFkZGluZzogMjBweCAwIDMwcHggMDtcblx0ei1pbmRleDogMztcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjI1cztcbn1cblxuLmMtaGVhZGVyLWJvZHkuaXMtc3RpY2t5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2hlYWRlci1iZycpO1xufVxuXG4uYy1oZWFkZXItdG9wLFxuLmMtaGVhZGVyLWJvZHkge1xuXHRjb2xvcjogI2ZmZmZmZjtcblx0JiBhOm5vdCguYnRuKSxcblx0JiBhOm5vdCguYnRuKTpob3ZlciB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuLmMtaGVhZGVyLXRvcF9fbGluayxcbi5jLWhlYWRlci1ib2R5X19uYXYtaXRlbSB7XG5cdHBhZGRpbmc6IHNwYWNlcigyKTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1oZWFkZXItdG9wX19saW5rOjpiZWZvcmUsXG4uYy1oZWFkZXItYm9keV9fbmF2LWl0ZW06OmJlZm9yZSB7XG5cdGRpc3BsYXk6IG5vbmU7IC8qIFszXSAqL1xufVxuXG4uYy1oZWFkZXItYm9keV9fbG9nbyB7XG5cdHotaW5kZXg6IDY7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0c3ZnIHtcblx0XHRmaWxsOiBibGFjaztcblx0XHR3aWR0aDogMTUwcHg7XG5cdFx0aGVpZ2h0OiA1M3B4O1xuXHRcdHRyYW5zaXRpb246IHdpZHRoIDAuMjVzLCBoZWlnaHQgMC4yNXM7XG5cdH1cblxuXHRAaW5jbHVkZSBza2luLXNtYXJ0Y2hhcnRzKCkge1xuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTI1cHg7XG5cdFx0XHRoZWlnaHQ6IDUzcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWhlYWRlci1ib2R5X19pbm5lci1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMztcbn1cblxuLy8gQ3JlYXRlIGFjY291bnQgbGluayBmb3Igc21hbGxlciB2aWV3cG9ydHNcbi5jLWhlYWRlci1ib2R5X19hY2NvdW50LWxpbmsge1xuXHRjb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcbn1cblxuLy8gT3ZlcnJpZGUgc29tZSBkZWZhdWx0IEJvb3RzdHJhcCBjb21wb25lbnQgc3R5bGVzIHdpdGhpbiB0aGlzIGNvbXBvbmVudFxuLmMtaGVhZGVyLXRvcF9fbGluazpub3QoLmMtbmF2LWRyb3Bkb3duKSB7XG5cdC5uYXYtbGluayB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4ubmF2LWxpbmsge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1oZWFkZXItYm9keV9fYWNjb3VudC1idG4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1oZWFkZXItYm9keV9faGFtYnVyZ2VyIHtcblx0ei1pbmRleDogNjtcbn1cblxuLy8gUmVzaXplIGhlYWRlciBvbiBzdGlja3kgdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIHBhZ2UgY29udGVudFxuLmMtaGVhZGVyLWJvZHkuaXMtc3RpY2t5IHtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAxNHB4O1xuXG5cdC5jLWhlYWRlci1ib2R5X19sb2dvIHN2ZyB7XG5cdFx0d2lkdGg6IDEyNXB4O1xuXHRcdGhlaWdodDogNDRweDtcblx0fVxuXG5cdC5jLWhlYWRlci1ib2R5X19oYW1idXJnZXIgLmMtaGFtYnVyZ2VyLWJ1dHRvbl9fdGV4dCB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogc20pIHtcblx0Ly8gQkVNIG1peCB0byBpbnRyb2R1Y2UgY29tcG9uZW50IHNwZWNpZmljIGJlaGF2aW91ciB0byBCb290c3RyYXAgY29udGFpbmVyXG5cdC8vIEluIHRoaXMgY2FzZSwgd2UncmUgZ2V0dGluZyByaWQgb2YgY29udGFpbmVyIHBhZGRpbmcgc28gaXQncyBjb250ZW50IHdpbGwgZml0XG5cdC5jLWhlYWRlci10b3BfX2NvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0LmMtaGVhZGVyLXRvcF9fbGluayB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG59XG5cbi8vIFNldHRpbmcgc3R5bGVzIGZvciB0aGUgbW9iaWxlIG1lbnUgaW4gYW4gXCJ1bnRpbFwiIG1lZGlhIHF1ZXJ5IGFzIG90aGVyd2lzZVxuLy8gd2Ugd2lsbCB0aGVuIGhhdmUgdG8gcmVzZXQgdGhlc2Ugc3R5bGVzIGluIGxhdGVyIGJsb2NrcyB3aGljaCBpcyBhIGJpdCBtZXNzeS5cbkBpbmNsdWRlIG1xKCR1bnRpbDogMTA1MHB4KSB7XG5cdC5jLWhlYWRlci1ib2R5X19uYXYtd3JhcHBlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS1jb2xvcignaGVhZGVyLWJnJyksIDAuOTUpO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDEwMCU7XG5cdFx0dHJhbnNpdGlvbjogbGVmdCAwLjI1cztcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHotaW5kZXg6IDU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5jLWhlYWRlci1ib2R5X19uYXYtd3JhcHBlci5pcy1hY3RpdmUge1xuXHRcdGxlZnQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9fbmF2LXdyYXBwZXIuaXMtaGlkZGVuIHtcblx0XHR3aWR0aDogMDtcblx0fVxuXG5cdC8vIFJlc2V0IEJvb3RzdHJhcCBjb21wb25lbnQgc3R5bGVzIHNvIG1lbnVzIHN0YWNrIHZlcnRpY2FsbHlcblx0Lm5hdi5jLWhlYWRlci1ib2R5X19uYXYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0LmMtaGVhZGVyLWJvZHlfX25hdiB7XG5cdFx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNDNweCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy1ib3R0b206IDExMHB4O1xuXHR9XG5cblx0LmMtaGVhZGVyLWJvZHlfX25hdi1pdGVtIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgjZmZmZmZmLCAwLjI1KTtcblx0XHRwYWRkaW5nOiBzcGFjZXIoMyk7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Lypcblx0QWRkIHRoaXMgY2xhc3MgdG8gdGhlIDxib2R5PiBlbGVtZW50IHRvIHN0b3AgdGhlIHVzZXIgZnJvbSBiZWluZyBhYmxlIHRvIHNjcm9sbFxuXHQqL1xuXG5cdC5oYXMtbmF2LWFjdGl2ZSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0fVxufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogeHMsICR1bnRpbDogc20yKSB7XG5cdC5jLWhlYWRlci1ib2R5X19uYXYtd3JhcHBlciB7XG5cdFx0cGFkZGluZzogMTMwcHggMCA1MHB4IDA7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IHNtMiwgJHVudGlsOiBtZCkge1xuXHQuYy1oZWFkZXItYm9keV9fbmF2LXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDExMnB4IDAgNTBweCAwO1xuXHR9XG5cblx0LmMtaGVhZGVyLWJvZHlfX25hdi1pdGVtIHtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IG1kLCAkdW50aWw6IDEwNTBweCkge1xuXHQuYy1oZWFkZXItYm9keV9fbmF2IHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNDhweCk7XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9fbmF2LXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDE1NHB4IDAgNzVweCAwO1xuXHR9XG5cblx0LmMtaGVhZGVyLWJvZHlfX25hdi1pdGVtIHtcblx0XHRmb250LXNpemU6IDI4cHg7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoc20pIHtcblx0LmMtaGVhZGVyLXRvcF9fbGluazpsYXN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKHNtMikge1xufVxuXG5AaW5jbHVkZSBtcShtZCkge1xuXHQuYy1oZWFkZXItYm9keSB7XG5cdFx0cGFkZGluZzogMzBweCAwIDUwcHggMDtcblx0fVxuXG5cdC5jLWhlYWRlci10b3BfX2xpbmsge1xuXHRcdHBhZGRpbmc6IHNwYWNlcigzKTtcblx0fVxuXG5cdC5jLWhlYWRlci1ib2R5X19sb2dvIHtcblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0aGVpZ2h0OiA3MXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBza2luLXNtYXJ0Y2hhcnRzKCkge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDE3MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDc2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUmVzaXplIGhlYWRlciBvbiBzdGlja3kgdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIHBhZ2UgY29udGVudFxuXHQuYy1oZWFkZXItYm9keS5pcy1zdGlja3kge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG5cdFx0LmMtaGVhZGVyLWJvZHlfX2xvZ28ge1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDUzcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmMtaGVhZGVyLWJvZHlfX2hhbWJ1cmdlciAuYy1oYW1idXJnZXItYnV0dG9uX190ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoMTA1MXB4KSB7XG5cdC5jLWhlYWRlci1ib2R5X19hY2NvdW50LWJ0biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9faGFtYnVyZ2VyLFxuXHQuYy1oZWFkZXItYm9keV9fYWNjb3VudC1saW5rIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmMtaGVhZGVyLWJvZHlfX25hdi13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZXIoMyk7XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9fbmF2IHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9fbmF2LWl0ZW0ge1xuXHRcdHBhZGRpbmc6IDEwcHggMTVweCAyMHB4IDE1cHg7XG5cdH1cblxuXHQuYy1oZWFkZXItYm9keV9faW5uZXItY29udGFpbmVyIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSUNPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5SYW5kb20gYXNzb3J0ZWQgaWNvbiBzdHlsZXMgbm90IHRpZWQgdG8gYW55IHBhcnRpY3VsYXIgY29tcG9uZW50XG4qL1xuXG4uYy1pY29uLXNhc2gtdGljayB7XG5cdHdpZHRoOiAxNTBweDtcblx0aGVpZ2h0OiAxMjFweDtcbn1cblxuLmMtaWNvbi1jb2ctc3Bhbm5lciB7XG5cdHdpZHRoOiAxNTBweDtcblx0aGVpZ2h0OiAxMjVweDtcbn1cblxuLmMtaWNvbi1oZWFydC1oYW5kc2hha2Uge1xuXHR3aWR0aDogMTUwcHg7XG5cdGhlaWdodDogMTI3cHg7XG59XG5cbi5jLWljb24tcHJvZmlsZS1oYW5kcyB7XG5cdGhlaWdodDogMTUwcHg7XG5cdHdpZHRoOiAxNTBweDtcbn1cblxuLmMtaWNvbi1ncmFwaC10aWNrIHtcblx0aGVpZ2h0OiAxNTBweDtcblx0d2lkdGg6IDE1MHB4O1xufVxuXG4uYy1pY29uLWNhbGVuZGFyLXRvb2xib3gge1xuXHRoZWlnaHQ6IDE1MHB4O1xuXHR3aWR0aDogMTUwcHg7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTkxJTkUgTElTVFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcbkhvcml6b250YWwgbGlzdCB3aXRoIG9yYW5nZSBzZXBlcmF0ZXJzIGluIGJldHdlZW4gZWFjaCBlbnRyeVxuKi9cblxuLmMtaW5saW5lLWxpc3Qge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luOiAwO1xuXHRsaSB7XG5cdFx0bGluZS1oZWlnaHQ6IDM7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHRoZW1lLWNvbG9yKCdmYWRlZC1ibHVlJyk7XG5cdFx0fVxuXHRcdCYgYSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtaW5saW5lLWxpc3Qge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bGkge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcInxcIjtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcblx0XHRcdFx0cGFkZGluZzogMCAyNXB4O1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblxuXHRcdFx0XHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdFx0XHRcdGNvbG9yOiB0aGVtZS1jb2xvcignYmxhY2stc2Vjb25kYXJ5Jyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19pbmxpbmUtbGlzdC5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5BVklHQVRJT04gRFJPUERPV05cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5bMV0gR2V0IHJpZCBvZiBzdGFuZGFyZCBsaXN0IGJ1bGxldCBwb2ludFxuKi9cblxuLm5hdiBsaSB7XG5cdC8vIEhhY2sgdG8gcmVtb3ZlIGJ1bGxldCBwb2ludHMgaW4gRWRnZS5cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtbmF2LWRyb3Bkb3duIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxuXHRsaTo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lOyAvKiBbMV0gKi9cblx0fVxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2xpZ2h0LWdyZXknKTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0ei1pbmRleDogMTAwMTsgLyogT3ZlcnJpZGUgYm9vdHN0cmFwIG1lbnUgMTAwMCB6aW5kZXggKi9cblx0fVxufVxuXG4uYy1uYXYtZHJvcGRvd25fX2xhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubmF2ID4gLmMtbmF2LWRyb3Bkb3duID4gLmMtbmF2LWRyb3Bkb3duX19sYWJlbCB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0QGluY2x1ZGUgYXR0ZW50aW9uLXVuZGVybGluZTtcbn1cblxuLmMtbmF2LWRyb3Bkb3duX19kcm9wZG93biB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdsaWdodC1ncmV5Jyk7XG5cdGNvbG9yOiB0aGVtZS1jb2xvcignZGFyay1ibHVlJyk7XG5cdGJvcmRlcjowO1xuXHRwYWRkaW5nOiBzcGFjZXIoMik7XG5cdG1hcmdpbjowO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDZweCAxcHggcmdiYSgwLDAsMCwwLjQpO1xuXHRtaW4td2lkdGg6MTAwJTtcblx0d2lkdGg6IGF1dG87XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IDAuNGVtO1xuXHR9XG5cdHVsIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdHBhZGRpbmc6IDVweCAwICAwIDFlbTtcblx0XHRmb250LXNpemU6IDAuOWVtOyAvLyBNYWtlcyBzdWItbGlzdCBpdGVtcyBzbGlnaHRseSBzbWFsbGVyIGluIHNpemVcblx0fVxufVxuXG4uYy1uYXYtZHJvcGRvd246Zm9jdXMsXG4uYy1uYXYtZHJvcGRvd24uc2hvdyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKCdsaWdodC1ncmV5Jyk7XG5cdGNvbG9yOiB0aGVtZS1jb2xvcignZGFyay1ibHVlJyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdCY6OmJlZm9yZSB7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYmEoMCwwLDAsMC40KTtcblx0fVxuXHQmOjphZnRlciB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXHQuYy1uYXYtZHJvcGRvd25fX2Ryb3Bkb3duIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5AaW5jbHVkZSBtcShtZCkge1xuXHQuYy1uYXYtZHJvcGRvd25fX2Ryb3Bkb3duIHtcblx0XHRwYWRkaW5nOiBzcGFjZXIoMyk7XG5cdH1cbn1cblxuLy8gQ09MTEFQU0UgTU9ESUZJRVJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5Nb2RpZmllciB3aGljaCBhZGRzIGluIGJlaGF2aW91ciB3aGljaCBtYWtlcyB0aGlzIGNvbXBvbmVudCBtb3JlIHVzYWJsZVxub24gc21hbGxlciBzY3JlZW5zLiBDdXJyZW50bHkgb25seSB1c2VkIGZvciBpbnN0YW5jZXMgd2l0aGluIHRoZSBzaXRlcyBtYWluXG5uYXZpZ2F0aW9uLlxuKi9cblxuQGluY2x1ZGUgbXEoJHVudGlsOiAxMDUwcHgpIHtcblx0LmMtbmF2LWRyb3Bkb3duLS1jb2xsYXBzZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHQuYy1uYXYtZHJvcGRvd25fX2xhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiBzcGFjZXIoMyk7XG5cdFx0fVxuXHRcdCYuc2hvdyAuYy1uYXYtZHJvcGRvd25fX2xhYmVsIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdH1cblx0XHQuYy1uYXYtZHJvcGRvd25fX2Ryb3Bkb3duIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0bGksXG5cdFx0XHRhIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMTVweCAwO1xuXHRcdFx0fVxuXHRcdFx0bGk6bGFzdC1jaGlsZCxcblx0XHRcdGE6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCRmcm9tOiBtZCwgJHVudGlsOiAxMDUwcHgpIHtcblx0LmMtbmF2LWRyb3Bkb3duLS1jb2xsYXBzZSB7XG5cdFx0LmMtbmF2LWRyb3Bkb3duX19kcm9wZG93biB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL19uYXYtZHJvcGRvd24uc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBORVdTIFBPU1Rcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5OZXdzIHBvc3QgYmxvY2sgZm9yIHRoZSBsaXN0aW5nIHBhZ2VcbiovXG5cbi5jLW5ld3MtcG9zdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0QGluY2x1ZGUgc2tpbi1ibGFjaygpIHtcblx0XHQuZmEge1xuXHRcdFx0Y29sb3I6ICNmZmYgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLmMtbmV3cy1wb3N0X19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5jLW5ld3MtcG9zdF9fdGl0bGUge1xuXHRhIHtcblx0XHRjb2xvcjogdGhlbWUtY29sb3IoJ2RhcmstYmx1ZScpO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG1kKSB7XG5cdC5jLW5ld3MtcG9zdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG5cblx0LmMtbmV3cy1wb3N0X19pbWFnZSB7XG5cdFx0d2lkdGg6IDI3MXB4O1xuXHR9XG59XG5cblxuLm5ld3MtY29udGFpbmVyIHtcblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX25ld3MtcG9zdC5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFFVT1RFXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuQXR0cmlidXRlZCBxdW90ZSBjb21wb25lbnRcblxuWzFdIFJlbW92ZSBkZWZhdWx0IGJsb2NrcXVvdGUgc3R5bGVcbiovXG5cbi5jLXF1b3RlIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8qIFsxXSAqL1xuXHR9XG5cdGNpdGUgcCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHR9XG59XG5cbi5jLXF1b3RlX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiA0NXB4O1xuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uYy1xdW90ZV9faWNvbiB7XG5cdHdpZHRoOiAzN3B4O1xuXHRoZWlnaHQ6IDMzcHg7XG5cdGZpbGw6IHRoZW1lLWNvbG9yKCdncmV5Jyk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmMtcXVvdGVfX2ljb24tLWxlZnQge1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXF1b3RlX19pY29uLS1yaWdodCB7XG5cdGJvdHRvbTogLTQ1cHg7XG5cdHJpZ2h0OiAwO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX3F1b3RlLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU1RFUFNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5WaXN1YWwgc3RlcHMgcHJvY2Vzc1xuKi9cblxuLmMtc3RlcHMge1xuXHRjb3VudGVyLXJlc2V0OiBzdGVwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogNzIlO1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcblx0XHR0b3A6IDMwcHg7XG5cdFx0bGVmdDogMTQlO1xuXHR9XG5cblx0QGluY2x1ZGUgc2tpbi1ibGFjaygpIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcignYmxhY2stc2Vjb25kYXJ5Jyk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLXN0ZXBzX19pdGVtIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRoMiB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXI6IDVweCBzb2xpZCB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogNjBweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWUtY29sb3IoJ2RhcmstYmx1ZS1hbHQnKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXNlY29uZGFyeScpO1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IGNvdW50ZXIoc3RlcCk7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDMwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdHotaW5kZXg6IDI7XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtc3RlcHMge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LmMtc3RlcHNfX2l0ZW0ge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHR9XG5cdH1cblxuXHQvLyBNYW51YWwgb3ZlcmlkZXMgdG8gYmV0dGVyIHBvc2l0aW9uIGNlcnRhaW4gbnVtYmVyc1xuXHQuYy1zdGVwc19faXRlbTpudGgtY2hpbGQoMykge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01NSUpO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fc3RlcHMuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBURUFNIE1FTUJFUlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtdGVhbS1tZW1iZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy10ZWFtLW1lbWJlcl9fcGhvdG8ge1xuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogNXB4IHNvbGlkIHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblxuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJ2JsYWNrLXNlY29uZGFyeScpO1xuXHR9XG5cblx0aW1nIHtcblx0XHRib3JkZXI6IDVweCBzb2xpZCAjZmZmZmZmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uYy10ZWFtLW1lbWJlcl9fY29udGVudCB7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXG5cdEBpbmNsdWRlIHNraW4tYmxhY2soKSB7XG5cdFx0aDMsXG5cdFx0aDQge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKHNtMikge1xuXG5cdC5jLXRlYW0tbWVtYmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHR9XG5cblx0LmMtdGVhbS1tZW1iZXJfX2NvbnRlbnQge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy9jb21wb25lbnRzL190ZWFtLW1lbWJlci5zY3NzIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRZUE9HUkFQSFlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5JbiBvcmRlciB0byBzZXBhcmF0ZSBvdXIgc2VtYW50aWMgZGVjaXNpb25zIGZyb20gb3VyIHN0eWxpc3RpYyBvbmVzLCB3ZSBvbmx5XG5kZWZpbmUgb3BpbmlvbmF0ZWQgdHlwb2dyYXBoaWNhbCBzdHlsZXMgYWdhaW5zdCBjbGFzc2VzLCBOT1QgYWdhaW5zdFxudHlwb2dyYXBoaWMgSFRNTCBlbGVtZW50cy5cblxuRXhhbXBsZTogV2lsbCBwcmV2ZW50IGEgY2FzZSB3aGVyZSB3ZSBuZWVkIHRvIHVzZSBhIEgzIGJlY2F1c2Ugb2YgaG93IGl0XG5sb29rcywgcmF0aGVyIHRoYW4gYmVjYXVzZSBpdHMgdGhlIGNvcnJlY3QgcGxhY2UgdG8gdXNlIGl0IGluIHRoZSBkb2N1bWVudC5cblxuaHR0cHM6Ly9jc3N3aXphcmRyeS5jb20vMjAxNi8wMi9tYW5hZ2luZy10eXBvZ3JhcGh5LW9uLWxhcmdlLWFwcHMvXG5cbk5hbWluZyBjb252ZW50aW9uIHRha2VuIGZyb20gdGhlIE5BVE8gcGhvbmV0aWMgYWxwaGFiZXQuXG5odHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OQVRPX3Bob25ldGljX2FscGhhYmV0XG5cbldlIHVzZSB0aGlzIG5hbWluZyBjb252ZW50aW9uIHJhdGhlciB0aGFuIG1vcmUgc2VtYW50aWMgc2l6ZXMgKGVnOiBjLXR5cGUtYmlnKVxuYmVjYXVzZSBpZiB3ZSBuZWVkIHRvIGFkZCBtb3JlIHNpemVzIGluIHRoZSBmdXR1cmUsIHdlJ2xsIHRoZW4gaGF2ZSB0byBtb3ZlIGFyb3VuZFxuYWxsIG90aGVyIHNpemVzIHRvIGFjY29tb2RhdGUgdGhlbS5cbiovXG5cbi5jLXR5cGUtYWxwaGEge1xuXHRmb250LXNpemU6IDM2cHg7IC8qIDU2cHggKG1kKSAqL1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtdHlwZS1icmF2byB7XG5cdGZvbnQtc2l6ZTogMjRweDsgLyogMzZweCAobWQpICovXG59XG5cbi5jLXR5cGUtY2hhcmxpZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmMtdHlwZS1kZWx0YSB7XG5cdGZvbnQtc2l6ZTogMjBweDsgLyogMjRweCAobWQpICovXG59XG5cbi5jLXR5cGUtZWNobyB7XG5cdGZvbnQtc2l6ZTogMjJweDsgLyogMzBweCAobWQpICovXG59XG5cbi5jLXR5cGUtZm94dHJvdCB7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmMtdHlwZS1nb2xmIHtcblx0Zm9udC1zaXplOiAxOHB4OyAvKiAyMHB4IChtZCkgKi9cbn1cblxuQGluY2x1ZGUgbXEobWQpIHtcblx0LmMtdHlwZS1hbHBoYSB7XG5cdFx0Zm9udC1zaXplOiA1NnB4O1xuXHR9XG5cblx0LmMtdHlwZS1icmF2byB7XG5cdFx0Zm9udC1zaXplOiAzNnB4O1xuXHR9XG5cblx0LmMtdHlwZS1kZWx0YSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cblx0LmMtdHlwZS1lY2hvIHtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdH1cblxuXHQuYy10eXBlLWdvbGYge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuXG4vLyBNb2RpZmllciBmb3Igc2VtaS1ib2xkXG4uYy10eXBlLS1zZW1pLWJvbGQge1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4vLyBNaXNjIGNvbG91ciBtb2RpZmllcnMsIGNyZWF0ZWQgYXMgbmVlZGVkXG4uYy10eXBlLS1mYWRlZC1ibHVlIHtcblx0Y29sb3I6IHRoZW1lLWNvbG9yKCdmYWRlZC1ibHVlJyk7XG59XG5cbi5jLXR5cGUtLXNtYWxsLWxpbmUtaGVpZ2h0IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbmEge1xuXHRAaW5jbHVkZSBza2luLWJsYWNrKCkge1xuXHRcdGNvbG9yOiB0aGVtZS1jb2xvcignYmxhY2stc2Vjb25kYXJ5Jylcblx0fVxufVxuXG4udGV4dC1ib2R5IHtcblx0QGluY2x1ZGUgc2tpbi1ibGFjaygpIHtcblx0XHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXG5cdFx0LnRleHQtcHJpbWFyeSB7XG5cdFx0XHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uY29sb3ItLXR5cGUge1xuXHRjb2xvcjogdGhlbWUtY29sb3IoJ3R5cGUnKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9hc3NldHMvc2l0ZS9zY3NzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWSURFT1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypcbldyYXAgYXJvdW5kIGEgWW91dHViZSBvciBhbnkgb3RoZXIgZW1iZWQgdG8gbWFpbnRhaW4gYSBjb25zaXN0ZW50XG4xNjo5IGFzcGVjdCByYXRpbyBhcyB0aGUgdmlld3BvcnQgaXMgc2NhbGVkIGRvd24uIE1ha2VzIGVtYmVkcyBtdWNoIG1vcmVcbnVzdWFibGUgb24gc21hbGxlciBzY3JlZW5zLlxuKi9cblxuLmMtdmlkZW8ge1xuXHRwYWRkaW5nLXRvcDogNTYuMjUlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdGlmcmFtZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuXG5AaW5jbHVkZSBtcShtZCkge1xuXHQuYy12aWRlbyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0fVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2Fzc2V0cy9zaXRlL3Njc3MvY29tcG9uZW50cy9fdmlkZW8uc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuXG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlOyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpZiAoJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIlRoZSBgdGV4dC1oaWRlKClgIG1peGluIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjQuMS4wLiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gdjUuXCI7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL34vYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU1BBQ0lORyBMQVNUIENISUxEXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuRXh0ZW5kcyBCb290c3RyYXBzIHNwYWNpbmcgdXRpbGl0eSBjbGFzc2VzIHRvIGNyZWF0ZSBtb2RpZmllciBjbGFzc2VzXG5mb3IgbWFyZ2luL3BhZGRpbmcgYm90dG9tIHdoaWNoIGRpc2FibGUgc3BhY2luZyBvbmx5IGlmIHRoZSBlbGVtZW50IGluIHF1ZXN0aW9uXG5pcyBsYXN0LWNoaWxkLlxuXG5UaGlzIGlzIHVzZWZ1bCwgYXMgd2hlbiB5b3UncmUgdXNpbmcgdGhlc2UgY2xhc3NlcyB3aXRoIGR5bmFtaWNhbGx5XG5nZW5lcmF0ZWQgY29udGVudCwgaXQgYWxsb3dzIHlvdSB0byBkaXNhYmxlIHRoZSBtYXJnaW4gZm9yIHRoZSBcbmxhc3QgaXRlbSwgYXMgdGhhdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiB0b28gbXVjaCBzcGFjaW5nIHdoZW4gY29tYmluZWRcbndpdGggdGhlIHNwYWNpbmcgb2YgaXRzIHBhcmVudC5cbiovXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuXHQuI3skYWJicmV2fWItbGM6bGFzdC1jaGlsZCB7XG5cdFx0I3skcHJvcH0tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvYXNzZXRzL3NpdGUvc2Nzcy91dGlsaXRpZXMvc3BhY2luZy1sYXN0LWNoaWxkLnNjc3MiLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW59ICogMikpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICgjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufSAqIDIpKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gc2hvdWxkIHRoZXJlIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG5cbiAgLy8gRWFzaWx5IHBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi1sZWZ0OiAuMjVyZW07IH1cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH0gKiAyKSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH0gKiAyKSk7XG4gICAgfVxuXG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/