/*
Also please follow this
Do your project have diferent charset languages to account with?
      - Yes -> follow https://projects.netcentric.biz/wiki/display/FRONTEND/CSS+-+Font+Normalization
      - No -> You can still use it, there are tons of advantages, but its create some extra css and layout rendering
*/
/*
  * Design spec:
  * https://www.figma.com/file/SR4rvQlNnCmPMrQ9WYaIqv/branch/TJqkFymq09wf8KwmY1WNcj/Volvo-AEM-Design-system?type=design&node-id=7-26&t=pAm916VRiqCOD2I1-0
*/
/**
 * z-indexes from lower to -> higher
 */
:root {
  --v-icon-size: 24px;
}

@media (min-width: 960px) {
  :root {
    --v-icon-size: 16px;
  }
}

.v-icon {
  width: var(--v-icon-size);
  height: var(--v-icon-size);
}

.v-icon svg path {
  fill: currentColor;
}

.v-icon-sprite {
  pointer-events: none;
  position: absolute;
  max-height: 0;
  max-width: 0;
  overflow: hidden;
}

.v-icon--16 {
  display: none;
}

@media (min-width: 960px) {
  .v-icon--16 {
    display: inline;
  }
}

.v-icon--24 {
  display: inline;
  y: 0;
  /* stylelint-disable */
  /* stylelint-enable */
}

