/*
Theme Name: Modulus
Theme URI: https://www.webulousthemes.com/modulus/
Author: N. Venkat Raj
Author URI: https://www.webulousthemes.com/
Description: Modulus comes with modern, stylish and responsive design. It uses skeleton framework for grids which keeps minimal css. Stylesheet is generated using SASS and so stays DRY. Best suited for Corporate/Business/Blog sites. There is no theme options panel, instead uses Customizer, core feature of WordPress and comes with lots of options to customize. Has 4 Footer Widget Areas.
Version: 1.4.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: modulus
Tags: custom-menu, custom-background, featured-images, right-sidebar, sticky-post, threaded-comments, translation-ready, two-columns

Modulus WordPress Theme, Copyright (C) 2016, N. Venkat Raj
Modulus is distributed under the terms of the GNU GPL

Modulus is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Reset
2.0 Grid
3.0 Typography
4.0 Elements
	4.1 Forms
5.0 Navigation
	5.1 Links
	5.2 Menus
6.0 Media
	6.1 Captions
	6.2 Galleries	
7.0 Modules
	7.1 Accessibility
	7.2 Alignments
	7.3 Clearings
	7.4 Infinite scroll
8.0 Header
9.0 Primary
10.0 Secondary
11.0 Footer
12.0 Responsiveness

--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Reset
--------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

html {
  font-size: 62.5%;
  /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
  overflow-y: scroll;
  /* Keeps page centered in all browsers regardless of content height */
  -webkit-text-size-adjust: 100%;
  /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
  -ms-text-size-adjust: 100%;
  /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
  box-sizing: border-box;
  /* Apply a natural box layout model to the document; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */ }

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit; }

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
  overflow: hidden; }

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

ol, ul {
  list-style: none; }

