/*
 * Import Compass
 */
/* ==========================================================================
   Icon Library Mixin
   ========================================================================== */
/* ==========================================================================
   Shadows
   ========================================================================== */
/* ==========================================================================
   Cards Container
   ========================================================================== */
.t-Cards {
  list-style: none;
  padding: 0;
  margin: -8px;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.t-Cards-item {
  vertical-align: top;
  display: block;
  position: relative;
  float: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/* ==========================================================================
   Card Unit
   ========================================================================== */
.t-Card {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  transition: all .1s ease-out;
  border-radius: 2px;
  box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.075);
  width: calc(100% - 16px); }

.t-Card-wrap {
  position: relative;
  text-decoration: none;
  border-radius: 2px;
  border: 1px solid rgba(0, 0, 0, 0.075);
  background-clip: padding-box;
  width: 100%; }
  .t-Card-wrap:focus {
    outline: none; }
  .t-Card-wrap:hover {
    text-decoration: none; }

.t-Card-icon {
  position: relative;
  display: none; }
  .t-Card-icon .t-Icon {
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    text-align: center;
    width: 48px;
    height: 48px; }

.t-Card-initials {
  font-size: 16px;
  line-height: 48px;
  display: block;
  white-space: nowrap;
  overflow: hidden; }

.t-Card-body {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 16px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.t-Card-desc {
  display: block;
  font-size: 1.4rem;
  line-height: 2.0rem;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .t-Card-desc:empty {
    display: none; }
    .t-Card-desc:empty + .t-Card-info {
      margin-top: 0; }

.t-Card-info {
  font-size: 1.1rem;
  line-height: 1.6rem;
  margin-top: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }
  .t-Card-info:empty {
    display: none; }

/* Basic Style (Icon in Header)
   ========================================================================== */
.t-Cards--basic .t-Card-wrap {
  overflow: hidden; }

.t-Cards--basic .t-Card-icon {
  border-radius: 100%;
  position: absolute;
  right: 15px;
  top: 15px; }
  .u-RTL .t-Cards--basic .t-Card-icon {
    right: auto;
    left: 15px; }
  .t-Cards--basic .t-Card-icon .t-Icon {
    line-height: 48px; }
    .apex-icons-fontawesome .t-Cards--basic .t-Card-icon .t-Icon {
      font-size: 28px; }
    .apex-icons-fontapex .t-Cards--basic .t-Card-icon .t-Icon {
      font-size: 16px; }

.t-Cards--basic .t-Card-titleWrap {
  display: block;
  padding: 12px 80px 12px 16px;
  height: 80px;
  overflow: hidden;
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05) inset; }
  .u-RTL .t-Cards--basic .t-Card-titleWrap {
    padding-left: 80px;
    padding-right: 16px; }

.t-Cards--basic .t-Card-title {
  font-size: 1.6rem;
  line-height: 2.0rem;
  margin: 0;
  font-weight: 400;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-height: 6.0rem;
  overflow: hidden;
  text-overflow: ellipsis; }

/* Compact Cards
   ========================================================================== */
.t-Cards--compact {
  margin-left: 2px; }
  .t-Cards--compact.t-Cards--displayIcons .t-Card,
  .t-Cards--compact.t-Cards--displayIcons .t-Card-wrap,
  .t-Cards--compact.t-Cards--displayInitials .t-Card,
  .t-Cards--compact.t-Cards--displayInitials .t-Card-wrap {
    border-top-right-radius: 12px; }
  .t-Cards--compact.t-Cards--hideBody .t-Card .t-Card-titleWrap {
    padding-top: 12px;
    padding-bottom: 12px;
    height: 64px; }
  .t-Cards--compact.t-Cards--hideBody .t-Card .t-Card-title {
    max-height: 3.2rem;
    white-space: normal; }

.t-Cards--compact .t-Card {
  width: calc(100% - 12px); }
  .t-Cards--compact .t-Card .t-Card-titleWrap {
    display: block;
    padding: 8px 32px 8px 8px;
    height: 32px;
    overflow: hidden; }
    .u-RTL .t-Cards--compact .t-Card .t-Card-titleWrap {
      padding-left: 32px;
      padding-right: 8px; }
  .t-Cards--compact .t-Card .t-Card-icon {
    position: absolute;
    top: -4px;
    right: -4px;
    transition: all .1s;
    border-radius: 100px; }
    .u-RTL .t-Cards--compact .t-Card .t-Card-icon {
      right: auto;
      left: -4px; }
    .t-Cards--compact .t-Card .t-Card-icon .t-Icon {
      width: 32px;
      height: 32px;
      line-height: 32px; }
  .t-Cards--compact .t-Card .t-Card-initials {
    font-size: 1.4rem;
    line-height: 3.2rem;
    font-weight: normal; }
  .t-Cards--compact .t-Card .t-Card-title {
    font-size: 1.4rem;
    line-height: 1.6rem;
    margin: 0;
    font-weight: 400;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .t-Cards--compact .t-Card .t-Card-body {
    padding: 0 8px 8px 8px; }
  .t-Cards--compact .t-Card .t-Card-desc {
    font-size: 1.1rem;
    line-height: 1.6rem; }

/* Featured Style (Centered Icon and Title)
   ========================================================================== */
.t-Cards--featured.t-Cards--hideBody .t-Card .t-Card-icon {
  margin-top: 36px; }

.t-Cards--featured.t-Cards--hideBody .t-Card .t-Card-titleWrap {
  padding-top: 12px;
  padding-bottom: 36px; }

.t-Cards--featured.t-Cards--hideBody .t-Card .t-Card-title {
  white-space: normal; }

.t-Cards--featured .t-Card {
  overflow: hidden; }
  .apex-icons-fontawesome .t-Cards--featured .t-Card .t-Card-icon, .apex-icons-fontawesome
  .t-Cards--featured .t-Card .t-Card-icon .t-Icon {
    width: 56px;
    height: 56px;
    line-height: 56px; }
  .apex-icons-fontapex .t-Cards--featured .t-Card .t-Card-icon, .apex-icons-fontapex
  .t-Cards--featured .t-Card .t-Card-icon .t-Icon {
    width: 64px;
    height: 64px;
    line-height: 64px; }
  .t-Cards--featured .t-Card .t-Card-icon {
    margin: 24px auto 0 auto;
    border-radius: 100px; }
    .apex-icons-fontawesome .t-Cards--featured .t-Card .t-Card-icon .t-Icon {
      font-size: 28px; }
      .apex-icons-fontawesome .t-Cards--featured .t-Card .t-Card-icon .t-Icon:before {
        vertical-align: middle; }
    .apex-icons-fontapex .t-Cards--featured .t-Card .t-Card-icon .t-Icon {
      font-size: 32px; }
    .apex-icons-fontawesome .t-Cards--featured .t-Card .t-Card-icon .t-Card-initials {
      line-height: 56px; }
    .apex-icons-fontapex .t-Cards--featured .t-Card .t-Card-icon .t-Card-initials {
      line-height: 64px; }
  .t-Cards--featured .t-Card .t-Card-titleWrap {
    display: block;
    padding: 24px 16px; }
  .t-Cards--featured .t-Card .t-Card-title {
    font-size: 2.0rem;
    line-height: 2.4rem;
    text-align: center;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .t-Cards--featured .t-Card .t-Card-body {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    padding: 24px 16px; }

/* Show Icon
   ========================================================================== */
.t-Cards--displayIcons .t-Card-icon {
  display: block; }

.t-Cards--displayIcons .t-Card-initials {
  display: none; }

/* Show Icon
   ========================================================================== */
.t-Cards--displayInitials .t-Card-icon {
  display: block; }
  .t-Cards--displayInitials .t-Card-icon .t-Icon {
    display: inline-block;
    vertical-align: top; }
  .t-Cards--displayInitials .t-Card-icon .t-Icon:before {
    display: none; }

/* Colored Icons
   ========================================================================== */
.t-Cards--colorize.t-Cards--displayIcons .t-Cards-item .t-Card-wrap:before, .t-Cards--colorize.t-Cards--displayInitials .t-Cards-item .t-Card-wrap:before {
  display: none; }

/* Body Text Height
   ========================================================================== */
.t-Cards--desc-2ln .t-Card-desc,
.t-Cards--desc-3ln .t-Card-desc,
.t-Cards--desc-4ln .t-Card-desc {
  overflow: hidden;
  text-overflow: ellipsis; }

.t-Cards--desc-2ln .t-Card, .t-Cards--desc-2ln .t-Card-wrap,
.t-Cards--desc-3ln .t-Card,
.t-Cards--desc-3ln .t-Card-wrap,
.t-Cards--desc-4ln .t-Card,
.t-Cards--desc-4ln .t-Card-wrap {
  height: auto; }

/* 2 Lines
     ========================================================================== */
.t-Cards--desc-2ln.t-Cards--compact .t-Card-desc {
  height: 3.2rem; }

.t-Cards--desc-2ln .t-Card-desc {
  height: 4.0rem; }

/* 3 Lines
     ========================================================================== */
.t-Cards--desc-3ln.t-Cards--compact .t-Card-desc {
  height: 4.8rem; }

.t-Cards--desc-3ln .t-Card-desc {
  height: 6.0rem; }

/* 4 Lines
     ========================================================================== */
.t-Cards--desc-4ln.t-Cards--compact .t-Card-desc {
  height: 6.4rem; }

.t-Cards--desc-4ln .t-Card-desc {
  height: 8.0rem; }

/* ==========================================================================
   Hide Body
   ========================================================================== */
.t-Cards--hideBody .t-Card-body {
  display: none; }

/* ==========================================================================
   Layout
   ========================================================================== */
.t-Region-body > .t-Cards {
  margin: 0; }

.t-Cards.t-Cards--compact {
  margin: 0 -4px; }

.t-Cards.t-Cards--compact .t-Cards-item .t-Card {
  margin: 8px 8px 4px 4px; }

.t-Cards .t-Cards-item .t-Card {
  margin: 8px; }

/* ==========================================================================
   Floated
   ========================================================================== */
.t-Cards--float .t-Cards-item {
  float: left; }
  .u-RTL .t-Cards--float .t-Cards-item {
    float: right; }

/* ==========================================================================
   Stacked
   ========================================================================== */
.t-Cards--stacked .t-Cards-item:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  bottom: -1px; }

/* ==========================================================================
   Columns
   ========================================================================== */
.t-Cards--cols .t-Cards-item,
.t-Cards--3cols .t-Cards-item,
.t-Cards--4cols .t-Cards-item,
.t-Cards--5cols .t-Cards-item {
  float: left; }
  .u-RTL .t-Cards--cols .t-Cards-item, .u-RTL
  .t-Cards--3cols .t-Cards-item, .u-RTL
  .t-Cards--4cols .t-Cards-item, .u-RTL
  .t-Cards--5cols .t-Cards-item {
    float: right; }

.t-Cards--cols .t-Cards-item {
  width: 50%; }

.t-Cards--cols .t-Cards-item:nth-child(2n+1) {
  clear: both; }

.t-Cards--3cols .t-Cards-item {
  width: 33.33%; }

.t-Cards--3cols .t-Cards-item:nth-child(3n+1) {
  clear: both; }

.t-Cards--4cols .t-Cards-item {
  width: 25%; }

.t-Cards--4cols .t-Cards-item:nth-child(4n+1) {
  clear: both; }

.t-Cards--5cols .t-Cards-item {
  width: 20%; }

.t-Cards--5cols .t-Cards-item:nth-child(5n+1) {
  clear: both; }

/* ==========================================================================
   Fluid
   ========================================================================== */
.t-Cards--spanHorizontally {
  display: table;
  table-layout: fixed;
  width: 100%; }
  .t-Cards--spanHorizontally .t-Cards-item {
    display: table-cell; }

/* ==========================================================================
   Hover Animations
   ========================================================================== */
/* Modifier: Animation - Color Fill
   ========================================================================== */
.t-Cards--animColorFill.t-Cards--displayIcons.t-Cards--compact .t-Card-colorFill, .t-Cards--animColorFill.t-Cards--displayInitials.t-Cards--compact .t-Card-colorFill {
  display: block; }
  .t-Cards--animColorFill.t-Cards--displayIcons.t-Cards--compact .t-Card-colorFill:after, .t-Cards--animColorFill.t-Cards--displayInitials.t-Cards--compact .t-Card-colorFill:after {
    display: none; }

.t-Cards--animColorFill .t-Card .t-Card-icon:before {
  content: '';
  background-color: inherit;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transform: none;
          transform: none;
  border-radius: 100%;
  transition: .2s opacity ease-in-out, .35s transform ease-in-out;
  pointer-events: none; }

.t-Cards--animColorFill .t-Card:hover .t-Card-icon:before,
.t-Cards--animColorFill .t-Card-wrap:focus .t-Card-icon:before {
  -webkit-transform: scale(5);
          transform: scale(5);
  -webkit-animation: 0.35s ease-in-out 1 forwards rippleOutFade;
          animation: 0.35s ease-in-out 1 forwards rippleOutFade; }

.t-Cards--animColorFill .t-Card:hover .t-Card-colorFill:before,
.t-Cards--animColorFill .t-Card-wrap:focus .t-Card-colorFill:before {
  height: 100%;
  opacity: .1;
  left: 0;
  right: 0;
  border-radius: 0; }

.t-Cards--animColorFill.t-Cards--compact .t-Card-icon:before {
  display: none; }

@-webkit-keyframes rippleOutFade {
  from {
    opacity: 0.15; }
  to {
    opacity: 0; } }

@keyframes rippleOutFade {
  from {
    opacity: 0.15; }
  to {
    opacity: 0; } }

/* Modifier: Aanimation - Raise Card
   ========================================================================== */
.t-Cards--animRaiseCard .t-Card:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  box-shadow: 0 10px 4px -4px rgba(0, 0, 0, 0.05); }

.t-Cards--animRaiseCard.t-Cards--compact .t-Card:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px); }