@media not all and (min-resolution: 0.001dpcm) {
  .v-icon--24 {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
}

@supports (-webkit-touch-callout: none) {
  .v-icon--24 {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
}

@media (min-width: 960px) {
  .v-icon--24 {
    display: none;
  }
}

/*doc
---
title: Pixel to em
name: nn-px-to-em
category: functions
---

Calculate the em with a given pixel with the given base font size
If you don't set a $base the $base-font-size is used as the context


## Live Template abbreviations
---
-ptu


## Parameters
---
@parameter $value = pixel based number (without unit)
@parameter $base = pixel based number (without unit)


## Dependencies
---
nn-strip-unit


## Example
---
```html_example
nn-px-to-em(5) // Output: 0.3125em
nn-px-to-em(5, 10) // Output: 0.5em
nn-px-to-em(5, 20) // Output: 0.25em
```
*/
/*doc
---
title: Pixel to rem
name: nn-px-to-rem
category: functions
---

Calculate the rem with a given pixel with the given base font size

In:  5px
Out: 0.3125rem


## Live Template abbreviations
---
-rem


## Parameters
---
@parameter $value = pixel based number (without unit)


## Dependencies
---
nn-strip-unit

## Example
---
```html_example
nn-px-to-rem(5) // Output 0.3125rem
```

*/
/*doc
---
title: Pixel to unit
name: px-to-unit
category: mixins
---

Set a property and value (pixel based without unit)

Calculates rem / em / % from given pixel and base (default base is the
base-font-size, 16px)
If rtl is true, this mixin handles all the direction stuff:
- Switching the values, when we have exactly 4 values
- Switching left and right in properties (padding and margin)


## Live Template abbreviations
---
-ptu (for em or % to pixel - with base parameter)
-rem (for rem to pixel - without base parameter)


## Parameters
---
@parameter $property = padding | margin | font-size | width | height
@parameter $value = Pixel based number - add px to keep the px for a value
@parameter $base = px based number, Default: 16px
@parameter $unit = Set unit: px | em | rem | percent


## Dependencies
---
abstract/functions/swap-left-right
abstract/functions/strip-unit


## Example
---

```html_example
@include nn-px-to-unit(padding, 0 10px 20 0); => padding: 0 10px 1.25rem 0;
@include nn-px-to-unit(padding, 0 10 20 0); => padding: 0 0.625rem 1.25rem 0;
@include nn-px-to-unit(padding-left, 10);
@include nn-px-to-unit(padding-right, 10);
@include nn-px-to-unit(margin, 0 10 20 0);
@include nn-px-to-unit(margin-left, 10);
@include nn-px-to-unit(margin-right, 10);
@include nn-px-to-unit(font-size, 20);
@include nn-px-to-unit(width, 100);
@include nn-px-to-unit(min-width, 100);
@include nn-px-to-unit(mann-width, 100);
@include nn-px-to-unit(height, 100);
@include nn-px-to-unit(min-height, 100);
@include nn-px-to-unit(mann-height, 100);
```


## Source
---
http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/

*/
/*doc
---
title: Pixel to unitless
name: nn-px-to-unitless
category: functions
---

This makes the same calculation as px to em. But it don't print out the unit.

Use this for line-heights.


## Live Template abbreviations
---



## Parameters
---
@parameter $value = pixel based number (without unit)
@parameter $base = pixel based number (without unit)


## Dependencies
---



## Example
---

```html_example
line-height: nn-px-to-unitless(5) // Output: 0.3125
```


## Source
---


*/
/*doc
---
title: Strip unit
name: nn-strip-unit
category: functions
---

Strips of the unit of a number


## Parameters
---
@parameter $num = number with unit (5px, 5em, 5rem)


## Example
---

```html_example
nn-strip-unit(5px) //Output: 5
nn-strip-unit(10em) // Output: 10
nn-strip-unit(15rem) // Output: 15
```

*/
/*doc
---
title: z-index
name: nn-z-index
category: functions
---
 
Because z-indices can get tricky we manage them in the theme.scss globally.

Always use this mixin to set set a z-index.
  
Read the Best Practice to get an full documentation:
https://projects.netcentric.biz/wiki/display/FRONTEND/How+to+set+a+z-index
 
 
## Live Template abbreviations
---
-z
 
 
## Parameters
---
@parameter $element = Name of the element (normally this will be the module name for the main stack)
@parameter $list = Name of the list (default $z-indices). Must be only set for stack context
@parameter $min = Set a minimum z-index which will be added to the list.

 
## Dependencies
---
$z-indices variable in the theme.scss


## Example
---
  
```html_example

// In the SASS theme file

$z-indices: slider, modal, dialog, navigation;


// In the SASS module file

.modal {
    &__base {
        position: absolute;
        z-index: nn-z-index(modal);
    }
}
```
 

## Source
---
http://www.smashingmagazine.com/2014/06/12/sassy-z-index-management-for-complex-layouts/

*/
/* doc
---
title: remove every unit
name: strip-unit
category: functions
---
remove all units

## Parameters
---
@parameter $number = number with unit

## Example
---
```html_example
strip-unit(5px) // Output: 5
```
*/
/*doc
---
title: Swap left right values
name: nn-rtl
category: functions
---

Swap the names right and left when $rtl is set to true.
If the value is not right or left it returns the original value.

In:  right
Out: left (in rtl), right (in ltr)


## Live Template abbreviations
---



## Parameters
---
@parameter $origin = right | left


## Example
---

```html_example
nn-rtl(left): 10px;
nn-rtl(padding-right): 30px;
nn-rtl(0 1px 8px 12px) // 0 12px 8px 1px
```


*/
/*doc
---
title: Clearfix
name: clearfix
category: mixins
---

Clears after floating element

Use this mixin only inside media queries where you can't use the
abstract/extends/utils/_clearfix version, which adds less code to css


## Live Template abbreviations
---



## Example
---

```html_example
@include clearfix;
```


## Source
---
https://css-tricks.com/snippets/css/clear-fix/
*/
.icon {
  display: inline-block;
  width: 32px;
  height: 32px;
}

/* doc
---
title: focus color
name: focus color
category: mixins
---

Add a focus color when keyboard-focus is activated
## Parameters
---
@param $number

*/
/* doc
---
title: ignore-container
name: ignore-container
category: mixins
---

Set full page width for something inside a container

## Parameters
---
@param $container-size
@param $gutter

*/
/* Generates all the rules for the grid columns up to the given amount of column */
/* Generates all the rules for the grid column offset up to the given amount of column */
/* Generates all the rules for the grid and columns for the given break point and total of columns */
/* API function to be called to generate a grid config */
/*doc
---
type: button type
state: state button
---

Button styles

Use this mixin for button styles: color text, background, border


## Example
---

```html_example
@include button(primary);
```
*/
/*doc
---
lineLimit: This value specifies the number of lines after which the content will be clamped. It must be greater than 0.
---

Truncates text at a specific number of lines.

Use this mixin to hide long text.

## Example
---

```html_example
@include line-clamp($lineLimit: 4);
```
*/
/* typography
---
title: typography
name: Typography
category: mixins
---

Adds font CSS properties by a map provided

## Parameters
---
@param $t-style

$t-style is expected to be a map with 'default' and 'breakpoint[s]' submaps with a property
for every css property to be set

*/
/* doc
---
title: hidden
name: hidden
category: mixins
---

Hide from both screenreaders and browsers: h5bp.com/u
## Parameters
---

*/
/* doc
---
title: overlay
name: overlay
category: mixins
---

Creates an overlay with the provided background color
## Parameters
---
@param $bgColor

*/
.teaserlist__list {
  --grid-gap: 15px;
  display: grid;
  grid-gap: var(--grid-gap);
  margin-bottom: var(--grid-gap);
}

@media (min-width: 480px) {
  .teaserlist__list {
    --grid-gap: 30px;
    grid-template-columns: calc(100% / 3 - var(--grid-gap) * 2 / 3) calc(100% / 3 - var(--grid-gap) * 2 / 3) calc(100% / 3 - var(--grid-gap) * 2 / 3) ;
    grid-gap: var(--grid-gap);
  }
  .teaserlistLayout-cols--2 .teaserlist__list {
    grid-template-columns: calc(100% / 2 - var(--grid-gap) * 1 / 2) calc(100% / 2 - var(--grid-gap) * 1 / 2) ;
    grid-gap: var(--grid-gap);
  }
}

@media (min-width: 960px) {
  .teaserlist__list {
    margin: 15px 0;
  }
  .teaserlistLayout-cols--4 .teaserlist__list {
    grid-template-columns: calc(100% / 4 - var(--grid-gap) * 3 / 4) calc(100% / 4 - var(--grid-gap) * 3 / 4) calc(100% / 4 - var(--grid-gap) * 3 / 4) calc(100% / 4 - var(--grid-gap) * 3 / 4) ;
    grid-gap: var(--grid-gap);
  }
}

.teaserlistLayout--no-column .teaserlist__list {
  grid-template-columns: calc(100% / 1 - var(--grid-gap) * 0 / 1) ;
  grid-gap: var(--grid-gap);
}

.teaserlistLayout--no-column .teaserlist__list .cmp-teaser__item {
  width: 100%;
  margin: 0 auto;
}

.teaserlist__title {
  display: none;
}

.teaserlist__title--group {
  display: none;
}

.teaserlist .cmp-teaser {
  position: relative;
  overflow: hidden;
  margin: 0;
}

.teaserlist .cmp-teaser__warning {
  color: #c4001a;
  width: 100%;
  text-align: center;
}

.teaserlist .cmp-teaser__link:hover .cmp-teaser__overlay {
  background: rgba(0, 0, 0, 0.5);
}

.teaserlist .cmp-teaser__link:hover .cmp-teaser__content {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.teaserlist .cmp-teaser__link:hover .cmp-teaser__description {
  opacity: 1;
  transition: opacity 0.1s linear;
}

.teaserlist .cmp-teaser__link:hover .article__title::after {
  -webkit-padding-start: 5px;
          padding-inline-start: 5px;
}

.teaserlist .cmp-teaser__image {
  padding: 0 !important;
}

.teaserlist .cmp-teaser__overlay {
  transition: background 0.2s ease-in-out;
  content: '';
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0);
}

.teaserlist .cmp-teaser__overlay--shade {
  background: linear-gradient(to top, #000, transparent);
  position: absolute;
  height: 200px;
  width: 100%;
  bottom: 0;
}

.teaserlist .cmp-teaser__content {
  position: absolute;
  top: 100%;
  -webkit-transform: translateY(-3.5em);
          transform: translateY(-3.5em);
  color: #e1dfdd;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  padding: 0 15px 5px;
}

.teaserlist .cmp-teaser__title {
  font-family: var(--ff-medium);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: var(--ls-default);
  margin-bottom: 16px;
  color: #fff;
}

@media (min-width: 768px) {
  .teaserlist .cmp-teaser__title {
    font-size: 24px;
  }
}

.teaserlist .cmp-teaser__description {
  display: -webkit-box;
  -webkit-line-clamp: 8;
  box-orient: vertical;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-bottom: 1px;
  margin-top: 0;
  color: #fff;
  opacity: 0;
  transition: opacity 1s linear;
}

.teaserlist .cmp-teaser__linkLabel {
  font-family: var(--ff-regular);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: var(--ls-default);
  color: #fff;
}

.teaserlist .cmp-teaser__linkLabel:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: 24px;
  height: 24px;
  -webkit-filter: saturate(0%) brightness(0%) invert(100%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(100%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 1         0 0 0 0 1         0 0 0 0 1         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist .cmp-teaser__linkLabel:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist .cmp-teaser__linkLabel::after {
  font-size: 10px;
  margin-left: 10px;
  vertical-align: middle;
  display: inline-block;
}

.teaserlist .cmp-teaser .cmp-image {
  position: relative;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
}

.teaserlist .cmp-teaser .cmp-image__image {
  position: absolute;
  top: 0;
  height: 100%;
}

.teaserlist .article__header {
  display: none;
}

.teaserlist .article__date--long {
  display: none;
}

.teaserlist.teaser--description-hide .cmp-teaser__link .cmp-teaser__title--lastword::after {
  -webkit-transform: translate(0, -1px);
          transform: translate(0, -1px);
}

.teaserlist.teaser--description-hide .cmp-teaser__link:hover .cmp-teaser__title--lastword::after {
  -webkit-transform: translate(5px, -1px);
          transform: translate(5px, -1px);
}

.teaserlist.teaser--description-hide .cmp-teaser__title--lastword:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0         0 0 0 0 0.3098         0 0 0 0 0.73725         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist.teaser--description-hide .cmp-teaser__title--lastword:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist.teaser--description-hide .cmp-teaser__title--lastword::after {
  margin-left: 10px;
  vertical-align: middle;
  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;
}

.teaserlist.teaser--description-hide .cmp-teaser__description {
  display: none;
}

.teaserlist.teaser--description-hide .cmp-teaser__linkLabel {
  display: none;
}

.teaserlist.teaser--layout-top .cmp-teaser__overlay, .teaserlist.teaser--layout-top .cmp-teaser__overlay--shade {
  display: none;
}

.teaserlist.teaser--layout-top .cmp-teaser__linkLabel {
  color: #004fbc;
}

.teaserlist.teaser--layout-top .cmp-teaser__linkLabel:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0         0 0 0 0 0.3098         0 0 0 0 0.73725         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist.teaser--layout-top .cmp-teaser__linkLabel:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist.teaser--layout-top .cmp-teaser__linkLabel::after {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.teaserlist.teaser--layout-top .cmp-teaser__link:hover .cmp-teaser__content {
  -webkit-transform: none;
          transform: none;
}

.teaserlist.teaser--layout-top .cmp-teaser__content {
  padding: 1em 0;
  position: static;
  -webkit-transform: none;
          transform: none;
  background: #fff;
}

.container__base .teaserlist.teaser--layout-top .cmp-teaser__content {
  padding: 1em;
}

.teaserlist.teaser--layout-top .cmp-teaser__description, .teaserlist.teaser--layout-top .cmp-teaser__title {
  color: #53565a;
}

.teaserlist.teaser--layout-top .cmp-teaser__title--sentence {
  -webkit-margin-end: 5px;
          margin-inline-end: 5px;
}

.teaserlist.teaser--layout-top .cmp-teaser__title--lastword {
  display: inline-block;
  white-space: nowrap;
}

.teaserlist.teaser--layout-top .cmp-teaser__description {
  opacity: 1;
}

.teaserlist.teaser--layout-top .cmp-teaser .cmp-image {
  padding-top: 56.48%;
}

.teaserlist.teaser--layout-top .article__header {
  display: block;
  color: #a7a8a9;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__header {
    display: flex;
    justify-content: flex-end;
  }
}

.teaserlist.teaser--layout-top .article__title--lastword {
  -webkit-padding-end: 24px;
          padding-inline-end: 24px;
}

.teaserlist.teaser--layout-top .article__title--lastword:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0         0 0 0 0 0.3098         0 0 0 0 0.73725         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist.teaser--layout-top .article__title--lastword:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist.teaser--layout-top .article__title--lastword::after {
  display: inline-block;
  margin-left: 10px;
  transition: padding-left 0.3s ease-out;
  width: 24px;
  height: 24px;
  -webkit-margin-end: calc(34px * -1);
          margin-inline-end: calc(34px * -1);
}

@media (max-width: 959px) {
  .teaserlist.teaser--layout-top .article__title--lastword::after {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__title--lastword::after {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
}

.teaserlist.teaser--layout-top .article__tag {
  width: 100%;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__tag {
    width: 40%;
    display: flex;
    align-items: baseline;
  }
}

.teaserlist.teaser--layout-top .article__details {
  width: 100%;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__details {
    width: 60%;
    text-align: end;
  }
}

.teaserlist.teaser--layout-top .article__time {
  display: none;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__time {
    display: inline-block;
  }
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-top .article__time--mobile {
    display: none;
  }
}

.teaserlist.teaserlistLayout-cols--4.teaser--layout-top .article__header {
  display: block;
}

.teaserlist.teaserlistLayout-cols--4.teaser--layout-top .article__tag, .teaserlist.teaserlistLayout-cols--4.teaser--layout-top .article__details {
  width: 100%;
  text-align: left;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-right .cmp-teaser {
    display: flex;
    flex-direction: row-reverse;
  }
}

.teaserlist.teaser--layout-right .cmp-teaser__overlay, .teaserlist.teaser--layout-right .cmp-teaser__overlay--shade {
  display: none;
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel {
  display: inline-block;
  align-items: center;
  text-decoration: none;
  font-family: var(--ff-medium);
  box-sizing: border-box;
  padding: 12px 32px;
  background: #fff;
  border: 1px solid #53565a;
  color: #53565a;
  transition: background 1s;
  max-width: calc(100% - var(--v-icon-size));
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel:hover, .teaserlist.teaser--layout-right .cmp-teaser__linkLabel:focus {
  background: #e1dfdd;
  text-decoration: none;
  color: #53565a;
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel:hover::after, .teaserlist.teaser--layout-right .cmp-teaser__linkLabel:focus::after {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel::after {
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel:disabled, .teaserlist.teaser--layout-right .cmp-teaser__linkLabel.disabled {
  border: 1px solid #888b8d;
  color: #888b8d;
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(33.92157%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(33.92157%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0.32549         0 0 0 0 0.33725         0 0 0 0 0.35294         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist.teaser--layout-right .cmp-teaser__linkLabel:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist.teaser--layout-right .cmp-teaser__linkLabel::after {
  color: #000;
  padding-left: 10px;
  vertical-align: bottom;
  width: 24px;
  height: 24px;
}

@media (min-width: 960px) {
  .teaserlist.teaser--layout-right .cmp-teaser__linkLabel::after {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
}

@media (min-width: 960px) {
  .teaserlist.teaser--layout-right .cmp-teaser__linkLabel:hover::after {
    -webkit-transform: translate(5px, -1px);
            transform: translate(5px, -1px);
  }
}

.teaserlist.teaser--layout-right .cmp-teaser__link:hover .cmp-teaser__content {
  -webkit-transform: none;
          transform: none;
}

.teaserlist.teaser--layout-right .cmp-teaser__content {
  -webkit-transform: none;
          transform: none;
  position: static;
  padding: 1em;
  pointer-events: auto;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-right .cmp-teaser__content {
    position: relative;
    width: 70%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  .teaserlist.teaser--layout-right .cmp-teaser__content {
    width: 50%;
  }
}

@media (max-width: 959px) {
  .teaserlist.teaser--layout-right .cmp-teaser__content .cmp-teaser__linkLabel::after {
    margin-left: 0;
  }
}

.teaserlist.teaser--layout-right .cmp-teaser__description, .teaserlist.teaser--layout-right .cmp-teaser__title {
  color: #53565a;
  margin-bottom: 0;
}

.teaserlist.teaser--layout-right .cmp-teaser__description {
  opacity: 1;
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-right .cmp-teaser__description {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-bottom: 1px;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .teaserlist.teaser--layout-right .cmp-teaser__description::after {
    height: 1.2em;
  }
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-right .cmp-teaser__image {
    width: 30%;
    height: auto;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  .teaserlist.teaser--layout-right .cmp-teaser__image {
    width: 50%;
  }
}

.teaserlist.teaser--layout-right .cmp-teaser .cmp-image {
  padding-top: 56.48%;
}

.teaserlist.teaser--layout-right .article__header {
  display: block;
  color: #a7a8a9;
}

@media (max-width: 767px) {
  .teaserlist.teaser--layout-right .article__header {
    display: flex;
    justify-content: space-between;
  }
}

.teaserlist.teaser--layout-right .article__title--lastword {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.teaserlist.teaser--layout-right .article__title--lastword:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0         0 0 0 0 0.3098         0 0 0 0 0.73725         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .teaserlist.teaser--layout-right .article__title--lastword:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.teaserlist.teaser--layout-right .article__title--lastword::after {
  display: inline-block;
  margin-left: 10px;
  transition: padding-left 0.3s ease-out;
  width: 24px !important;
  height: 24px !important;
}

@media (max-width: 959px) {
  .teaserlist.teaser--layout-right .article__title--lastword::after {
    vertical-align: bottom;
  }
}

@media (min-width: 960px) {
  .teaserlist.teaser--layout-right .article__title--lastword::after {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
}

@media (min-width: 768px) {
  .teaserlist.teaser--layout-right .article__details {
    position: absolute;
    bottom: 0;
  }
}

.teaserlist.teaser--layout-right .article__time, .teaserlist.teaser--layout-right .article__time--mobile {
  display: none;
}

@media (max-width: 1199px) {
  .container__base.container--fullWidth .cmp-container > .teaserlist {
    margin-left: -15px;
    margin-right: -15px;
  }
}

@media (min-width: 1200px) {
  .container__base.container--fullWidth .cmp-container > .teaserlist {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.collage .teaserlist {
  height: 100%;
  padding: 14px 20px;
}

.collage .teaserlist__title {
  font-family: var(--ff-medium);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: var(--ls-default);
  margin-bottom: 25px;
  display: block;
  position: absolute;
  color: #fff;
  z-index: 1;
  pointer-events: none;
}

@media (min-width: 768px) {
  .collage .teaserlist__title {
    font-size: 24px;
  }
}

.collage .teaserlist__list {
  margin: 0;
}

.collage .teaserlist .cmp-teaser {
  width: 100%;
  height: 100%;
}

.collage .teaserlist .cmp-teaser__overlay, .collage .teaserlist .cmp-teaser__description, .collage .teaserlist .cmp-teaser__linkLabel {
  display: none;
}

.collage .teaserlist .cmp-teaser .cmp-image {
  position: initial;
}

.collage .teaserlist .cmp-teaser__item:nth-of-type(n+2) {
  display: none;
}

.collage .teaserlist .cmp-teaser__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
}

.collage .teaserlist .cmp-teaser__link:hover .cmp-teaser__content {
  -webkit-transform: none;
          transform: none;
}

.collage .teaserlist .cmp-teaser__content {
  position: absolute;
  top: auto;
  padding: 0 20px 7px;
  -webkit-transform: none;
          transform: none;
  display: flex;
  flex-direction: column;
}

.collage .teaserlist .cmp-teaser__title {
  font-family: var(--ff-regular);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: var(--ls-default);
  color: #53565a;
}

.collage .teaserlist .cmp-teaser .cmp-teaser__content .article__title {
  line-height: 1;
}

.collage .teaserlist .article__tag, .collage .teaserlist .article__time, .collage .teaserlist .article__time--mobile, .collage .teaserlist .article__date {
  display: none;
}

.collage .teaserlist .article__details {
  color: #53565a;
}

.collage .teaserlist .article__header {
  display: block;
  order: 3;
}

.collage .teaserlist .article__date--long {
  display: inline;
}

.collage .teaserlist .article__title--lastword {
  -webkit-padding-end: 10px;
          padding-inline-end: 10px;
  color: #fff;
}

.collage .teaserlist .article__title--lastword:after {
  content: '';
  display: inline-block;
  background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w24-view");
  width: var(--v-icon-size);
  height: var(--v-icon-size);
  -webkit-filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
          filter: saturate(0%) brightness(0%) invert(36.86275%) opacity(1);
  filter: url('data:image/svg+xml;utf8,    <svg xmlns="http://www.w3.org/2000/svg">    <filter id="recolor" color-interpolation-filters="sRGB">        <feColorMatrix type="matrix" values="         0 0 0 0 0         0 0 0 0 0.3098         0 0 0 0 0.73725         0 0 0 1 0         "/>    </filter>    </svg>    #recolor');
  pointer-events: none;
}

@media (min-width: 1200px) {
  .collage .teaserlist .article__title--lastword:after {
    background: url("../../../../../../content/dam/volvo-media/list-icons/chevron-right.svg#chevron-right-icon-w16-view");
  }
}

.collage .teaserlist .article__title--lastword::after {
  -webkit-margin-start: 5px;
          margin-inline-start: 5px;
  vertical-align: middle;
  transition: -webkit-padding-start 0.3s ease-out;
  transition: padding-inline-start 0.3s ease-out;
  transition: padding-inline-start 0.3s ease-out, -webkit-padding-start 0.3s ease-out;
}

.collage .cmp-container--bg + .cmp-container .teaserlist__title,
.collage .cmp-container--bg + .cmp-container .cmp-teaser__title,
.collage .cmp-container--bg + .cmp-container .article__details {
  color: #fff;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3RhcmdldC92YXVsdC13b3JrL2pjcl9yb290L2FwcHMvdm9sdm8vY2xpZW50bGlicy9zaGFyZWQvY29tcG9uZW50cy9jb250ZW50L3RlYXNlcmxpc3QvdGVhc2VybGlzdC5idW5kbGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztFQUtFO0FBQ0Y7OztFQUdFO0FBQ0Y7O0dBRUc7QUFDSDtFQUNFLG9CQUFvQjtDQUNyQjs7QUFFRDtFQUNFO0lBQ0Usb0JBQW9CO0dBQ3JCO0NBQ0Y7O0FBRUQ7RUFDRSwwQkFBMEI7RUFDMUIsMkJBQTJCO0NBQzVCOztBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGNBQWM7Q0FDZjs7QUFFRDtFQUNFO0lBQ0UsZ0JBQWdCO0dBQ2pCO0NBQ0Y7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsS0FBSztFQUNMLHVCQUF1QjtFQUN2QixzQkFBc0I7Q0FDdkI7O0FBRUQ7RUFDRTtJQUNFLHFDQUE2QjtZQUE3Qiw2QkFBNkI7R0FDOUI7Q0FDRjs7QUFFRDtFQUNFO0lBQ0UscUNBQTZCO1lBQTdCLDZCQUE2QjtHQUM5QjtDQUNGOztBQUVEO0VBQ0U7SUFDRSxjQUFjO0dBQ2Y7Q0FDRjs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtDRTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQ0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZERTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0NFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdCRTtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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R0FBcUc7RUFDckcsMEJBQTBCO0VBQzFCLDJCQUEyQjtFQUMzQix5RUFBaUU7VUFBakUsaUVBQWlFO0VBQ2pFLCtUQUErVDtFQUMvVCxxQkFBcUI7Q0FDdEI7O0FBRUQ7RUFDRTtJQUNFLHFHQUFxRztHQUN0RztDQUNGOztBQUVEO0VBQ0UsMEJBQXlCO1VBQXpCLHlCQUF5QjtFQUN6Qix1QkFBdUI7RUFDdkIsZ0RBQStDO0VBQS9DLCtDQUErQztFQUEvQyxvRkFBK0M7Q0FDaEQ7O0FBRUQ7OztFQUdFLFlBQVk7Q0FDYiIsImZpbGUiOiIuLi90YXJnZXQvdmF1bHQtd29yay9qY3Jfcm9vdC9hcHBzL3ZvbHZvL2NsaWVudGxpYnMvc2hhcmVkL2NvbXBvbmVudHMvY29udGVudC90ZWFzZXJsaXN0L3RlYXNlcmxpc3QuYnVuZGxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5BbHNvIHBsZWFzZSBmb2xsb3cgdGhpc1xuRG8geW91ciBwcm9qZWN0IGhhdmUgZGlmZXJlbnQgY2hhcnNldCBsYW5ndWFnZXMgdG8gYWNjb3VudCB3aXRoP1xuICAgICAgLSBZZXMgLT4gZm9sbG93IGh0dHBzOi8vcHJvamVjdHMubmV0Y2VudHJpYy5iaXovd2lraS9kaXNwbGF5L0ZST05URU5EL0NTUystK0ZvbnQrTm9ybWFsaXphdGlvblxuICAgICAgLSBObyAtPiBZb3UgY2FuIHN0aWxsIHVzZSBpdCwgdGhlcmUgYXJlIHRvbnMgb2YgYWR2YW50YWdlcywgYnV0IGl0cyBjcmVhdGUgc29tZSBleHRyYSBjc3MgYW5kIGxheW91dCByZW5kZXJpbmdcbiovXG4vKlxuICAqIERlc2lnbiBzcGVjOlxuICAqIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1NSNHJ2UWxObkNtUE1yUTlXWWFJcXYvYnJhbmNoL1RKcWtGeW1xMDl3ZjhLd21ZMVdOY2ovVm9sdm8tQUVNLURlc2lnbi1zeXN0ZW0/dHlwZT1kZXNpZ24mbm9kZS1pZD03LTI2JnQ9cEFtOTE2VlJpcUNPRDJJMS0wXG4qL1xuLyoqXG4gKiB6LWluZGV4ZXMgZnJvbSBsb3dlciB0byAtPiBoaWdoZXJcbiAqL1xuOnJvb3Qge1xuICAtLXYtaWNvbi1zaXplOiAyNHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tdi1pY29uLXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLnYtaWNvbiB7XG4gIHdpZHRoOiB2YXIoLS12LWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdi1pY29uLXNpemUpO1xufVxuXG4udi1pY29uIHN2ZyBwYXRoIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4udi1pY29uLXNwcml0ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnYtaWNvbi0tMTYge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLnYtaWNvbi0tMTYge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4udi1pY29uLS0yNCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgeTogMDtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG5AbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgLnYtaWNvbi0tMjQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gIH1cbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgLnYtaWNvbi0tMjQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC52LWljb24tLTI0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byBlbVxubmFtZTogbm4tcHgtdG8tZW1cbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5DYWxjdWxhdGUgdGhlIGVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuSWYgeW91IGRvbid0IHNldCBhICRiYXNlIHRoZSAkYmFzZS1mb250LXNpemUgaXMgdXNlZCBhcyB0aGUgY29udGV4dFxuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG4tcHR1XG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICR2YWx1ZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuQHBhcmFtZXRlciAkYmFzZSA9IHBpeGVsIGJhc2VkIG51bWJlciAod2l0aG91dCB1bml0KVxuXG5cbiMjIERlcGVuZGVuY2llc1xuLS0tXG5ubi1zdHJpcC11bml0XG5cblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbm5uLXB4LXRvLWVtKDUpIC8vIE91dHB1dDogMC4zMTI1ZW1cbm5uLXB4LXRvLWVtKDUsIDEwKSAvLyBPdXRwdXQ6IDAuNWVtXG5ubi1weC10by1lbSg1LCAyMCkgLy8gT3V0cHV0OiAwLjI1ZW1cbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBQaXhlbCB0byByZW1cbm5hbWU6IG5uLXB4LXRvLXJlbVxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cbkNhbGN1bGF0ZSB0aGUgcmVtIHdpdGggYSBnaXZlbiBwaXhlbCB3aXRoIHRoZSBnaXZlbiBiYXNlIGZvbnQgc2l6ZVxuXG5JbjogIDVweFxuT3V0OiAwLjMxMjVyZW1cblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXJlbVxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxubm4tc3RyaXAtdW5pdFxuXG4jIyBFeGFtcGxlXG4tLS1cbmBgYGh0bWxfZXhhbXBsZVxubm4tcHgtdG8tcmVtKDUpIC8vIE91dHB1dCAwLjMxMjVyZW1cbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRcbm5hbWU6IHB4LXRvLXVuaXRcbmNhdGVnb3J5OiBtaXhpbnNcbi0tLVxuXG5TZXQgYSBwcm9wZXJ0eSBhbmQgdmFsdWUgKHBpeGVsIGJhc2VkIHdpdGhvdXQgdW5pdClcblxuQ2FsY3VsYXRlcyByZW0gLyBlbSAvICUgZnJvbSBnaXZlbiBwaXhlbCBhbmQgYmFzZSAoZGVmYXVsdCBiYXNlIGlzIHRoZVxuYmFzZS1mb250LXNpemUsIDE2cHgpXG5JZiBydGwgaXMgdHJ1ZSwgdGhpcyBtaXhpbiBoYW5kbGVzIGFsbCB0aGUgZGlyZWN0aW9uIHN0dWZmOlxuLSBTd2l0Y2hpbmcgdGhlIHZhbHVlcywgd2hlbiB3ZSBoYXZlIGV4YWN0bHkgNCB2YWx1ZXNcbi0gU3dpdGNoaW5nIGxlZnQgYW5kIHJpZ2h0IGluIHByb3BlcnRpZXMgKHBhZGRpbmcgYW5kIG1hcmdpbilcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuLXB0dSAoZm9yIGVtIG9yICUgdG8gcGl4ZWwgLSB3aXRoIGJhc2UgcGFyYW1ldGVyKVxuLXJlbSAoZm9yIHJlbSB0byBwaXhlbCAtIHdpdGhvdXQgYmFzZSBwYXJhbWV0ZXIpXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRwcm9wZXJ0eSA9IHBhZGRpbmcgfCBtYXJnaW4gfCBmb250LXNpemUgfCB3aWR0aCB8IGhlaWdodFxuQHBhcmFtZXRlciAkdmFsdWUgPSBQaXhlbCBiYXNlZCBudW1iZXIgLSBhZGQgcHggdG8ga2VlcCB0aGUgcHggZm9yIGEgdmFsdWVcbkBwYXJhbWV0ZXIgJGJhc2UgPSBweCBiYXNlZCBudW1iZXIsIERlZmF1bHQ6IDE2cHhcbkBwYXJhbWV0ZXIgJHVuaXQgPSBTZXQgdW5pdDogcHggfCBlbSB8IHJlbSB8IHBlcmNlbnRcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuYWJzdHJhY3QvZnVuY3Rpb25zL3N3YXAtbGVmdC1yaWdodFxuYWJzdHJhY3QvZnVuY3Rpb25zL3N0cmlwLXVuaXRcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5AaW5jbHVkZSBubi1weC10by11bml0KHBhZGRpbmcsIDAgMTBweCAyMCAwKTsgPT4gcGFkZGluZzogMCAxMHB4IDEuMjVyZW0gMDtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQocGFkZGluZywgMCAxMCAyMCAwKTsgPT4gcGFkZGluZzogMCAwLjYyNXJlbSAxLjI1cmVtIDA7XG5AaW5jbHVkZSBubi1weC10by11bml0KHBhZGRpbmctbGVmdCwgMTApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChwYWRkaW5nLXJpZ2h0LCAxMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KG1hcmdpbiwgMCAxMCAyMCAwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWFyZ2luLWxlZnQsIDEwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWFyZ2luLXJpZ2h0LCAxMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KGZvbnQtc2l6ZSwgMjApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdCh3aWR0aCwgMTAwKTtcbkBpbmNsdWRlIG5uLXB4LXRvLXVuaXQobWluLXdpZHRoLCAxMDApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChtYW5uLXdpZHRoLCAxMDApO1xuQGluY2x1ZGUgbm4tcHgtdG8tdW5pdChoZWlnaHQsIDEwMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KG1pbi1oZWlnaHQsIDEwMCk7XG5AaW5jbHVkZSBubi1weC10by11bml0KG1hbm4taGVpZ2h0LCAxMDApO1xuYGBgXG5cblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvbGVzcy1taXhpbi1mb3ItcmVtLWZvbnQtc2l6aW5nL1xuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IFBpeGVsIHRvIHVuaXRsZXNzXG5uYW1lOiBubi1weC10by11bml0bGVzc1xuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblRoaXMgbWFrZXMgdGhlIHNhbWUgY2FsY3VsYXRpb24gYXMgcHggdG8gZW0uIEJ1dCBpdCBkb24ndCBwcmludCBvdXQgdGhlIHVuaXQuXG5cblVzZSB0aGlzIGZvciBsaW5lLWhlaWdodHMuXG5cblxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cblxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkdmFsdWUgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcbkBwYXJhbWV0ZXIgJGJhc2UgPSBwaXhlbCBiYXNlZCBudW1iZXIgKHdpdGhvdXQgdW5pdClcblxuXG4jIyBEZXBlbmRlbmNpZXNcbi0tLVxuXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubGluZS1oZWlnaHQ6IG5uLXB4LXRvLXVuaXRsZXNzKDUpIC8vIE91dHB1dDogMC4zMTI1XG5gYGBcblxuXG4jIyBTb3VyY2Vcbi0tLVxuXG5cbiovXG4vKmRvY1xuLS0tXG50aXRsZTogU3RyaXAgdW5pdFxubmFtZTogbm4tc3RyaXAtdW5pdFxuY2F0ZWdvcnk6IGZ1bmN0aW9uc1xuLS0tXG5cblN0cmlwcyBvZiB0aGUgdW5pdCBvZiBhIG51bWJlclxuXG5cbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtZXRlciAkbnVtID0gbnVtYmVyIHdpdGggdW5pdCAoNXB4LCA1ZW0sIDVyZW0pXG5cblxuIyMgRXhhbXBsZVxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxubm4tc3RyaXAtdW5pdCg1cHgpIC8vT3V0cHV0OiA1XG5ubi1zdHJpcC11bml0KDEwZW0pIC8vIE91dHB1dDogMTBcbm5uLXN0cmlwLXVuaXQoMTVyZW0pIC8vIE91dHB1dDogMTVcbmBgYFxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IHotaW5kZXhcbm5hbWU6IG5uLXotaW5kZXhcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuIFxuQmVjYXVzZSB6LWluZGljZXMgY2FuIGdldCB0cmlja3kgd2UgbWFuYWdlIHRoZW0gaW4gdGhlIHRoZW1lLnNjc3MgZ2xvYmFsbHkuXG5cbkFsd2F5cyB1c2UgdGhpcyBtaXhpbiB0byBzZXQgc2V0IGEgei1pbmRleC5cbiAgXG5SZWFkIHRoZSBCZXN0IFByYWN0aWNlIHRvIGdldCBhbiBmdWxsIGRvY3VtZW50YXRpb246XG5odHRwczovL3Byb2plY3RzLm5ldGNlbnRyaWMuYml6L3dpa2kvZGlzcGxheS9GUk9OVEVORC9Ib3crdG8rc2V0K2Erei1pbmRleFxuIFxuIFxuIyMgTGl2ZSBUZW1wbGF0ZSBhYmJyZXZpYXRpb25zXG4tLS1cbi16XG4gXG4gXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJGVsZW1lbnQgPSBOYW1lIG9mIHRoZSBlbGVtZW50IChub3JtYWxseSB0aGlzIHdpbGwgYmUgdGhlIG1vZHVsZSBuYW1lIGZvciB0aGUgbWFpbiBzdGFjaylcbkBwYXJhbWV0ZXIgJGxpc3QgPSBOYW1lIG9mIHRoZSBsaXN0IChkZWZhdWx0ICR6LWluZGljZXMpLiBNdXN0IGJlIG9ubHkgc2V0IGZvciBzdGFjayBjb250ZXh0XG5AcGFyYW1ldGVyICRtaW4gPSBTZXQgYSBtaW5pbXVtIHotaW5kZXggd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgbGlzdC5cblxuIFxuIyMgRGVwZW5kZW5jaWVzXG4tLS1cbiR6LWluZGljZXMgdmFyaWFibGUgaW4gdGhlIHRoZW1lLnNjc3NcblxuXG4jIyBFeGFtcGxlXG4tLS1cbiAgXG5gYGBodG1sX2V4YW1wbGVcblxuLy8gSW4gdGhlIFNBU1MgdGhlbWUgZmlsZVxuXG4kei1pbmRpY2VzOiBzbGlkZXIsIG1vZGFsLCBkaWFsb2csIG5hdmlnYXRpb247XG5cblxuLy8gSW4gdGhlIFNBU1MgbW9kdWxlIGZpbGVcblxuLm1vZGFsIHtcbiAgICAmX19iYXNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiBubi16LWluZGV4KG1vZGFsKTtcbiAgICB9XG59XG5gYGBcbiBcblxuIyMgU291cmNlXG4tLS1cbmh0dHA6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi8xMi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogcmVtb3ZlIGV2ZXJ5IHVuaXRcbm5hbWU6IHN0cmlwLXVuaXRcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxucmVtb3ZlIGFsbCB1bml0c1xuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbWV0ZXIgJG51bWJlciA9IG51bWJlciB3aXRoIHVuaXRcblxuIyMgRXhhbXBsZVxuLS0tXG5gYGBodG1sX2V4YW1wbGVcbnN0cmlwLXVuaXQoNXB4KSAvLyBPdXRwdXQ6IDVcbmBgYFxuKi9cbi8qZG9jXG4tLS1cbnRpdGxlOiBTd2FwIGxlZnQgcmlnaHQgdmFsdWVzXG5uYW1lOiBubi1ydGxcbmNhdGVnb3J5OiBmdW5jdGlvbnNcbi0tLVxuXG5Td2FwIHRoZSBuYW1lcyByaWdodCBhbmQgbGVmdCB3aGVuICRydGwgaXMgc2V0IHRvIHRydWUuXG5JZiB0aGUgdmFsdWUgaXMgbm90IHJpZ2h0IG9yIGxlZnQgaXQgcmV0dXJucyB0aGUgb3JpZ2luYWwgdmFsdWUuXG5cbkluOiAgcmlnaHRcbk91dDogbGVmdCAoaW4gcnRsKSwgcmlnaHQgKGluIGx0cilcblxuXG4jIyBMaXZlIFRlbXBsYXRlIGFiYnJldmlhdGlvbnNcbi0tLVxuXG5cblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW1ldGVyICRvcmlnaW4gPSByaWdodCB8IGxlZnRcblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5ubi1ydGwobGVmdCk6IDEwcHg7XG5ubi1ydGwocGFkZGluZy1yaWdodCk6IDMwcHg7XG5ubi1ydGwoMCAxcHggOHB4IDEycHgpIC8vIDAgMTJweCA4cHggMXB4XG5gYGBcblxuXG4qL1xuLypkb2Ncbi0tLVxudGl0bGU6IENsZWFyZml4XG5uYW1lOiBjbGVhcmZpeFxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkNsZWFycyBhZnRlciBmbG9hdGluZyBlbGVtZW50XG5cblVzZSB0aGlzIG1peGluIG9ubHkgaW5zaWRlIG1lZGlhIHF1ZXJpZXMgd2hlcmUgeW91IGNhbid0IHVzZSB0aGVcbmFic3RyYWN0L2V4dGVuZHMvdXRpbHMvX2NsZWFyZml4IHZlcnNpb24sIHdoaWNoIGFkZHMgbGVzcyBjb2RlIHRvIGNzc1xuXG5cbiMjIExpdmUgVGVtcGxhdGUgYWJicmV2aWF0aW9uc1xuLS0tXG5cblxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5AaW5jbHVkZSBjbGVhcmZpeDtcbmBgYFxuXG5cbiMjIFNvdXJjZVxuLS0tXG5odHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9jbGVhci1maXgvXG4qL1xuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG5cbi8qIGRvY1xuLS0tXG50aXRsZTogZm9jdXMgY29sb3Jcbm5hbWU6IGZvY3VzIGNvbG9yXG5jYXRlZ29yeTogbWl4aW5zXG4tLS1cblxuQWRkIGEgZm9jdXMgY29sb3Igd2hlbiBrZXlib2FyZC1mb2N1cyBpcyBhY3RpdmF0ZWRcbiMjIFBhcmFtZXRlcnNcbi0tLVxuQHBhcmFtICRudW1iZXJcblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogaWdub3JlLWNvbnRhaW5lclxubmFtZTogaWdub3JlLWNvbnRhaW5lclxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cblNldCBmdWxsIHBhZ2Ugd2lkdGggZm9yIHNvbWV0aGluZyBpbnNpZGUgYSBjb250YWluZXJcblxuIyMgUGFyYW1ldGVyc1xuLS0tXG5AcGFyYW0gJGNvbnRhaW5lci1zaXplXG5AcGFyYW0gJGd1dHRlclxuXG4qL1xuLyogR2VuZXJhdGVzIGFsbCB0aGUgcnVsZXMgZm9yIHRoZSBncmlkIGNvbHVtbnMgdXAgdG8gdGhlIGdpdmVuIGFtb3VudCBvZiBjb2x1bW4gKi9cbi8qIEdlbmVyYXRlcyBhbGwgdGhlIHJ1bGVzIGZvciB0aGUgZ3JpZCBjb2x1bW4gb2Zmc2V0IHVwIHRvIHRoZSBnaXZlbiBhbW91bnQgb2YgY29sdW1uICovXG4vKiBHZW5lcmF0ZXMgYWxsIHRoZSBydWxlcyBmb3IgdGhlIGdyaWQgYW5kIGNvbHVtbnMgZm9yIHRoZSBnaXZlbiBicmVhayBwb2ludCBhbmQgdG90YWwgb2YgY29sdW1ucyAqL1xuLyogQVBJIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB0byBnZW5lcmF0ZSBhIGdyaWQgY29uZmlnICovXG4vKmRvY1xuLS0tXG50eXBlOiBidXR0b24gdHlwZVxuc3RhdGU6IHN0YXRlIGJ1dHRvblxuLS0tXG5cbkJ1dHRvbiBzdHlsZXNcblxuVXNlIHRoaXMgbWl4aW4gZm9yIGJ1dHRvbiBzdHlsZXM6IGNvbG9yIHRleHQsIGJhY2tncm91bmQsIGJvcmRlclxuXG5cbiMjIEV4YW1wbGVcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbkBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5KTtcbmBgYFxuKi9cbi8qZG9jXG4tLS1cbmxpbmVMaW1pdDogVGhpcyB2YWx1ZSBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBsaW5lcyBhZnRlciB3aGljaCB0aGUgY29udGVudCB3aWxsIGJlIGNsYW1wZWQuIEl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuXG4tLS1cblxuVHJ1bmNhdGVzIHRleHQgYXQgYSBzcGVjaWZpYyBudW1iZXIgb2YgbGluZXMuXG5cblVzZSB0aGlzIG1peGluIHRvIGhpZGUgbG9uZyB0ZXh0LlxuXG4jIyBFeGFtcGxlXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG5AaW5jbHVkZSBsaW5lLWNsYW1wKCRsaW5lTGltaXQ6IDQpO1xuYGBgXG4qL1xuLyogdHlwb2dyYXBoeVxuLS0tXG50aXRsZTogdHlwb2dyYXBoeVxubmFtZTogVHlwb2dyYXBoeVxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkFkZHMgZm9udCBDU1MgcHJvcGVydGllcyBieSBhIG1hcCBwcm92aWRlZFxuXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkdC1zdHlsZVxuXG4kdC1zdHlsZSBpcyBleHBlY3RlZCB0byBiZSBhIG1hcCB3aXRoICdkZWZhdWx0JyBhbmQgJ2JyZWFrcG9pbnRbc10nIHN1Ym1hcHMgd2l0aCBhIHByb3BlcnR5XG5mb3IgZXZlcnkgY3NzIHByb3BlcnR5IHRvIGJlIHNldFxuXG4qL1xuLyogZG9jXG4tLS1cbnRpdGxlOiBoaWRkZW5cbm5hbWU6IGhpZGRlblxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkhpZGUgZnJvbSBib3RoIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzOiBoNWJwLmNvbS91XG4jIyBQYXJhbWV0ZXJzXG4tLS1cblxuKi9cbi8qIGRvY1xuLS0tXG50aXRsZTogb3ZlcmxheVxubmFtZTogb3ZlcmxheVxuY2F0ZWdvcnk6IG1peGluc1xuLS0tXG5cbkNyZWF0ZXMgYW4gb3ZlcmxheSB3aXRoIHRoZSBwcm92aWRlZCBiYWNrZ3JvdW5kIGNvbG9yXG4jIyBQYXJhbWV0ZXJzXG4tLS1cbkBwYXJhbSAkYmdDb2xvclxuXG4qL1xuLnRlYXNlcmxpc3RfX2xpc3Qge1xuICAtLWdyaWQtZ2FwOiAxNXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ncmlkLWdhcCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudGVhc2VybGlzdF9fbGlzdCB7XG4gICAgLS1ncmlkLWdhcDogMzBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoMTAwJSAvIDMgLSB2YXIoLS1ncmlkLWdhcCkgKiAyIC8gMykgY2FsYygxMDAlIC8gMyAtIHZhcigtLWdyaWQtZ2FwKSAqIDIgLyAzKSBjYWxjKDEwMCUgLyAzIC0gdmFyKC0tZ3JpZC1nYXApICogMiAvIDMpIDtcbiAgICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuICB9XG4gIC50ZWFzZXJsaXN0TGF5b3V0LWNvbHMtLTIgLnRlYXNlcmxpc3RfX2xpc3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYygxMDAlIC8gMiAtIHZhcigtLWdyaWQtZ2FwKSAqIDEgLyAyKSBjYWxjKDEwMCUgLyAyIC0gdmFyKC0tZ3JpZC1nYXApICogMSAvIDIpIDtcbiAgICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudGVhc2VybGlzdF9fbGlzdCB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cbiAgLnRlYXNlcmxpc3RMYXlvdXQtY29scy0tNCAudGVhc2VybGlzdF9fbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDEwMCUgLyA0IC0gdmFyKC0tZ3JpZC1nYXApICogMyAvIDQpIGNhbGMoMTAwJSAvIDQgLSB2YXIoLS1ncmlkLWdhcCkgKiAzIC8gNCkgY2FsYygxMDAlIC8gNCAtIHZhcigtLWdyaWQtZ2FwKSAqIDMgLyA0KSBjYWxjKDEwMCUgLyA0IC0gdmFyKC0tZ3JpZC1nYXApICogMyAvIDQpIDtcbiAgICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0TGF5b3V0LS1uby1jb2x1bW4gLnRlYXNlcmxpc3RfX2xpc3Qge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoMTAwJSAvIDEgLSB2YXIoLS1ncmlkLWdhcCkgKiAwIC8gMSkgO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xufVxuXG4udGVhc2VybGlzdExheW91dC0tbm8tY29sdW1uIC50ZWFzZXJsaXN0X19saXN0IC5jbXAtdGVhc2VyX19pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGVhc2VybGlzdF9fdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGVhc2VybGlzdF9fdGl0bGUtLWdyb3VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX3dhcm5pbmcge1xuICBjb2xvcjogI2M0MDAxYTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbms6aG92ZXIgLmNtcC10ZWFzZXJfX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19saW5rOmhvdmVyIC5jbXAtdGVhc2VyX19jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbms6aG92ZXIgLmNtcC10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbms6aG92ZXIgLmFydGljbGVfX3RpdGxlOjphZnRlciB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG59XG5cbi50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19pbWFnZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX292ZXJsYXkge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19vdmVybGF5LS1zaGFkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDAsIHRyYW5zcGFyZW50KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xufVxuXG4udGVhc2VybGlzdCAuY21wLXRlYXNlcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMuNWVtKTtcbiAgY29sb3I6ICNlMWRmZGQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICBwYWRkaW5nOiAwIDE1cHggNXB4O1xufVxuXG4udGVhc2VybGlzdCAuY21wLXRlYXNlcl9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZmYtbWVkaXVtKTtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHMtZGVmYXVsdCk7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogODtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGxpbmVhcjtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1yZWd1bGFyKTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHMtZGVmYXVsdCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udGVhc2VybGlzdCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcyNC12aWV3XCIpO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKSBicmlnaHRuZXNzKDAlKSBpbnZlcnQoMTAwJSkgb3BhY2l0eSgxKTtcbiAgZmlsdGVyOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4gICAgPGZpbHRlciBpZD1cInJlY29sb3JcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+ICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiICAgICAgICAgMCAwIDAgMCAxICAgICAgICAgMCAwIDAgMCAxICAgICAgICAgMCAwIDAgMCAxICAgICAgICAgMCAwIDAgMSAwICAgICAgICAgXCIvPiAgICA8L2ZpbHRlcj4gICAgPC9zdmc+ICAgICNyZWNvbG9yJyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19saW5rTGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NoZXZyb24tcmlnaHQuc3ZnI2NoZXZyb24tcmlnaHQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuXG4udGVhc2VybGlzdCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXIgLmNtcC1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXIgLmNtcC1pbWFnZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udGVhc2VybGlzdCAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QgLmFydGljbGVfX2RhdGUtLWxvbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWRlc2NyaXB0aW9uLWhpZGUgLmNtcC10ZWFzZXJfX2xpbmsgLmNtcC10ZWFzZXJfX3RpdGxlLS1sYXN0d29yZDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMXB4KTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1kZXNjcmlwdGlvbi1oaWRlIC5jbXAtdGVhc2VyX19saW5rOmhvdmVyIC5jbXAtdGVhc2VyX190aXRsZS0tbGFzdHdvcmQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtMXB4KTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1kZXNjcmlwdGlvbi1oaWRlIC5jbXAtdGVhc2VyX190aXRsZS0tbGFzdHdvcmQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9jaGV2cm9uLXJpZ2h0LnN2ZyNjaGV2cm9uLXJpZ2h0LWljb24tdzI0LXZpZXdcIik7XG4gIHdpZHRoOiB2YXIoLS12LWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKSBicmlnaHRuZXNzKDAlKSBpbnZlcnQoMzYuODYyNzUlKSBvcGFjaXR5KDEpO1xuICBmaWx0ZXI6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPiAgICA8ZmlsdGVyIGlkPVwicmVjb2xvclwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj4gICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIgICAgICAgICAwIDAgMCAwIDAgICAgICAgICAwIDAgMCAwIDAuMzA5OCAgICAgICAgIDAgMCAwIDAgMC43MzcyNSAgICAgICAgIDAgMCAwIDEgMCAgICAgICAgIFwiLz4gICAgPC9maWx0ZXI+ICAgIDwvc3ZnPiAgICAjcmVjb2xvcicpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWRlc2NyaXB0aW9uLWhpZGUgLmNtcC10ZWFzZXJfX3RpdGxlLS1sYXN0d29yZDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tZGVzY3JpcHRpb24taGlkZSAuY21wLXRlYXNlcl9fdGl0bGUtLWxhc3R3b3JkOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1kZXNjcmlwdGlvbi1oaWRlIC5jbXAtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tZGVzY3JpcHRpb24taGlkZSAuY21wLXRlYXNlcl9fbGlua0xhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX19vdmVybGF5LCAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmNtcC10ZWFzZXJfX292ZXJsYXktLXNoYWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX19saW5rTGFiZWwge1xuICBjb2xvcjogIzAwNGZiYztcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX19saW5rTGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9jaGV2cm9uLXJpZ2h0LnN2ZyNjaGV2cm9uLXJpZ2h0LWljb24tdzI0LXZpZXdcIik7XG4gIHdpZHRoOiB2YXIoLS12LWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKSBicmlnaHRuZXNzKDAlKSBpbnZlcnQoMzYuODYyNzUlKSBvcGFjaXR5KDEpO1xuICBmaWx0ZXI6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPiAgICA8ZmlsdGVyIGlkPVwicmVjb2xvclwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj4gICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIgICAgICAgICAwIDAgMCAwIDAgICAgICAgICAwIDAgMCAwIDAuMzA5OCAgICAgICAgIDAgMCAwIDAgMC43MzcyNSAgICAgICAgIDAgMCAwIDEgMCAgICAgICAgIFwiLz4gICAgPC9maWx0ZXI+ICAgIDwvc3ZnPiAgICAjcmVjb2xvcicpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX19saW5rOmhvdmVyIC5jbXAtdGVhc2VyX19jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmNtcC10ZWFzZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uY29udGFpbmVyX19iYXNlIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuY21wLXRlYXNlcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX19kZXNjcmlwdGlvbiwgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyX190aXRsZSB7XG4gIGNvbG9yOiAjNTM1NjVhO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmNtcC10ZWFzZXJfX3RpdGxlLS1zZW50ZW5jZSB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuY21wLXRlYXNlcl9fdGl0bGUtLWxhc3R3b3JkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmNtcC10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5jbXAtdGVhc2VyIC5jbXAtaW1hZ2Uge1xuICBwYWRkaW5nLXRvcDogNTYuNDglO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmFydGljbGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2E3YThhOTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQge1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IDI0cHg7XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fdGl0bGUtLWxhc3R3b3JkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcyNC12aWV3XCIpO1xuICB3aWR0aDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXYtaWNvbi1zaXplKTtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwJSkgYnJpZ2h0bmVzcygwJSkgaW52ZXJ0KDM2Ljg2Mjc1JSkgb3BhY2l0eSgxKTtcbiAgZmlsdGVyOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4gICAgPGZpbHRlciBpZD1cInJlY29sb3JcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+ICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiICAgICAgICAgMCAwIDAgMCAwICAgICAgICAgMCAwIDAgMCAwLjMwOTggICAgICAgICAwIDAgMCAwIDAuNzM3MjUgICAgICAgICAwIDAgMCAxIDAgICAgICAgICBcIi8+ICAgIDwvZmlsdGVyPiAgICA8L3N2Zz4gICAgI3JlY29sb3InKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NoZXZyb24tcmlnaHQuc3ZnI2NoZXZyb24tcmlnaHQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmFydGljbGVfX3RpdGxlLS1sYXN0d29yZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nLWxlZnQgMC4zcyBlYXNlLW91dDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoMzRweCAqIC0xKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fdGl0bGUtLWxhc3R3b3JkOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fdGl0bGUtLWxhc3R3b3JkOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gIH1cbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX190YWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fdGFnIHtcbiAgICB3aWR0aDogNDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX19kZXRhaWxzIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC10b3AgLmFydGljbGVfX3RpbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX190aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXRvcCAuYXJ0aWNsZV9fdGltZS0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlcmxpc3RMYXlvdXQtY29scy0tNC50ZWFzZXItLWxheW91dC10b3AgLmFydGljbGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXJsaXN0TGF5b3V0LWNvbHMtLTQudGVhc2VyLS1sYXlvdXQtdG9wIC5hcnRpY2xlX190YWcsIC50ZWFzZXJsaXN0LnRlYXNlcmxpc3RMYXlvdXQtY29scy0tNC50ZWFzZXItLWxheW91dC10b3AgLmFydGljbGVfX2RldGFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fb3ZlcmxheSwgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX292ZXJsYXktLXNoYWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZmYtbWVkaXVtKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMTJweCAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTM1NjVhO1xuICBjb2xvcjogIzUzNTY1YTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS12LWljb24tc2l6ZSkpO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOmhvdmVyLCAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2UxZGZkZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzUzNTY1YTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbDpob3Zlcjo6YWZ0ZXIsIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19saW5rTGFiZWw6Zm9jdXM6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19saW5rTGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbDpkaXNhYmxlZCwgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbC5kaXNhYmxlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODhiOGQ7XG4gIGNvbG9yOiAjODg4YjhkO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcyNC12aWV3XCIpO1xuICB3aWR0aDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXYtaWNvbi1zaXplKTtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwJSkgYnJpZ2h0bmVzcygwJSkgaW52ZXJ0KDMzLjkyMTU3JSkgb3BhY2l0eSgxKTtcbiAgZmlsdGVyOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4gICAgPGZpbHRlciBpZD1cInJlY29sb3JcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+ICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiICAgICAgICAgMCAwIDAgMCAwLjMyNTQ5ICAgICAgICAgMCAwIDAgMCAwLjMzNzI1ICAgICAgICAgMCAwIDAgMCAwLjM1Mjk0ICAgICAgICAgMCAwIDAgMSAwICAgICAgICAgXCIvPiAgICA8L2ZpbHRlcj4gICAgPC9zdmc+ICAgICNyZWNvbG9yJyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19saW5rTGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9jb250ZW50L2RhbS92b2x2by1tZWRpYS9saXN0LWljb25zL2NoZXZyb24tcmlnaHQuc3ZnI2NoZXZyb24tcmlnaHQtaWNvbi13MTYtdmlld1wiKTtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGlua0xhYmVsOmhvdmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtMXB4KTtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fbGluazpob3ZlciAuY21wLXRlYXNlcl9fY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2NvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3MCU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fY29udGVudCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX2NvbnRlbnQgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbDo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19kZXNjcmlwdGlvbiwgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmNtcC10ZWFzZXJfX3RpdGxlIHtcbiAgY29sb3I6ICM1MzU2NWE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogNDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIGJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9fZGVzY3JpcHRpb246OmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEuMmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlcl9faW1hZ2Uge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5jbXAtdGVhc2VyX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuY21wLXRlYXNlciAuY21wLWltYWdlIHtcbiAgcGFkZGluZy10b3A6IDU2LjQ4JTtcbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmFydGljbGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2E3YThhOTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5hcnRpY2xlX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQge1xuICBtYXJnaW4tYmxvY2stZW5kOiAwO1xufVxuXG4udGVhc2VybGlzdC50ZWFzZXItLWxheW91dC1yaWdodCAuYXJ0aWNsZV9fdGl0bGUtLWxhc3R3b3JkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcyNC12aWV3XCIpO1xuICB3aWR0aDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXYtaWNvbi1zaXplKTtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwJSkgYnJpZ2h0bmVzcygwJSkgaW52ZXJ0KDM2Ljg2Mjc1JSkgb3BhY2l0eSgxKTtcbiAgZmlsdGVyOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4gICAgPGZpbHRlciBpZD1cInJlY29sb3JcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+ICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiICAgICAgICAgMCAwIDAgMCAwICAgICAgICAgMCAwIDAgMCAwLjMwOTggICAgICAgICAwIDAgMCAwIDAuNzM3MjUgICAgICAgICAwIDAgMCAxIDAgICAgICAgICBcIi8+ICAgIDwvZmlsdGVyPiAgICA8L3N2Zz4gICAgI3JlY29sb3InKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmFydGljbGVfX3RpdGxlLS1sYXN0d29yZDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnQvZGFtL3ZvbHZvLW1lZGlhL2xpc3QtaWNvbnMvY2hldnJvbi1yaWdodC5zdmcjY2hldnJvbi1yaWdodC1pY29uLXcxNi12aWV3XCIpO1xuICB9XG59XG5cbi50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZy1sZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmFydGljbGVfX3RpdGxlLS1sYXN0d29yZDo6YWZ0ZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQ6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmFydGljbGVfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLnRlYXNlcmxpc3QudGVhc2VyLS1sYXlvdXQtcmlnaHQgLmFydGljbGVfX3RpbWUsIC50ZWFzZXJsaXN0LnRlYXNlci0tbGF5b3V0LXJpZ2h0IC5hcnRpY2xlX190aW1lLS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5jb250YWluZXJfX2Jhc2UuY29udGFpbmVyLS1mdWxsV2lkdGggLmNtcC1jb250YWluZXIgPiAudGVhc2VybGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyX19iYXNlLmNvbnRhaW5lci0tZnVsbFdpZHRoIC5jbXAtY29udGFpbmVyID4gLnRlYXNlcmxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxNHB4IDIwcHg7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1tZWRpdW0pO1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1scy1kZWZhdWx0KTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbGxhZ2UgLnRlYXNlcmxpc3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3RfX2xpc3Qge1xuICBtYXJnaW46IDA7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX292ZXJsYXksIC5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19kZXNjcmlwdGlvbiwgLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbmtMYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyIC5jbXAtaW1hZ2Uge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2l0ZW06bnRoLW9mLXR5cGUobisyKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX2xpbms6aG92ZXIgLmNtcC10ZWFzZXJfX2NvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyX19jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHBhZGRpbmc6IDAgMjBweCA3cHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmNtcC10ZWFzZXJfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXJlZ3VsYXIpO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1scy1kZWZhdWx0KTtcbiAgY29sb3I6ICM1MzU2NWE7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5jbXAtdGVhc2VyIC5jbXAtdGVhc2VyX19jb250ZW50IC5hcnRpY2xlX190aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9fdGFnLCAuY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9fdGltZSwgLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmFydGljbGVfX3RpbWUtLW1vYmlsZSwgLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmFydGljbGVfX2RhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9fZGV0YWlscyB7XG4gIGNvbG9yOiAjNTM1NjVhO1xufVxuXG4uY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAzO1xufVxuXG4uY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9fZGF0ZS0tbG9uZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmFydGljbGVfX3RpdGxlLS1sYXN0d29yZCB7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogMTBweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jb2xsYWdlIC50ZWFzZXJsaXN0IC5hcnRpY2xlX190aXRsZS0tbGFzdHdvcmQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9jaGV2cm9uLXJpZ2h0LnN2ZyNjaGV2cm9uLXJpZ2h0LWljb24tdzI0LXZpZXdcIik7XG4gIHdpZHRoOiB2YXIoLS12LWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdi1pY29uLXNpemUpO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKSBicmlnaHRuZXNzKDAlKSBpbnZlcnQoMzYuODYyNzUlKSBvcGFjaXR5KDEpO1xuICBmaWx0ZXI6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPiAgICA8ZmlsdGVyIGlkPVwicmVjb2xvclwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj4gICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIgICAgICAgICAwIDAgMCAwIDAgICAgICAgICAwIDAgMCAwIDAuMzA5OCAgICAgICAgIDAgMCAwIDAgMC43MzcyNSAgICAgICAgIDAgMCAwIDEgMCAgICAgICAgIFwiLz4gICAgPC9maWx0ZXI+ICAgIDwvc3ZnPiAgICAjcmVjb2xvcicpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sbGFnZSAudGVhc2VybGlzdCAuYXJ0aWNsZV9fdGl0bGUtLWxhc3R3b3JkOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvY29udGVudC9kYW0vdm9sdm8tbWVkaWEvbGlzdC1pY29ucy9jaGV2cm9uLXJpZ2h0LnN2ZyNjaGV2cm9uLXJpZ2h0LWljb24tdzE2LXZpZXdcIik7XG4gIH1cbn1cblxuLmNvbGxhZ2UgLnRlYXNlcmxpc3QgLmFydGljbGVfX3RpdGxlLS1sYXN0d29yZDo6YWZ0ZXIge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IHBhZGRpbmctaW5saW5lLXN0YXJ0IDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5jb2xsYWdlIC5jbXAtY29udGFpbmVyLS1iZyArIC5jbXAtY29udGFpbmVyIC50ZWFzZXJsaXN0X190aXRsZSxcbi5jb2xsYWdlIC5jbXAtY29udGFpbmVyLS1iZyArIC5jbXAtY29udGFpbmVyIC5jbXAtdGVhc2VyX190aXRsZSxcbi5jb2xsYWdlIC5jbXAtY29udGFpbmVyLS1iZyArIC5jbXAtY29udGFpbmVyIC5hcnRpY2xlX19kZXRhaWxzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPXRlYXNlcmxpc3QuYnVuZGxlLmNzcy5tYXAgKi8iXX0= */