table {
  /* tables still need 'cellspacing="0"' in the markup */
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  font-weight: normal;
  text-align: left; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

a:focus {
  outline: thin dotted; }

a:hover,
a:active {
  outline: 0; }

a img {
  border: 0; }

/*--------------------------------------------------------------
2.0 Grid
--------------------------------------------------------------*/
.container {
  position: relative;
  width: 93%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0; }
  .container .one.column {
    width: 4.1%; }
  .container .two.columns {
    width: 10.4%; }
  .container .three.columns {
    width: 16.6%; }
  .container .four.columns {
    width: 22.9%; }
  .container .five.columns {
    width: 29.16%; }
  .container .six.columns {
    width: 35%; }
  .container .seven.columns {
    width: 41.6%; }
  .container .eight.columns {
    width: 47.9%; }
  .container .nine.columns {
    width: 54.16%; }
  .container .ten.columns {
    width: 60%; }
  .container .eleven.columns {
    width: 66.66%; }
  .container .twelve.columns {
    width: 72.9%; }
  .container .thirteen.columns {
    width: 79.16%; }
  .container .fourteen.columns {
    width: 85%; }
  .container .fifteen.columns {
    width: 91.66%; }
  .container .sixteen.columns {
    width: 97.9%; }
  .container .one-third.column {
    width: 31.25%; }
  .container .one-fourth.column {
    width: 23%; }
  .container .two-thirds.column {
    width: 64.5%; }
  .container .offset-by-one {
    padding-left: 6.25%; }
  .container .offset-by-two {
    padding-left: 12.5%; }
  .container .offset-by-three {
    padding-left: 18.75%; }
  .container .offset-by-four {
    padding-left: 25%; }
  .container .offset-by-five {
    padding-left: 31.25%; }
  .container .offset-by-six {
    padding-left: 37.5%; }
  .container .offset-by-seven {
    padding-left: 43.7%; }
  .container .offset-by-eight {
    padding-left: 50%; }
  .container .offset-by-nine {
    padding-left: 56.25%; }
  .container .offset-by-ten {
    padding-left: 62.5%; }
  .container .offset-by-eleven {
    padding-left: 68.75%; }
  .container .offset-by-twelve {
    padding-left: 75%; }
  .container .offset-by-thirteen {
    padding-left: 81.25%; }
  .container .offset-by-fourteen {
    padding-left: 87.5%; }
  .container .offset-by-fifteen {
    padding-left: 93.75%; }

.column, .columns {
  float: left;
  display: inline;
  margin-left: 1%;
  margin-right: 1%; }
  .column .alpha, .columns .alpha {
    margin-left: 0; }
  .column .omega, .columns .omega {
    margin-right: 0; }

.row {
  margin-bottom: 2%; }

@media only screen and (min-width: 768px) and (max-width: 959px) {
  .container {
    width: 93%; }
    .container .column, .container .columns {
      margin-left: 1.3%;
      margin-right: 1.3%; }
      .container .column .alpha, .container .columns .alpha {
        margin-left: 0;
        margin-right: 1.3%; }
      .container .column .omega, .container .columns .omega {
        margin-left: 1.3%;
        margin-right: 0%; }
    .container .one.column {
      width: 3.64%; }
    .container .two.columns {
      width: 9.89%; }
    .container .three.columns {
      width: 16.1%; }
    .container .four.columns {
      width: 22.39%; }
    .container .five.columns {
      width: 28.64%; }
    .container .six.columns {
      width: 34.89%; }
    .container .seven.columns {
      width: 41.14%; }
    .container .eight.columns {
      width: 47.39%; }
    .container .nine.columns {
      width: 53.64%; }
    .container .ten.columns {
      width: 59.89%; }
    .container .eleven.columns {
      width: 66.14%; }
    .container .twelve.columns {
      width: 72.39%; }
    .container .thirteen.columns {
      width: 78.64%; }
    .container .fourteen.columns {
      width: 84.89%; }
    .container .fifteen.columns {
      width: 91.14%; }
    .container .sixteen.columns {
      width: 97.39%; }
    .container .one-third.column {
      width: 30.72%; }
    .container .one-fourth.column {
      width: 20.72%; }
    .container .two-thirds.column {
      width: 64%; }
    .container .offset-by-one {
      padding-left: 6.25%; }
    .container .offset-by-two {
      padding-left: 12.5%; }
    .container .offset-by-three {
      padding-left: 18.75%; }
    .container .offset-by-four {
      padding-left: 25%; }
    .container .offset-by-five {
      padding-left: 31.25%; }
    .container .offset-by-six {
      padding-left: 37.5%; }
    .container .offset-by-seven {
      padding-left: 43.75%; }
    .container .offset-by-eight {
      padding-left: 45%; }
    .container .offset-by-nine {
      padding-left: 56.25%; }
    .container .offset-by-ten {
      padding-left: 62.5%; }
    .container .offset-by-eleven {
      padding-left: 68.75%; }
    .container .offset-by-twelve {
      padding-left: 75%; }
    .container .offset-by-thirteen {
      padding-left: 81.25%; }
    .container .offset-by-fourteen {
      padding-left: 87.5%; }
    .container .offset-by-fifteen {
      padding-left: 93.75%; } }

@media only screen and (max-width: 767px) {
  .container {
    width: 93%; }
    .container .one.column,
    .container .two.columns,
    .container .three.columns,
    .container .four.columns,
    .container .five.columns,
    .container .six.columns,
    .container .seven.columns,
    .container .eight.columns,
    .container .nine.columns,
    .container .ten.columns,
    .container .eleven.columns,
    .container .twelve.columns,
    .container .thirteen.columns,
    .container .fourteen.columns,
    .container .fifteen.columns,
    .container .sixteen.columns,
    .container .one-third.column,
    .container .one-fourth.column,
    .container .two-thirds.column {
      width: 100%; }
    .container .offset-by-one,
    .container .offset-by-two,
    .container .offset-by-three,
    .container .offset-by-four,
    .container .offset-by-five,
    .container .offset-by-six,
    .container .offset-by-seven,
    .container .offset-by-eight,
    .container .offset-by-nine,
    .container .offset-by-ten,
    .container .offset-by-eleven,
    .container .offset-by-twelve,
    .container .offset-by-thirteen,
    .container .offset-by-fourteen,
    .container .offset-by-fifteen {
      padding-left: 0; }
  .columns, .column {
    margin: 0; } }

@media only screen and (min-width: 480px) and (max-width: 767px) {
  .container {
    width: 93%; }
    .container .one.column,
    .container .two.columns,
    .container .three.columns,
    .container .four.columns,
    .container .five.columns,
    .container .six.columns,
    .container .seven.columns,
    .container .eight.columns,
    .container .nine.columns,
    .container .ten.columns,
    .container .eleven.columns,
    .container .twelve.columns,
    .container .thirteen.columns,
    .container .fourteen.columns,
    .container .fifteen.columns,
    .container .sixteen.columns,
    .container .one-third.column,
    .container .one-fourth.column,
    .container .two-thirds.column {
      width: 100%; }
  .columns, .column {
    margin: 0; } }

/* #Clearing
================================================== */
/* Self Clearing Goodness */
.container:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

/* Use clearfix class on parent to clear nested columns,
    or wrap each row of columns in a <div class="row"> */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after,
.panel-row-style-full-width-layout:before,
.panel-row-style-full-width-layout:after,
.panel-row-style-cta:before,
.panel-row-style-cta:after,
.panel-row-style-cta:before,
.panel-row-style-section-pattern2:after,
.panel-row-style-section-pattern2:before,
.panel-row-style-wide-grey:before,
.panel-row-style-wide-grey:after,
.panel-row-style-wide-dark-grey:before,
.panel-row-style-wide-dark-grey:after,
.panel-row-style-section-pattern:before,
.panel-row-style-section-pattern:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

.row:after,
.clearfix:after,
.panel-row-style-full-width-layout:before,
.panel-row-style-full-width-layout:after,
.panel-row-style-wide-grey:after,
.panel-row-style-wide-grey:before,
.panel-row-style-wide-dark-grey:after,
.panel-row-style-wide-dark-grey:before,
.panel-row-style-section-pattern2:after,
.panel-row-style-section-pattern2:before,
.panel-row-style-section-pattern:before,
.panel-row-style-section-pattern:after {
  clear: both; }

.row,
.clearfix {
  zoom: 1; }

/* You can also use a <br class="clear" /> to clear columns */
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

/* ==|== primary styles =====================================================
   Author: Lucas - Skeleton Based Media Queries
   ========================================================================== */
/* Smaller than standard 960 (devices and browsers) */
/* Tablet Portrait size to standard 960 (devices and browsers) */
/* All Mobile Sizes (devices and browser) */
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
/*--------------------------------------------------------------
3.0 Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #33363a;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", sans-serif;
  color: #33363a;
  clear: both;
  font-weight: 700;
  margin-bottom: 15px; }

h1 {
  font-size: 48px;
  font-size: 4.8rem; }

h2 {
  font-size: 36px;
  font-size: 3.6rem; }

h3 {
  font-size: 30px;
  font-size: 3rem; }

h4 {
  font-size: 24px;
  font-size: 2.4rem; }

h5 {
  font-size: 18px;
  font-size: 1.8rem; }

h6 {
  font-size: 16px;
  font-size: 1.6rem; }

p {
  margin-bottom: 1.5em; }

b, strong {
  font-weight: bold; }

dfn, cite, em, i {
  font-style: italic; }

blockquote {
  margin: 0 1.5em; }

address {
  margin: 0 0 1.5em; }

pre {
  background: #d7d7d7;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em; }

code, kbd, tt, var {
  font-size: 15px;
  font-size: 1.5rem;
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }

abbr, acronym {
  border-bottom: 1px dotted #33363a;
  cursor: help; }

mark, ins {
  background: #d7d7d7;
  text-decoration: none; }

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

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

small {
  font-size: 75%; }

big {
  font-size: 125%; }

/*--------------------------------------------------------------
4.0 Elements
--------------------------------------------------------------*/
hr {
  background-color: #d7d7d7;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em; }

ul, ol {
  margin: 0 0 1.5em 3em; }

ul {
  list-style: square; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */ }

figure {
  margin: 0; }

table {
  margin: 0 0 1.5em;
  width: 100%; }
  table th {
    font-family: "Roboto", sans-serif;
    text-transform: uppercase; }
    table th a {
      font-weight: 400; }
  table td, table th {
    border-bottom: 1px solid #d7d7d7;
    padding: 10px; }
  table thead tr th {
    font-weight: 700; }

button,
input,
textarea {
  font-size: 100%;
  /* Corrects font size not being inherited in all browsers */
  margin: 0;
  /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
  vertical-align: baseline;
  /* Improves appearance and consistency in all browsers */ }

select {
  background: #fff url("images/down.png") no-repeat 95% 50%;
  border: 1px solid #d7d7d7;
  padding: 5px 10% 5px 3%;
  -moz-appearance: none; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  background: #33363a;
  cursor: pointer;
  /* Improves usability and consistency of cursor style between image-type 'input' and others */
  -webkit-appearance: button;
  /* Corrects inability to style clickable 'input' types in iOS */
  line-height: 1;
  padding: 1em 1.5em;
  color: #fff;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #0e1353;
  background-color: #0e1353;
  position: relative;
  color: #fff; }

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  border-color: #33363a;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15); }

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
  /* Addresses excess padding in IE8/9 */ }

input[type="search"] {
  -webkit-appearance: textfield;
  /* Addresses appearance set to searchfield in S5, Chrome */
  box-sizing: content-box; }

input[type="search"]::-webkit-search-decoration {
  /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
  -webkit-appearance: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
  border: 0;
  padding: 0; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
  color: #000;
  border-width: 1px;
  border-style: solid;
  border-color: #d7d7d7;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
  color: #000;
  border-color: #03a9f4; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"] {
  padding: 6px 15px;
  width: 96%; }

textarea {
  overflow: auto;
  /* Removes default vertical scrollbar in IE6/7/8/9 */
  padding: 10px;
  vertical-align: top;
  /* Improves readability and alignment in all browsers */
  width: 100%; }

ul, ol {
  margin: 0 0 1.5em 3em; }

ul {
  list-style: square; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

/*--------------------------------------------------------------
5.0 Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
5.1 Links
--------------------------------------------------------------*/
a {
  color: #03a9f4;
  text-decoration: none;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  a:visited {
    color: #03a9f4; }
  a:hover, a:focus, a:active {
    color: #33363a;
    outline: none;
    outline-offset: 0; }

/*--------------------------------------------------------------
5.2 Menus
--------------------------------------------------------------*/
.nav-wrap {
  background: #03a9f4; }

.main-navigation {
  display: block;
  background-color: transparent;
  float: left; }
  .main-navigation ul {
    list-style: none;
    margin: 0; }
    .main-navigation ul ul {
      position: absolute;
      top: auto;
      left: -999em;
      z-index: 99999; }
      .main-navigation ul ul ul {
        left: -999em;
        top: 0; }
      .main-navigation ul ul li {
        padding: 0;
        background-color: #03a9f4;
        margin: 0; }
        .main-navigation ul ul li:hover > ul {
          margin-top: 5px !important; }
      .main-navigation ul ul a {
        width: 250px;
        padding: 12px 15px;
        font-weight: none;
        background-color: #fff;
        color: #03a9f4; }
    .main-navigation ul li:hover > ul {
      left: auto; }
  .main-navigation li {
    float: left;
    position: relative; }
    .main-navigation li:hover {
      background: #33363a; }
      .main-navigation li:hover:before {
        position: absolute;
        content: "";
        height: 10px;
        background: #33363a;
        top: -10px;
        left: 0;
        width: 100%; }
      .main-navigation li:hover:after {
        position: absolute;
        content: "\f0d7";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        color: #33363a;
        right: -11px;
        top: -23px;
        font-size: 29px;
        transform: rotate(44deg); }
  .main-navigation a {
    position: relative;
    padding: 18px 22px;
    display: block;
    color: #fff;
    text-transform: uppercase; }
  .main-navigation li:hover .sub-menu a:after, .main-navigation li:hover .sub-menu a:before, .main-navigation li:hover .children a:after, .main-navigation li:hover .children a:before {
    display: none; }
  .main-navigation .current_page_item,
  .main-navigation .current-menu-item,
  .main-navigation .current_page_ancestor, .main-navigation .current-menu-parent {
    color: #fff;
    position: relative; }
    .main-navigation .current_page_item:before,
    .main-navigation .current-menu-item:before,
    .main-navigation .current_page_ancestor:before, .main-navigation .current-menu-parent:before {
      position: absolute;
      content: "";
      height: 10px;
      background: #33363a;
      top: -10px;
      left: 0;
      width: 100%; }
    .main-navigation .current_page_item:after,
    .main-navigation .current-menu-item:after,
    .main-navigation .current_page_ancestor:after, .main-navigation .current-menu-parent:after {
      position: absolute;
      content: "\f0d7";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      color: #33363a;
      right: -11px;
      top: -23px;
      font-size: 29px;
      transform: rotate(44deg); }
  .main-navigation .current_page_item,
  .main-navigation .current-menu-item,
  .main-navigation .current_page_ancestor, .main-navigation .current-menu-parent > a {
    background: #33363a; }
  .main-navigation .sub-menu .current_page_item,
  .main-navigation .sub-menu .current-menu-item,
  .main-navigation .sub-menu .current_page_ancestor,
  .main-navigation .children .current_page_item,
  .main-navigation .children-menu .current-menu-item,
  .main-navigation .children-menu .current_page_ancestor {
    color: #fff;
    background: #33363a; }
    .main-navigation .sub-menu .current_page_item:after,
    .main-navigation .sub-menu .current-menu-item:after,
    .main-navigation .sub-menu .current_page_ancestor:after,
    .main-navigation .children .current_page_item:after,
    .main-navigation .children-menu .current-menu-item:after,
    .main-navigation .children-menu .current_page_ancestor:after {
      display: none; }
  .main-navigation .sub-menu .current_page_item > a,
  .main-navigation .sub-menu .current-menu-item > a,
  .main-navigation .sub-menu .current_page_ancestor > a,
  .main-navigation .children .current_page_item > a,
  .main-navigation .children .current-menu-item > a,
  .main-navigation .children .current_page_ancestor > a {
    background: #03a9f4;
    color: #fff; }
    .main-navigation .sub-menu .current_page_item > a:before, .main-navigation .sub-menu .current_page_item > a:after,
    .main-navigation .sub-menu .current-menu-item > a:before,
    .main-navigation .sub-menu .current-menu-item > a:after,
    .main-navigation .sub-menu .current_page_ancestor > a:before,
    .main-navigation .sub-menu .current_page_ancestor > a:after,
    .main-navigation .children .current_page_item > a:before,
    .main-navigation .children .current_page_item > a:after,
    .main-navigation .children .current-menu-item > a:before,
    .main-navigation .children .current-menu-item > a:after,
    .main-navigation .children .current_page_ancestor > a:before,
    .main-navigation .children .current_page_ancestor > a:after {
      display: none; }

.main-navigation .sub-menu, .main-navigation .children {
  padding: 10px 0px 0px;
  width: 250px;
  background: #33363a; }
  .main-navigation .sub-menu li, .main-navigation .children li {
    position: relative; }
    .main-navigation .sub-menu li a, .main-navigation .children li a {
      color: #fff;
      background: #33363a;
      padding: 12px 15px 12px 25px; }
      .main-navigation .sub-menu li a:hover, .main-navigation .children li a:hover {
        background-color: #03a9f4; }
        .main-navigation .sub-menu li a:hover:after, .main-navigation .sub-menu li a:hover:before, .main-navigation .children li a:hover:after, .main-navigation .children li a:hover:before {
          display: none; }
  .main-navigation .sub-menu li:hover:before, .main-navigation .sub-menu li:hover:after, .main-navigation .children li:hover:before, .main-navigation .children li:hover:after {
    display: none; }

/* Small menu */
.menu-toggle {
  display: none; }

@media screen and (max-width: 600px) {
  .menu-toggle,
  .main-navigation.toggled .nav-menu {
    display: block !important;
    margin: 0 auto; }
    .menu-toggle ul li:hover ul,
    .main-navigation.toggled .nav-menu ul li:hover ul {
      left: auto;
      margin-left: 0; }
  .site-header .sticky-nav {
    position: static; }
  .children article::after {
    display: none; }
  .main-navigation ul {
    display: none; }
  .main-navigation ul li {
    float: none; }
    .main-navigation ul li a {
      display: block; }
  .main-navigation .sub-menu, .main-navigation .children {
    width: 100%;
    display: block !important;
    padding: 0; }
    .main-navigation .sub-menu .sub-menu, .main-navigation .sub-menu .children, .main-navigation .children .sub-menu, .main-navigation .children .children {
      padding-left: 20px;
      background: #03a9f4; }
    .main-navigation .sub-menu li a, .main-navigation .children li a {
      background: #03a9f4; }
      .main-navigation .sub-menu li a:hover, .main-navigation .children li a:hover {
        color: #33363a; }
    .main-navigation .sub-menu .current_page_item > a, .main-navigation .children .current_page_item > a {
      color: #33363a; }
  .main-navigation ul ul {
    position: static;
    width: 100%; }
    .main-navigation ul ul a {
      width: 100%; }
    .main-navigation ul ul li:hover > ul {
      margin-top: 0 !important; }
  .main-navigation .current_page_item::before, .main-navigation .current-menu-item::before, .main-navigation .current_page_ancestor::before, .main-navigation .current-menu-parent::before, .main-navigation .current_page_item::after, .main-navigation .current-menu-item::after, .main-navigation .current_page_ancestor::after, .main-navigation .current-menu-parent::after, .main-navigation li:hover::after, .main-navigation li:hover::before {
    display: none; }
  .main-navigation {
    float: none; }
  site-navigation button {
    background: #03a9f4; }
  .menu-all-pages-container {
    padding-top: 15px; }
  .main-navigation {
    padding-top: 15px; }
  .main-navigation .menu ul.nav-menu {
    display: none; } }

.comment-navigation,
.paging-navigation,
.post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden; }

.comment-navigation {
  margin-bottom: 2.5em; }

.comment-navigation .nav-previous,
.paging-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 48%;
  margin: 1%; }

.comment-navigation .nav-next,
.paging-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 47%;
  margin: 1%; }

.post-navigation span {
  display: none; }

.navigation a,
.more-link,
.comment-navigation a {
  background-color: #33363a;
  color: #fff;
  padding-top: 12px;
  padding-bottom: 12px;
  display: block; }
  .navigation a:hover,
  .more-link:hover,
  .comment-navigation a:hover {
    background-color: #fff;
    border-color: #0e1353;
    color: #0e1353; }

.comment-navigation {
  position: relative; }
  .comment-navigation .nav-previous a {
    padding-left: 50px;
    position: relative;
    font-weight: 700; }
  .comment-navigation .nav-previous:hover a {
    background: #0e1353;
    color: #fff; }
    .comment-navigation .nav-previous:hover a .meta-nav {
      color: #fff; }
  .comment-navigation .nav-next a {
    padding-right: 50px;
    position: relative;
    font-weight: 700; }
  .comment-navigation .nav-next:hover a {
    background: #0e1353;
    color: #fff; }
    .comment-navigation .nav-next:hover a .meta-nav {
      color: #fff; }

.nav-links,
.more-link, .comment-navigation {
  position: relative; }
  .nav-links a,
  .more-link a, .comment-navigation a {
    position: relative;
    font-size: 18px;
    font-size: 1.8rem;
    font-family: "Roboto", sans-serif; }
  .nav-links .meta-nav,
  .more-link .meta-nav, .comment-navigation .meta-nav {
    width: 20px;
    height: 20px;
    background-color: #fff;
    display: inline-block;
    color: #33363a;
    background-clip: padding-box;
    /* stops bg color from leaking outside the border: */
    -webkit-border-radius: 25px;
    border-radius: 25px;
    text-align: center;
    font-size: 22px;
    font-size: 2.2rem;
    position: absolute;
    line-height: 18px;
    top: 30%;
    font-weight: 700; }
  .nav-links .nav-previous:hover, .nav-links .nav-next:hover,
  .more-link .nav-previous:hover,
  .more-link .nav-next:hover, .comment-navigation .nav-previous:hover, .comment-navigation .nav-next:hover {
    box-shadow: 0 7px 6px -6px #000; }
  .nav-links .nav-previous, .nav-links .nav-next,
  .more-link .nav-previous,
  .more-link .nav-next, .comment-navigation .nav-previous, .comment-navigation .nav-next {
    box-shadow: 0 7px 6px -6px #000; }
  .nav-links .nav-previous a,
  .more-link .nav-previous a, .comment-navigation .nav-previous a {
    padding-left: 50px;
    font-weight: 700;
    border-radius: 3px; }
  .nav-links .nav-previous .meta-nav,
  .more-link .nav-previous .meta-nav, .comment-navigation .nav-previous .meta-nav {
    left: 20px; }
  .nav-links .nav-previous:hover a,
  .more-link .nav-previous:hover a, .comment-navigation .nav-previous:hover a {
    background: #03a9f4;
    color: #fff; }
    .nav-links .nav-previous:hover a .meta-nav,
    .more-link .nav-previous:hover a .meta-nav, .comment-navigation .nav-previous:hover a .meta-nav {
      color: #03a9f4;
      background: #fff; }
  .nav-links .nav-next a,
  .more-link .nav-next a, .comment-navigation .nav-next a {
    padding-right: 50px;
    font-weight: 700;
    border-radius: 3px; }
  .nav-links .nav-next .meta-nav,
  .more-link .nav-next .meta-nav, .comment-navigation .nav-next .meta-nav {
    right: 20px; }
  .nav-links .nav-next:hover a,
  .more-link .nav-next:hover a, .comment-navigation .nav-next:hover a {
    background: #03a9f4;
    color: #fff; }
    .nav-links .nav-next:hover a .meta-nav,
    .more-link .nav-next:hover a .meta-nav, .comment-navigation .nav-next:hover a .meta-nav {
      color: #03a9f4;
      background: #fff; }

a.more-link {
  padding: 5px 10px;
  color: #fff;
  width: 80px;
  border-radius: 3px;
  display: block;
  margin-top: 15px;
  font-size: 12px; }
  a.more-link:hover {
    background-color: #03a9f4;
    color: #fff; }

.nav-links a:hover .meta-nav {
  background-color: transparent;
  color: #0e1353; }

.page-navigation {
  margin-top: 60px; }

.menu.nav-menu::after, .menu.nav-menu::before {
  clear: both;
  content: "";
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  width: 0; }

ol.webulous_page_navi {
  margin: 0;
  list-style-type: none;
  position: relative;
  text-align: center; }
  ol.webulous_page_navi li {
    display: inline-block;
    margin-right: 10px;
    background-color: #03a9f4;
    color: #fff;
    border-radius: 100%; }
    ol.webulous_page_navi li a {
      display: inline-block;
      text-align: center;
      font-size: 20px;
      font-size: 2rem;
      color: #fff;
      width: 50px;
      height: 50px;
      line-height: 50px; }
      ol.webulous_page_navi li a:before {
        position: absolute;
        color: #fff;
        font-size: 17px;
        font-size: 1.7rem;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        left: 0px;
        top: 0;
        width: 50px;
        height: 50px;
        line-height: 50px; }
    ol.webulous_page_navi li:hover {
      box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
  ol.webulous_page_navi .bpn-prev-link a:before {
    content: "\f053"; }
  ol.webulous_page_navi .bpn-next-link a:before {
    content: "\f054"; }
  ol.webulous_page_navi li.bpn-current {
    color: #fff;
    background-color: #33363a;
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
    margin-right: 10px;
    padding: 10px 20px;
    position: relative;
    top: -18px; }
  ol.webulous_page_navi .bpn-next-link, ol.webulous_page_navi .bpn-prev-link {
    background: #03a9f4;
    border: none;
    display: inline-block;
    color: #fff; }

.sub-menu .current_page_item::before, .sub-menu .current-menu-item::before, .sub-menu .current_page_ancestor::before, .sub-menu .current-menu-parent::before {
  top: 0; }

/* sass for pagination */
.navigation.pagination, .navigation {
  clear: both; }

.masonry-blog-content .page-navigation, .masonry-blog-content .post-navigation {
  bottom: -50px;
  position: absolute;
  right: 0; }

.masonry-blog-content .post-navigation {
  width: 100%; }

/* sass for blog page box design */
.blog-box article {
  border: 1px solid #d7d7d7;
  border-bottom: none;
  padding-top: 0 !important;
  margin-bottom: 40px;
  margin-bottom: 40px; }
  .blog-box article header, .blog-box article .entry-content {
    padding-left: 20px;
    padding-right: 20px; }
  .blog-box article .entry-footer {
    margin-left: 20px;
    margin-right: 20px; }

ol.webulous_page_navi {
  position: static; }

.two-col-blog:nth-of-type(2n+1) {
  clear: both; }

/*--------------------------------------------------------------
6.0 Media
--------------------------------------------------------------*/
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%; }

/*--------------------------------------------------------------
6.1 Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin: 0 auto; }
  .wp-caption .wp-caption-text {
    margin: 0.8075em 0; }

.wp-caption-text {
  text-align: center; }

/*--------------------------------------------------------------
6.2 Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }

.gallery-columns-2 .gallery-item {
  max-width: 50%; }

.gallery-columns-3 .gallery-item {
  max-width: 33.33%; }

.gallery-columns-4 .gallery-item {
  max-width: 25%; }

.gallery-columns-5 .gallery-item {
  max-width: 20%; }

.gallery-columns-6 .gallery-item {
  max-width: 16.66%; }

.gallery-columns-7 .gallery-item {
  max-width: 14.28%; }

.gallery-columns-8 .gallery-item {
  max-width: 12.5%; }

.gallery-columns-9 .gallery-item {
  max-width: 11.11%; }

.gallery-caption {
  display: block; }

/*--------------------------------------------------------------
7.0 Modules
--------------------------------------------------------------*/
/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }
  .screen-reader-text:hover, .screen-reader-text:active, .screen-reader-text:focus {
    background-color: #fff;
    clip: auto !important;
    color: #000;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar */ }

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

.aligncenter {
  display: block;
  margin: 0 auto; }

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table; }

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both; }

/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .paging-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none; }

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before */
.infinity-end.neverending .site-footer {
  display: block; }

/*--------------------------------------------------------------
8.0 Header
--------------------------------------------------------------*/
.branding {
  padding: 20px 0px 30px; }
  .branding .site-branding {
    text-align: left;
    position: relative; }
    .branding .site-branding .site-description {
      font-size: 16px;
      font-size: 1.6rem;
      color: #8f8f8f;
      font-family: "Roboto", sans-serif;
      padding: 0px 10px 10px 0px;
      position: relative;
      margin-bottom: 0;
      margin-top: -12px; }
    .branding .site-branding .site-title {
      margin-bottom: 0; }
      .branding .site-branding .site-title a {
        display: block; }
      .branding .site-branding .site-title a:first-letter {
        color: #33363a; }
      .branding .site-branding .site-title a:hover:first-letter {
        color: #03a9f4; }

.sticky-nav {
  position: fixed;
  top: -2px;
  left: 0;
  width: 100%;
  z-index: 1000; }

.admin-bar .nav-wrap.sticky-nav {
  top: 30px; }

.no-sidebar {
  float: none;
  margin: 0 auto;
  display: block; }

/* Custom Header Image */
.header-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  position: relative; }

.overlay {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: transparent; }

/* STICKY HEADER */
.sticky-header #nav-wrap {
  position: fixed;
  top: -2px;
  left: 0;
  width: 100%;
  z-index: 1000; }
  .sticky-header #nav-wrap .search-form {
    top: 5px; }

.boxed-container .sticky-header #nav-wrap {
  width: auto;
  left: auto; }

.admin-bar .sticky-header #nav-wrap {
  top: 30px; }

/* BREAK NEWS */
.breaknews .recent-news-wrapper {
  position: relative; }

.breaknews ul li, .breaknews ul {
  list-style: none; }

.breaknews ul {
  margin-top: -11px; }

.breaknews .bn-title {
  top: 20px;
  z-index: 1;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 6px; }
  .breaknews .bn-title:after {
    border-bottom-width: 19px;
    border-top-width: 19px; }

.top-nav {
  background: #33363a;
  margin-bottom: 0px;
  font-size: 14px; }
  .top-nav .eight {
    padding: 10px 0px 10px 0px;
    color: #fff; }
  .top-nav aside {
    margin-bottom: 10px; }
  .top-nav .textwidget {
    padding: 0; }
  .top-nav .widget_text {
    margin: 0px; }
  .top-nav ul {
    margin: 0; }
    .top-nav ul li {
      float: left;
      list-style: none;
      border-bottom: none !important;
      margin-right: 20px; }
      .top-nav ul li:hover a {
        color: #03a9f4; }
      .top-nav ul li a {
        color: #fff;
        padding: 4px 2px 4px 0px;
        border-radius: 5px;
        display: inline; }
      .top-nav ul li i {
        font-size: 15px;
        font-size: 1.5rem;
        padding-right: 5px;
        display: inline-block; }
  .top-nav .cart-right li {
    float: right;
    margin-right: 0; }

.top-right {
  margin-top: 30px; }
  .top-right ul {
    float: right; }
    .top-right ul li {
      float: right;
      margin-right: 10px;
      list-style: none; }
      .top-right ul li:first-child {
        margin-right: 0; }
      .top-right ul li:hover a {
        background: #03a9f4; }
      .top-right ul li a {
        width: 45px;
        height: 45px;
        line-height: 45px;
        background: #33363a;
        border-radius: 100%;
        color: #fff;
        display: inline-block;
        text-align: center; }
        .top-right ul li a .fa {
          display: inline-block;
          font-size: 17px;
          font-size: 1.7rem; }
        .top-right ul li a:hover {
          box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
  .top-right aside {
    margin: 0; }

/*--------------------------------------------------------------
9.0 Primary
--------------------------------------------------------------*/
.site-content {
  padding-top: 50px;
  margin-bottom: 100px; }

.site-main {
  margin: 1.5em 0; }
  .site-main article.post {
    padding: 20px 0; }

.single .site-main article.post {
  padding-top: 0; }

.fluid-header .nav-wrap .thirteen, .fluid-header .nav-wrap .sixteen {
  margin-left: 0; }

.share-box .widget-title {
  margin-bottom: 20px;
  color: #33363a; }

.share-box ul {
  margin: 0; }
  .share-box ul li {
    border: 0;
    padding: 0;
    margin: 0;
    display: inline; }
    .share-box ul li a {
      margin-bottom: 5px;
      border: 1px solid #d7d7d7;
      background-clip: padding-box;
      /* stops bg color from leaking outside the border: */
      -webkit-border-radius: 5px;
      border-radius: 5px;
      width: 50px;
      height: 50px;
      color: #33363a;
      margin-right: 5px;
      display: inline-block;
      background-color: #fff;
      text-align: center;
      line-height: 50px; }
      .share-box ul li a:hover {
        color: #fff;
        background-color: #03a9f4;
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
      .share-box ul li a i {
        font-size: 23px;
        font-size: 2.3rem;
        line-height: 2; }

.share-box {
  margin-bottom: 20px; }
  .share-box h4 {
    margin-bottom: 10px; }

.comment-content a {
  word-wrap: break-word; }

.comment-navigation {
  clear: both; }

.comment-content p {
  margin-bottom: 0;
  margin-top: 15px; }

.bypostauthor {
  display: block; }

h2.comments-title {
  margin-bottom: 30px;
  padding-bottom: 10px;
  line-height: normal; }

ol.comment-list {
  margin: 0;
  list-style-type: none; }

ol.comment-list ol.children {
  list-style-type: none;
  margin-left: 10%; }

ol.comment-list > li {
  margin-bottom: 20px; }

.comment-body {
  position: relative; }

ol.comment-list .reply {
  text-align: left;
  font-size: 14px;
  font-size: 1.4rem;
  position: absolute;
  left: -100px;
  top: 125px; }
  ol.comment-list .reply:hover a, ol.comment-list .reply:hover:before {
    color: #33363a; }
  ol.comment-list .reply:before {
    position: relative;
    right: 7px;
    content: "\f112";
    font-family: "FontAwesome";
    color: #03a9f4;
    font-size: 15px;
    font-size: 1.5rem; }

.byuser .reply a:hover {
  color: #fff; }

.comment-author {
  display: inline;
  text-transform: uppercase;
  color: #33363a; }
  .comment-author img {
    position: absolute;
    left: 0; }
  .comment-author .fn {
    font-style: normal; }
    .comment-author .fn a {
      color: #33363a; }
      .comment-author .fn a:hover {
        color: #03a9f4; }

ol.comment-list article {
  border: 1px solid #808080;
  margin-bottom: 50px;
  padding: 20px 25px;
  width: calc(100% - 140px);
  float: right;
  position: relative;
  z-index: 1;
  background: #f0f2f3;
  min-height: 120px; }
  ol.comment-list article .fn {
    color: #33363a;
    cursor: pointer; }
    ol.comment-list article .fn:hover {
      color: #03a9f4; }

ol.comment-list article .comment-author img {
  top: -2px;
  left: -140px;
  width: 120px;
  height: 120px;
  border: 1px solid #8f8f8f; }

ol.comment-list li.byuser .comment-metadata a:hover {
  color: #33363a; }

.comment-metadata {
  font-size: 13px;
  font-size: 1.3rem;
  text-transform: uppercase;
  display: inline-block;
  margin-left: 10px; }
  .comment-metadata a {
    color: #8f8f8f;
    margin-left: 10px; }
    .comment-metadata a:hover {
      color: #03a9f4; }

.byuser .comment-metadata a:hover,
.byuser .comment-content a:hover {
  color: #fff; }

.hentry.sticky {
  color: #fff;
  background-color: #03a9f4;
  padding: 25px !important;
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  -webkit-border-radius: 5px;
  border-radius: 5px;
  position: relative;
  margin-bottom: 70px !important; }
  .hentry.sticky:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -40px;
    height: 3px;
    width: 100%;
    border-bottom: 1px solid #d7d7d7; }
  .hentry.sticky .entry-meta .date-structure .dd {
    color: #fff; }
  .hentry.sticky h1.entry-title a {
    color: #fff; }
    .hentry.sticky h1.entry-title a:hover {
      color: #33363a; }
  .hentry.sticky a {
    color: #fff; }
    .hentry.sticky a:hover {
      color: #0e1353; }
  .hentry.sticky span i {
    color: #fff; }
  .hentry.sticky span:hover i, .hentry.sticky span:hover a {
    color: #33363a; }
  .hentry.sticky code {
    color: #000; }
  .hentry.sticky .entry-footer,
  .hentry.sticky .entry-meta {
    margin-bottom: 0;
    border: 0; }
    .hentry.sticky .entry-footer a,
    .hentry.sticky .entry-meta a {
      color: #fff; }
      .hentry.sticky .entry-footer a:hover,
      .hentry.sticky .entry-meta a:hover {
        color: #33363a; }

.hentry.post {
  margin: 0 0 1em;
  border-bottom: 1px solid #d7d7d7; }
  .hentry.post h1 a {
    color: #000; }
    .hentry.post h1 a:hover {
      color: #03a9f4; }

.single .byline,
.group-blog .byline {
  display: inline; }

.home .entry-meta span {
  font-size: 14px; }

.sticky .entry-meta,
.sticky .entry-footer {
  background: none;
  padding: 0; }

.entry-meta .date-structure {
  display: inline-block;
  padding: 0px 10px;
  text-align: center; }
  .entry-meta .date-structure .dd {
    color: #8f8f8f; }

.entry-meta, .entry-footer {
  margin: 5px 0px 25px 0px;
  padding: 12px;
  position: relative;
  border: 1px solid #eaeaea; }

.entry-meta .author {
  padding: 0 10px 0 0; }

.entry-meta span {
  margin: 0 10px 0 0; }
  .entry-meta span span {
    margin: 0; }
  .entry-meta span i {
    color: #8f8f8f;
    padding-right: 5px; }
  .entry-meta span a {
    color: #8f8f8f; }
  .entry-meta span:hover i {
    color: #606060; }
  .entry-meta span:hover a {
    color: #606060; }

.entry-footer span {
  margin: 0 30px 0 10px;
  color: #8f8f8f; }
  .entry-footer span span {
    margin: 0; }
  .entry-footer span i {
    color: #8f8f8f;
    padding-right: 5px; }
  .entry-footer span a {
    color: #8f8f8f; }
  .entry-footer span:hover i {
    color: #606060; }
  .entry-footer span:hover a {
    color: #606060; }

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0; }

.page-links {
  margin: 0 0 1.5em;
  padding: 12px;
  text-align: center;
  color: #fff;
  background-color: #03a9f4;
  display: inline-block; }
  .page-links a {
    padding: 5px 10px;
    color: #33363a; }
    .page-links a:hover {
      color: #d7d7d7; }

blockquote {
  position: relative;
  margin: 0;
  display: inline-block;
  margin-bottom: 20px;
  margin-top: 30px;
  background-color: #03a9f4;
  font-size: 20px;
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
  padding: 1% 10px 1% 40px;
  box-shadow: 0 7px 6px -6px black;
  border-radius: 3px; }
  blockquote:before {
    position: absolute;
    content: "\f10d";
    font-size: 25px;
    font-size: 2.5rem;
    font-family: 'FontAwesome';
    left: 20px;
    top: calc(1% + 25px);
    color: #fff; }
  blockquote p {
    margin-bottom: 0;
    font-size: 20px;
    font-size: 2rem;
    padding: 20px;
    color: #fff;
    position: relative;
    font-weight: 700; }
    blockquote p cite {
      font-style: normal;
      text-transform: uppercase;
      color: #fff; }
    blockquote p a, blockquote p a:visited {
      color: #fff;
      font-size: 14px;
      font-size: 1.4rem; }
    blockquote p a:hover {
      color: #8f8f8f; }

.related-posts {
  padding: 20px 0; }
  .related-posts ul#webulous-related-posts {
    list-style-type: none;
    margin: 0; }
    .related-posts ul#webulous-related-posts li {
      width: 18%;
      float: left;
      margin: 1%;
      line-height: normal; }
      .related-posts ul#webulous-related-posts li a {
        line-height: normal; }

/* Gutenberg CSS style */
.wp-block-latest-posts.aligncenter {
  margin-left: 3em; }

.wp-block-verse {
  color: #606060; }

.wp-block-quote {
  padding-left: 5px;
  margin-top: 0px;
  padding-top: 0px; }
  .wp-block-quote:before {
    content: "";
    border: 0px; }
  .wp-block-quote cite {
    margin: 0px;
    padding-left: 20px;
    color: #fff; }

.wp-block-quote.is-large {
  border: 0px;
  color: #33363a; }
  .wp-block-quote.is-large cite {
    text-align: right;
    display: block;
    color: #fff;
    font-style: italic;
    padding-right: 20px;
    padding-bottom: 10px; }

.wp-block-pullquote {
  padding: 0px;
  padding-bottom: 10px;
  margin: 0 auto;
  border-left: none !important;
  margin-bottom: 20px; }
  .wp-block-pullquote:before {
    content: "";
    border: 0px; }
  .wp-block-pullquote cite {
    color: #fff; }

.wp-block-pullquote.alignleft {
  margin-right: 25px; }

.wp-block-pullquote.alignright {
  margin-left: 25px; }

.wp-block-button a:hover {
  padding: 11px 24px;
  box-shadow: 3px 3px black;
  -webkit-box-shadow: 3px 3px black; }

.wp-block-cover-image {
  display: flex; }

.wp-block-audio {
  text-align: center; }

.wp-block-button.aligncenter {
  margin-bottom: 1.5em; }

.home .site-content {
  padding-top: 0; }
  .home .site-content .site-main {
    margin-top: 0; }

/* service title divider */
.title-divider {
  text-align: center;
  padding-bottom: 20px;
  position: relative; }
  .title-divider:before {
    position: absolute;
    font-family: "FontAwesome";
    font-size: 10px;
    font-size: 1rem;
    content: "\f005";
    color: #03a9f4;
    background: #fff;
    border: 1px solid #03a9f4;
    border-radius: 10px;
    bottom: 0;
    left: calc( 45% + 55px);
    padding: 2px 4px 2px 3px;
    line-height: 13px;
    z-index: 1; }
  .title-divider:after {
    position: absolute;
    content: "";
    background: #03a9f4;
    height: 1px;
    width: 130px;
    left: calc( 45%);
    bottom: 9px; }

/* service wrapper */
.services-wrapper {
  padding: 80px 0px;
  text-align: center;
  margin-bottom: 80px; }
  .services-wrapper .service {
    text-align: center; }
    .services-wrapper .service:nth-of-type(3n+1) {
      clear: both; }
    .services-wrapper .service:hover {
      border-color: #03a9f4; }
      .services-wrapper .service:hover span:after {
        border-color: #33363a; }
      .services-wrapper .service:hover h4 {
        color: #03a9f4; }
      .services-wrapper .service:hover .service-content {
        border-color: #03a9f4; }
      .services-wrapper .service:hover img, .services-wrapper .service:hover .demo-thumb {
        transform: scale(1.2); }
    .services-wrapper .service img {
      border-radius: 100%;
      position: relative;
      top: 75px;
      z-index: 1; }
    .services-wrapper .service .service-content {
      border: 2px solid #d7d7d7;
      padding: 95px 20px 20px;
      position: relative; }
      .services-wrapper .service .service-content h4 {
        margin-bottom: 5px; }
      .services-wrapper .service .service-content .more-link {
        margin: 15px auto 0px; }
    .services-wrapper .service h4 {
      text-transform: uppercase; }
    .services-wrapper .service .demo-thumb {
      width: 80px;
      height: 80px;
      border-radius: 100%;
      background: #03a9f4;
      position: relative;
      top: 45px;
      display: inline-block;
      z-index: 1;
      text-align: center; }
      .services-wrapper .service .demo-thumb i {
        color: #fff;
        display: block;
        margin-top: 15px; }
    .services-wrapper .service p {
      color: #444;
      margin: 0;
      padding: 5px 0px 10px; }

/* Flex Recent Post */
.post-wrapper {
  padding: 100px 0px;
  background: #f0f2f3;
  position: relative; }
  .post-wrapper:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 25px;
    top: -20px;
    left: 50%;
    border: 2px solid #d7d7d7;
    border-radius: 15px;
    background: #f0f2f3;
    border-bottom-color: #f0f2f3;
    z-index: 1; }
  .post-wrapper:after {
    position: absolute;
    content: "";
    border: 1px solid #d7d7d7;
    width: 500px;
    top: 1px;
    left: calc(50% - 250px); }
  .post-wrapper .latest-posts {
    padding-top: 80px; }
  .post-wrapper .one-third:nth-child(3n+1) {
    clear: both; }
  .post-wrapper .latest-post {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    overflow: hidden;
    position: relative;
    margin-bottom: 2.5em;
    background: #fff;
    border: 1px solid #d7d7d7;
    text-align: left; }
  .post-wrapper h3 {
    margin-bottom: 0;
    padding: 0px 20px; }
    .post-wrapper h3 a {
      color: #33363a; }
      .post-wrapper h3 a:hover {
        color: #03a9f4; }
  .post-wrapper .entry-meta {
    border: none;
    margin-bottom: 0;
    padding: 0px 20px 20px; }
    .post-wrapper .entry-meta span a, .post-wrapper .entry-meta span i, .post-wrapper .entry-meta span {
      color: #8f8f8f; }
    .post-wrapper .entry-meta span:hover {
      color: #03a9f4; }
      .post-wrapper .entry-meta span:hover i, .post-wrapper .entry-meta span:hover a {
        color: #03a9f4; }
  .post-wrapper .data-structure {
    display: inline-block;
    text-align: left; }
  .post-wrapper .latest-post-content {
    margin: 0 20px;
    border-bottom: 1px solid #d7d7d7; }
  .post-wrapper .latest-post-thumb img {
    margin-bottom: 20px;
    margin-top: 0px; }
  .post-wrapper .btn-readmore {
    display: inline-block;
    padding: 20px 0px 0px 20px;
    color: #03a9f4; }
    .post-wrapper .btn-readmore:hover {
      color: #33363a; }

.error-404.not-found {
  text-align: center; }
  .error-404.not-found h1.page-title {
    text-align: center;
    margin-bottom: 30px; }
    .error-404.not-found h1.page-title span {
      color: #0e1353;
      display: block; }

.no-results input[type="search"], .not-found input[type="search"] {
  float: left;
  width: 75%; }

.no-results input[type="submit"], .not-found input[type="submit"] {
  float: left;
  width: 20%;
  position: relative;
  right: -4px;
  top: -5px; }

.home .site-content {
  padding-bottom: 0;
  margin-bottom: 0; }
  .home .site-content .site-main {
    margin-bottom: 0; }

.home.blog .site-content .container {
  margin-bottom: 50px; }

.home.blog .main-navigation ul.nav-menu > li {
  top: 0; }

.breadcrumb {
  background: #33363a;
  position: relative;
  padding: 20px 0px;
  margin-top: 0; }
  .breadcrumb a {
    color: #03a9f4; }
    .breadcrumb a:hover {
      color: #fff; }
  .breadcrumb .breadcrumb-left h4 {
    font-size: 35px;
    font-size: 3.5rem;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 0; }
  .breadcrumb .breadcrumb-right {
    text-align: right;
    color: #fff;
    float: right;
    margin-top: 10px; }

.site-content.test {
  padding-top: 50px; }
  .site-content.test .widget-area {
    margin-top: 0; }

.flexslider {
  border: 0 !important;
  margin-bottom: 0;
  -webkit-box-shadow: inset 0 0 0 transparent !important;
  -moz-box-shadow: inset 0 0 0 transparent !important;
  box-shadow: inset 0 0 0 transparent !important;
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  -webkit-border-radius: 0px !important;
  border-radius: 0px !important;
  background: transparent !important; }
  .flexslider .slides > li {
    position: relative; }
  .flexslider .flex-direction-nav a {
    margin: 0;
    text-align: center;
    top: 45%;
    opacity: 1;
    overflow: visible;
    width: 70px;
    height: 70px;
    background-clip: padding-box;
    /* stops bg color from leaking outside the border: */
    -webkit-border-radius: 100px;
    border-radius: 100px;
    font-size: 0px;
    font-size: 0rem;
    line-height: 70px;
    background: #fff !important; }
    .flexslider .flex-direction-nav a:before {
      font-size: 22px;
      font-size: 2.2rem; }
    .flexslider .flex-direction-nav a:hover {
      background: #03a9f4 !important; }
      .flexslider .flex-direction-nav a:hover:before {
        color: #fff; }
  .flexslider .flex-direction-nav a.flex-prev:after {
    left: 5px; }
  .flexslider .flex-direction-nav a.flex-next:after {
    right: 5px; }
  .flexslider .flex-direction-nav a.flex-prev {
    left: 50px; }
  .flexslider .flex-direction-nav a.flex-next {
    right: 50px; }
  .flexslider .flex-control-nav {
    text-align: right;
    bottom: 0; }
    .flexslider .flex-control-nav li {
      display: block;
      float: left;
      margin: 0; }
    .flexslider .flex-control-nav a {
      color: #d7d7d7;
      background-clip: padding-box;
      /* stops bg color from leaking outside the border: */
      -webkit-border-radius: 0px !important;
      border-radius: 0px !important;
      -webkit-box-shadow: inset 0 0 0 transparent;
      -moz-box-shadow: inset 0 0 0 transparent;
      box-shadow: inset 0 0 0 transparent;
      background-color: #d7d7d7;
      font-size: 16px;
      font-size: 1.6rem;
      width: 20px;
      height: 20px;
      text-indent: 0;
      text-align: center;
      line-height: 30px; }
  .flexslider ol.flex-control-paging {
    text-align: center;
    bottom: 10px;
    z-index: 10; }
    .flexslider ol.flex-control-paging li {
      float: none;
      display: inline; }
      .flexslider ol.flex-control-paging li a {
        display: inline-block;
        background-clip: padding-box;
        /* stops bg color from leaking outside the border: */
        -webkit-border-radius: 25px !important;
        border-radius: 25px !important;
        width: 12px;
        height: 12px;
        line-height: 12px;
        background-color: #fff;
        border: 0 !important;
        text-indent: -9999em !important;
        margin: 0 3px; }
      .flexslider ol.flex-control-paging li a.flex-active, .flexslider ol.flex-control-paging li a:hover {
        background-color: #33363a;
        border: 4px solid #fff !important;
        border-radius: 25px;
        width: 18px;
        height: 18px;
        line-height: 12px; }
  .flexslider:hover .flex-direction-nav a.flex-prev {
    left: 60px !important;
    background-color: black;
    opacity: 1; }
  .flexslider:hover .flex-direction-nav a.flex-next {
    right: 60px !important;
    background-color: black;
    opacity: 1; }

.flexslider .flex-caption {
  position: absolute;
  bottom: 8%;
  left: 10%;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-weight: 700;
  padding: 20px;
  background: rgba(51, 54, 58, 0.5); }
  .flexslider .flex-caption h1, .flexslider .flex-caption h2, .flexslider .flex-caption h3, .flexslider .flex-caption h4, .flexslider .flex-caption h5, .flexslider .flex-caption h6, .flexslider .flex-caption p, .flexslider .flex-caption li {
    color: #fff;
    padding: 5px;
    display: block; }
  .flexslider .flex-caption h1, .flexslider .flex-caption h2, .flexslider .flex-caption h3, .flexslider .flex-caption h4, .flexslider .flex-caption h5, .flexslider .flex-caption h6 {
    position: relative;
    padding-bottom: 20px; }
    .flexslider .flex-caption h1:before, .flexslider .flex-caption h2:before, .flexslider .flex-caption h3:before, .flexslider .flex-caption h4:before, .flexslider .flex-caption h5:before, .flexslider .flex-caption h6:before {
      position: absolute;
      font-family: "FontAwesome";
      font-size: 10px;
      font-size: 1rem;
      content: "\f005";
      color: #03a9f4;
      background: #fff;
      border: 1px solid #fff;
      border-radius: 10px;
      bottom: 0;
      left: 49%;
      padding: 2px 4px 2px 3px;
      line-height: 13px;
      z-index: 1; }
    .flexslider .flex-caption h1:after, .flexslider .flex-caption h2:after, .flexslider .flex-caption h3:after, .flexslider .flex-caption h4:after, .flexslider .flex-caption h5:after, .flexslider .flex-caption h6:after {
      position: absolute;
      content: "";
      background: #fff;
      height: 1px;
      width: 130px;
      left: calc(49% - 55px);
      bottom: 9px; }
  .flexslider .flex-caption p {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.8rem; }
  .flexslider .flex-caption a {
    color: #fff;
    background: #03a9f4;
    margin: 0;
    display: inline-block;
    margin-top: 5px;
    border: 1px solid #03a9f4;
    text-transform: none;
    font-weight: 700;
    padding: 8px 20px;
    text-align: center; }
    .flexslider .flex-caption a:hover {
      background: #33363a; }

.woocommerce button.button,
.woocommerce-page button.button,
.woocommerce #content table.cart input,
.woocommerce table.cart input,
.woocommerce-page #content table.cart input,
.woocommerce-page table.cart input {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.woocommerce #content input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #content input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  color: #fff;
  background: #33363a; }

.woocommerce #content input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page #content input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
  background: none !important;
  background-color: #03a9f4 !important;
  color: #fff; }

.woocommerce #content input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page #content input.button.alt,
.woocommerce-page #respond input#submit.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
  background: #272727 !important;
  /* Old browsers */
  background: -moz-linear-gradient(top, #272727 0%, #45484d 100%) !important;
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #272727), color-stop(100%, #45484d)) !important;
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #272727 0%, #45484d 100%) !important;
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #272727 0%, #45484d 100%) !important;
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #272727 0%, #45484d 100%) !important;
  /* IE10+ */
  background: linear-gradient(to bottom, #272727 0%, #45484d 100%) !important;
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#272727', endColorstr='#45484d',GradientType=0 ) !important;
  /* IE6-9 */
  border: 1px solid #333; }

.woocommerce #content input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #content input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
  border-color: #000;
  background: #666 !important;
  /* Old browsers */
  background: -moz-linear-gradient(top, #666 0%, #45484d 100%) !important;
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #45484d), color-stop(100%, #45484d)) !important;
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #666 0%, #45484d 100%) !important;
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #666 0%, #45484d 100%) !important;
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #666 0%, #45484d 100%) !important;
  /* IE10+ */
  background: linear-gradient(to bottom, #666 0%, #45484d 100%) !important;
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#666', endColorstr='#45484d',GradientType=0 ) !important;
  /* IE6-9 */ }

.woocommerce .woocommerce-info:before,
.woocommerce-page .woocommerce-info:before,
.woocommerce .woocommerce-message:before,
.woocommerce-page .woocommerce-message:before {
  background-color: #333; }

.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message {
  border-color: #333; }

.order-total .amount,
.cart-subtotal .amount {
  color: #03a9f4; }

.woocommerce #payment div.payment_box,
.woocommerce-page #payment div.payment_box {
  background: #f2f9fe;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f2f9fe), color-stop(100%, #d6f0fd));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #f2f9fe 0%, #d6f0fd 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f9fe', endColorstr='#d6f0fd',GradientType=0 );
  /* IE6-9 */ }

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce #content div.product p.price,
.woocommerce #content div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page #content div.product p.price,
.woocommerce-page #content div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {
  color: #33363a; }

.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart {
  background-color: #666;
  color: #fff; }

.woocommerce a.added_to_cart:hover,
.woocommerce-page a.added_to_cart:hover {
  background-color: #000; }

.woocommerce .woocommerce-breadcrumb a,
.woocommerce-page .woocommerce-breadcrumb a {
  color: #fff; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page div.product .woocommerce-tabs ul.tabs li {
  background: #f2f9fe;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f2f9fe), color-stop(100%, #d6f0fd));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #f2f9fe 0%, #d6f0fd 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #f2f9fe 0%, #d6f0fd 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f9fe', endColorstr='#d6f0fd',GradientType=0 );
  /* IE6-9 */ }

.woocommerce #content table.cart a.remove,
.woocommerce table.cart a.remove,
.woocommerce-page #content table.cart a.remove,
.woocommerce-page table.cart a.remove {
  color: #03a9f4; }

.woocommerce #content table.cart a.remove:hover,
.woocommerce table.cart a.remove:hover,
.woocommerce-page #content table.cart a.remove:hover,
.woocommerce-page table.cart a.remove:hover {
  background-color: #33363a; }

.woocommerce #content div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page #content div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel {
  background-color: #d7d7d7; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active {
  background: #03a9f4;
  color: #fff; }

.woocommerce span.onsale, .woocommerce-page span.onsale {
  background: #fceabb;
  /* Old browsers */
  background: -moz-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceabb), color-stop(50%, #fccd4d), color-stop(51%, #f8b500), color-stop(100%, #fbdf93));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fceabb', endColorstr='#fbdf93',GradientType=0 );
  /* IE6-9 */ }

.woocommerce #content nav.woocommerce-pagination ul li a,
.woocommerce #content nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-page #content nav.woocommerce-pagination ul li a,
.woocommerce-page #content nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
  background-color: #33363a;
  color: #fff !important; }

.woocommerce #content nav.woocommerce-pagination ul li a:focus,
.woocommerce #content nav.woocommerce-pagination ul li a:hover,
.woocommerce #content nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page #content nav.woocommerce-pagination ul li a:focus,
.woocommerce-page #content nav.woocommerce-pagination ul li a:hover,
.woocommerce-page #content nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li a:focus,
.woocommerce-page nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
  background-color: #03a9f4;
  color: #fff; }

.woocommerce #content nav.woocommerce-pagination ul li,
.woocommerce #content nav.woocommerce-pagination ul {
  background-color: #33363a; }

.woocommerce-error li strong {
  color: #B81C23; }

.woocommerce .site-content,
.woocommerce-page .site-content {
  margin-bottom: 0; }

.woocommerce #content input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #content input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  border: 0;
  padding: 5px 12px;
  text-align: center;
  text-decoration: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  text-shadow: 0 0 0;
  font-weight: 400; }

.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-message:before,
.woocommerce-page .woocommerce-error:before,
.woocommerce-page .woocommerce-info:before,
.woocommerce-page .woocommerce-message:before {
  padding-top: 0;
  height: 2.5em;
  line-height: 2.5;
  width: 2em; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea {
  line-height: normal;
  border: 1px solid #aea9a9;
  color: #000; }

.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart {
  padding: 2px 15px 1px 30px;
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  -webkit-border-radius: 3px;
  border-radius: 3px; }

.woocommerce .woocommerce-breadcrumb a,
.woocommerce-page .woocommerce-breadcrumb a {
  text-decoration: none; }

.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce-page .woocommerce-breadcrumb a:hover {
  color: #03a9f4; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 400;
  padding: 0.5em 1em;
  background-color: transparent;
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0;
  -moz-box-shadow: 0 0 0;
  box-shadow: 0 0 0;
  border-top: 0;
  position: static; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a:hover {
  position: static; }

.woocommerce #content div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations,
.woocommerce-page #content div.product form.cart table.variations,
.woocommerce-page div.product form.cart table.variations,
.woocommerce #content div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations td,
.woocommerce-page #content div.product form.cart table.variations td,
.woocommerce-page div.product form.cart table.variations td {
  border: 0; }

.cross-sells h2,
.shipping_calculator h2 {
  font-size: 1.6em; }

.woocommerce #content table.cart a.remove,
.woocommerce table.cart a.remove,
.woocommerce-page #content table.cart a.remove,
.woocommerce-page table.cart a.remove {
  margin: 0 auto; }

.woocommerce #content table.cart td.actions input#coupon_code,
.woocommerce table.cart td.actions input#coupon_code,
.woocommerce-page #content table.cart td.actions input#coupon_code,
.woocommerce-page table.cart td.actions input#coupon_code {
  width: auto; }

.woocommerce button.button,
.woocommerce-page button.button {
  padding: 10px 12px; }

.woocommerce .cart button.single_add_to_cart_button {
  padding: 6px 12px 5px; }

.woocommerce button.button, .woocommerce-page button.button,
.woocommerce #content div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page #content div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel {
  padding: 20px;
  border: 1px solid #e0dadf;
  border-top: 0; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs {
  margin-bottom: 0; }

.woocommerce #content table.cart td.actions .coupon #coupon_code,
.woocommerce table.cart td.actions .coupon #coupon_code,
.woocommerce-page #content table.cart td.actions .coupon #coupon_code,
.woocommerce-page table.cart td.actions .coupon #coupon_code {
  padding: 4px 6px; }

.woocommerce #content div.product .stock,
.woocommerce div.product .stock,
.woocommerce-page #content div.product .stock,
.woocommerce-page div.product .stock {
  text-decoration: underline;
  color: #333; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
  padding: 0;
  margin: 0; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
  background: #33363a;
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 0 0;
  margin: 0; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
  color: #fff;
  text-shadow: 0 0 0;
  padding: 7px 20px !important; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a:hover {
  text-decoration: none; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active {
  z-index: 2;
  border-bottom-color: transparent; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active:before {
  -webkit-box-shadow: 0;
  -moz-box-shadow: 0;
  box-shadow: 0; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active:after {
  display: none !important; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:before {
  display: none !important; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:before {
  display: none !important; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:after {
  display: none !important; }

.woocommerce #content div.product .woocommerce-tabs ul.tabs:before,
.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs:before {
  display: none !important; }

.woocommerce span.onsale, .woocommerce-page span.onsale {
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  -webkit-border-radius: 50px;
  border-radius: 50px;
  padding: 10px 12px; }

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  margin: -15px -15px 0 0; }

.woocommerce #content nav.woocommerce-pagination ul li a,
.woocommerce #content nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-page #content nav.woocommerce-pagination ul li a,
.woocommerce-page #content nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
  border: 0;
  padding: 3px 10px; }

.woocommerce #content nav.woocommerce-pagination ul li a:focus,
.woocommerce #content nav.woocommerce-pagination ul li a:hover,
.woocommerce #content nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page #content nav.woocommerce-pagination ul li a:focus,
.woocommerce-page #content nav.woocommerce-pagination ul li a:hover,
.woocommerce-page #content nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li a:focus,
.woocommerce-page nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
  border: 0; }

.woocommerce #content nav.woocommerce-pagination ul li {
  border: 0; }

.woocommerce #content nav.woocommerce-pagination ul {
  padding: 7px 10px;
  border: 0; }

.woocommerce-page .site-footer,
.woocommerce-page .footer-bottom,
.woocommerce-page .woocommerce-breadcrumb {
  padding: 0 50%;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  margin: 0 -50%; }

.woocommerce a.remove {
  background: #03a9f4;
  color: #fff !important; }

.woocommerce #primary {
  margin: 50px 0px; }

/* SITE STYLE */
.container .container {
  width: 100%; }

.fluid-container .container {
  width: 100%;
  max-width: none; }

.boxed-container {
  overflow: hidden; }

/* single page & blog */
.single_page_flexslider_feature_image {
  width: 100%; }

/*--------------------------------------------------------------
10.0 Secondary
--------------------------------------------------------------*/
#secondary {
  padding: 11px 25px 20px; }

.right-sidebar {
  padding-left: 0px !important;
  padding-right: 50px; }

#secondary .left-sidebar {
  background: #f0f2f3 none repeat scroll 0 0;
  border: 1px solid #d7d7d7;
  padding: 40px 25px; }

.widget-area {
  margin-top: 1.5em; }
  .widget-area h4.widget-title {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #03a9f4; }
  .widget-area ul li {
    padding: 8px 0 8px;
    border-bottom: 1px solid #d7d7d7; }
    .widget-area ul li a {
      color: #33363a; }
      .widget-area ul li a:hover {
        color: #03a9f4; }
    .widget-area ul li li:last-child {
      border-bottom: 0;
      padding-bottom: 0; }
    .widget-area ul li ul.children,
    .widget-area ul li .sub-menu {
      padding-top: 5px; }
      .widget-area ul li ul.children li:last-child,
      .widget-area ul li .sub-menu li:last-child {
        padding-bottom: 0; }
  .widget-area select {
    width: 100%;
    background: url("images/down.png") no-repeat 95% 50%;
    -moz-appearance: none;
    border: 1px solid #d7d7d7;
    padding: 5px 10% 5px 3%; }

.widget-area ul li {
  background: url("images/sidebar-list-style.png") no-repeat left 16px;
  padding-left: 25px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  .widget-area ul li li {
    padding-left: 5px; }
  .widget-area ul li:hover {
    background-position: 10px 16px; }

.widget-area ul.children {
  border-top: 1px solid #d7d7d7;
  padding-top: 0 !important;
  margin-left: -25px;
  padding-left: 0;
  margin-top: 15px; }
  .widget-area ul.children li {
    padding-left: 50px;
    background-position: 25px 16px; }
    .widget-area ul.children li:hover {
      background-position: 37px 16px; }
  .widget-area ul.children ul.children {
    margin-left: -50px; }
    .widget-area ul.children ul.children li {
      padding-left: 75px;
      background-position: 50px 16px; }
      .widget-area ul.children ul.children li:hover {
        background-position: 67px 16px; }
    .widget-area ul.children ul.children ul.children {
      margin-left: -75px; }
      .widget-area ul.children ul.children ul.children li {
        padding-left: 100px;
        background-position: 75px 16px; }
        .widget-area ul.children ul.children ul.children li:hover {
          background-position: 92px 16px; }

#secondary .widget, .site-footer .widget, .site-header .widget {
  margin: 0 0 3.5em 0;
  /* Make sure select elements fit in widgets */ }
  #secondary .widget ul, #secondary .widget ol, .site-footer .widget ul, .site-footer .widget ol, .site-header .widget ul, .site-header .widget ol {
    padding: 0;
    margin: 0;
    list-style: none; }
    #secondary .widget ul li ul, #secondary .widget ul li ol, #secondary .widget ol li ul, #secondary .widget ol li ol, .site-footer .widget ul li ul, .site-footer .widget ul li ol, .site-footer .widget ol li ul, .site-footer .widget ol li ol, .site-header .widget ul li ul, .site-header .widget ul li ol, .site-header .widget ol li ul, .site-header .widget ol li ol {
      padding: 0; }
  #secondary .widget select, .site-footer .widget select, .site-header .widget select {
    max-width: 100%; }

.site-header .widget {
  margin: 0; }

#secondary .left-sidebar aside {
  margin: 0 0 5.5em 0; }
  #secondary .left-sidebar aside:last-child {
    margin-bottom: 0; }

#secondary #recentcomments a {
  color: #03a9f4; }
  #secondary #recentcomments a:hover {
    color: #0e1353; }

.site-info .left-sidebar .widget-title, .top-nav .widget-title, .top-right .widget-title {
  display: none; }

.widget_calendar table th, .widget_calendar table td {
  text-align: center;
  padding: 7px 5px;
  border: 0; }
  .widget_calendar table th a, .widget_calendar table td a {
    display: block;
    color: #03a9f4; }
    .widget_calendar table th a:hover, .widget_calendar table td a:hover {
      color: #0e1353; }

.widget_calendar table th {
  font-weight: 400; }

.widget_calendar table td#prev {
  text-align: left; }

.widget_calendar table td#next {
  text-align: right; }

.widget_calendar table caption {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 5px;
  background-color: #33363a;
  color: #fff;
  padding: 5px 0; }

.widget-area .rss-date,
.widget-area .widget_rss cite {
  display: block;
  color: #d7d7d7;
  margin: 5px 0; }

.widget-area .widget_rss span {
  color: #8f8f8f; }

.widget-area .widget_rss cite {
  color: #8f8f8f; }

.widget-area .widget_rss a {
  color: #03a9f4;
  font-family: "Roboto", sans-serif; }
  .widget-area .widget_rss a:hover {
    color: #33363a; }

.widget-area .widget_rss .widget-title .rsswidget {
  color: #33363a; }
  .widget-area .widget_rss .widget-title .rsswidget img {
    margin: 0; }

.widget-area .widget_rss ul li {
  background: none;
  padding-left: 0; }

.widget-area .rssSummary {
  font-size: .95em; }

.widget_search .search-form {
  position: relative; }
  .widget_search .search-form label {
    display: block; }
  .widget_search .search-form input[type="search"] {
    color: #33363a;
    width: 100%;
    padding: 5px;
    background: transparent; }
  .widget_search .search-form input[type="search"]:focus {
    background: #fff;
    color: #33363a !important; }
  .widget_search .search-form input[type="submit"] {
    border: 0;
    position: absolute;
    right: 0;
    top: 0;
    text-indent: -9999em;
    background: url("images/header-search.png") no-repeat 100% 40%; }

.nav-wrap .search-form {
  top: 13px;
  text-align: right;
  position: relative;
  margin: 0px 10px; }
  .nav-wrap .search-form input.search-field {
    padding: 1px 20px 2px 0px;
    width: 95%;
    border: none;
    border-bottom: 1px solid #fff;
    color: #fff;
    background: transparent; }
  .nav-wrap .search-form input[type="search"]:focus {
    border-bottom-color: rgba(255, 255, 255, 0.7); }
  .nav-wrap .search-form input[type="submit"] {
    background: url("images/header-search-white.png") no-repeat 100% 40%; }
  .nav-wrap .search-form .search-submit {
    position: absolute;
    right: -5px;
    margin: 0;
    padding: 0;
    top: 10px;
    border: none;
    color: transparent;
    background: url(images/header-search.png) no-repeat center center; }
  .nav-wrap .search-form .btn-search {
    position: absolute;
    right: 10px;
    top: 8px; }

.widget-area .textwidget select {
  padding: 5px 10px;
  background-color: transparent;
  border: 1px solid #d7d7d7; }

.wp-caption .wp-caption-text {
  margin: 0; }

.widget_tag_cloud a {
  padding: 4px 15px;
  color: #fff;
  margin: 3px;
  display: inline-block;
  background-color: #03a9f4;
  border: 1px solid #03a9f4; }
  .widget_tag_cloud a:hover {
    background: #33363a; }

.widget_nav_menu a {
  display: block; }

.widget_nav_menu ul.sub-menu li {
  text-indent: 0; }

.widget_nav_menu ul.sub-menu {
  border-top: 1px solid #d7d7d7;
  padding-top: 0 !important;
  margin-left: -10px;
  padding-left: 0;
  margin-top: 15px; }
  .widget_nav_menu ul.sub-menu li {
    padding-left: 25px; }

.sow-carousel-wrapper .overlay {
  position: static; }

/*--------------------------------------------------------------
11.0 Footer
--------------------------------------------------------------*/
.site-footer .footer-widgets {
  margin-top: 0; }

.site-footer {
  background: #33363a;
  position: relative; }
  .site-footer .container {
    margin-bottom: 0px !important; }
  .site-footer .footer-widgets {
    color: #BFBEBE;
    padding: 90px 0 50px; }
    .site-footer .footer-widgets h4.widget-title {
      color: #fff;
      padding-bottom: 10px;
      font-size: 28px;
      font-size: 2.8rem;
      text-transform: capitalize; }
    .site-footer .footer-widgets ul li {
      color: #BFBEBE;
      padding-bottom: 5px;
      list-style: none;
      padding-top: 5px;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .site-footer .footer-widgets ul li i, .site-footer .footer-widgets ul li span {
        margin-right: 10px; }
    .site-footer .footer-widgets ul.children,
    .site-footer .footer-widgets .widget_nav_menu ul.sub-menu {
      border-color: rgba(255, 255, 255, 0.2); }
    .site-footer .footer-widgets #calendar_wrap td, .site-footer .footer-widgets #calendar_wrap th {
      color: #fff; }
    .site-footer .footer-widgets #calendar_wrap a {
      color: #03a9f4; }
      .site-footer .footer-widgets #calendar_wrap a:hover {
        color: #fff; }
    .site-footer .footer-widgets .widget_calendar table caption {
      background: #03a9f4; }
    .site-footer .footer-widgets select {
      width: 100%;
      background: #fff url("images/down.png") no-repeat 95% 50% white;
      -moz-appearance: none;
      border: 1px solid #d7d7d7;
      padding: 5px 10% 5px 3%; }
    .site-footer .footer-widgets .widget_search .search-form input[type="search"] {
      color: #fff; }
    .site-footer .footer-widgets a {
      color: #BFBEBE; }
      .site-footer .footer-widgets a:hover {
        color: #03a9f4; }
    .site-footer .footer-widgets p {
      margin-bottom: 0; }
    .site-footer .footer-widgets .widget_nav_menu li {
      border-bottom: none; }
      .site-footer .footer-widgets .widget_nav_menu li ul.sub-menu {
        border-top: none; }
    .site-footer .footer-widgets .widget_tag_cloud a:hover {
      color: #fff; }
    .site-footer .footer-widgets .widget_rss ul li {
      background: none; }
  .site-footer .scroll-to-top {
    background: #03a9f4;
    color: #fff;
    bottom: 3%;
    cursor: pointer;
    position: fixed;
    right: 20px;
    z-index: 999;
    text-align: center;
    line-height: 40px;
    width: 40px;
    background-clip: padding-box;
    /* stops bg color from leaking outside the border: */
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-transition: background-color 0.3s linear;
    -moz-transition: background-color 0.3s linear;
    -o-transition: background-color 0.3s linear;
    transition: background-color 0.3s linear; }
  .site-footer .scroll-to-top:hover {
    background: rgba(3, 169, 244, 0.6); }
  .site-footer .textwidget .wpcf7-form p {
    margin-bottom: 3px; }

.site-info {
  background: #525050; }
  .site-info .copyright {
    padding: 20px 0px; }
  .site-info .left-sidebar {
    text-align: rigth;
    padding-top: 12px; }
    .site-info .left-sidebar li a {
      font-family: "Roboto", sans-serif; }
  .site-info .widget {
    margin: 0; }
  .site-info p {
    color: #fff;
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem; }
    .site-info p a {
      color: #03a9f4; }
      .site-info p a:hover {
        color: #fff; }
  .site-info .widget_nav_menu ul {
    text-align: right; }
  .site-info .widget_nav_menu .sub-menu {
    border-top: none; }
  .site-info .widget_nav_menu li {
    border: 0;
    padding: 0;
    display: inline; }
  .site-info .widget_nav_menu a {
    font-family: "Roboto", sans-serif;
    display: inline-block;
    color: #fff;
    padding: 4px 10px;
    font-size: 13px;
    font-size: 1.3rem;
    text-transform: uppercase;
    border-top: 3px solid transparent;
    position: relative; }
    .site-info .widget_nav_menu a:hover {
      color: #03a9f4; }

/*--------------------------------------------------------------
12.0 Responsiveness
--------------------------------------------------------------*/
@media only screen and (min-width: 960px) {
  .main-navigation ul ul li:hover > ul {
    right: 100%; } }

@media only screen and (max-width: 960px) {
  .main-navigation ul ul li:hover > ul {
    left: 100%; }
  .top-nav .container .eight.columns {
    width: 100%;
    text-align: center; }
    .top-nav .container .eight.columns li {
      display: inline-block;
      float: none; } }

@media only screen and (max-width: 1024px) {
  .widget_nav_menu ul.sub-menu li {
    padding-left: 20px; }
  .post-wrapper .latest-post {
    margin-left: 0;
    margin-right: 0; } }

@media only screen and (max-width: 850px) {
  .widget_nav_menu ul.sub-menu li {
    padding-left: 15px !important; } }

@media only screen and (max-width: 600px) {
  .title-divider::before {
    left: calc(35% + 55px); }
  .title-divider::after {
    left: calc(35%); } }

@media only screen and (max-width: 800px) and (min-width: 600px) {
  .title-divider::before {
    left: calc(40% + 55px); }
  .title-divider::after {
    left: calc(40%); } }

@media only screen and (max-width: 768px) {
  .breadcrumb-left, .breadcrumb-right {
    text-align: center !important; }
  .breadcrumb .container .eight.columns, .branding .container .eight.columns {
    width: 100%;
    text-align: center; }
  .breadcrumb .site-title, .breadcrumb .site-description, .branding .site-title, .branding .site-description {
    text-align: center; }
  .breadcrumb .top-right, .branding .top-right {
    text-align: center; }
    .breadcrumb .top-right ul, .branding .top-right ul {
      float: none; }
    .breadcrumb .top-right li, .branding .top-right li {
      float: none;
      display: inline-block; }
    .breadcrumb .top-right li:first-child, .branding .top-right li:first-child {
      margin-right: 10px; }
  .post-wrapper .latest-post {
    text-align: center; }
  .widget_calendar table th, .widget_calendar table td {
    padding: 7px 2px; }
  .top-nav {
    padding-top: 10px; }
  .site-branding {
    text-align: center; }
    .site-branding img {
      margin: 0 auto; }
  .main-navigation {
    margin: 0; }
    .main-navigation a {
      padding: 15px; }
  #secondary {
    padding-left: 0; }
  .flexslider .flex-caption {
    position: static;
    background-color: #0e1353;
    padding: 30px 20px;
    min-height: 300px;
    width: 100%; }
  .flexslider ol.flex-control-paging {
    bottom: 0; }
  .post-wrapper .latest-post a.btn-readmore {
    display: inline-block;
    width: auto; }
  .copyright, .left-sidebar, .site-info .widget_nav_menu ul {
    text-align: center; }
  .latest-post {
    border: 1px solid #8f8f8f;
    margin-bottom: 50px !important; }
  .nav-wrap .search-form {
    margin-bottom: 30px; }
  .copyright {
    padding-bottom: 0 !important; }
  .site-info .left-sidebar {
    padding-bottom: 10px !important; }
  #secondary {
    left: 0 !important; } }

@media only screen and (max-width: 700px) {
  #commentform .comment-form-author,
  #commentform .comment-form-email,
  #commentform .comment-form-url {
    width: 100%;
    float: none;
    margin-right: 0; }
  #commentform .comment-form-author input,
  #commentform .comment-form-url input,
  #commentform .comment-form-email input {
    width: 100%; }
  .nav-links .nav-previous,
  .nav-links .nav-next,
  .comment-navigation .nav-previous,
  .comment-navigation .nav-next {
    width: 100%;
    float: none;
    margin-bottom: 10px; }
  .post-navigation .nav-links a,
  .comment-navigation .nav-previous a,
  .comment-navigation .nav-next a {
    display: block; } }

@media only screen and (max-width: 480px) {
  .main-navigation {
    padding: 10px 0; }
    .main-navigation button.menu-toggle {
      margin: 0 auto;
      font-size: 15px;
      font-size: 1.5rem;
      background: #33363a;
      border: 1px solid #33363a; }
      .main-navigation button.menu-toggle:hover {
        background: #03a9f4; }
    .main-navigation .menu-all-pages-container {
      padding-top: 0; }
  .flex-recent-posts li {
    width: 100%; }
    .flex-recent-posts li img {
      max-width: 100%;
      width: 100%; }
  ol.comment-list ol.children {
    margin-left: 1em; }
  .flexslider ol.flex-control-paging li a {
    width: 15px;
    height: 15px;
    line-height: 15px;
    border-width: 3px; } }

@media only screen and (max-width: 400px) {
  .title-divider::before {
    left: calc(30% + 55px); }
  .title-divider::after {
    left: calc(30%); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiMDBfc2V0dXAvdmFyaWFibGVzL192YXJpYWJsZXMuc2NzcyIsIjAwX3NldHVwL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCIwMF9zZXR1cC92YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsIjAwX3NldHVwL21peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwiMDFfcmVzZXQvX3Jlc2V0LnNjc3MiLCIwMl9ncmlkL19ncmlkLnNjc3MiLCIwM190eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCIwM190eXBvZ3JhcGh5L19oZWFkaW5ncy5zY3NzIiwiMDNfdHlwb2dyYXBoeS9fY29weS5zY3NzIiwiMDRfZWxlbWVudHMvX2VsZW1lbnRzLnNjc3MiLCIwNF9lbGVtZW50cy9fbGlzdHMuc2NzcyIsIjA0X2VsZW1lbnRzL190YWJsZXMuc2NzcyIsIjA0X2VsZW1lbnRzL2Zvcm1zL19mb3Jtcy5zY3NzIiwiMDRfZWxlbWVudHMvZm9ybXMvX2J1dHRvbnMuc2NzcyIsIjA0X2VsZW1lbnRzL2Zvcm1zL19maWVsZHMuc2NzcyIsIjA1X25hdmlnYXRpb24vX25hdmlnYXRpb24uc2NzcyIsIjA1X25hdmlnYXRpb24vX2xpbmtzLnNjc3MiLCIwNV9uYXZpZ2F0aW9uL19tZW51cy5zY3NzIiwiMDZfbWVkaWEvX21lZGlhLnNjc3MiLCIwNl9tZWRpYS9fY2FwdGlvbnMuc2NzcyIsIjA2X21lZGlhL19nYWxsZXJpZXMuc2NzcyIsIjA3X21vZHVsZXMvbW9kdWxlcy5zY3NzIiwiMDdfbW9kdWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiMDdfbW9kdWxlcy9fYWxpZ25tZW50cy5zY3NzIiwiMDdfbW9kdWxlcy9fY2xlYXJpbmdzLnNjc3MiLCIwN19tb2R1bGVzL19pbmZpbml0ZS1zY3JvbGwuc2NzcyIsIjA4X2hlYWRlci9faGVhZGVyLnNjc3MiLCIwOF9oZWFkZXIvX3RvcC1oZWFkZXIuc2NzcyIsIjA5X3ByaW1hcnkvX3ByaW1hcnkuc2NzcyIsIjA5X3ByaW1hcnkvX2FzaWRlcy5zY3NzIiwiMDlfcHJpbWFyeS9fc29jaWFsLnNjc3MiLCIwOV9wcmltYXJ5L19jb21tZW50cy5zY3NzIiwiMDlfcHJpbWFyeS9fcG9zdHMtYW5kLXBhZ2VzLnNjc3MiLCIwOV9wcmltYXJ5L19mcm9udC1wYWdlLnNjc3MiLCIwOV9wcmltYXJ5L19mcm9udHBhZ2VfZmxleF9zbGlkZXIuc2NzcyIsIjA5X3ByaW1hcnkvX3dvb2NvbW1lcmNlLnNjc3MiLCIxMF9zZWNvbmRhcnkvX3NlY29uZGFyeS5zY3NzIiwiMTBfc2Vjb25kYXJ5L3dpZGdldHMvX3dpZGdldHMuc2NzcyIsIjEwX3NlY29uZGFyeS93aWRnZXRzL19jYWxlbmRhci5zY3NzIiwiMTBfc2Vjb25kYXJ5L3dpZGdldHMvX3Jzcy5zY3NzIiwiMTBfc2Vjb25kYXJ5L3dpZGdldHMvX3NlYXJjaC5zY3NzIiwiMTBfc2Vjb25kYXJ5L3dpZGdldHMvX3RleHQuc2NzcyIsIjEwX3NlY29uZGFyeS93aWRnZXRzL190YWdfY2xvdWQuc2NzcyIsIjEwX3NlY29uZGFyeS93aWRnZXRzL193aWRnZXRfbmF2X21lbnUuc2NzcyIsIjExX2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCIxMV9mb290ZXIvYm90dG9tLWZvb3Rlci5zY3NzIiwiMTJfcmVzcG9uc2l2ZW5lc3MvX3Jlc3BvbnNpdmVuZXNzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IE1vZHVsdXNcblRoZW1lIFVSSTogaHR0cHM6Ly93d3cud2VidWxvdXN0aGVtZXMuY29tL21vZHVsdXMvXG5BdXRob3I6IE4uIFZlbmthdCBSYWpcbkF1dGhvciBVUkk6IGh0dHBzOi8vd3d3LndlYnVsb3VzdGhlbWVzLmNvbS9cbkRlc2NyaXB0aW9uOiBNb2R1bHVzIGNvbWVzIHdpdGggbW9kZXJuLCBzdHlsaXNoIGFuZCByZXNwb25zaXZlIGRlc2lnbi4gSXQgdXNlcyBza2VsZXRvbiBmcmFtZXdvcmsgZm9yIGdyaWRzIHdoaWNoIGtlZXBzIG1pbmltYWwgY3NzLiBTdHlsZXNoZWV0IGlzIGdlbmVyYXRlZCB1c2luZyBTQVNTIGFuZCBzbyBzdGF5cyBEUlkuIEJlc3Qgc3VpdGVkIGZvciBDb3Jwb3JhdGUvQnVzaW5lc3MvQmxvZyBzaXRlcy4gVGhlcmUgaXMgbm8gdGhlbWUgb3B0aW9ucyBwYW5lbCwgaW5zdGVhZCB1c2VzIEN1c3RvbWl6ZXIsIGNvcmUgZmVhdHVyZSBvZiBXb3JkUHJlc3MgYW5kIGNvbWVzIHdpdGggbG90cyBvZiBvcHRpb25zIHRvIGN1c3RvbWl6ZS4gSGFzIDQgRm9vdGVyIFdpZGdldCBBcmVhcy5cblZlcnNpb246IDEuNC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcblRleHQgRG9tYWluOiBtb2R1bHVzXG5UYWdzOiBjdXN0b20tbWVudSwgY3VzdG9tLWJhY2tncm91bmQsIGZlYXR1cmVkLWltYWdlcywgcmlnaHQtc2lkZWJhciwgc3RpY2t5LXBvc3QsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeSwgdHdvLWNvbHVtbnNcblxuTW9kdWx1cyBXb3JkUHJlc3MgVGhlbWUsIENvcHlyaWdodCAoQykgMjAxNiwgTi4gVmVua2F0IFJhalxuTW9kdWx1cyBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHUExcblxuTW9kdWx1cyBpcyBiYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE0IEF1dG9tYXR0aWMsIEluYy5cblxuUmVzZXR0aW5nIGFuZCByZWJ1aWxkaW5nIHN0eWxlcyBoYXZlIGJlZW4gaGVscGVkIGFsb25nIHRoYW5rcyB0byB0aGUgZmluZSB3b3JrIG9mXG5FcmljIE1leWVyIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbFxuYWxvbmcgd2l0aCBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbCBodHRwOi8vbmVjb2xhcy5naXRodWIuY29tL25vcm1hbGl6ZS5jc3MvXG5hbmQgQmx1ZXByaW50IGh0dHA6Ly93d3cuYmx1ZXByaW50Y3NzLm9yZy9cbiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCBSZXNldFxuMi4wIEdyaWRcbjMuMCBUeXBvZ3JhcGh5XG40LjAgRWxlbWVudHNcblx0NC4xIEZvcm1zXG41LjAgTmF2aWdhdGlvblxuXHQ1LjEgTGlua3Ncblx0NS4yIE1lbnVzXG42LjAgTWVkaWFcblx0Ni4xIENhcHRpb25zXG5cdDYuMiBHYWxsZXJpZXNcdFxuNy4wIE1vZHVsZXNcblx0Ny4xIEFjY2Vzc2liaWxpdHlcblx0Ny4yIEFsaWdubWVudHNcblx0Ny4zIENsZWFyaW5nc1xuXHQ3LjQgSW5maW5pdGUgc2Nyb2xsXG44LjAgSGVhZGVyXG45LjAgUHJpbWFyeVxuMTAuMCBTZWNvbmRhcnlcbjExLjAgRm9vdGVyXG4xMi4wIFJlc3BvbnNpdmVuZXNzXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwMF9zZXR1cC92YXJpYWJsZXMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiMDBfc2V0dXAvbWl4aW5zL21peGlucy1tYXN0ZXJcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMS4wIFJlc2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiMDFfcmVzZXQvcmVzZXRcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi4wIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwMl9ncmlkL2dyaWRcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMy4wIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwM190eXBvZ3JhcGh5L3R5cG9ncmFwaHlcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNC4wIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiMDRfZWxlbWVudHMvZWxlbWVudHNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNS4wIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwNV9uYXZpZ2F0aW9uL25hdmlnYXRpb25cIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNi4wIE1lZGlhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiMDZfbWVkaWEvbWVkaWFcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNy4wIE1vZHVsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwN19tb2R1bGVzL21vZHVsZXNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOC4wIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIjA4X2hlYWRlci9oZWFkZXJcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOS4wIFByaW1hcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIwOV9wcmltYXJ5L3ByaW1hcnlcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMTAuMCBTZWNvbmRhcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCIxMF9zZWNvbmRhcnkvc2Vjb25kYXJ5XCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjExLjAgRm9vdGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiMTFfZm9vdGVyL2Zvb3RlclwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xMi4wIFJlc3BvbnNpdmVuZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiMTJfcmVzcG9uc2l2ZW5lc3MvcmVzcG9uc2l2ZW5lc3NcIjsiLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7IiwiJHByaW1hcnk6ICMwM2E5ZjQ7IFx0XG4kc2Vjb25kYXJ5OiAjMzMzNjNhO1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4kYzE6ICNkN2Q3ZDc7IFxuJGMyOiAjOGY4ZjhmO1xuJGMzOiAjNjA2MDYwOyBcbiRjNDogIzBlMTM1MzsgIFxuXG5cbiRjNTogI2YwZjJmMzsgICAgICAgICBcbiRjNjogI2VhZWFlYTtcblxuIiwiJGNvcHlfZm9udDonUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRoZWFkaW5nX2ZvbnQ6J1JvYm90bycsIHNhbnMtc2VyaWY7XG4kZm9udF9fY29kZTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xuJGZvbnRfX3ByZTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRmb250X19saW5lLWhlaWdodC1ib2R5OiAxLjU7XG4kZm9udF9fbGluZS1oZWlnaHQtcHJlOiAxLjY7ICAgICAgICAgICAgICAgICAgXG4gICAgICBcblxuIiwiXG5cblxuLy8gQW5pbWF0aW9uXG5cbkBtaXhpbiBhbmltYXRpb24oJGFyZ3MpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFyZ3M7XG4gICAgLW1vei1hbmltYXRpb246ICRhcmdzO1xuICAgIC1tcy1hbmltYXRpb246ICRhcmdzO1xuICAgIC1vLWFuaW1hdGlvbjogJGFyZ3M7XG4gICAgYW5pbWF0aW9uOiAkYXJncztcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAgIC1tcy1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAtby1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC1tcy1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC1vLWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJG1vZGU7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkbW9kZTtcbiAgICAtbXMtYW5pbWF0aW9uLWZpbGwtbW9kZTogJG1vZGU7XG4gICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogJG1vZGU7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJG1vZGU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkY291bnQpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcbiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcbiAgICAtbXMtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGNvdW50O1xuICAgIC1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAtbXMtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgIC1vLWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogJHN0YXRlO1xuICAgIC1tb3otYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRzdGF0ZTtcbiAgICAtbXMtYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRzdGF0ZTtcbiAgICAtby1hbmltYXRpb24tcGxheS1zdGF0ZTogJHN0YXRlO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiAkc3RhdGU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24pIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRmdW5jdGlvbjtcbiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRmdW5jdGlvbjtcbiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGZ1bmN0aW9uO1xuICAgIC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRmdW5jdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZnVuY3Rpb247XG59XG5cbi8vIEtleWZyYW1lc1xuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uLW5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHlcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJGFyZ3MpIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICRhcmdzO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJGFyZ3M7XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6ICRhcmdzO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICRhcmdzO1xufVxuXG5cbi8vIEJhY2tncm91bmQgU2l6ZVxuXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCRhcmdzKSB7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6ICRhcmdzO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGFyZ3M7XG59XG5cbi8vIEJveCBTaXppbmdcblxuQG1peGluIGJveC1zaXppbmcoJGFyZ3MpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRhcmdzO1xuICAgIC1tb3otYm94LXNpemluZzogJGFyZ3M7XG4gICAgYm94LXNpemluZzogJGFyZ3M7XG59XG5AbWl4aW4gYm9yZGVyLWJveCgpe1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5AbWl4aW4gY29udGVudC1ib3goKXtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGNvbnRlbnQtYm94KTtcbn1cblxuXG4vLyBDb2x1bW5zXG5cbkBtaXhpbiBjb2x1bW5zKCRhcmdzKSB7XG4gICAgLXdlYmtpdC1jb2x1bW5zOiAkYXJncztcbiAgICAtbW96LWNvbHVtbnM6ICRhcmdzO1xuICAgIGNvbHVtbnM6ICRhcmdzO1xufVxuQG1peGluIGNvbHVtbi1jb3VudCgkY291bnQpIHtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvdW50O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAkY291bnQ7XG4gICAgY29sdW1uLWNvdW50OiAkY291bnQ7XG59XG5AbWl4aW4gY29sdW1uLWdhcCgkZ2FwKSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkZ2FwO1xuICAgIC1tb3otY29sdW1uLWdhcDogJGdhcDtcbiAgICBjb2x1bW4tZ2FwOiAkZ2FwO1xufVxuQG1peGluIGNvbHVtbi13aWR0aCgkd2lkdGgpIHtcbiAgICAtd2Via2l0LWNvbHVtbi13aWR0aDogJHdpZHRoO1xuICAgIC1tb3otY29sdW1uLXdpZHRoOiAkd2lkdGg7XG4gICAgY29sdW1uLXdpZHRoOiAkd2lkdGg7XG59XG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZ3MpIHtcbiAgICAtd2Via2l0LWNvbHVtbi1ydWxlOiAkYXJncztcbiAgICAtbW96LWNvbHVtbi1ydWxlOiAkYXJncztcbiAgICBjb2x1bW4tcnVsZTogJGFyZ3M7XG59XG5cblxuXG5cbi8vIFRleHQgU2hhZG93XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdygkYXJncykge1xuICAgIHRleHQtc2hhZG93OiAkYXJncztcbn1cblxuXG4vLyBUcmFuc2Zvcm1zXG5cbkBtaXhpbiB0cmFuc2Zvcm0oJGFyZ3MpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJGFyZ3M7XG4gICAgLW1vei10cmFuc2Zvcm06ICRhcmdzO1xuICAgIC1tcy10cmFuc2Zvcm06ICRhcmdzO1xuICAgIC1vLXRyYW5zZm9ybTogJGFyZ3M7XG4gICAgdHJhbnNmb3JtOiAkYXJncztcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRhcmdzKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkYXJncztcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRhcmdzO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkYXJncztcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkYXJncztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkYXJncztcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6ICRzdHlsZTtcbiAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTogJHN0eWxlO1xuICAgIC1tcy10cmFuc2Zvcm0tc3R5bGU6ICRzdHlsZTtcbiAgICAtby10cmFuc2Zvcm0tc3R5bGU6ICRzdHlsZTtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6ICRzdHlsZTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZzo0NWRlZyl7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgkZGVnKSk7XG59XG5AbWl4aW4gc2NhbGUoJGZhY3RvcjouNSl7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRmYWN0b3IpKTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsJHkpe1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsJHkpKTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwkeSwkeikge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUzZCgkeCwkeSwkeikpO1xufVxuQG1peGluIHRyYW5zbGF0ZUhhcmR3YXJlKCR4LCR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKCR4LCR5KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsJHksMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCR5LDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsJHksMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsJHksMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwkeSwwKTtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJnczoyMDBtcykge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXJncztcbiAgICAtby10cmFuc2l0aW9uOiAkYXJncztcbiAgICAtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XG4gICAgdHJhbnNpdGlvbjogJGFyZ3M7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXk6MCkge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbjoyMDBtcykge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eTphbGwpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uOmVhc2UpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZnVuY3Rpb247XG4gICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGZ1bmN0aW9uO1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZnVuY3Rpb247XG4gICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZnVuY3Rpb247XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRmdW5jdGlvbjtcbn1cblxuXG5AbWl4aW4gYm94LXNoYWRvdy0yKCRhcmdzMSwgJGFyZ3MyKSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYXJnczEsICRhcmdzMjtcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhcmdzMSwgJGFyZ3MyO1xuICAgIGJveC1zaGFkb3c6ICRhcmdzMSwgJGFyZ3MyO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCR3aWR0aDogMTAwJSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG59XG5cblxuLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEuNikge1xuICBmb250LXNpemU6ICgkc2l6ZVZhbHVlICogMTApICsgcHg7XG4gIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcbn1cblxuLy8gQm94IG1vZGVsXG5AbWl4aW4gYm94LXNpemluZygkYm94LW1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveC1tb2RlbDsgLy8gU2FmYXJpIDw9IDdcbiAgLW1vei1ib3gtc2l6aW5nOiAkYm94LW1vZGVsOyAvLyBGaXJlZm94IDw9IDE5XG4gIGJveC1zaXppbmc6ICRib3gtbW9kZWw7XG59XG5cbi8vIEJvcmRlciByYWRpdXNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgLyogc3RvcHMgYmcgY29sb3IgZnJvbSBsZWFraW5nIG91dHNpZGUgdGhlIGJvcmRlcjogKi9cbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLyBDZW50ZXIgYmxvY2tcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vIENsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4vLyBDbGVhciBhZnRlciAobm90IGFsbCBjbGVhcmZpeCBuZWVkIHRoaXMgYWxzbylcbkBtaXhpbiBjbGVhcmZpeC1hZnRlcigpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8vIENvbW1vbiBib3JkZXJcbkBtaXhpbiBib3JkZXItYm90dG9tKCR3ZWlnaHQ6IDNweCwgJHN0eWxlOiBzb2xpZCwgJGNvbG9yOiAkcHJpbWFyeV9jb2xvcikge1xuICBib3JkZXItYm90dG9tOiAkd2VpZ2h0IHNvbGlkICRjb2xvcjtcbn1cblxuLy8gQm94IFNoYWRvd1xuQG1peGluIGJveC1zaGFkb3coJHRvcCwgJGxlZnQsICRibHVyLCAkY29sb3IsICRpbnNldDpcIlwiKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzokdG9wICRsZWZ0ICRibHVyICRjb2xvciAjeyRpbnNldH07XG4gIC1tb3otYm94LXNoYWRvdzokdG9wICRsZWZ0ICRibHVyICRjb2xvciAjeyRpbnNldH07XG4gIGJveC1zaGFkb3c6JHRvcCAkbGVmdCAkYmx1ciAkY29sb3IgI3skaW5zZXR9O1xufVxuXG4vLyBUcmFuc2l0aW9uXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWZhdWx0KCR0cmFuc2l0aW9uLXByb3BlcnR5LCAkdHJhbnNpdGlvbi10aW1lLCAkbWV0aG9kKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgLW1zLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xufVxuXG5cbkBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6XCJcIikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6JHRvcCAkbGVmdCAkYmx1ciAkY29sb3IgI3skaW5zZXR9O1xuICAtbW96LWJveC1zaGFkb3c6JHRvcCAkbGVmdCAkYmx1ciAkY29sb3IgI3skaW5zZXR9O1xuICBib3gtc2hhZG93OiR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yICN7JGluc2V0fTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRSQU5TRk9STUFUSU9OIFJVTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHJvdGF0ZSgkcm90YXRlOiAwKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgcm90YXRlKCRyb3RhdGUgK2RlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiAgIHJvdGF0ZSgkcm90YXRlICtkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiAgICByb3RhdGUoJHJvdGF0ZSArZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiAgICAgcm90YXRlKCRyb3RhdGUgK2RlZyk7XG4gIHRyYW5zZm9ybTogICAgICByb3RhdGUoJHJvdGF0ZSArZGVnKTtcbn1cblxuQG1peGluIHNjYWxlKCRzY2FsZTogMSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHNjYWxlKCRzY2FsZSk7XG4gIC1tb3otdHJhbnNmb3JtOiAgIHNjYWxlKCRzY2FsZSk7XG4gIC1tcy10cmFuc2Zvcm06ICAgIHNjYWxlKCRzY2FsZSk7XG4gIC1vLXRyYW5zZm9ybTogICAgIHNjYWxlKCRzY2FsZSk7XG4gIHRyYW5zZm9ybTogICAgICBzY2FsZSgkc2NhbGUpO1xufVxuXG5AbWl4aW4gc2tldygkc2tldzogMCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogIHNrZXcoJHNrZXcgK2RlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiAgIHNrZXcoJHNrZXcgK2RlZyk7XG4gIC1tcy10cmFuc2Zvcm06ICAgIHNrZXcoJHNrZXcgK2RlZyk7XG4gIC1vLXRyYW5zZm9ybTogICAgIHNrZXcoJHNrZXcgK2RlZyk7XG4gIHRyYW5zZm9ybTogICAgICBza2V3KCRza2V3ICtkZWcpO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlKCRsZWZ0OiAwLCAkdG9wOiAwKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAgdHJhbnNsYXRlKCRsZWZ0ICtweCwgJHRvcCArcHgpO1xuICAtbW96LXRyYW5zZm9ybTogICB0cmFuc2xhdGUoJGxlZnQgK3B4LCAkdG9wICtweCk7XG4gIC1tcy10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZSgkbGVmdCArcHgsICR0b3AgK3B4KTtcbiAgLW8tdHJhbnNmb3JtOiAgICAgdHJhbnNsYXRlKCRsZWZ0ICtweCwgJHRvcCArcHgpO1xuICB0cmFuc2Zvcm06ICAgICAgdHJhbnNsYXRlKCRsZWZ0ICtweCwgJHRvcCArcHgpO1xufVxuXG4vLyBzaXplIFxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbi8vIFBvc2l0aW9uXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uLCAkdG9wOiBudWxsLCAkcmlnaHQ6IG51bGwsICRib3R0b206IG51bGwsICRsZWZ0OiBudWxsKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gIHRvcDogJHRvcDtcbiAgcmlnaHQ6ICRyaWdodDtcbiAgYm90dG9tOiAkYm90dG9tO1xuICBsZWZ0OiAkbGVmdDtcbn1cblxuLy8gT3BhY2l0eVxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICRvcGFjaXR5LWllOiAkb3BhY2l0eSAqIDEwMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTsgLy9JRThcbn1cblxuXG4vLyBAaW5jbHVkZSByb3RhdGUoMTUpOyByb3RhdGVzIG9iamVjdCAxNSBkZWdyZWVzXG4vLyBAaW5jbHVkZSBzY2FsZSgxLjUpOyBzY2FsZXMgb2JqZWN0IDUwJSB1cFxuLy8gQGluY2x1ZGUgc2tldygxMik7IHNrZXdzIG9iamVjdCAxMiBkZWdyZWVzXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoMTAsIC0yMCk7IG1vdmVzIG9iamVjdCAxMHB4IGxlZnQsIC0yMHB4IHRvcCBcbi8vIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQsIDAsIDAsIDAsIHRyYW5zcGFyZW50KTtcbi8vIEBpbmNsdWRlIHNpemUoMTAwJSwgMXB4KTtcbi8vIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbi8vIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAkdG9wOiAxZW0sICRsZWZ0OiA1MCUpO1xuXG5cblxuIiwiaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBmb250LCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8qIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHMgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogS2VlcHMgcGFnZSBjZW50ZXJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodCAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAgICAgMTAwJTsgLyogd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tLyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBBcHBseSBhIG5hdHVyYWwgYm94IGxheW91dCBtb2RlbCB0byB0aGUgZG9jdW1lbnQ7IHNlZSBodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3LyAqL1xufVxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7IC8qIEluaGVyaXQgYm94LXNpemluZyB0byBtYWtlIGl0IGVhc2llciB0byBjaGFuZ2UgdGhlIHByb3BlcnR5IGZvciBjb21wb25lbnRzIHRoYXQgbGV2ZXJhZ2Ugb3RoZXIgYmVoYXZpb3I7IHNlZSBodHRwOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlLyAqL1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTsgLyogRmFsbGJhY2sgZm9yIHdoZW4gdGhlcmUgaXMgbm8gY3VzdG9tIGJhY2tncm91bmQgY29sb3IgZGVmaW5lZC4gKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG50YWJsZSB7IC8qIHRhYmxlcyBzdGlsbCBuZWVkICdjZWxsc3BhY2luZz1cIjBcIicgaW4gdGhlIG1hcmt1cCAqL1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbmNhcHRpb24sIHRoLCB0ZCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IFwiXCIgXCJcIjtcbn1cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cbmE6aG92ZXIsXG5hOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cbiIsIi5jb250YWluZXIgeyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgIHdpZHRoOiA5MyU7XG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICAvLyBDaGFpbmluZyBTZWxlY3RvcnMsIERvIHdlIG5lZWQgdGhpcyBoZXJlP1xuICAgIC5vbmUge1xuICAgICAgICAmLmNvbHVtbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoNC4xJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnR3by5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXdpZHRoKDEwLjQlKTtcbiAgICB9XG4gICAgLnRocmVlLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoMTYuNiUpO1xuICAgIH1cbiAgICAuZm91ci5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXdpZHRoKDIyLjklKTtcbiAgICB9XG4gICAgLmZpdmUuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCgyOS4xNiUpO1xuICAgIH1cbiAgICAuc2l4LmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoMzUlKTtcbiAgICB9XG4gICAgLnNldmVuLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoNDEuNiUpO1xuICAgIH1cbiAgICAuZWlnaHQuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCg0Ny45JSk7XG4gICAgfVxuICAgIC5uaW5lLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoNTQuMTYlKTtcbiAgICB9XG4gICAgLnRlbi5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXdpZHRoKDYwJSk7XG4gICAgfVxuICAgIC5lbGV2ZW4uY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCg2Ni42NiUpO1xuICAgIH1cbiAgICAudHdlbHZlLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoNzIuOSUpO1xuICAgIH1cbiAgICAudGhpcnRlZW4uY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCg3OS4xNiUpO1xuICAgIH1cbiAgICAuZm91cnRlZW4uY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCg4NSUpO1xuICAgIH1cbiAgICAuZmlmdGVlbi5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXdpZHRoKDkxLjY2JSk7XG4gICAgfVxuICAgIC5zaXh0ZWVuLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoOTcuOSUpO1xuICAgIH1cbiAgICAub25lLXRoaXJkLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbi13aWR0aCgzMS4yNSUpO1xuICAgIH1cbiAgICAub25lLWZvdXJ0aC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW4td2lkdGgoMjMlKTtcbiAgICB9XG4gICAgLnR3by10aGlyZHMuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uLXdpZHRoKDY0LjUlKTtcbiAgICB9XG4gICAgLm9mZnNldC1ieS1vbmUgeyBcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjI1JTtcbiAgICAgICAgIH1cbiAgICAub2Zmc2V0LWJ5LXR3byB7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS10aHJlZSB7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4Ljc1JTtcbiAgICB9IFxuICAgIC5vZmZzZXQtYnktZm91ciB7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgICB9IFxuICAgIC5vZmZzZXQtYnktZml2ZSB7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMxLjI1JTtcbiAgICB9IFxuICAgIC5vZmZzZXQtYnktc2l4IHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzcuNSU7XG4gICAgfSBcbiAgICAub2Zmc2V0LWJ5LXNldmVuIHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDMuNyU7XG4gICAgfSBcbiAgICAub2Zmc2V0LWJ5LWVpZ2h0IHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogNTAlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS1uaW5lIHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogNTYuMjUlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS10ZW4geyBcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2Mi41JTtcbiAgICB9IFxuICAgIC5vZmZzZXQtYnktZWxldmVuIHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogNjguNzUlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS10d2VsdmUgeyBcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3NSU7XG4gICAgfSBcbiAgICAub2Zmc2V0LWJ5LXRoaXJ0ZWVuIHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogODEuMjUlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS1mb3VydGVlbiB7IFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDg3LjUlO1xuICAgIH0gXG4gICAgLm9mZnNldC1ieS1maWZ0ZWVuIHsgXG4gICAgICAgIHBhZGRpbmctbGVmdDogOTMuNzUlO1xuICAgIH0gICAgXG5cbn1cbi5jb2x1bW4sIC5jb2x1bW5zIHsgXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgIC5hbHBoYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAub21lZ2Ege1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuLnJvdyB7IFxuICAgIG1hcmdpbi1ib3R0b206IDIlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuY29udGFpbmVyIHsgXG4gICAgICAgIHdpZHRoOiA5MyU7IFxuICAgICAgICAuY29sdW1uLCAuY29sdW1ucyB7IFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMyU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMyU7XG4gICAgICAgICAgICAuYWxwaGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4zJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vbWVnYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMyU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub25lLmNvbHVtbiB7IFxuICAgICAgICAgICAgd2lkdGg6IDMuNjQlO1xuICAgICAgICB9XG4gICAgICAgIC50d28uY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDkuODklO1xuICAgICAgICB9XG4gICAgICAgIC50aHJlZS5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogMTYuMSU7XG4gICAgICAgIH1cbiAgICAgICAgLmZvdXIuY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDIyLjM5JTtcbiAgICAgICAgfVxuICAgICAgICAuZml2ZS5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogMjguNjQlO1xuICAgICAgICB9XG4gICAgICAgIC5zaXguY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDM0Ljg5JTtcbiAgICAgICAgfVxuICAgICAgICAuc2V2ZW4uY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDQxLjE0JTtcbiAgICAgICAgfVxuICAgICAgICAuZWlnaHQuY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDQ3LjM5JTtcbiAgICAgICAgfVxuICAgICAgICAubmluZS5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogNTMuNjQlO1xuICAgICAgICB9XG4gICAgICAgIC50ZW4uY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDU5Ljg5JTtcbiAgICAgICAgfVxuICAgICAgICAuZWxldmVuLmNvbHVtbnMgeyBcbiAgICAgICAgICAgIHdpZHRoOiA2Ni4xNCU7XG4gICAgICAgIH1cbiAgICAgICAgLnR3ZWx2ZS5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogNzIuMzklO1xuICAgICAgICB9XG4gICAgICAgIC50aGlydGVlbi5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogNzguNjQlO1xuICAgICAgICB9XG4gICAgICAgIC5mb3VydGVlbi5jb2x1bW5zIHsgXG4gICAgICAgICAgICB3aWR0aDogODQuODklO1xuICAgICAgICB9XG4gICAgICAgIC5maWZ0ZWVuLmNvbHVtbnMgeyBcbiAgICAgICAgICAgIHdpZHRoOiA5MS4xNCU7XG4gICAgICAgIH1cbiAgICAgICAgLnNpeHRlZW4uY29sdW1ucyB7IFxuICAgICAgICAgICAgd2lkdGg6IDk3LjM5JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbmUtdGhpcmQuY29sdW1uIHsgXG4gICAgICAgICAgICB3aWR0aDogMzAuNzIlO1xuICAgICAgICB9XG4gICAgICAgIC5vbmUtZm91cnRoLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogMjAuNzIlO1xuICAgICAgICB9XG4gICAgICAgIC50d28tdGhpcmRzLmNvbHVtbiB7IFxuICAgICAgICAgICAgd2lkdGg6IDY0JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LW9uZSB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjI1JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LXR3byB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LXRocmVlIHsgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4Ljc1JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LWZvdXIgeyBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgICAgICB9XG4gICAgICAgIC5vZmZzZXQtYnktZml2ZSB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMS4yNSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1zaXggeyBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzcuNSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1zZXZlbiB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0My43NSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1laWdodCB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1uaW5lIHsgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDU2LjI1JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LXRlbiB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2Mi41JTtcbiAgICAgICAgfVxuICAgICAgICAub2Zmc2V0LWJ5LWVsZXZlbiB7IFxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2OC43NSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS10d2VsdmUgeyBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNzUlO1xuICAgICAgICB9XG4gICAgICAgIC5vZmZzZXQtYnktdGhpcnRlZW4geyBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODEuMjUlO1xuICAgICAgICB9XG4gICAgICAgIC5vZmZzZXQtYnktZm91cnRlZW4geyBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODcuNSU7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1maWZ0ZWVuIHsgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDkzLjc1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jb250YWluZXIgeyBcbiAgICAgICAgd2lkdGg6IDkzJTsgXG4gICAgICAgIC5vbmUuY29sdW1uLFxuICAgICAgICAudHdvLmNvbHVtbnMsXG4gICAgICAgIC50aHJlZS5jb2x1bW5zLFxuICAgICAgICAuZm91ci5jb2x1bW5zLFxuICAgICAgICAuZml2ZS5jb2x1bW5zLFxuICAgICAgICAuc2l4LmNvbHVtbnMsXG4gICAgICAgIC5zZXZlbi5jb2x1bW5zLFxuICAgICAgICAuZWlnaHQuY29sdW1ucyxcbiAgICAgICAgLm5pbmUuY29sdW1ucyxcbiAgICAgICAgLnRlbi5jb2x1bW5zLFxuICAgICAgICAuZWxldmVuLmNvbHVtbnMsXG4gICAgICAgIC50d2VsdmUuY29sdW1ucyxcbiAgICAgICAgLnRoaXJ0ZWVuLmNvbHVtbnMsXG4gICAgICAgIC5mb3VydGVlbi5jb2x1bW5zLFxuICAgICAgICAuZmlmdGVlbi5jb2x1bW5zLFxuICAgICAgICAuc2l4dGVlbi5jb2x1bW5zLFxuICAgICAgICAub25lLXRoaXJkLmNvbHVtbixcbiAgICAgICAgLm9uZS1mb3VydGguY29sdW1uLFxuICAgICAgICAudHdvLXRoaXJkcy5jb2x1bW4gIHsgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgXG4gICAgICAgIH1cbiAgICAgICAgLm9mZnNldC1ieS1vbmUsXG4gICAgICAgIC5vZmZzZXQtYnktdHdvLFxuICAgICAgICAub2Zmc2V0LWJ5LXRocmVlLFxuICAgICAgICAub2Zmc2V0LWJ5LWZvdXIsXG4gICAgICAgIC5vZmZzZXQtYnktZml2ZSxcbiAgICAgICAgLm9mZnNldC1ieS1zaXgsXG4gICAgICAgIC5vZmZzZXQtYnktc2V2ZW4sXG4gICAgICAgIC5vZmZzZXQtYnktZWlnaHQsXG4gICAgICAgIC5vZmZzZXQtYnktbmluZSxcbiAgICAgICAgLm9mZnNldC1ieS10ZW4sXG4gICAgICAgIC5vZmZzZXQtYnktZWxldmVuLFxuICAgICAgICAub2Zmc2V0LWJ5LXR3ZWx2ZSxcbiAgICAgICAgLm9mZnNldC1ieS10aGlydGVlbixcbiAgICAgICAgLm9mZnNldC1ieS1mb3VydGVlbixcbiAgICAgICAgLm9mZnNldC1ieS1maWZ0ZWVuIHsgXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbHVtbnMsIC5jb2x1bW4geyBtYXJnaW46IDA7IH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY29udGFpbmVyIHsgXG4gICAgICAgIHdpZHRoOiA5MyU7XG4gICAgICAgIC5vbmUuY29sdW1uLFxuICAgICAgICAudHdvLmNvbHVtbnMsXG4gICAgICAgIC50aHJlZS5jb2x1bW5zLFxuICAgICAgICAuZm91ci5jb2x1bW5zLFxuICAgICAgICAuZml2ZS5jb2x1bW5zLFxuICAgICAgICAuc2l4LmNvbHVtbnMsXG4gICAgICAgIC5zZXZlbi5jb2x1bW5zLFxuICAgICAgICAuZWlnaHQuY29sdW1ucyxcbiAgICAgICAgLm5pbmUuY29sdW1ucyxcbiAgICAgICAgLnRlbi5jb2x1bW5zLFxuICAgICAgICAuZWxldmVuLmNvbHVtbnMsXG4gICAgICAgIC50d2VsdmUuY29sdW1ucyxcbiAgICAgICAgLnRoaXJ0ZWVuLmNvbHVtbnMsXG4gICAgICAgIC5mb3VydGVlbi5jb2x1bW5zLFxuICAgICAgICAuZmlmdGVlbi5jb2x1bW5zLFxuICAgICAgICAuc2l4dGVlbi5jb2x1bW5zLFxuICAgICAgICAub25lLXRoaXJkLmNvbHVtbixcbiAgICAgICAgLm9uZS1mb3VydGguY29sdW1uLFxuICAgICAgICAudHdvLXRoaXJkcy5jb2x1bW4geyBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29sdW1ucywgLmNvbHVtbiB7IG1hcmdpbjogMDsgfVxufVxuXG5cbi8qICNDbGVhcmluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qIFNlbGYgQ2xlYXJpbmcgR29vZG5lc3MgKi9cbiAgICAuY29udGFpbmVyOmFmdGVyIHsgY29udGVudDogXCJcXDAwMjBcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgY2xlYXI6IGJvdGg7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gICAgLyogVXNlIGNsZWFyZml4IGNsYXNzIG9uIHBhcmVudCB0byBjbGVhciBuZXN0ZWQgY29sdW1ucyxcbiAgICBvciB3cmFwIGVhY2ggcm93IG9mIGNvbHVtbnMgaW4gYSA8ZGl2IGNsYXNzPVwicm93XCI+ICovXG4gICAgLmNsZWFyZml4OmJlZm9yZSxcbiAgICAuY2xlYXJmaXg6YWZ0ZXIsXG4gICAgLnJvdzpiZWZvcmUsXG4gICAgLnJvdzphZnRlcixcbiAgICAucGFuZWwtcm93LXN0eWxlLWZ1bGwtd2lkdGgtbGF5b3V0OmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLWZ1bGwtd2lkdGgtbGF5b3V0OmFmdGVyLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtY3RhOmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLWN0YTphZnRlcixcbiAgICAucGFuZWwtcm93LXN0eWxlLWN0YTpiZWZvcmUsXG4gICAgLnBhbmVsLXJvdy1zdHlsZS1zZWN0aW9uLXBhdHRlcm4yOmFmdGVyLCAgICBcbiAgICAucGFuZWwtcm93LXN0eWxlLXNlY3Rpb24tcGF0dGVybjI6YmVmb3JlLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtd2lkZS1ncmV5OmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLXdpZGUtZ3JleTphZnRlcixcbiAgICAucGFuZWwtcm93LXN0eWxlLXdpZGUtZGFyay1ncmV5OmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLXdpZGUtZGFyay1ncmV5OmFmdGVyLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtc2VjdGlvbi1wYXR0ZXJuOmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLXNlY3Rpb24tcGF0dGVybjphZnRlciAgIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwMjAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgICAucm93OmFmdGVyLFxuICAgIC5jbGVhcmZpeDphZnRlcixcbiAgICAucGFuZWwtcm93LXN0eWxlLWZ1bGwtd2lkdGgtbGF5b3V0OmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLWZ1bGwtd2lkdGgtbGF5b3V0OmFmdGVyLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtd2lkZS1ncmV5OmFmdGVyLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtd2lkZS1ncmV5OmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLXdpZGUtZGFyay1ncmV5OmFmdGVyLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtd2lkZS1kYXJrLWdyZXk6YmVmb3JlLFxuICAgIC5wYW5lbC1yb3ctc3R5bGUtc2VjdGlvbi1wYXR0ZXJuMjphZnRlciwgICAgXG4gICAgLnBhbmVsLXJvdy1zdHlsZS1zZWN0aW9uLXBhdHRlcm4yOmJlZm9yZSxcbiAgICAucGFuZWwtcm93LXN0eWxlLXNlY3Rpb24tcGF0dGVybjpiZWZvcmUsXG4gICAgLnBhbmVsLXJvdy1zdHlsZS1zZWN0aW9uLXBhdHRlcm46YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucm93LFxuICAgIC5jbGVhcmZpeCB7XG4gICAgICB6b29tOiAxOyB9XG5cbiAgICAvKiBZb3UgY2FuIGFsc28gdXNlIGEgPGJyIGNsYXNzPVwiY2xlYXJcIiAvPiB0byBjbGVhciBjb2x1bW5zICovXG4gICAgLmNsZWFyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG5cblxuXG4vKiA9PXw9PSBwcmltYXJ5IHN0eWxlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXV0aG9yOiBMdWNhcyAtIFNrZWxldG9uIEJhc2VkIE1lZGlhIFF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNtYWxsZXIgdGhhbiBzdGFuZGFyZCA5NjAgKGRldmljZXMgYW5kIGJyb3dzZXJzKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge31cblxuLyogVGFibGV0IFBvcnRyYWl0IHNpemUgdG8gc3RhbmRhcmQgOTYwIChkZXZpY2VzIGFuZCBicm93c2VycykgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge31cblxuLyogQWxsIE1vYmlsZSBTaXplcyAoZGV2aWNlcyBhbmQgYnJvd3NlcikgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHt9XG5cbi8qIE1vYmlsZSBMYW5kc2NhcGUgU2l6ZSB0byBUYWJsZXQgUG9ydHJhaXQgKGRldmljZXMgYW5kIGJyb3dzZXJzKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7fVxuXG4vKiBNb2JpbGUgUG9ydHJhaXQgU2l6ZSB0byBNb2JpbGUgTGFuZHNjYXBlIFNpemUgKGRldmljZXMgYW5kIGJyb3dzZXJzKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge30iLCJib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkc2Vjb25kYXJ5O1xuXHRmb250LWZhbWlseTogJGNvcHlfZm9udDtcblx0QGluY2x1ZGUgZm9udC1zaXplKDEuNik7XG5cdGxpbmUtaGVpZ2h0OiAkZm9udF9fbGluZS1oZWlnaHQtYm9keTtcbn1cblxuQGltcG9ydCBcImhlYWRpbmdzXCI7XG5cbkBpbXBvcnQgXCJjb3B5XCI7IiwiaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuXHRjb2xvcjogJHNlY29uZGFyeTtcblx0Y2xlYXI6IGJvdGg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmgxIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDQuOCk7XG59XG5cbmgyIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDMuNik7XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDMuMCk7XG59XG5cbmg0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDIuNCk7XG59XG5cbmg1IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDEuOCk7XG59XG5cbmg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDEuNik7XG59IiwicCB7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG5iLCBzdHJvbmcge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGZuLCBjaXRlLCBlbSwgaSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogMCAxLjVlbTtcbn1cblxuYWRkcmVzcyB7XG5cdG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG5wcmUge1xuXHRiYWNrZ3JvdW5kOiAkYzE7XG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fcHJlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMS4zKTtcblx0bGluZS1oZWlnaHQ6ICRmb250X19saW5lLWhlaWdodC1wcmU7XG5cdG1hcmdpbi1ib3R0b206IDEuNmVtO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjZlbTtcbn1cblxuY29kZSwga2JkLCB0dCwgdmFyIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fY29kZTtcbn1cblxuYWJiciwgYWNyb255bSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJHNlY29uZGFyeTtcblx0Y3Vyc29yOiBoZWxwO1xufVxuXG5tYXJrLCBpbnMge1xuXHRiYWNrZ3JvdW5kOiAjZDdkN2Q3O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnN1cCxcbnN1YiB7XG5cdGZvbnQtc2l6ZTogNzUlO1xuXHRoZWlnaHQ6IDA7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcblx0Ym90dG9tOiAxZXg7XG59XG5cbnN1YiB7XG5cdHRvcDogLjVleDtcbn1cblxuc21hbGwge1xuXHRmb250LXNpemU6IDc1JTtcbn1cblxuYmlnIHtcblx0Zm9udC1zaXplOiAxMjUlO1xufSIsImhyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGMxO1xuXHRib3JkZXI6IDA7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuQGltcG9ydCBcImxpc3RzXCI7XG5cbmltZyB7XG5cdGhlaWdodDogYXV0bzsgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xufVxuXG5maWd1cmUge1xuXHRtYXJnaW46IDA7XG59XG5cblxuXG5AaW1wb3J0IFwidGFibGVzXCI7XG5cbkBpbXBvcnQgXCJmb3Jtcy9mb3Jtc1wiO1xuXG5AaW1wb3J0IFwibGlzdHNcIjsgICAiLCJ1bCwgb2wge1xuXHRtYXJnaW46IDAgMCAxLjVlbSAzZW07XG59XG5cbnVsIHtcblx0bGlzdC1zdHlsZTogc3F1YXJlO1xufVxuXG5vbCB7XG5cdGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbmxpID4gdWwsXG5saSA+IG9sIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLWxlZnQ6IDEuNWVtOyBcbn1cblxuZHQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGQge1xuXHRtYXJnaW46IDAgMS41ZW0gMS41ZW07XG59IiwidGFibGUge1xuXHRcblx0bWFyZ2luOiAwIDAgMS41ZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRcblx0dGgge1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHRcblx0XHRhIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXHR9XG5cblx0dGQsIHRoIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMxO1xuXHRcdHBhZGRpbmc6MTBweDtcblx0fVxuXHR0aGVhZCB0ciB0aCB7XG5cdFx0Zm9udC13ZWlnaHQ6NzAwO1xuXHR9XHRcbn1cblx0IiwiYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSB7XG5cdGZvbnQtc2l6ZTogMTAwJTsgLyogQ29ycmVjdHMgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzICovXG5cdG1hcmdpbjogMDsgLyogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFNi83LCBGMy80LCBTNSwgQ2hyb21lICovXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzICovXG59XG5zZWxlY3Qge1xuXHRcdFx0Ly93aWR0aDogMzUlO1xuXHRcdFx0YmFja2dyb3VuZDogICR3aGl0ZSB1cmwoJ2ltYWdlcy9kb3duLnBuZycpIG5vLXJlcGVhdCA5NSUgNTAlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGMxO1xuXHRcdFx0cGFkZGluZzogNXB4IDEwJSA1cHggMyU7XG5cdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XG59XG5cbkBpbXBvcnQgXCJidXR0b25zXCI7XG5cbkBpbXBvcnQgXCJmaWVsZHNcIjsiLCJidXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7ICBcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSAnaW5wdXQnIGFuZCBvdGhlcnMgKi9cblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgJ2lucHV0JyB0eXBlcyBpbiBpT1MgKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cdHBhZGRpbmc6IDFlbSAxLjVlbTtcblx0Y29sb3I6ICR3aGl0ZTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbi1kZWZhdWx0KGFsbCwgMC41cywgZWFzZSk7XG5cbn1cblxuYnV0dG9uOmhvdmVyLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuXHRib3JkZXItY29sb3I6ICRjNDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGM0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiAkd2hpdGU7XG5cbn1cblxuYnV0dG9uOmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG5idXR0b246YWN0aXZlLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuXHRib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59IiwiaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0cGFkZGluZzogMDsgLyogQWRkcmVzc2VzIGV4Y2VzcyBwYWRkaW5nIGluIElFOC85ICovXG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogQWRkcmVzc2VzIGFwcGVhcmFuY2Ugc2V0IHRvIHNlYXJjaGZpZWxkIGluIFM1LCBDaHJvbWUgKi9cblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAvKiBDb3JyZWN0cyBpbm5lciBwYWRkaW5nIGRpc3BsYXllZCBvZGRseSBpbiBTNSwgQ2hyb21lIG9uIE9TWCAqL1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgLyogQ29ycmVjdHMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGRpc3BsYXllZCBvZGRseSBpbiBGRjMvNCB3d3cuc2l0ZXBlbi5jb20vYmxvZy8yMDA4LzA1LzE0L3RoZS1kZXZpbHMtaW4tdGhlLWRldGFpbHMtZml4aW5nLWRvam9zLXRvb2xiYXItYnV0dG9ucy8gKi9cblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxudGV4dGFyZWEge1xuXHRjb2xvcjogJGJsYWNrO1xuXHRib3JkZXItd2lkdGg6IDFweCA7XG5cdGJvcmRlci1zdHlsZTogIHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRjMTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbi1kZWZhdWx0KGFsbCwgMC41cywgZWFzZSk7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG59XG5cblxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0cGFkZGluZzogNnB4IDE1cHg7XG5cdHdpZHRoOiA5NiU7XG59XG5cbnRleHRhcmVhIHtcblx0b3ZlcmZsb3c6IGF1dG87IC8qIFJlbW92ZXMgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUU2LzcvOC85ICovXG5cdHBhZGRpbmc6IDEwcHg7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzICovXG5cdHdpZHRoOiAxMDAlO1xufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuMSBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImxpbmtzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuMiBNZW51c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm1lbnVzXCI7XG5cbi8qIHNhc3MgZm9yIHBhZ2luYXRpb24gKi9cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb24sLm5hdmlnYXRpb24ge1xuXHRjbGVhcjogYm90aDtcbn1cbi5tYXNvbnJ5LWJsb2ctY29udGVudCB7XG5cdC5wYWdlLW5hdmlnYXRpb24sLnBvc3QtbmF2aWdhdGlvbiB7XG5cdCAgICBib3R0b206IC01MHB4OyAgXG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICByaWdodDogMDtcblx0fVxufVxuLm1hc29ucnktYmxvZy1jb250ZW50IC5wb3N0LW5hdmlnYXRpb24ge1xuXHR3aWR0aDogMTAwJTtcbn1cblx0XG4vKiBzYXNzIGZvciBibG9nIHBhZ2UgYm94IGRlc2lnbiAqL1xuLmJsb2ctYm94IHtcblx0YXJ0aWNsZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGMxO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0cGFkZGluZy10b3A6MCFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcdFxuXHRcdGhlYWRlciwuZW50cnktY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblx0XHQuZW50cnktZm9vdGVyIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG59XG5vbC53ZWJ1bG91c19wYWdlX25hdmkge1xuXHRwb3NpdGlvbjpzdGF0aWM7XG59XG4udHdvLWNvbC1ibG9nOm50aC1vZi10eXBlKDJuKzEpIHtcblx0Y2xlYXI6IGJvdGg7XG59IiwiYSB7XG5cdGNvbG9yOiAkcHJpbWFyeTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uLWRlZmF1bHQoYWxsLCAwLjVzLCBlYXNlKTtcblxuXHQmOnZpc2l0ZWQge1xuXHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHRvdXRsaW5lOiBub25lO1xuICBcdFx0b3V0bGluZS1vZmZzZXQ6IDA7XG5cdH1cbn0iLCIubmF2LXdyYXAge1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcdFxufVxuLm1haW4tbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgICAgICBcblx0ZmxvYXQ6IGxlZnQ7XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7IFxuXHRcdG1hcmdpbjogMDtcblxuXHRcdHVsIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgICAgICAgICAgIFxuXHRcdFx0dG9wOiBhdXRvOyAgXG5cdFx0XHRsZWZ0OiAtOTk5ZW07XG5cdFx0XHR6LWluZGV4OiA5OTk5OTsgICAgICAgICAgIFxuXHRcdFx0XG5cdFx0XHR1bCB7ICAgICBcblx0XHRcdFx0bGVmdDogLTk5OWVtOyAgICAgXG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0bGkge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRcdCY6aG92ZXIgPiB1bCB7XG5cdFx0XHRcdFx0Ly9yaWdodDogMTAwJTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHR3aWR0aDogMjUwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHggMTVweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0OmhvdmVyID4gYSB7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bGk6aG92ZXIgPiB1bCB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFxuXHRcdH1cblx0fVxuXHRsaSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6aG92ZXIgPiBhIHtcblxuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cdFx0XHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdGNvbnRlbnQ6XCJcIjtcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRcdFx0XHR0b3A6LTEwcHg7XG5cdFx0XHRcdGxlZnQ6MDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRjb250ZW50OlwiXFxmMGQ3XCI7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0XHRcdHJpZ2h0OiAtMTFweDsgICAgICBcblx0XHRcdFx0dG9wOiAtMjNweDtcblx0XHRcdFx0Zm9udC1zaXplOiAyOXB4O1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NGRlZyk7XG5cdFx0XHR9XG5cdFxuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiAxOHB4IDIycHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cdH1cblx0bGk6aG92ZXIge1xuXHRcdFxuXHRcdC5zdWItbWVudSBhLC5jaGlsZHJlbiBhIHtcblx0XHRcdCY6YWZ0ZXIsJjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY3VycmVudF9wYWdlX2l0ZW0sXG5cdC5jdXJyZW50LW1lbnUtaXRlbSxcblx0LmN1cnJlbnRfcGFnZV9hbmNlc3RvciwuY3VycmVudC1tZW51LXBhcmVudCB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHQvL2JhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0Y29udGVudDpcIlwiO1xuXHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cdFx0XHRcdHRvcDotMTBweDtcblx0XHRcdFx0bGVmdDowO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGNvbnRlbnQ6XCJcXGYwZDdcIjtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHRcdFx0cmlnaHQ6IC0xMXB4OyAgICAgIFxuXHRcdFx0XHR0b3A6IC0yM3B4O1xuXHRcdFx0XHRmb250LXNpemU6IDI5cHg7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ0ZGVnKTtcblx0XHRcdH1cdFx0XG5cdH1cblxuXHRcblx0LmN1cnJlbnRfcGFnZV9pdGVtLFxuXHQuY3VycmVudC1tZW51LWl0ZW0sXG5cdC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IsLmN1cnJlbnQtbWVudS1wYXJlbnQgPmEge1xuXHRcdC8vcGFkZGluZzogMHB4IDNweDtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHR9XG5cdFxuXHQuc3ViLW1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtLFxuXHQuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtLFxuXHQuc3ViLW1lbnUgLmN1cnJlbnRfcGFnZV9hbmNlc3Rvcixcblx0LmNoaWxkcmVuIC5jdXJyZW50X3BhZ2VfaXRlbSxcblx0LmNoaWxkcmVuLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtLFxuXHQuY2hpbGRyZW4tbWVudSAuY3VycmVudF9wYWdlX2FuY2VzdG9yICB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0XG5cdC5zdWItbWVudSAuY3VycmVudF9wYWdlX2l0ZW0gPmEsXG5cdC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPmEgLFxuXHQuc3ViLW1lbnUgLmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+YSxcblx0LmNoaWxkcmVuIC5jdXJyZW50X3BhZ2VfaXRlbSA+YSxcblx0LmNoaWxkcmVuIC5jdXJyZW50LW1lbnUtaXRlbSA+YSAsXG5cdC5jaGlsZHJlbiAuY3VycmVudF9wYWdlX2FuY2VzdG9yID5hIHtcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdCY6YmVmb3JlLCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuXG4ubWFpbi1uYXZpZ2F0aW9uIC5zdWItbWVudSwubWFpbi1uYXZpZ2F0aW9uIC5jaGlsZHJlbiB7XG5cdHBhZGRpbmc6IDEwcHggMHB4IDBweDtcblx0d2lkdGg6IDI1MHB4O1xuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRcblx0bGkge1xuXHRcdFxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQvL2JhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHRcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cdFx0XHQvL3RleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0cGFkZGluZzoxMnB4IDE1cHggMTJweCAyNXB4O1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHQmOmFmdGVyLCY6YmVmb3JlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdFx0XG5cdH1cblx0bGk6aG92ZXIge1xuXHRcdCY6YmVmb3JlLCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cdFxuXHRcbn1cblxuXG4vKiBTbWFsbCBtZW51ICovXG4ubWVudS10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQubWVudS10b2dnbGUsXG5cdC5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCAubmF2LW1lbnUge1xuXHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XG5cdFx0bGkge1xuXHRcdFx0Ly9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGM0O1xuXHRcdH1cblx0XHR1bCB7XG5cdFx0XHQvL2JvcmRlcjogMXB4IHNvbGlkICRjNDtcblx0XHRcdGxpOmhvdmVyIHVsIHtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7ICBcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXHQgLnNpdGUtaGVhZGVyIC5zdGlja3ktbmF2IHtcblx0ICAgcG9zaXRpb246IHN0YXRpYztcblx0IH1cblx0LmNoaWxkcmVuIGFydGljbGU6OmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5tYWluLW5hdmlnYXRpb24gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5zdWItbWVudSwubWFpbi1uYXZpZ2F0aW9uIC5jaGlsZHJlbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgXHQuc3ViLW1lbnUsLmNoaWxkcmVuIHtcbiAgICAgXHRcdHBhZGRpbmctbGVmdDoyMHB4O1xuICAgICBcdFx0YmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgIFx0fVxuXHQgICAgIGxpIGEge1xuXHQgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5OyBcblx0ICAgICAgICAmOmhvdmVyIHtcblx0ICAgICAgICBcdGNvbG9yOiAkc2Vjb25kYXJ5OyBcblx0ICAgICAgICB9XG5cdCAgICAgfVxuXHQgICAgIC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEge1xuXHQgICAgIFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdCAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgdWwge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIGEge1xuICAgICAgICAgICB3aWR0aDogMTAwJTsgXG4gICAgICAgIH1cbiAgICAgIGxpOmhvdmVyID4gdWwge1xuICAgICAgICBtYXJnaW4tdG9wOjAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblx0IFxuXG5cdC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtOjpiZWZvcmUsIC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtOjpiZWZvcmUsIC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9hbmNlc3Rvcjo6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50LW1lbnUtcGFyZW50OjpiZWZvcmUsLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW06OmFmdGVyLCAubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50LW1lbnUtaXRlbTo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9hbmNlc3Rvcjo6YWZ0ZXIsIC5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1wYXJlbnQ6OmFmdGVyLC5tYWluLW5hdmlnYXRpb24gbGk6aG92ZXI6OmFmdGVyLC5tYWluLW5hdmlnYXRpb24gbGk6aG92ZXI6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHR9XG5cdC5tYWluLW5hdmlnYXRpb24ge1xuXHRcdGZsb2F0OiBub25lO1xuXHR9XG5cdHNpdGUtbmF2aWdhdGlvbiBidXR0b257XG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnk7XG5cdH1cblx0Lm1lbnUtYWxsLXBhZ2VzLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cblx0Lm1haW4tbmF2aWdhdGlvbiB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cblx0Lm1haW4tbmF2aWdhdGlvbiAubWVudSB1bC5uYXYtbWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uY29tbWVudC1uYXZpZ2F0aW9uLFxuLnBhZ2luZy1uYXZpZ2F0aW9uLFxuLnBvc3QtbmF2aWdhdGlvbiB7XG5cdG1hcmdpbjogMCAwIDEuNWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29tbWVudC1uYXZpZ2F0aW9uICB7XG5cdG1hcmdpbi1ib3R0b206IDIuNWVtO1xufVxuXG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucGFnaW5nLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogNDglO1xuXHRtYXJnaW46IDElO1xufVxuXG5cblxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucGFnaW5nLW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR3aWR0aDogNDclO1xuXHRtYXJnaW46IDElO1xufVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHtcblx0c3BhbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ubmF2aWdhdGlvbiBhLFxuLm1vcmUtbGluayxcbi5jb21tZW50LW5hdmlnYXRpb24gYSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYzQ7XG5cdFx0XHRjb2xvcjogJGM0O1xuXHRcdH1cbn1cblxuXG4uY29tbWVudC1uYXZpZ2F0aW9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQubmF2LXByZXZpb3VzIHtcblx0XHRhIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNTBweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGM0O1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHQubWV0YS1uYXYge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubmF2LW5leHQge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNTBweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjNDtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Lm1ldGEtbmF2IHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVx0XHRcblx0fVxuXG59XG5cblxuLm5hdi1saW5rcyxcbi5tb3JlLWxpbmssLmNvbW1lbnQtbmF2aWdhdGlvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuOCk7ICAgICBcblx0XHRmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcblx0XHRcblx0fVxuXG5cdC5tZXRhLW5hdiB7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyNXB4KTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDIuMik7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHRvcDogMzAlO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblx0Lm5hdi1wcmV2aW91czphY3RpdmUsLm5hdi1uZXh0OmFjdGl2ZSB7XG5cdFx0XG5cdH1cblx0Lm5hdi1wcmV2aW91czpob3ZlciwubmF2LW5leHQ6aG92ZXIge1xuXHRcdCBib3gtc2hhZG93OiAwIDdweCA2cHggLTZweCAkYmxhY2s7XG5cdH1cblx0Lm5hdi1wcmV2aW91cywubmF2LW5leHQge1xuXHRcdCBib3gtc2hhZG93OiAwIDdweCA2cHggLTZweCAkYmxhY2s7XG5cdH1cblx0Lm5hdi1wcmV2aW91cyB7XG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdH1cblxuXHRcdC5tZXRhLW5hdiB7XG5cdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Lm1ldGEtbmF2IHtcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubmF2LW5leHQge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNTBweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0fVxuXG5cdFx0Lm1ldGEtbmF2IHtcblx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XG5cdFx0XHRcdC5tZXRhLW5hdiB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cdFx0XG5cdH1cbn1cblxuYS5tb3JlLWxpbmsge1xuXHRwYWRkaW5nOiA1cHggMTBweDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0d2lkdGg6IDgwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTJweDsgICBcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cblxuXG4ubmF2LWxpbmtzIGE6aG92ZXIgLm1ldGEtbmF2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiAkYzQ7XG59XG4ucGFnZS1uYXZpZ2F0aW9uIHtcblx0bWFyZ2luLXRvcDogNjBweDtcbn1cblxuLm1lbnUubmF2LW1lbnU6OmFmdGVyLCAubWVudS5uYXYtbWVudTo6YmVmb3JlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMDtcbiAgICB9XG5cbm9sLndlYnVsb3VzX3BhZ2VfbmF2aSB7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lOyAgXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cblx0XHRhIHsgICAgICBcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyKTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHQvL3BhZGRpbmc6IDEwcHg7XHRcblx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTsgICAgXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjcpO1xuXHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0XHRsZWZ0OiAwcHg7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdGhlaWdodDogNTBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XG5cdFx0XHR9XHRcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDVweCAxMXB4IDAgcmdiYSgkYmxhY2ssMC4xOCksIDAgNHB4IDE1cHggMCByZ2JhKCRibGFjaywwLjE1KTtcblx0XHR9XG5cdH1cblx0XG5cdC5icG4tcHJldi1saW5rIGE6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZjA1M1wiO1xuXHR9XG5cdC5icG4tbmV4dC1saW5rIGE6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZjA1NFwiO1xuXHR9XG5cblx0bGkuYnBuLWN1cnJlbnQge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDIpO1x0XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR0b3A6IC0xOHB4O1xuXHR9XG5cblx0LmJwbi1uZXh0LWxpbmssLmJwbi1wcmV2LWxpbmsge1xuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcdFxuXHRcdFxuXHR9XG59XG5cbi5zdWItbWVudSB7XG4gIC5jdXJyZW50X3BhZ2VfaXRlbTo6YmVmb3JlLC5jdXJyZW50LW1lbnUtaXRlbTo6YmVmb3JlLC5jdXJyZW50X3BhZ2VfYW5jZXN0b3I6OmJlZm9yZSwuY3VycmVudC1tZW51LXBhcmVudDo6YmVmb3JlIHtcbiAgICB0b3A6MDtcbiAgfVxufSIsIi5wYWdlLWNvbnRlbnQgaW1nLndwLXNtaWxleSxcbi5lbnRyeS1jb250ZW50IGltZy53cC1zbWlsZXksXG4uY29tbWVudC1jb250ZW50IGltZy53cC1zbWlsZXkge1xuXHRib3JkZXI6IG5vbmU7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMgKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LjEgQ2FwdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJjYXB0aW9uc1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LjIgR2FsbGVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiZ2FsbGVyaWVzXCI7IiwiLndwLWNhcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuXHRcdEBpbmNsdWRlIGNlbnRlci1ibG9jaztcblx0fVxuXG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdG1hcmdpbjogMC44MDc1ZW0gMDtcblx0fVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi5nYWxsZXJ5IHtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiA1MCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAzMy4zMyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAyNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAyMCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAxNi42NiU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAxNC4yOCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcblx0bWF4LXdpZHRoOiAxMi41JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuXHRtYXgtd2lkdGg6IDExLjExJTtcbn1cblxuLmdhbGxlcnktY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSIsIkBpbXBvcnQgXCJhY2Nlc3NpYmlsaXR5XCI7XG5cbkBpbXBvcnQgXCJhbGlnbm1lbnRzXCI7XG5cbkBpbXBvcnQgXCJjbGVhcmluZ3NcIjtcblxuQGltcG9ydCBcImluZmluaXRlLXNjcm9sbFwiOyIsIi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMgKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDFweDtcblx0d2lkdGg6IDFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdC8vIGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHQvLyBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdFx0Y2xpcDogYXV0byAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDVweDtcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0b3A6IDVweDtcblx0XHR3aWR0aDogYXV0bztcblx0XHR6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIgKi9cblx0fVxufSIsIi5hbGlnbmxlZnQge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG5cdEBpbmNsdWRlIGNlbnRlci1ibG9jaztcbn0iLCIuY2xlYXI6YmVmb3JlLFxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmJlZm9yZSxcbi5jb21tZW50LWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDpiZWZvcmUsXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxuLnNpdGUtZm9vdGVyOmJlZm9yZSxcbi5zaXRlLWZvb3RlcjphZnRlciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY2xlYXI6YWZ0ZXIsXG4uZW50cnktY29udGVudDphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXgtYWZ0ZXI7XG59IiwiXHQvKiBHbG9iYWxseSBoaWRkZW4gZWxlbWVudHMgd2hlbiBJbmZpbml0ZSBTY3JvbGwgaXMgc3VwcG9ydGVkIGFuZCBpbiB1c2UuICovXG4uaW5maW5pdGUtc2Nyb2xsIC5wYWdpbmctbmF2aWdhdGlvbiwgLyogT2xkZXIgLyBOZXdlciBQb3N0cyBOYXZpZ2F0aW9uIChhbHdheXMgaGlkZGVuKSAqL1xuLmluZmluaXRlLXNjcm9sbC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIgeyAvKiBUaGVtZSBGb290ZXIgKHdoZW4gc2V0IHRvIHNjcm9sbGluZykgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogV2hlbiBJbmZpbml0ZSBTY3JvbGwgaGFzIHJlYWNoZWQgaXRzIGVuZCB3ZSBuZWVkIHRvIHJlLWRpc3BsYXkgZWxlbWVudHMgdGhhdCB3ZXJlIGhpZGRlbiAodmlhIC5uZXZlcmVuZGluZykgYmVmb3JlICovXG4uaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSIsIi5zaXRlLWhlYWRlciB7XG5cdFxufVxuXG4uYnJhbmRpbmcgeyAgICAgXG5cdHBhZGRpbmc6IDIwcHggMHB4IDMwcHg7XG5cblx0LnNpdGUtYnJhbmRpbmcge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnNpdGUtZGVzY3JpcHRpb24ge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNik7XG5cdFx0XHRjb2xvcjogJGMyO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRjb3B5X2ZvbnQ7XG5cdFx0XHRwYWRkaW5nOiAwcHggMTBweCAxMHB4IDBweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdFx0XG5cdFx0fVxuXG5cdFx0LnNpdGUtdGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0YTpmaXJzdC1sZXR0ZXIge1xuXHRcdFx0XHRjb2xvcjokc2Vjb25kYXJ5O1xuXHRcdFx0fVxuXHRcdFx0YTpob3ZlcjpmaXJzdC1sZXR0ZXIge1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHR9XG5cdFx0fVx0XG5cblx0fVxufVxuXG4uc3RpY2t5LW5hdiB7XG4gXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogLTJweDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwMDA7XG59XG4uYWRtaW4tYmFyIC5uYXYtd3JhcC5zdGlja3ktbmF2IHtcbiAgIHRvcDogMzBweDtcbn1cblxuXG5cbi5uby1zaWRlYmFyIHtcbiBcdGZsb2F0OiBub25lO1xuIFx0bWFyZ2luOiAwIGF1dG87XG4gXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLyogQ3VzdG9tIEhlYWRlciBJbWFnZSAqL1xuXG4uaGVhZGVyLWltYWdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuLm92ZXJsYXkge1xuXHRoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBTVElDS1kgSEVBREVSICovXG5cbi5zdGlja3ktaGVhZGVyICNuYXYtd3JhcCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAtMnB4O1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTAwMDtcblx0LnNlYXJjaC1mb3JtICB7XG5cdFx0dG9wOiA1cHg7IFxuXHR9XG59XG4uYm94ZWQtY29udGFpbmVyIC5zdGlja3ktaGVhZGVyICNuYXYtd3JhcCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRsZWZ0OmF1dG87XG59XG4uYWRtaW4tYmFyIC5zdGlja3ktaGVhZGVyICNuYXYtd3JhcCB7XG5cdCB0b3A6IDMwcHg7XG59XG5cblxuXG5cbi8qIEJSRUFLIE5FV1MgKi9cbi5icmVha25ld3Mge1xuXHQucmVjZW50LW5ld3Mtd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0dWwgbGksdWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblx0dWwge1xuXHRcdG1hcmdpbi10b3A6IC0xMXB4O1xuXHR9XG5cdC5ibi10aXRsZSAge1xuXHRcdHRvcDogMjBweDtcblx0XHR6LWluZGV4OjE7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNCk7XG5cdFx0cGFkZGluZzogNnB4O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMTlweDtcblx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDE5cHg7XG5cdFx0fVxuXHR9XG5cdFxufVxuXG5cblxuQGltcG9ydCBcInRvcC1oZWFkZXJcIjtcbiIsIi50b3AtbmF2IHtcbmJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5tYXJnaW4tYm90dG9tOiAwcHg7XG5mb250LXNpemU6MTRweDtcblx0LmVpZ2h0e1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuXHRcdGNvbG9yOiAkd2hpdGU7ICAgIFxuXHR9XG5cdGFzaWRlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cdC50ZXh0d2lkZ2V0IHtcblx0XHRwYWRkaW5nOjA7XG5cdH1cblx0LndpZGdldF90ZXh0IHtcblx0XHRtYXJnaW46MHB4OyAgICBcblx0fVxuXHRcblx0dWwgeyAgIFxuXHRcdG1hcmdpbjowO1xuXHRcdGxpe1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0Jjpob3ZlciBhIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHBhZGRpbmc6IDRweCAycHggNHB4IDBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHR9XG5cdFx0XHRpIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XHRcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1x0XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNhcnQtcmlnaHQgbGkge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0fVxuXHRcbn1cblxuLnRvcC1yaWdodCB7XHRcbm1hcmdpbi10b3A6IDMwcHg7XG5cdFx0dWwge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bGkgeyBcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6ICBub25lO1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ1cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0NXB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0LmZhIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgNXB4IDExcHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpLCAwIDRweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFxuXHRcdH1cblx0XHRhc2lkZSB7XG5cdFx0XHRtYXJnaW46MDtcblx0XHR9XG59IiwiLnNpdGUtY29udGVudCB7XG5cdHBhZGRpbmctdG9wOiA1MHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcbn1cblxuXG4uc2l0ZS1tYWluIHtcblx0bWFyZ2luOiAxLjVlbSAwO1xuXHRhcnRpY2xlLnBvc3Qge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxufVxuXG4uc2luZ2xlIHtcblx0LnNpdGUtbWFpbiBhcnRpY2xlLnBvc3Qge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9IFxufVxuLmZsdWlkLWhlYWRlciB7XG5cdC5uYXYtd3JhcCAudGhpcnRlZW4sLm5hdi13cmFwIC5zaXh0ZWVuIHtcblx0XHRtYXJnaW4tbGVmdDowO1xuXHR9XG59XG5cbkBpbXBvcnQgXCJhc2lkZXNcIjtcblxuQGltcG9ydCBcInNvY2lhbFwiO1xuXG5AaW1wb3J0IFwiY29tbWVudHNcIjsgXG5cbkBpbXBvcnQgXCJwb3N0cy1hbmQtcGFnZXNcIjtcblxuQGltcG9ydCBcImZyb250LXBhZ2VcIjtcblxuQGltcG9ydCBcImZyb250cGFnZV9mbGV4X3NsaWRlclwiO1xuXG5AaW1wb3J0IFwid29vY29tbWVyY2VcIjtcblxuLyogU0lURSBTVFlMRSAqL1xuLmNvbnRhaW5lciAuY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG4uZmx1aWQtY29udGFpbmVyIC5jb250YWluZXIge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiBub25lO1xufVxuLmJveGVkLWNvbnRhaW5lciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIHNpbmdsZSBwYWdlICYgYmxvZyAqL1xuLnNpbmdsZV9wYWdlX2ZsZXhzbGlkZXJfZmVhdHVyZV9pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xufSIsIi5ibG9nIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlLFxuLmFyY2hpdmUgLmZvcm1hdC1hc2lkZSAuZW50cnktdGl0bGUge1xuXG59IiwiLnNoYXJlLWJveCB7XG5cdC53aWRnZXQtdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdH1cblx0dWwge1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdGxpIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRhIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkYzE7XG5cdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSg1MHB4LCA1MHB4KTtcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgICAgICAgXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDUwcHg7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDVweCAxMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KSwgMCA0cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMi4zKTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi5zaGFyZS1ib3gge1xuXHRoNCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufSIsIi5jb21tZW50LWNvbnRlbnQgYSB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi5jb21tZW50LW5hdmlnYXRpb24ge1xuXHRjbGVhcjogYm90aDtcbn1cblxuLmNvbW1lbnQtY29udGVudCBwIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmJ5cG9zdGF1dGhvciB7XG5cdGRpc3BsYXk6IGJsb2NrOyAgIFxufVxuXG5oMi5jb21tZW50cy10aXRsZSB7ICAgICAgXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5vbC5jb21tZW50LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxub2wuY29tbWVudC1saXN0IG9sLmNoaWxkcmVuIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lOyBcblx0bWFyZ2luLWxlZnQ6IDEwJTtcblxufVxuXG5vbC5jb21tZW50LWxpc3QgPiBsaSB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jb21tZW50LWJvZHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbm9sLmNvbW1lbnQtbGlzdCAucmVwbHkge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTAwcHg7XG4gICAgdG9wOiAxMjVweDtcblxuICAgICY6aG92ZXIge1xuICAgIFx0YSwmOmJlZm9yZSAge1xuICAgIFx0XHRjb2xvcjogJHNlY29uZGFyeTtcbiAgICBcdH1cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0cmlnaHQ6IDdweDtcbiAgICBcdGNvbnRlbnQ6XCJcXGYxMTJcIjtcbiAgICBcdGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgXHRjb2xvcjogJHByaW1hcnk7XG4gICAgXHRAaW5jbHVkZSBmb250LXNpemUoMS41KTtcbiAgICBcdFxuICAgIH1cbn1cblxuLmJ5dXNlciAucmVwbHkgYTpob3ZlciB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cblxuLmNvbW1lbnQtYXV0aG9yIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJHNlY29uZGFyeTtcblx0IGltZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQuZm4ge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcdFxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5vbC5jb21tZW50LWxpc3QgYXJ0aWNsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODA7XG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdHBhZGRpbmc6IDIwcHggMjVweDtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDE0MHB4KTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6MTtcblx0YmFja2dyb3VuZDogJGM1O1xuXHRtaW4taGVpZ2h0OiAxMjBweDtcblxuXHQuZm4ge1xuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHR9XG5cdH1cbn1cblxuXG5vbC5jb21tZW50LWxpc3QgYXJ0aWNsZSAuY29tbWVudC1hdXRob3IgaW1nIHtcblx0dG9wOiAtMnB4O1xuXHRsZWZ0OiAtMTQwcHg7XG5cdHdpZHRoOiAxMjBweDtcblx0aGVpZ2h0OiAxMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGMyO1xufVxuXG5vbC5jb21tZW50LWxpc3QgYXJ0aWNsZSB7fVxuXG5vbC5jb21tZW50LWxpc3QgbGkuYnl1c2VyIHtcblx0YXJ0aWNsZSB7XG5cdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnksIDAuMSk7XG5cdH1cblxuXHQuY29tbWVudC1tZXRhZGF0YSBhOmhvdmVyIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0fVxufVxuXG4uY29tbWVudC1tZXRhZGF0YSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjMpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRhIHtcblx0XHRjb2xvcjogJGMyO1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdH1cblx0fVxufVxuXG4uYnl1c2VyIC5jb21tZW50LW1ldGFkYXRhIGE6aG92ZXIsXG4uYnl1c2VyIC5jb21tZW50LWNvbnRlbnQgYTpob3ZlciB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG4iLCIuaGVudHJ5LnN0aWNreSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuXHRwYWRkaW5nOiAyNXB4ICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7XG5cblxuXHQmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7ICAgICAgIFxuXHRcdGNvbnRlbnQ6XCJcIjtcblx0XHRsZWZ0OjA7XG5cdFx0Ym90dG9tOiAtNDBweDtcblx0XHRoZWlnaHQ6M3B4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYzE7ICBcblx0fVxuXHQuZW50cnktbWV0YSAuZGF0ZS1zdHJ1Y3R1cmUgLmRkIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cdFxuXHRoMS5lbnRyeS10aXRsZSB7IFxuXHRcdGEge1xuXHQgXHRcdGNvbG9yOiAkd2hpdGU7XG5cdCBcdFx0Jjpob3ZlciB7XG5cdCBcdFx0XHRjb2xvcjogJHNlY29uZGFyeTsgICAgXG5cdCBcdFx0fVx0XG5cdCBcdH1cblx0IH1cblxuXHQgYSB7XG5cdCBcdGNvbG9yOiAkd2hpdGU7XG5cblx0IFx0Jjpob3ZlciB7XG5cdCBcdFx0Y29sb3I6ICRjNDtcblx0IFx0fVxuXHR9XG5cblx0c3BhbiBpIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdH1cblx0c3Bhbjpob3ZlciB7XG5cdFx0aSxhe1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0fVxuXHR9XG5cblx0Y29kZSB7XG5cdCBcdGNvbG9yOiAkYmxhY2s7XG5cdCB9XG5cblx0LmVudHJ5LWZvb3Rlcixcblx0LmVudHJ5LW1ldGEge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdCBcdGJvcmRlcjogMDtcblx0IFx0YSB7XG5cdCBcdFx0Y29sb3I6ICR3aGl0ZTtcblx0IFx0XHQmOmhvdmVyIHtcblx0IFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5O1xuXHQgXHRcdH1cblx0IFx0fVxuXHQgfVxuXG59XG5cbi5oZW50cnkucG9zdCB7XG5cdG1hcmdpbjogMCAwIDFlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjMTtcblx0aDEgYSB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHR9XG5cdH1cbn1cblxuLmJ5bGluZSxcbi51cGRhdGVkOm5vdCgucHVibGlzaGVkKXt9XG5cbi5zaW5nbGUgLmJ5bGluZSxcbi5ncm91cC1ibG9nIC5ieWxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5ob21lIC5lbnRyeS1tZXRhIHNwYW4ge1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5zdGlja3kge1xuXHQuZW50cnktbWV0YSxcblx0LmVudHJ5LWZvb3RlciB7XG5cdFx0YmFja2dyb3VuZCA6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4uZW50cnktbWV0YSAuZGF0ZS1zdHJ1Y3R1cmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDBweCAxMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC5kZCB7XG5cdFx0Y29sb3I6ICRjMjtcblx0fVxufVxuXG4uZW50cnktbWV0YSwuZW50cnktZm9vdGVyIHtcblx0bWFyZ2luOiA1cHggMHB4IDI1cHggMHB4O1xuXHRwYWRkaW5nOiAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjNjsgXG59XG5cblxuLmVudHJ5LW1ldGEge1xuXHQuYXV0aG9yIHtcblx0XHRwYWRkaW5nOiAwIDEwcHggMCAwO1xuXHR9XG5cdHNwYW4ge1xuXHRcdG1hcmdpbjogMCAxMHB4IDAgMDtcblx0XHRcblxuXHRcdHNwYW4ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdGkge1xuXHRcdFx0Y29sb3I6ICRjMjtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYzI7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkYzM7XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRjMztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuLmVudHJ5LWZvb3RlciB7XG5cdFxuXHRzcGFuIHtcblx0XHRtYXJnaW46IDAgMzBweCAwIDEwcHg7XG5cdFx0Y29sb3I6ICRjMjtcblx0XHRzcGFuIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdGNvbG9yOiAkYzI7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGMyO1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGkge1xuXHRcdFx0XHRjb2xvcjogJGMzO1x0XHRcdFxuXHRcdFx0fVxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkYzM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmVudHJ5LXN1bW1hcnkge1xuXHRtYXJnaW46IDEuNWVtIDAgMDtcbn1cblxuLnBhZ2UtbGlua3Mge1xuXHRtYXJnaW46IDAgMCAxLjVlbTtcblx0cGFkZGluZzogMTJweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRhIHtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYzE7XG5cdFx0fVxuXHR9XG59XG5cbmJsb2NrcXVvdGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTsgIFxuXHRAaW5jbHVkZSBmb250LXNpemUoMik7XG5cdGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuXHRwYWRkaW5nOiAxJSAxMHB4IDElIDQwcHg7XG5cdGJveC1zaGFkb3c6IDAgN3B4IDZweCAtNnB4IGJsYWNrO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0JjpiZWZvcmUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRjb250ZW50OiBcIlxcZjEwZFwiO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjUpO1xuXHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuXHRcdGxlZnQ6IDIwcHg7XG5cdFx0dG9wOiBjYWxjKDElICsgMjVweCApO1xuXHRcdGNvbG9yOiAkd2hpdGU7XHRcblx0fVx0XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoMik7XG5cdFx0cGFkZGluZzogMjBweDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LXdlaWdodDo3MDA7XG5cdFxuXHRcdGNpdGUge1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdGEsIGE6dmlzaXRlZCB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuNCk7XG5cdFx0fVxuXG5cdFx0YTpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGMyO1xuXHRcdH1cblx0fVxufVxuXG4ucmVsYXRlZC1wb3N0cyB7XG5cdHBhZGRpbmc6IDIwcHggMDtcblx0dWwjd2VidWxvdXMtcmVsYXRlZC1wb3N0cyB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaSB7XG5cdFx0XHR3aWR0aDogMTglO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDElO1xuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGEge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBHdXRlbmJlcmcgQ1NTIHN0eWxlICovXG5cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5hbGlnbmNlbnRlciB7XG5cdG1hcmdpbi1sZWZ0OjNlbTtcbn1cbi53cC1ibG9jay12ZXJzZSB7XG5cdGNvbG9yOiAkYzM7XHRcbn1cbi53cC1ibG9jay1xdW90ZSB7XG5cdHBhZGRpbmctbGVmdDo1cHg7XG5cdG1hcmdpbi10b3A6IDBweDtcblx0cGFkZGluZy10b3A6IDBweDsgXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OlwiXCI7XG5cdFx0Ym9yZGVyOiAwcHg7XG5cdH1cblx0Y2l0ZSB7XG5cdFx0bWFyZ2luOiAwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0fVxufVxuXG5cbi53cC1ibG9jay1xdW90ZS5pcy1sYXJnZSB7XG5cdGJvcmRlcjogMHB4O1xuXHRjb2xvcjokc2Vjb25kYXJ5O1x0XG5cdGNpdGUge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHRwYWRkaW5nLWJvdHRvbToxMHB4O1xuXHR9XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUge1xuXHRwYWRkaW5nOiAwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcdFxuXHRib3JkZXItbGVmdDpub25lICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206MjBweDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6XCJcIjtcblx0XHRib3JkZXI6IDBweDtcblx0fVxuXHRjaXRlIHtcblx0XHRjb2xvcjokd2hpdGU7XG5cdH1cbn1cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25sZWZ0IHtcblx0bWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbnJpZ2h0IHtcblx0bWFyZ2luLWxlZnQ6IDI1cHg7XG59XG5cbi53cC1ibG9jay1idXR0b24ge1xuXHRhIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHBhZGRpbmc6IDExcHggMjRweDtcblx0XHRcdGJveC1zaGFkb3c6IDNweCAzcHggYmxhY2s7XG5cdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggYmxhY2s7XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1jb3Zlci1pbWFnZSB7XG5cdGRpc3BsYXk6ZmxleDtcbn1cblxuLndwLWJsb2NrLWF1ZGlvIHtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbi53cC1ibG9jay1idXR0b24uYWxpZ25jZW50ZXIge1xuXHRtYXJnaW4tYm90dG9tOjEuNWVtO1xufSIsIi5ob21lIC5zaXRlLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy10b3A6MDtcclxuICAgIC5zaXRlLW1haW4ge1xyXG4gICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHNlcnZpY2UgdGl0bGUgZGl2aWRlciAqLyBcclxuLnRpdGxlLWRpdmlkZXIge1xyXG50ZXh0LWFsaWduOmNlbnRlcjtcclxucGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEpO1xyXG4gICAgICBjb250ZW50OlwiXFxmMDA1XCI7XHJcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgYm90dG9tOjA7XHJcbiAgICAgIGxlZnQ6Y2FsYyggNDUlICsgNTVweCApO1xyXG4gICAgICBwYWRkaW5nOiAycHggNHB4IDJweCAzcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG4gICAgICB6LWluZGV4OjE7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgICBsZWZ0OmNhbGMoIDQ1JSApO1xyXG4gICAgICBib3R0b206OXB4O1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuLyogc2VydmljZSB3cmFwcGVyICovXHJcblxyXG4uc2VydmljZXMtd3JhcHBlciB7XHJcbiAgIHBhZGRpbmc6IDgwcHggMHB4O1xyXG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblxyXG4gIC5zZXJ2aWNlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG5cclxuICAgICAgc3BhbjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICB9XHJcbiAgICAgIC5kZW1vLXRodW1iIHtcclxuICAgICAgICAvL2JhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgIH1cclxuICAgICAgaDQge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZS1jb250ZW50IHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICB9XHJcbiAgICAgIGltZywuZGVtby10aHVtYiAge1xyXG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDc1cHg7XHJcbiAgICAgIHotaW5kZXg6MTtcclxuICAgIH1cclxuICAuc2VydmljZS1jb250ZW50IHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjMTtcclxuICAgIHBhZGRpbmc6IDk1cHggMjBweCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBoNCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo1cHg7XHJcbiAgICAgIH1cclxuICAgICAgLm1vcmUtbGluayB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMHB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgfSAgICBcclxuXHJcbiAgICAuZGVtby10aHVtYiB7XHJcbiAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICBoZWlnaHQ6IDgwcHg7IFxyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgIHRvcDogNDVweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB6LWluZGV4OjE7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICBpIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogIzQ0NDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiA1cHggMHB4IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiBGbGV4IFJlY2VudCBQb3N0ICovXHJcblxyXG4ucG9zdC13cmFwcGVyIHtcclxuICBwYWRkaW5nOiAxMDBweCAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGM1O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYzE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgYmFja2dyb3VuZDogJGM1O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGM1O1xyXG4gICAgei1pbmRleDoxO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjMTtcclxuICAgIHdpZHRoOiA1MDBweDtcclxuICAgIHRvcDogMXB4O1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSAyNTBweCk7XHJcbiAgfVxyXG4gICAgLmxhdGVzdC1wb3N0cyB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG4gICAgfVxyXG4gICAgLm9uZS10aGlyZDpudGgtY2hpbGQoM24rMSkge1xyXG4gICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgfVxyXG4gIC5sYXRlc3QtcG9zdCB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVmYXVsdChhbGwsIDAuNXMsIGVhc2UpO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyBcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTsgIFxyXG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7IFxyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYzE7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfSBcclxuICAgICAgXHJcblxyXG4gICAgICAuZW50cnktbWV0YSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICBwYWRkaW5nOiAwcHggMjBweCAyMHB4O1xyXG4gICAgICAgIHNwYW4gYSAsc3BhbiBpLHNwYW4ge1xyXG4gICAgICAgICAgY29sb3I6ICRjMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Bhbjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICBpLGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAuZGF0YS1zdHJ1Y3R1cmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICAgIC5sYXRlc3QtcG9zdC1jb250ZW50ICB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjMTtcclxuICAgICAgfVxyXG4gICAgICAubGF0ZXN0LXBvc3QtdGh1bWIgaW1nIHsgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5idG4tcmVhZG1vcmUge1xyXG4gICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICBwYWRkaW5nOiAyMHB4IDBweCAwcHggMjBweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmVycm9yLTQwNC5ub3QtZm91bmQge1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaDEucGFnZS10aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGNvbG9yOiAkYzQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ubm8tcmVzdWx0cywubm90LWZvdW5kIHtcclxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICByaWdodDogLTRweDtcclxuICAgICAgICB0b3A6IC01cHg7XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5ob21lIC5zaXRlLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgLnNpdGUtbWFpbiB7XHJcbiAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgfSAgXHJcbn1cclxuIFxyXG5cclxuXHJcbi5ob21lLmJsb2cge1xyXG5cclxuICAuc2l0ZS1jb250ZW50IC5jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcbiAgLm1haW4tbmF2aWdhdGlvbiB1bC5uYXYtbWVudSA+IGxpIHtcclxuICAgIHRvcDowO1xyXG4gIH1cclxufVxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMjBweCAwcHg7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBhIHtcclxuICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnJlYWRjcnVtYi1sZWZ0IHtcclxuICAgICAgaDQge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzLjUpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5icmVhZGNydW1iLXJpZ2h0IHtcclxuICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgIGZsb2F0OiByaWdodDtcclxuICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICNjcnVtYnN7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uc2l0ZS1jb250ZW50LnRlc3Qge1xyXG4gIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gIC53aWRnZXQtYXJlYSB7XHJcbiAgICBtYXJnaW4tdG9wOjA7XHJcbiAgfVxyXG59XHJcbiIsIi5mbGV4c2xpZGVyIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7ICAgXG4gIG1hcmdpbi1ib3R0b206IDA7IFxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0LDAsMCwwLHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDBweCAhaW1wb3J0YW50KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgXG4gIC5zbGlkZXMgPiBsaSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICB9XG5cbiAgLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG5cbiBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogNDUlOyAgICAgIFxuICAgICAgb3BhY2l0eToxO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7ICAgIFxuICAgICAgQGluY2x1ZGUgc2l6ZSg3MHB4LCA3MHB4KTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwcHgpO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDApO1xuICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuMik7XG4gICAgICB9XG4gICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuXG4gIH1cblxuICBhLmZsZXgtcHJldjphZnRlciB7XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgYS5mbGV4LW5leHQ6YWZ0ZXJ7XG4gICAgcmlnaHQ6NXB4O1xuICB9XG4gIGEuZmxleC1wcmV2IHtcbiAgICAgICBsZWZ0OiA1MHB4O1xuICB9XG4gIGEuZmxleC1uZXh0IHtcbiAgICAgIHJpZ2h0OiA1MHB4IDtcbiAgfVxuXG5cbiAgfVxuXG4gIC5mbGV4LWNvbnRyb2wtbmF2IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBib3R0b206IDA7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGMxO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwcHggIWltcG9ydGFudCk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0LDAsMCwwLHRyYW5zcGFyZW50KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjMTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjYpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgyMHB4LDIwcHgpO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICBvbC5mbGV4LWNvbnRyb2wtcGFnaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyNXB4ICFpbXBvcnRhbnQpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEycHgsMTJweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgM3B4O1xuICAgICAgfVxuXG4gICAgICBhLmZsZXgtYWN0aXZlLGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4cHgsMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG5cbiAgICAgIGEuZmxleC1wcmV2IHtcbiAgICAgICAgbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMSk7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgIH1cblxuICAgICAgYS5mbGV4LW5leHQge1xuICAgICAgICByaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMSk7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5mbGV4c2xpZGVye1xuICAuZmxleC1jYXB0aW9uIHtcblxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAkYm90dG9tOjglLCAkbGVmdDoxMCUpO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICBjb2xvcjokd2hpdGU7ICAgICAgXG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgXG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnksMC41KTtcbiAgICBoMSxoMixoMyxoNCxoNSxoNixwLGxpIHsgXG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgXG4gICAgfVxuICAgaDEsaDIsaDMsaDQsaDUsaDYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMSk7XG4gICAgICAgICAgY29udGVudDpcIlxcZjAwNVwiO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgbGVmdDogNDklO1xuICAgICAgICAgIHBhZGRpbmc6IDJweCA0cHggMnB4IDNweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgICAgICB6LWluZGV4OjE7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgbGVmdDogY2FsYyg0OSUgLSA1NXB4KTtcbiAgICAgICAgYm90dG9tOjlweDtcblxuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjgpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcbiAgICAgIH0gXG4gICAgfVxuICB9XG59XG4iLCIud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgXG4ud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLFxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgaW5wdXQsXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCBpbnB1dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgaW5wdXQsXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IGlucHV0IHtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbi1kZWZhdWx0KGFsbCwgMC41cywgZWFzZSk7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBpbnB1dC5idXR0b24sXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgaW5wdXQuYnV0dG9uLFxuLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LFxuLndvb2NvbW1lcmNlLXBhZ2UgYS5idXR0b24sXG4ud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9uLFxuLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0YmFja2dyb3VuZDogJHNlY29uZGFyeTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGlucHV0LmJ1dHRvbjpob3Zlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3Zlcixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBpbnB1dC5idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbjpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBpbnB1dC5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBpbnB1dC5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdCxcbi53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmFsdCxcbi53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmFsdCB7XG5cdGJhY2tncm91bmQ6ICMyNzI3MjcgIWltcG9ydGFudDsgLyogT2xkIGJyb3dzZXJzICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICMyNzI3MjcgMCUsICM0NTQ4NGQgMTAwJSkgIWltcG9ydGFudDsgLyogRkYzLjYrICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIzI3MjcyNyksIGNvbG9yLXN0b3AoMTAwJSwjNDU0ODRkKSkgIWltcG9ydGFudDsgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICMyNzI3MjcgMCUsIzQ1NDg0ZCAxMDAlKSAhaW1wb3J0YW50OyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgIzI3MjcyNyAwJSwjNDU0ODRkIDEwMCUpICFpbXBvcnRhbnQ7IC8qIE9wZXJhIDExLjEwKyAqL1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICMyNzI3MjcgMCUsIzQ1NDg0ZCAxMDAlKSAhaW1wb3J0YW50OyAvKiBJRTEwKyAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzI3MjcyNyAwJSwjNDU0ODRkIDEwMCUpICFpbXBvcnRhbnQ7IC8qIFczQyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzI3MjcyNycsIGVuZENvbG9yc3RyPScjNDU0ODRkJyxHcmFkaWVudFR5cGU9MCApICFpbXBvcnRhbnQ7IC8qIElFNi05ICovXG5cdGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBpbnB1dC5idXR0b24uYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBpbnB1dC5idXR0b24uYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlIGEuYnV0dG9uLmFsdDpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24uYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgaW5wdXQuYnV0dG9uLmFsdDpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogIzAwMDtcblx0YmFja2dyb3VuZDogIzY2NiAhaW1wb3J0YW50OyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzY2NiAwJSwgIzQ1NDg0ZCAxMDAlKSAhaW1wb3J0YW50OyAvKiBGRjMuNisgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjNDU0ODRkKSwgY29sb3Itc3RvcCgxMDAlLCM0NTQ4NGQpKSAhaW1wb3J0YW50OyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgIzY2NiAwJSwjNDU0ODRkIDEwMCUpICFpbXBvcnRhbnQ7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNjY2IDAlLCM0NTQ4NGQgMTAwJSkgIWltcG9ydGFudDsgLyogT3BlcmEgMTEuMTArICovXG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgIzY2NiAwJSwjNDU0ODRkIDEwMCUpICFpbXBvcnRhbnQ7IC8qIElFMTArICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAjNjY2IDAlLCM0NTQ4NGQgMTAwJSkgIWltcG9ydGFudDsgLyogVzNDICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNjY2JywgZW5kQ29sb3JzdHI9JyM0NTQ4NGQnLEdyYWRpZW50VHlwZT0wICkgIWltcG9ydGFudDsgLyogSUU2LTkgKi9cbn1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUsXG4ud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8sXG4ud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIHtcblx0Ym9yZGVyLWNvbG9yOiAjMzMzO1x0XG59XG5cbi5vcmRlci10b3RhbCAuYW1vdW50LFxuLmNhcnQtc3VidG90YWwgLmFtb3VudCB7XG5cdGNvbG9yOiAkcHJpbWFyeTtcbn1cblxuLndvb2NvbW1lcmNlICNwYXltZW50IGRpdi5wYXltZW50X2JveCxcbi53b29jb21tZXJjZS1wYWdlICNwYXltZW50IGRpdi5wYXltZW50X2JveCB7XG5cdGJhY2tncm91bmQ6ICNmMmY5ZmU7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjJmOWZlIDAlLCAjZDZmMGZkIDEwMCUpOyAvKiBGRjMuNisgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZjJmOWZlKSwgY29sb3Itc3RvcCgxMDAlLCNkNmYwZmQpKTsgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmMmY5ZmUgMCUsI2Q2ZjBmZCAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICNmMmY5ZmUgMCUsI2Q2ZjBmZCAxMDAlKTsgLyogT3BlcmEgMTEuMTArICovXG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2YyZjlmZSAwJSwjZDZmMGZkIDEwMCUpOyAvKiBJRTEwKyAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2YyZjlmZSAwJSwjZDZmMGZkIDEwMCUpOyAvKiBXM0MgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmMmY5ZmUnLCBlbmRDb2xvcnN0cj0nI2Q2ZjBmZCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlLFxuLndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UsXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgcC5wcmljZSxcbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBzcGFuLnByaWNlLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IHAucHJpY2UsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3Qgc3Bhbi5wcmljZSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IHAucHJpY2UsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCBzcGFuLnByaWNlLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgcC5wcmljZSxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IHNwYW4ucHJpY2Uge1xuXHRjb2xvcjogJHNlY29uZGFyeTtcbn1cblxuLndvb2NvbW1lcmNlIGEuYWRkZWRfdG9fY2FydCxcbi53b29jb21tZXJjZS1wYWdlIGEuYWRkZWRfdG9fY2FydCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQ6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBhLmFkZGVkX3RvX2NhcnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSwud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSwud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLC53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkge1xuXHRiYWNrZ3JvdW5kOiAjZjJmOWZlOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgI2YyZjlmZSAwJSwgI2Q2ZjBmZCAxMDAlKTsgLyogRkYzLjYrICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsI2YyZjlmZSksIGNvbG9yLXN0b3AoMTAwJSwjZDZmMGZkKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjJmOWZlIDAlLCNkNmYwZmQgMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZjJmOWZlIDAlLCNkNmYwZmQgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqL1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmMmY5ZmUgMCUsI2Q2ZjBmZCAxMDAlKTsgLyogSUUxMCsgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICNmMmY5ZmUgMCUsI2Q2ZjBmZCAxMDAlKTsgLyogVzNDICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZjJmOWZlJywgZW5kQ29sb3JzdHI9JyNkNmYwZmQnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IGEucmVtb3ZlLFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgYS5yZW1vdmUsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IGEucmVtb3ZlLFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCBhLnJlbW92ZSB7XG5cdGNvbG9yOiAkcHJpbWFyeTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgYS5yZW1vdmU6aG92ZXIsXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCBhLnJlbW92ZTpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgYS5yZW1vdmU6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IGEucmVtb3ZlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIC5wYW5lbCxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYzE7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUsLndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGUge1xuXHRiYWNrZ3JvdW5kOiAjZmNlYWJiOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZjZWFiYiAwJSwgI2ZjY2Q0ZCA1MCUsICNmOGI1MDAgNTElLCAjZmJkZjkzIDEwMCUpOyAvKiBGRjMuNisgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZmNlYWJiKSwgY29sb3Itc3RvcCg1MCUsI2ZjY2Q0ZCksIGNvbG9yLXN0b3AoNTElLCNmOGI1MDApLCBjb2xvci1zdG9wKDEwMCUsI2ZiZGY5MykpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZjZWFiYiAwJSwjZmNjZDRkIDUwJSwjZjhiNTAwIDUxJSwjZmJkZjkzIDEwMCUpOyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZjZWFiYiAwJSwjZmNjZDRkIDUwJSwjZjhiNTAwIDUxJSwjZmJkZjkzIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmNlYWJiIDAlLCNmY2NkNGQgNTAlLCNmOGI1MDAgNTElLCNmYmRmOTMgMTAwJSk7IC8qIElFMTArICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAjZmNlYWJiIDAlLCNmY2NkNGQgNTAlLCNmOGI1MDAgNTElLCNmYmRmOTMgMTAwJSk7IC8qIFczQyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZjZWFiYicsIGVuZENvbG9yc3RyPScjZmJkZjkzJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYSxcbi53b29jb21tZXJjZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuLFxuLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGEsXG4ud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbixcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGEsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuLFxuLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYSxcbi53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuXHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLFxuLndvb2NvbW1lcmNlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50LFxuLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6Zm9jdXMsXG4ud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpob3Zlcixcbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuLmN1cnJlbnQsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudCxcbi53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6Zm9jdXMsXG4ud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSxcbi53b29jb21tZXJjZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG59XG5cbi53b29jb21tZXJjZS1lcnJvciBsaSBzdHJvbmcge1xuXHRjb2xvcjogI0I4MUMyMztcbn1cblxuLndvb2NvbW1lcmNlIC5zaXRlLWNvbnRlbnQsXG4ud29vY29tbWVyY2UtcGFnZSAuc2l0ZS1jb250ZW50IHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGlucHV0LmJ1dHRvbixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsXG4ud29vY29tbWVyY2UgYS5idXR0b24sXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24sXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBpbnB1dC5idXR0b24sXG4ud29vY29tbWVyY2UtcGFnZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsXG4ud29vY29tbWVyY2UtcGFnZSBhLmJ1dHRvbixcbi53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b24sXG4ud29vY29tbWVyY2UtcGFnZSBpbnB1dC5idXR0b24ge1xuXHRib3JkZXI6IDA7ICAgIFxuXHRwYWRkaW5nOiA1cHggMTJweDsgIFxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOlx0MDtcblx0LW1vei1ib3JkZXItcmFkaXVzOiBcdDA7XG5cdGJvcmRlci1yYWRpdXM6XHRcdFx0MDtcblx0dGV4dC1zaGFkb3c6IDAgMCAwO1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yOmJlZm9yZSxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6YmVmb3JlLFxuLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlOmJlZm9yZSB7XG5cdHBhZGRpbmctdG9wOiAwO1xuXHRoZWlnaHQ6IDIuNWVtO1xuXHRsaW5lLWhlaWdodDogMi41O1xuXHR3aWR0aDogMmVtO1xufVxuXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgaW5wdXQuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSxcbi53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IGlucHV0LmlucHV0LXRleHQsXG4ud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSB7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNhZWE5YTk7XG5cdGNvbG9yOiAkYmxhY2s7XG59XG5cbi53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQsXG4ud29vY29tbWVyY2UtcGFnZSBhLmFkZGVkX3RvX2NhcnQge1xuXHRwYWRkaW5nOiAycHggMTVweCAxcHggMzBweDtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSxcbi53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYTpob3ZlciB7XG5cdGNvbG9yOiAkcHJpbWFyeTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkgYSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGEsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGEsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGEge1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRwYWRkaW5nOiAwLjVlbSAxZW07XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6XHQwIDAgMDtcblx0LW1vei1ib3gtc2hhZG93Olx0MCAwIDA7XG5cdGJveC1zaGFkb3c6XHRcdFx0MCAwIDA7XG5cdGJvcmRlci10b3A6IDA7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhOmhvdmVyIHtcblx0cG9zaXRpb246IHN0YXRpYztcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyxcbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyB0ZCxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgdGFibGUudmFyaWF0aW9ucyB0ZCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGZvcm0uY2FydCB0YWJsZS52YXJpYXRpb25zIHRkLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHRhYmxlLnZhcmlhdGlvbnMgdGQge1xuXHRib3JkZXI6IDA7XG59XG5cbi5jcm9zcy1zZWxscyBoMixcbi5zaGlwcGluZ19jYWxjdWxhdG9yIGgyIHtcblx0Zm9udC1zaXplOiAxLjZlbTtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgYS5yZW1vdmUsXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCBhLnJlbW92ZSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgYS5yZW1vdmUsXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IGEucmVtb3ZlIHtcblx0bWFyZ2luOiAwIGF1dG9cbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCNjb3Vwb25fY29kZSxcbi53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQjY291cG9uX2NvZGUsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQjY291cG9uX2NvZGUsXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXQjY291cG9uX2NvZGUge1xuXHR3aWR0aDogYXV0bztcbn1cblxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sIFxuLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEwcHggMTJweDtcbn1cblxuLndvb2NvbW1lcmNlIC5jYXJ0IGJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcblx0cGFkZGluZzogNnB4IDEycHggNXB4O1xufVxuXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbixcbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2UwZGFkZjtcblx0Ym9yZGVyLXRvcDogMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uICNjb3Vwb25fY29kZSxcbi53b29jb21tZXJjZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAjY291cG9uX2NvZGUsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAjY291cG9uX2NvZGUsXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAjY291cG9uX2NvZGUge1xuXHRwYWRkaW5nOiA0cHggNnB4O1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLnN0b2NrLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC5zdG9jayxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC5zdG9jayxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC5zdG9jayB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRjb2xvcjogIzMzMztcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGksXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGksXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkge1xuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHQtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRib3gtc2hhZG93OiAwIDAgMDtcblx0bWFyZ2luOiAwO1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkgYSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkgYSxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkgYSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtc2hhZG93OiAwIDAgMDtcblx0cGFkZGluZzogN3B4IDIwcHggIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkgYTpob3Zlcixcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlLFxuLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuXHR6LWluZGV4OiAyO1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlOmJlZm9yZSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZTpiZWZvcmUsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZTpiZWZvcmUsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZTpiZWZvcmUge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDA7XG5cdC1tb3otYm94LXNoYWRvdzogMDtcblx0Ym94LXNoYWRvdzogMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlOmFmdGVyLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGkuYWN0aXZlOmFmdGVyLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmU6YWZ0ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZTphZnRlciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YWZ0ZXIsXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTpiZWZvcmUsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTphZnRlcixcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YWZ0ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YWZ0ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmJlZm9yZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YmVmb3JlLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YmVmb3JlLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTpiZWZvcmUsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmJlZm9yZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YWZ0ZXIsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTphZnRlcixcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6YWZ0ZXIsXG4ud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmFmdGVyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFiczpiZWZvcmUsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFiczpiZWZvcmUsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzOmJlZm9yZSxcbi53b29jb21tZXJjZS1wYWdlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6YmVmb3JlIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUsLndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGUge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwcHgpO1xuXHRwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5vbnNhbGUsXG4ud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5vbnNhbGUge1xuXHRtYXJnaW46IC0xNXB4IC0xNXB4IDAgMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGEsXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbixcbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLFxuLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4sXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbixcbi53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGEsXG4ud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuIHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAzcHggMTBweDtcdFxufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpmb2N1cyxcbi53b29jb21tZXJjZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmhvdmVyLFxuLndvb2NvbW1lcmNlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudCxcbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLFxuLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50LFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpmb2N1cyxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIGE6aG92ZXIsXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuLmN1cnJlbnQsXG4ud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLFxuLndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYTpob3Zlcixcbi53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudCB7XG5cdGJvcmRlcjogMDtcbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHtcblx0Ym9yZGVyOiAwO1xufVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwge1xuXHRwYWRkaW5nOiA3cHggMTBweDtcblx0Ym9yZGVyOiAwO1x0XG59XG5cbi53b29jb21tZXJjZS1wYWdlIC5zaXRlLWZvb3Rlcixcbi53b29jb21tZXJjZS1wYWdlIC5mb290ZXItYm90dG9tLFxuLndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuXHRwYWRkaW5nOiAwIDUwJTtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiAgICBjb250ZW50LWJveDtcblx0Ym94LXNpemluZzogICAgICAgICBjb250ZW50LWJveDtcdFxuXHRtYXJnaW46IDAgLTUwJTtcdFxufVxuXG5cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcblx0Ly9wb3NpdGlvbjpyZWxhdGl2ZTtcblx0Ly9mb250LXNpemU6IDE2cHg7XG59XG4ud29vY29tbWVyY2UgYS5yZW1vdmUge1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0Y29sb3I6ICR3aGl0ZSFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2Uge1xuXHQjcHJpbWFyeSB7XG5cdFx0bWFyZ2luOiA1MHB4IDBweDtcblx0fVxufSIsIiNzZWNvbmRhcnkge1xuXHQgLy9wYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdCBwYWRkaW5nOiAxMXB4IDI1cHggMjBweDtcbn1cblxuLnJpZ2h0LXNpZGViYXIge1xuXHQgcGFkZGluZy1sZWZ0OiAwcHghaW1wb3J0YW50O1xuXHQgcGFkZGluZy1yaWdodDogNTBweDtcblxufVxuI3NlY29uZGFyeSAubGVmdC1zaWRlYmFyIHtcbiAgIGJhY2tncm91bmQ6ICNmMGYyZjMgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICAgIHBhZGRpbmc6IDQwcHggMjVweDtcbn1cblxuQGltcG9ydCBcIndpZGdldHMvd2lkZ2V0c1wiO1xuXG4uc293LWNhcm91c2VsLXdyYXBwZXIgLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59IiwiLndpZGdldC1hcmVhICB7XG5cblx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblxuXHRcdGg0LndpZGdldC10aXRsZSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnk7XG5cdFx0fVxuXHRcdFxuXHRcdHVsIHtcblx0XHRcblx0XHRcdCBsaSB7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAwIDhweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjMTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQgY29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bC5jaGlsZHJlbixcblx0XHRcdFx0LnN1Yi1tZW51IHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHRcdFx0XHRcdGxpOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJ2ltYWdlcy9kb3duLnBuZycpIG5vLXJlcGVhdCA5NSUgNTAlO1xuXHRcdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGMxO1xuXHRcdFx0cGFkZGluZzogNXB4IDEwJSA1cHggMyU7XG5cblx0XHR9XG5cblx0fVxuXG4ud2lkZ2V0LWFyZWEge1xuXHR1bCBsaSB7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdpbWFnZXMvc2lkZWJhci1saXN0LXN0eWxlLnBuZycpIG5vLXJlcGVhdCBsZWZ0IDE2cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tZGVmYXVsdChhbGwsIDAuNXMsIGVhc2UpO1xuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246MTBweCAxNnB4O1xuXHRcdH1cblx0fVxuXG5cdHVsLmNoaWxkcmVuIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGMxO1xuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWxlZnQ6IC0yNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNTBweDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDI1cHggMTZweDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzN3B4IDE2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dWwuY2hpbGRyZW4ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC01MHB4O1xuXHRcdFx0bGkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDc1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDUwcHggMTZweDtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNjdweCAxNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR1bC5jaGlsZHJlbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNzVweDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTAwcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNzVweCAxNnB4O1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogOTJweCAxNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cdFx0XHRcdFx0XG5cdFx0fVxuXG5cdH1cdFxufVx0XG5cbiNzZWNvbmRhcnkgLndpZGdldCwuc2l0ZS1mb290ZXIgLndpZGdldCwuc2l0ZS1oZWFkZXIgLndpZGdldCB7XG5cdG1hcmdpbjogMCAwIDMuNWVtIDA7XG5cblx0dWwsIG9sIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0bGkge1xuXG5cdFx0XHR1bCwgb2wge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0LyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cyAqL1xuXHRzZWxlY3Qge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG59XG4uc2l0ZS1oZWFkZXIgLndpZGdldCB7XG5cdG1hcmdpbjowO1xufVxuXG5cbiNzZWNvbmRhcnkgLmxlZnQtc2lkZWJhciBhc2lkZSB7XG5cdG1hcmdpbjogMCAwIDUuNWVtIDA7XHRcblx0JjpsYXN0LWNoaWxkIHtcblx0ICAgICBtYXJnaW4tYm90dG9tOjA7XG5cdH1cbn1cblxuI3NlY29uZGFyeSAjcmVjZW50Y29tbWVudHMgYSB7XG5cdGNvbG9yOiAkcHJpbWFyeSA7XG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkYzQ7XG5cdH1cbn1cbi5zaXRlLWluZm8gLmxlZnQtc2lkZWJhciwudG9wLW5hdiwudG9wLXJpZ2h0IHtcblx0LndpZGdldC10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBpbXBvcnQgXCJjYWxlbmRhclwiO1xuXG5AaW1wb3J0IFwicnNzXCI7XG5cbkBpbXBvcnQgXCJzZWFyY2hcIjtcblxuQGltcG9ydCBcInRleHRcIjtcblxuQGltcG9ydCBcInRhZ19jbG91ZFwiO1xuXG5AaW1wb3J0IFwid2lkZ2V0X25hdl9tZW51XCI7IiwiLndpZGdldF9jYWxlbmRhciB7XG5cdFx0dGFibGUge1xuXHRcdFx0dGgsIHRkIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiA3cHggNXB4O1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkYzQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRoIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdH1cblxuXHRcdFx0dGQjcHJldiB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XHRcblxuXHRcdFx0dGQjbmV4dCB7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXG5cdFx0XHRjYXB0aW9uIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0fVx0XHRcblxuXHRcdH1cblxuXHR9IiwiLndpZGdldC1hcmVhIHtcblx0LnJzcy1kYXRlLFxuXHQud2lkZ2V0X3JzcyBjaXRlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb2xvcjogJGMxO1xuXHRcdG1hcmdpbjogNXB4IDA7XG5cdH1cblxuXHQud2lkZ2V0X3JzcyB7XG5cdFx0c3BhbiB7XG5cdFx0XHRjb2xvcjogJGMyO1xuXHRcdH1cblx0XHRjaXRlIHtcblx0XHRcdGNvbG9yOiAkYzI7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkaW5nX2ZvbnQ7XG5cdFx0XHRcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQud2lkZ2V0LXRpdGxlIC5yc3N3aWRnZXQge1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnk7XG5cdFx0XHQmIGltZ3tcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dWwgbGkge1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdH1cblxuXHQucnNzU3VtbWFyeSB7XG5cdFx0Zm9udC1zaXplOiAuOTVlbTtcblx0fVxufVxuIiwiLndpZGdldF9zZWFyY2gge1xuXHQuc2VhcmNoLWZvcm0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcdFx0XG5cdFx0fVxuXG5cdFx0aW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnkhaW1wb3J0YW50O1xuXHRcdH1cblx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdICB7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7ICAgICBcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5ZW07ICAgICBcblx0XHRcdGJhY2tncm91bmQ6IHVybChcImltYWdlcy9oZWFkZXItc2VhcmNoLnBuZ1wiKSBuby1yZXBlYXQgMTAwJSA0MCU7XHRcblx0XHR9XHQgICBcblx0fVxufSBcbiBcbi5uYXYtd3JhcCB7XG5cdC5zZWFyY2gtZm9ybSB7XG5cdFx0dG9wOiAxM3B4O1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCAgbWFyZ2luOiAwcHggMTBweDtcblx0XHRcdGlucHV0LnNlYXJjaC1maWVsZCB7XG5cdFx0XHRcdCAgcGFkZGluZzogMXB4IDIwcHggMnB4IDBweDtcblx0XHRcdFx0ICB3aWR0aDogOTUlOyBcblx0XHRcdFx0ICBib3JkZXI6IG5vbmU7XG5cdFx0XHRcdCAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0ICBjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHQgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0IH1cblx0XHRcdCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgkd2hpdGUsMC43KTtcblx0XHRcdH1cblx0XHRcdCBpbnB1dFt0eXBlPVwic3VibWl0XCJdICB7XG5cdFx0XHQgXHRiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvaGVhZGVyLXNlYXJjaC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IDEwMCUgNDAlO1xuXHRcdFx0IH1cblx0XHRcdCAuc2VhcmNoLXN1Ym1pdCB7XG5cdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIHJpZ2h0OiAtNXB4O1xuXHRcdFx0ICAgIG1hcmdpbjogMDtcblx0XHRcdCAgICBwYWRkaW5nOiAwO1xuXHRcdFx0ICAgIHRvcDogMTBweDsgICBcblx0XHRcdCAgICBib3JkZXI6IG5vbmU7XG5cdFx0XHQgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0ICAgIGJhY2tncm91bmQ6IHVybChpbWFnZXMvaGVhZGVyLXNlYXJjaC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOzsgXG5cdFx0XHR9XG5cdFx0XHQuYnRuLXNlYXJjaCB7XG5cdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIHJpZ2h0OiAxMHB4O1xuXHRcdFx0ICAgIHRvcDogOHB4OyBcblx0XHRcdH1cblx0fVxufSAgICAiLCIud2lkZ2V0LWFyZWEgLnRleHR3aWRnZXQge1xuXHRzZWxlY3Qge1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjMTtcblx0fVxufVxuXG4ud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcblx0bWFyZ2luOiAwO1xufSIsIi53aWRnZXRfdGFnX2Nsb3VkIHtcblx0YSB7XG5cdFx0cGFkZGluZzogNHB4IDE1cHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRtYXJnaW46IDNweCA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuXHQgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuICAgIH1cblx0fVxufVxuIiwiLndpZGdldF9uYXZfbWVudSB7XHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblx0dWwuc3ViLW1lbnUgbGkge1xyXG5cdFx0dGV4dC1pbmRlbnQ6IDA7XHJcblx0fVxyXG5cclxuXHR1bC5zdWItbWVudSB7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGMxO1xyXG5cdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxufVxyXG4iLCIuc2l0ZS1mb290ZXIgLmZvb3Rlci13aWRnZXRzIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblx0XG4uc2l0ZS1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0LmNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcblx0fVxuXHQuZm9vdGVyLXdpZGdldHMge1xuXHRcdGNvbG9yOiAjQkZCRUJFO1xuXHRcdHBhZGRpbmc6IDkwcHggMCA1MHB4O1xuXG5cdFx0aDQud2lkZ2V0LXRpdGxlIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjgpO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0XHQvL2JvcmRlci1ib3R0b206IDRweCBzb2xpZCAkcHJpbWFyeTtcblxuXHRcdH1cblxuXHRcdHVsIGxpIHtcblx0XHRcdGNvbG9yOiAjQkZCRUJFO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDVweDtcblx0XHRcdGxpc3Qtc3R5bGU6bm9uZTtcblx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uLWRlZmF1bHQoYWxsLCAwLjVzLCBlYXNlKTtcblx0XHRcdGksc3BhbiB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDoxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHVsLmNoaWxkcmVuLFxuXHRcdC53aWRnZXRfbmF2X21lbnUgdWwuc3ViLW1lbnUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4yKTtcblx0XHR9XG5cdFx0I2NhbGVuZGFyX3dyYXAge1xuXHRcdFx0dGQsdGgge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdFx0IGEge1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LndpZGdldF9jYWxlbmRhciB0YWJsZSBjYXB0aW9uIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXHRcdH1cblxuXHRcdHNlbGVjdCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZSB1cmwoJ2ltYWdlcy9kb3duLnBuZycpIG5vLXJlcGVhdCA5NSUgNTAlIHdoaXRlO1xuXHRcdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGMxO1xuXHRcdFx0cGFkZGluZzogNXB4IDEwJSA1cHggMyU7XG5cblx0XHR9XG5cdFx0LndpZGdldF9zZWFyY2ggLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjQkZCRUJFO1xuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0LndpZGdldF9uYXZfbWVudSBsaXtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHR1bC5zdWItbWVudSB7XG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndpZGdldF90YWdfY2xvdWQgYTpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblxuXHRcdHVsIGxpIHtcblx0XHRcdC8vYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL2xlZnQucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQvL2JhY2tncm91bmQ6IHVybChcImltYWdlcy9yaWdodC5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC53aWRnZXRfcnNzIHVsIGxpIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuXG5cdH1cblx0LnNjcm9sbC10by10b3Age1xuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Ym90dG9tOiAzJTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ly9kaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRyaWdodDogMjBweDtcblx0XHR6LWluZGV4OiA5OTk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBsaW5lYXI7XG5cdFx0IC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhcjtcblx0XHQgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgbGluZWFyO1xuXHRcdCAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBsaW5lYXI7XG5cdH1cblx0LnNjcm9sbC10by10b3A6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnksIDAuNik7XG5cdH1cblx0LnRleHR3aWRnZXQgLndwY2Y3LWZvcm0gcCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogM3B4O1xuXHR9XHRcblxufVxuXG5cblxuXG5AaW1wb3J0IFwiYm90dG9tLWZvb3RlclwiOyIsIi5zaXRlLWluZm8ge1xuXHRiYWNrZ3JvdW5kOiAjNTI1MDUwO1xuXHQuY29weXJpZ2h0IHtcblx0XHRwYWRkaW5nOiAyMHB4IDBweDtcblx0fVxuXHQubGVmdC1zaWRlYmFyIHtcblx0XHR0ZXh0LWFsaWduOiByaWd0aDtcblx0XHRwYWRkaW5nLXRvcDogMTJweDtcblx0XHRsaSAgYSB7XG5cdFx0XHRmb250LWZhbWlseTogJGNvcHlfZm9udDtcblx0XHR9XG5cdH1cblxuXHQud2lkZ2V0IHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHRwIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbjowO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjQpO1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7ICBcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQud2lkZ2V0X25hdl9tZW51IHtcblx0XG5cdFx0dWwge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHRcdC5zdWItbWVudSB7XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdH1cblx0XG5cdFx0bGkge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZ19mb250O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdHBhZGRpbmc6IDRweCAxMHB4O1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDEuMyk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cdFxuXG5cdFxufSIsIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcclxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIHVsIGxpOmhvdmVyID4gdWwge1xyXG4gICAgcmlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7ICAgICAgIFxyXG4gLm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaTpob3ZlciA+IHVsIHtcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgfVxyXG4gXHJcbiAgLnRvcC1uYXYge1xyXG4gICAgLmNvbnRhaW5lciAuZWlnaHQuY29sdW1ucyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7ICAgXHJcbiBcclxuICAgLndpZGdldF9uYXZfbWVudSB1bC5zdWItbWVudSBsaSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG4gIC5wb3N0LXdyYXBwZXIgLmxhdGVzdC1wb3N0IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6MDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OjA7XHJcbiAgfVxyXG4gIFxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcclxuICAud2lkZ2V0X25hdl9tZW51IHVsLnN1Yi1tZW51IGxpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuLnRpdGxlLWRpdmlkZXI6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IGNhbGMoMzUlICsgNTVweCk7XHJcbiAgICB9XHJcbiAgICAudGl0bGUtZGl2aWRlcjo6YWZ0ZXIge1xyXG4gICAgICAgbGVmdDogY2FsYygzNSUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAudGl0bGUtZGl2aWRlcjo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IGNhbGMoNDAlICsgNTVweCk7XHJcbiAgfVxyXG4gIC50aXRsZS1kaXZpZGVyOjphZnRlciB7XHJcbiAgICAgbGVmdDogY2FsYyg0MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgeyAgIFxyXG4gIC5icmVhZGNydW1iLWxlZnQsLmJyZWFkY3J1bWItcmlnaHQgeyAgICBcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5icmVhZGNydW1iLC5icmFuZGluZyB7XHJcbiAgICAuY29udGFpbmVyIC5laWdodC5jb2x1bW5zIHtcclxuICAgICAgIHdpZHRoOiAxMDAlOyAgIFxyXG4gICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgIFxyXG4gICAgfVxyXG4gICAgLnNpdGUtdGl0bGUsLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAudG9wLXJpZ2h0IHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB1bCB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgbGkge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgICBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wb3N0LXdyYXBwZXIgLmxhdGVzdC1wb3N0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLndpZGdldF9jYWxlbmRhciB0YWJsZSB0aCwgLndpZGdldF9jYWxlbmRhciB0YWJsZSB0ZCB7XHJcbiAgICBwYWRkaW5nOiA3cHggMnB4O1xyXG4gIH1cclxuICAudG9wLW5hdiAge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuc2l0ZS1icmFuZGluZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYSB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjc2Vjb25kYXJ5IHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICB9XHJcblxyXG4gIC5mbGV4c2xpZGVyIC5mbGV4LWNhcHRpb24ge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjNDtcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuZmxleHNsaWRlciBvbC5mbGV4LWNvbnRyb2wtcGFnaW5nIHtcclxuICAgIGJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gIC5wb3N0LXdyYXBwZXIgLmxhdGVzdC1wb3N0IGEuYnRuLXJlYWRtb3JlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuICAuY29weXJpZ2h0LC5sZWZ0LXNpZGViYXIsLnNpdGUtaW5mbyAud2lkZ2V0X25hdl9tZW51IHVsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmxhdGVzdC1wb3N0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjMjtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgLm5hdi13cmFwIC5zZWFyY2gtZm9ybSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuICAuY29weXJpZ2h0IHtcclxuICAgIHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuc2l0ZS1pbmZvIC5sZWZ0LXNpZGViYXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHghaW1wb3J0YW50O1xyXG4gIH1cclxuICAjc2Vjb25kYXJ5IHtcclxuICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG4gICNjb21tZW50Zm9ybSAuY29tbWVudC1mb3JtLWF1dGhvcixcclxuICAjY29tbWVudGZvcm0gLmNvbW1lbnQtZm9ybS1lbWFpbCxcclxuICAjY29tbWVudGZvcm0gLmNvbW1lbnQtZm9ybS11cmwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcblxyXG4gICNjb21tZW50Zm9ybSAuY29tbWVudC1mb3JtLWF1dGhvciBpbnB1dCxcclxuICAjY29tbWVudGZvcm0gLmNvbW1lbnQtZm9ybS11cmwgaW5wdXQsXHJcbiAgI2NvbW1lbnRmb3JtIC5jb21tZW50LWZvcm0tZW1haWwgaW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAubmF2LWxpbmtzIC5uYXYtcHJldmlvdXMsXHJcbiAgLm5hdi1saW5rcyAubmF2LW5leHQsXHJcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxyXG4gIC5jb21tZW50LW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIGEsXHJcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEsXHJcbiAgLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLm1haW4tbmF2aWdhdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBidXR0b24ubWVudS10b2dnbGUge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnk7XHJcbiAgICAgICY6aG92ZXIgeyBcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICB9XHJcbiAgICB9IFxyXG4gICAgLm1lbnUtYWxsLXBhZ2VzLWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOjA7XHJcbiAgICB9ICAgXHJcbiAgfVxyXG5cclxuICAuZmxleC1yZWNlbnQtcG9zdHMgbGkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wuY29tbWVudC1saXN0IG9sLmNoaWxkcmVuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxZW07XHJcbiAgfVxyXG5cclxuICAuZmxleHNsaWRlciBvbC5mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEge1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgIGJvcmRlci13aWR0aDogM3B4O1xyXG4gIH0gXHJcblxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHsgXHJcbiAudGl0bGUtZGl2aWRlcjo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IGNhbGMoMzAlICsgNTVweCk7XHJcbiAgfVxyXG4gIC50aXRsZS1kaXZpZGVyOjphZnRlciB7XHJcbiAgICAgbGVmdDogY2FsYygzMCUpO1xyXG4gIH1cclxufSAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFCRTtBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dFQXlCZ0U7QUFJaEU7O2dFQUVnRTtBS3REaEUsQUFBQSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO0FBQzdDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRztBQUMxQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJO0FBQzFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtBQUN4QyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHO0FBQ3hDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUN0QixRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNO0FBQzdCLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDOUMsTUFBTSxFQUFFLENBQUM7RUFDVCxXQUFXLEVBQUUsT0FBTztFQUNwQixTQUFTLEVBQUUsSUFBSTtFQUNmLFVB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 */