/* Color Fill Block
   ========================================================================== */
.t-Cards.u-colors .t-Card-colorFill {
  display: block; }

.t-Cards--displayIcons.u-colors .t-Card-colorFill,
.t-Cards--displayInitials.u-colors .t-Card-colorFill {
  display: block; }
  .t-Cards--displayIcons.u-colors .t-Card-colorFill:after,
  .t-Cards--displayInitials.u-colors .t-Card-colorFill:after {
    display: none; }
  .t-Cards--displayIcons.u-colors .t-Card-colorFill:before,
  .t-Cards--displayInitials.u-colors .t-Card-colorFill:before {
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    transition: opacity .35s ease-in-out; }

.t-Card-colorFill:before, .t-Card-colorFill:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  background-color: inherit; }

.t-Card-colorFill:after {
  height: 2px;
  margin: 2px; }

.t-Card-colorFill:before {
  background-color: inherit;
  opacity: 0;
  transition: .25s opacity ease-in-out; }

/* Animation: Color Fill (when not applying theme colors)
   ========================================================================== */
.t-Cards:not(.u-colors) .t-Card-colorFill:after {
  display: none; }
@media only screen and (max-width: 640px) {
  .t-Cards--featured .t-Card .t-Card-title {
    font-size: 1.6rem;
    line-height: 2.0rem; }
  .t-Cards--5cols .t-Cards-item,
  .t-Cards--4cols .t-Cards-item,
  .t-Cards--3cols .t-Cards-item {
    width: 50%;
    clear: none !important; }
  .t-Cards--5cols .t-Cards-item:nth-child(2n+1),
  .t-Cards--4cols .t-Cards-item:nth-child(2n+1),
  .t-Cards--3cols .t-Cards-item:nth-child(2n+1) {
    clear: both !important; } }
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .t-Cards--5cols .t-Cards-item {
    width: 25%;
    clear: none; }
  .t-Cards--5cols .t-Cards-item:nth-child(5n+1) {
    clear: none; }
  .t-Cards--5cols .t-Cards-item:nth-child(4n+1) {
    clear: both; } }
@media only screen and (max-width: 768px) {
  .t-Cards--5cols .t-Cards-item,
  .t-Cards--4cols .t-Cards-item {
    width: 33.33%;
    clear: none; }
  .t-Cards--5cols .t-Cards-item:nth-child(5n+1),
  .t-Cards--5cols .t-Cards-item:nth-child(4n+1),
  .t-Cards--4cols .t-Cards-item:nth-child(5n+1),
  .t-Cards--4cols .t-Cards-item:nth-child(4n+1) {
    clear: none; }
  .t-Cards--5cols .t-Cards-item:nth-child(3n+1),
  .t-Cards--4cols .t-Cards-item:nth-child(3n+1) {
    clear: both; } }
@media only screen and (max-width: 480px) {
  .t-Cards--5cols .t-Cards-item,
  .t-Cards--4cols .t-Cards-item,
  .t-Cards--3cols .t-Cards-item,
  .t-Cards--cols .t-Cards-item {
    float: none;
    width: 100%;
    clear: both !important; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNhcmRzLnNjc3MiLCIuLi9tb2R1bGVzL19jb21tb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQzRPSDs7Z0ZBRWdGO0FBY2hGOztnRkFFZ0Y7QUQzUGhGOztnRkFFZ0Y7QUFDaEY7RUFDRSxpQkFBaUI7RUFDakIsV0FBVztFQUNYLGFBQWE7RUFDYixpQkFBaUI7RUFFakIsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCx3QkFBZ0I7TUFBaEIsb0JBQWdCO1VBQWhCLGdCQUFnQixFQUNqQjs7QUFDRDtFQUNFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYyxFQUNmOztBQUVEOztnRkFFZ0Y7QUFDaEY7RUFDRSxtQkFBbUI7RUFDbkIsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLGdEQUErQjtFQUUvQix5QkFBVyxFQUlaOztBQUNEO0VBQ0UsbUJBQW1CO0VBR25CLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsdUNBQXNCO0VBQ3RCLDZCQUE2QjtFQUU3QixZQUFZLEVBT2I7RUFoQkQ7SUFXSSxjQUFjLEVBQ2Y7RUFaSDtJQWNJLHNCQUFzQixFQUN2Qjs7QUFFSDtFQUNFLG1CQUFtQjtFQUNuQixjQUFjLEVBU2Y7RUFYRDtJQUlJLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osYUFBYSxFQUNkOztBQUdIO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2Ysb0JBQW9CO0VBQ3BCLGlCQUFpQixFQUNsQjs7QUFLRDtFQUNFLHFCQUFhO01BQWIscUJBQWE7VUFBYixhQUFhO0VBQ2IsY0FBYztFQUNkLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsK0JBQXVCO01BQXZCLDJCQUF1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LGVBQWUsRUFZbEI7RUFkRDs7SUFJTSxjQUFjLEVBQ2Y7RUFMTDs7SUFPTSxRQUFRO0lBQ1IsU0FBUztJQUNULFlBQVk7SUFDWixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLHFDQUFxQyxFQUN0Qzs7QUFqQlA7RUFxQkksWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7RUFDVCxVQUFVO0VBQ1YsZUFBZTtFQUNmLDBCQUEwQixFQUMzQjs7QUE3Qkg7RUErQkksWUFBWTtFQUNaLFlBQVksRUFDYjs7QUFqQ0g7RUFtQ0ksMEJBQTBCO0VBQzFCLFdBQVc7RUFDWCxxQ0FBcUMsRUFDdEM7O0FBR0g7Z0ZBQ2dGO0FBQ2hGO0VBRUksY0FBYyxFQUNmO0FDbnBCQztFRCtOSjtJQXFETSxrQkFBa0I7SUFDbEIsb0JBQW9CLEVBRXZCO0VBK05EOzs7SUFJSSxXQUFXO0lBQ1gsdUJBQXVCLEVBQ3hCO0VBTkg7OztJQVFJLHVCQUF1QixFQUN4QixFQXhPRjtBQ2pQQztFRGdiRjtJQUVJLFdBQVc7SUFDWCxZQUFZLEVBQ2I7RUFKSDtJQU1JLFlBQVksRUFDYjtFQVBIO0lBU0ksWUFBWSxFQUNiLEVBQUE7QUM3ZEQ7RURrZUY7O0lBR0ksY0FBYztJQUNkLFlBQVksRUFDYjtFQUxIOzs7O0lBUUksWUFBWSxFQUNiO0VBVEg7O0lBV0ksWUFBWSxFQUNiLEVBQUE7QUNwZkQ7RUR1Z0JGOzs7O0lBS0ksWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUIsRUFDeEIsRUFBQSIsImZpbGUiOiJDYXJkcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogSW1wb3J0IENvbXBhc3NcbiAqL1xuQGltcG9ydCBcIi4uL21vZHVsZXMvY29tbW9uXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJkcyBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLThweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udC1DYXJkcy1pdGVtIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJkIFVuaXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAvLyBTdWJ0cmFjdCAxNnB4ICg4cHggbWFyZ2luKSBmcm9tIHRoZSBjYXJkIHdpZHRoXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udC1DYXJkLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGRpc3BsYXk6IGZsZXg7XG4gIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLy8gZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4udC1DYXJkLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC50LUljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxufVxuXG4udC1DYXJkLWluaXRpYWxzIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udC1DYXJkLXRpdGxlV3JhcCB7XG59XG4udC1DYXJkLXRpdGxlIHtcbn1cbi50LUNhcmQtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi50LUNhcmQtZGVzYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMHJlbTtcbiAgZmxleC1ncm93OiAxO1xuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYgKyAudC1DYXJkLWluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi50LUNhcmQtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS42cmVtO1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8qIEJhc2ljIFN0eWxlIChJY29uIGluIEhlYWRlcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50LUNhcmRzLS1iYXNpYyB7XG4gIC50LUNhcmQtd3JhcCB7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnQtQ2FyZC1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgLnUtUlRMICYge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgIH1cbiAgICAudC1JY29uIHtcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgQGluY2x1ZGUgaWNvbi1saWIoYXdlc29tZSkge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBpY29uLWxpYihhcGV4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnQtQ2FyZC10aXRsZVdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEycHggODBweCAxMnB4IDE2cHg7XG4gICAgLnUtUlRMICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB9XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMDUpIGluc2V0O1xuICB9XG4gIC50LUNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjByZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgQGluY2x1ZGUgdmVydGljYWwtYWxpZ247XG4gICAgbWF4LWhlaWdodDogNi4wcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cblxuLyogQ29tcGFjdCBDYXJkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUNhcmRzLS1jb21wYWN0IHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgJi50LUNhcmRzLS1kaXNwbGF5SWNvbnMgLnQtQ2FyZCxcbiAgJi50LUNhcmRzLS1kaXNwbGF5SWNvbnMgLnQtQ2FyZC13cmFwLFxuICAmLnQtQ2FyZHMtLWRpc3BsYXlJbml0aWFscyAudC1DYXJkLFxuICAmLnQtQ2FyZHMtLWRpc3BsYXlJbml0aWFscyAudC1DYXJkLXdyYXAge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xuICB9XG4gICYudC1DYXJkcy0taGlkZUJvZHkgLnQtQ2FyZCB7XG4gICAgLnQtQ2FyZC10aXRsZVdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICB9XG4gICAgLnQtQ2FyZC10aXRsZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzLjJyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuLnQtQ2FyZHMtLWNvbXBhY3QgLnQtQ2FyZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnB4KTtcbiAgLnQtQ2FyZC13cmFwIHtcbiAgfVxuICAudC1DYXJkLXRpdGxlV3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDMycHggOHB4IDhweDtcbiAgICAudS1SVEwgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgfVxuICAgIGhlaWdodDogMzJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC50LUNhcmQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICAudS1SVEwgJiB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC00cHg7XG4gICAgfVxuICAgIHRyYW5zaXRpb246IGFsbCAuMXM7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgLnQtSWNvbiB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgfVxuICAudC1DYXJkLWluaXRpYWxzIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgLnQtQ2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbiAgLnQtQ2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDhweCA4cHggOHB4O1xuICB9XG4gIC50LUNhcmQtZGVzYyB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgfVxufVxuXG4vKiBGZWF0dXJlZCBTdHlsZSAoQ2VudGVyZWQgSWNvbiBhbmQgVGl0bGUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtQ2FyZHMtLWZlYXR1cmVkIHtcbiAgJi50LUNhcmRzLS1oaWRlQm9keSAudC1DYXJkIHtcbiAgICAudC1DYXJkLWljb24ge1xuICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICB9XG4gICAgLnQtQ2FyZC10aXRsZVdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzZweDtcbiAgICB9XG4gICAgLnQtQ2FyZC10aXRsZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuLnQtQ2FyZHMtLWZlYXR1cmVkIC50LUNhcmQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAudC1DYXJkLXdyYXAge1xuICB9XG4gIC50LUNhcmQtaWNvbixcbiAgLnQtQ2FyZC1pY29uIC50LUljb24ge1xuICAgIEBpbmNsdWRlIGljb24tbGliKGF3ZXNvbWUpIHtcbiAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGljb24tbGliKGFwZXgpIHtcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gICAgfVxuICB9XG4gIC50LUNhcmQtaWNvbiB7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG8gMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIC50LUljb24ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1saWIoYXdlc29tZSkge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBpY29uLWxpYihhcGV4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnQtQ2FyZC1pbml0aWFscyB7XG4gICAgICBAaW5jbHVkZSBpY29uLWxpYihhd2Vzb21lKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgaWNvbi1saWIoYXBleCkge1xuICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnQtQ2FyZC10aXRsZVdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDI0cHggMTZweDtcbiAgfVxuICAudC1DYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMHJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHNzLXNjcmVlbnMpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMHJlbTtcbiAgICB9XG4gIH1cbiAgLnQtQ2FyZC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpO1xuICAgIHBhZGRpbmc6IDI0cHggMTZweDtcbiAgfVxufVxuXG4vKiBTaG93IEljb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkcy0tZGlzcGxheUljb25zIHtcbiAgLnQtQ2FyZC1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudC1DYXJkLWluaXRpYWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIFNob3cgSWNvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUNhcmRzLS1kaXNwbGF5SW5pdGlhbHMge1xuICAudC1DYXJkLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC50LUljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgLnQtSWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29sb3JlZCBJY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUNhcmRzLS1jb2xvcml6ZSB7XG5cbiAgJi50LUNhcmRzLS1kaXNwbGF5SWNvbnMsXG4gICYudC1DYXJkcy0tZGlzcGxheUluaXRpYWxzIHtcbiAgICAudC1DYXJkcy1pdGVtIC50LUNhcmQtd3JhcDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZSA7XG4gICAgfVxuICB9XG59XG5cbi8qIEJvZHkgVGV4dCBIZWlnaHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50LUNhcmRzLS1kZXNjLTJsbiAudC1DYXJkLWRlc2MsXG4udC1DYXJkcy0tZGVzYy0zbG4gLnQtQ2FyZC1kZXNjLFxuLnQtQ2FyZHMtLWRlc2MtNGxuIC50LUNhcmQtZGVzYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udC1DYXJkcy0tZGVzYy0ybG4sXG4udC1DYXJkcy0tZGVzYy0zbG4sXG4udC1DYXJkcy0tZGVzYy00bG4ge1xuICAudC1DYXJkLC50LUNhcmQtd3JhcCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cblxuICAvKiAyIExpbmVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIC50LUNhcmRzLS1kZXNjLTJsbiB7XG4gICAgJi50LUNhcmRzLS1jb21wYWN0IC50LUNhcmQtZGVzYyB7XG4gICAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgICB9XG4gICAgLnQtQ2FyZC1kZXNjIHtcbiAgICAgIGhlaWdodDogNC4wcmVtO1xuICAgIH1cbiAgfVxuICAvKiAzIExpbmVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIC50LUNhcmRzLS1kZXNjLTNsbiB7XG4gICAgJi50LUNhcmRzLS1jb21wYWN0IC50LUNhcmQtZGVzYyB7XG4gICAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICB9XG4gICAgLnQtQ2FyZC1kZXNjIHtcbiAgICAgIGhlaWdodDogNi4wcmVtO1xuICAgIH1cbiAgfVxuICAvKiA0IExpbmVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIC50LUNhcmRzLS1kZXNjLTRsbiB7XG4gICAgJi50LUNhcmRzLS1jb21wYWN0IC50LUNhcmQtZGVzYyB7XG4gICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICB9XG4gICAgLnQtQ2FyZC1kZXNjIHtcbiAgICAgIGhlaWdodDogOC4wcmVtO1xuICAgIH1cbiAgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGlkZSBCb2R5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtQ2FyZHMtLWhpZGVCb2R5IHtcbiAgLnQtQ2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGF5b3V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtQ2FyZHMge1xuICAudC1SZWdpb24tYm9keSA+ICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAmLnQtQ2FyZHMtLWNvbXBhY3Qge1xuICAgIG1hcmdpbjogMCAtNHB4O1xuICB9XG4gICYudC1DYXJkcy0tY29tcGFjdCAudC1DYXJkcy1pdGVtIC50LUNhcmQge1xuICAgIG1hcmdpbjogOHB4IDhweCA0cHggNHB4O1xuICB9XG4gIC50LUNhcmRzLWl0ZW0gLnQtQ2FyZCB7XG4gICAgbWFyZ2luOiA4cHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZsb2F0ZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkcy0tZmxvYXQge1xuICAudC1DYXJkcy1pdGVtIHtcbiAgICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1mbG9hdC1zdGFydDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhY2tlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUNhcmRzLS1zdGFja2VkIHtcbiAgLnQtQ2FyZHMtaXRlbTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2x1bW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtQ2FyZHMtLWNvbHMsXG4udC1DYXJkcy0tM2NvbHMsXG4udC1DYXJkcy0tNGNvbHMsXG4udC1DYXJkcy0tNWNvbHMge1xuICAudC1DYXJkcy1pdGVtIHtcbiAgICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1mbG9hdC1zdGFydDtcbiAgfVxufVxuXG4udC1DYXJkcy0tY29scyB7XG4gIC50LUNhcmRzLWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnQtQ2FyZHMtaXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4udC1DYXJkcy0tM2NvbHMge1xuICAudC1DYXJkcy1pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG4gIC50LUNhcmRzLWl0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuLnQtQ2FyZHMtLTRjb2xzIHtcbiAgLnQtQ2FyZHMtaXRlbSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudC1DYXJkcy1pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLnQtQ2FyZHMtLTVjb2xzIHtcbiAgLnQtQ2FyZHMtaXRlbSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudC1DYXJkcy1pdGVtOm50aC1jaGlsZCg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbC1zY3JlZW5zKSB7XG4gIC50LUNhcmRzLS01Y29scyB7XG4gICAgLnQtQ2FyZHMtaXRlbSB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuICAgIC50LUNhcmRzLWl0ZW06bnRoLWNoaWxkKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cbiAgICAudC1DYXJkcy1pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byh4cy1zY3JlZW5zKSB7XG4gIC50LUNhcmRzLS01Y29scyxcbiAgLnQtQ2FyZHMtLTRjb2xzIHtcbiAgICAudC1DYXJkcy1pdGVtIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG4gICAgLnQtQ2FyZHMtaXRlbTpudGgtY2hpbGQoNW4rMSksXG4gICAgLnQtQ2FyZHMtaXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuICAgIC50LUNhcmRzLWl0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zY3JlZW5zKSB7XG4gIC50LUNhcmRzLS01Y29scyxcbiAgLnQtQ2FyZHMtLTRjb2xzLFxuICAudC1DYXJkcy0tM2NvbHMge1xuICAgIC50LUNhcmRzLWl0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50LUNhcmRzLWl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8oeHhzLXNjcmVlbnMpIHtcbiAgLnQtQ2FyZHMtLTVjb2xzLFxuICAudC1DYXJkcy0tNGNvbHMsXG4gIC50LUNhcmRzLS0zY29scyxcbiAgLnQtQ2FyZHMtLWNvbHMge1xuICAgIC50LUNhcmRzLWl0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGbHVpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUNhcmRzLS1zcGFuSG9yaXpvbnRhbGx5IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICAudC1DYXJkcy1pdGVtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvdmVyIEFuaW1hdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1vZGlmaWVyOiBBbmltYXRpb24gLSBDb2xvciBGaWxsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtQ2FyZHMtLWFuaW1Db2xvckZpbGwge1xuICAmLnQtQ2FyZHMtLWRpc3BsYXlJY29ucyxcbiAgJi50LUNhcmRzLS1kaXNwbGF5SW5pdGlhbHMge1xuICAgICYudC1DYXJkcy0tY29tcGFjdCB7XG4gICAgICAudC1DYXJkLWNvbG9yRmlsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50LUNhcmQgLnQtQ2FyZC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogLjJzIG9wYWNpdHkgZWFzZS1pbi1vdXQsIC4zNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC50LUNhcmQ6aG92ZXIsXG4gIC50LUNhcmQtd3JhcDpmb2N1cyB7XG4gICAgLnQtQ2FyZC1pY29uOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgICAgYW5pbWF0aW9uOiAuMzVzIGVhc2UtaW4tb3V0IDEgZm9yd2FyZHMgcmlwcGxlT3V0RmFkZSxcbiAgICB9XG4gICAgLnQtQ2FyZC1jb2xvckZpbGwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IC4xO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50LUNhcmRzLS1jb21wYWN0IC50LUNhcmQtaWNvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPdXRGYWRlIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMC4xNSB9XG4gICAgICB0byB7IG9wYWNpdHk6IDAgfVxufVxuXG4vKiBNb2RpZmllcjogQWFuaW1hdGlvbiAtIFJhaXNlIENhcmRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkcy0tYW5pbVJhaXNlQ2FyZCB7XG4gIC50LUNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggNHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgfVxuICAmLnQtQ2FyZHMtLWNvbXBhY3QgLnQtQ2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICB9XG59XG5cbi8qIENvbG9yIEZpbGwgQmxvY2tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkLWNvbG9yRmlsbCB7XG4gIC50LUNhcmRzLnUtY29sb3JzICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC50LUNhcmRzLS1kaXNwbGF5SWNvbnMudS1jb2xvcnMgJixcbiAgLnQtQ2FyZHMtLWRpc3BsYXlJbml0aWFscy51LWNvbG9ycyAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gIH1cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDJweDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IC4yNXMgb3BhY2l0eSBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4vKiBBbmltYXRpb246IENvbG9yIEZpbGwgKHdoZW4gbm90IGFwcGx5aW5nIHRoZW1lIGNvbG9ycylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udC1DYXJkczpub3QoLnUtY29sb3JzKSAudC1DYXJkLWNvbG9yRmlsbCB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCJAaW1wb3J0ICdzY3NzX2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC8vICp6b29tOiAxO1xufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gTWVkaWEgUXVlcmllc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1NUQVJUX1RIRU1FUk9MTEVSX0lHTk9SRVxuJGRpc3BsYXkteHhzOiA0ODBweDtcbiRkaXNwbGF5LXhzczogNjQwcHg7XG4kZGlzcGxheS14czogNzY4cHg7XG4kZGlzcGxheS1zbWFsbDogOTkycHg7XG4kZGlzcGxheS1tZWRpdW06IDEyMDBweDtcbiRkaXNwbGF5LWxhcmdlOiAxOTIwcHg7XG5cbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHNzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHNzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSB4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAaWYgJG1lZGlhID09IHhzLXRvLXhzcy1zY3JlZW5zIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14c3MgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHMgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktc21hbGwpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LW1lZGl1bSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1sYXJnZSkgeyBAY29udGVudDsgfVxuICB9XG5cblxuICBAaWYgJG1lZGlhID09IHhzcy1zbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14c3MgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSB4cy1zbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14cyArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlICsgMSkgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXkteHMgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktc21hbGwgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LW1lZGl1bSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbGFyZ2UgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2VzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbn1cbi8vRU5EX1RIRU1FUk9MTEVSX0lHTk9SRVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEZvbnQgQXdlc29tZSBFbWJlZGRpbmdcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gYXBleDVpY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuQG1peGluIGFwZXg1aWNvbi1iYXNpYyB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gdmlzdWFsbHlIaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduICB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGZvY3VzYWJsZVZpc3VhbGx5SGlkZGVuIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QtbGVzcygkeCwgJHk6IDAsICR6OiAwKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICAgICAgIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgIC1tcy10cmFuc2Zvcm06IFx0XHQgdHJhbnNsYXRlKCR4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tbGVmdCgkdmFsKSB7XG4gIGxlZnQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tbGVmdCgkdmFsKSB7XG4gIG1hcmdpbi1sZWZ0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXBhZGRpbmctbGVmdCgkdmFsKSB7XG4gIHBhZGRpbmctbGVmdDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXJpZ2h0KCR2YWwpIHtcbiAgcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tcmlnaHQoJHZhbCkge1xuICBtYXJnaW4tcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tcGFkZGluZy1yaWdodCgkdmFsKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1mbG9hdC1lbmQge1xuICBmbG9hdDogcmlnaHQ7XG4gIC51LVJUTCAmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tZmxvYXQtc3RhcnQge1xuICBmbG9hdDogbGVmdDtcbiAgLnUtUlRMICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXRyYW5zbGF0ZSgkdmFsKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QtbGVzcygkdmFsLCAwLCAwKTtcbiAgICAudS1SVEwgJiB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkLWxlc3MoLSR2YWwsIDAsMCApO1xuICAgIH1cbn1cblxuQG1peGluIHRleHQtYWxpZ24tbGVmdC1kaXJlY3Rpb24oKSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC51LVJUTCAmIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiB0ZXh0LWFsaWduLXJpZ2h0LWRpcmVjdGlvbigpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIC51LVJUTCAmIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uIExpYnJhcnkgTWl4aW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gaWNvbi1saWIoJGxpYnJhcnkpIHtcbiAgQGlmICRsaWJyYXJ5ID09IGF3ZXNvbWUge1xuICAgIC5hcGV4LWljb25zLWZvbnRhd2Vzb21lICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IFxuICBAZWxzZSBpZiAkbGlicmFyeSA9PSBhcGV4IHtcbiAgICAuYXBleC1pY29ucy1mb250YXBleCAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hhZG93c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiB1dC1ibG9jay1zaGFkb3coKSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
