@charset "UTF-8";
/* Functions sass */
/********************************************************************/
/*********** Fonction qui genere un svg background-image ************/
/********************************************************************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/* Variables des icones */
/******************************************************************************/
/******************************************************************************/
/*********************** SVG OPTIONS D'EXPORT *********************************/
/******************************************************************************/
/******************************************************************************/
/*
	Options d'export pour rendre les SVG background-image compatibles avec IE11

	Fichier AI > Exporter la selection > paramètres (format) > SVG
		Attributs de présentation
		SVG
		Incorporer
		Noms de calques
		2
		Minimifier
		Responsive

	+ ajout de l'attribut preserveAspectRatio="xMinYMid"

	Si probleme de svg avec poplyline ou line > ouvrir le svg dans ai > selection de l'icone > Objet > tracé > Vectoriser le contour
*/
/********************/
/******* IMPORT *****/
/********************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/********************/
/******* LAYOUT *****/
/********************/
/* The_chevron */
/* OK */
/* Formulaires */
/* OK */
/* OK */
/* Slick slider */
/* OK */
/* OK */
/* OK */
/* Boutons */
/* Bouton LIEN */
/* OK */
/* Bouton ALL */
/* Bouton TXT */
/* OK */
/* Btn close */
/* OK */
/* Arrow back */
/* OK */
/* Arrow reinit */
/* OK */
/* Header */
/* Menu principal N1 actif */
/* Menu principal N2 */
/* Loupe */
/* OK */
/* Micro */
/* OK */
/* Mon compte */
/* Accès au favoris */
/* Je voudrais */
/* Footer */
/* Go to top */
/* OK */
/* Newsletter */
/* Contact */
/* OK */
/* OK */
/* OK */
/* Footer reseaux sociaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Fil d'ariane */
/* OK */
/* Share / bloc note / maj */
/* OK */
/* OK */
/* Reseaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Alerte */
/* OK */
/********************/
/***** HOME PAGE ****/
/********************/
/* Vidéo play/pause */
/* Je voudrais */
/* Title */
/* Triangle gris en background */
/* OK */
/* OK */
/* Carte interactive */
/* OK */
/* OK */
/********************/
/***** PAGE TYPE ****/
/********************/
/* Liste a puces  */
/* OK */
/* Citation  */
/* OK */
/* Accordeons */
/* OK */
/* Colonne contextuelle */
/* Bloc geoloc */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Telechargements */
/* OK */
/* OK */
/* OK */
/********************/
/***** PAGE LISTE ***/
/********************/
/* Image par defaut */
/* OK */
/* Btn afficher la carte */
/* OK */
/* Btn afficher la liste */
/* OK */
/* Filtres */
/* OK */
/* OK */
/* OK */
/* Localisation */
/* OK */
/*****************************/
/***** PAGE DE RECHERCHE *****/
/*****************************/
/* Pagination */
/* OK */
/* OK */
/* OK */
/* OK */
/*****************************/
/***** PAGE DETAIL / POPIN ***/
/*****************************/
/*****************************/
/**** CARTE INTERACTIVE ******/
/*****************************/
/* Filtres */
/* OK */
/* OK */
/*****************************/
/********* DASHBOARD *********/
/*****************************/
/* Tuiles */
/* Old */
/* Button */
/* Fonts */
/* Custom mixins */
/* ************************************************** */
/* ********************* MIXINS ********************* */
/* ************************************************** */
/* Button */
/* Bouton slick */
/* Degrade */
/* Shadow */
/* Btn_all */
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************ TEMPLATES *******************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/***
	Utiliser la syntaxe a:not(:hover):not(:focus) quand la couleur du a est différente de celle définie dans le reset
**/
/********************************************************************************/
/************************************* HOME *************************************/
/********************************************************************************/
.content_home {
  position: relative;
  background-color: #ffffff;
}

.content_home > span + .bloc_home:not(#acces_rapides):nth-child(2) {
  padding-top: 10rem;
}

#home #img_bdp {
  position: absolute;
  bottom: 0;
  padding: 0;
  z-index: 1;
  width: 100vw;
}

#img_bdp img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*** BLOCS HOME - TRAME GENERIQUE ***/
#home .grid-container {
  max-width: 120rem;
}

#home .grid-container.full {
  max-width: 100%;
}

.bloc_home {
  padding-bottom: 6rem;
  padding-top: 5rem;
}

#home .bloc_home {
  position: relative;
  z-index: 2;
}

.bloc_home .list_item {
  margin-bottom: 0;
}

.bloc_home li.list_item {
  font-size: inherit;
  line-height: inherit;
}

.bloc_home .btn_all {
  margin-top: 6rem;
}

/*** TITRE ***/
.bloc_home .titre_bloc {
  margin-bottom: 2rem;
}

.bloc_home .titre_bloc .bloc_home_title, .content_page .bloc_home .titre_bloc .bloc_home_title {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 7.4em;
  line-height: 1.1;
  padding-bottom: 1.5rem;
  margin: 0;
  position: relative;
  display: inline-block;
}

.bloc_home .titre_bloc .bloc_home_title::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100vw;
  height: 0.4rem;
  background-color: var(--cim_primary_color);
  bottom: 0;
}

/* cas particuliers (si besoin) */
/*** SOUS-TITRE ***/
.bloc_home .bloc_home_subtitle, .content_page .bloc_home .bloc_home_subtitle {
  text-transform: none;
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 5.5em;
  line-height: 1;
  margin: 0 0 1.2rem 0;
}

.bloc_home .bloc_home_subtitle span, .content_page .bloc_home .bloc_home_subtitle span {
  font-size: 4.5rem;
}

/* cas particuliers (si besoin) */
/*** LIST ITEM ***/
.bloc_home .list_item .txt {
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}

/*** BTN ALL ***/
/********************************************************************************/
/*********************************** PAGE TYPE **********************************/
/********************************************************************************/
/***
	Utiliser la syntaxe a:not(:hover):not(:focus) quand la couleur du a est différente de celle définie dans le reset
**/
/*** HEAD PAGE ***/
.head_page {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.head_page .top_container {
  padding: 0 0 0 11.5rem;
  position: relative;
  z-index: 1;
  width: 100%;
  /*** INFOS DETAILS ***/
}
.head_page .top_container .contain_infos {
  padding-top: 3.3rem;
  padding-bottom: 2.9rem;
}
.head_page .top_container .contain_infos.has_date_container {
  position: relative;
  padding-left: 12.5rem;
}
.head_page .top_container .date_container {
  position: absolute;
  top: 3.3rem;
  left: 0;
  max-width: 11rem;
  overflow-wrap: anywhere;
}
.head_page .top_container .date .contain {
  border: 0.1rem solid var(--cim_third_color);
}
.head_page .top_container .inline_zone {
  margin-top: 1rem;
}
.head_page .top_container .inline_zone > * {
  display: inline-block;
  padding-right: 1.8rem;
  margin-bottom: 0;
  line-height: 1.4rem;
  text-transform: uppercase;
  font-size: 1.4em;
  letter-spacing: 0.08em;
}
.head_page .top_container .inline_zone > *:nth-of-type(n+2) {
  border-left: 0.2rem solid #000000;
  padding-left: 1.8rem;
}
.head_page .top_container .inline_zone .lieu {
  margin-top: 0;
  background-position: top left;
}

/*** Si pas bandeau image ***/
#page.list .head_page, #page.dashboard .head_page {
  margin-top: 10rem;
  margin-bottom: 6rem;
  min-height: 0;
}
#page.list .head_page .top_container, #page.dashboard .head_page .top_container {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-bottom: 0;
}
#page.list .head_page .top_container .contain_infos, #page.dashboard .head_page .top_container .contain_infos {
  padding-bottom: 6rem;
}
#page.list .head_page .top_container::before, #page.dashboard .head_page .top_container::before {
  display: none;
}
#page.list .head_page .contain_infos, #page.dashboard .head_page .contain_infos {
  position: relative;
}
#page.list .head_page .contain_infos::before, #page.dashboard .head_page .contain_infos::before {
  content: "";
  width: 70vw;
  height: calc(100% + 50vh);
  bottom: 0;
  right: 0;
  background-color: var(--cim_third_color);
  position: absolute;
  z-index: -1;
}

/*** TITRE PAGE ***/
*:is(#page, #popin_detail) .titre_page *:is(h1, p) {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 5.8em;
  line-height: 1.1;
  font-weight: normal;
  margin: 0;
}

/*** ACCROCHE PAGE ***/
.bottom_container {
  -webkit-transform: translateY(-9rem);
      -ms-transform: translateY(-9rem);
          transform: translateY(-9rem);
}

.quote {
  min-width: 100%;
}

.content_quote {
  padding: 4.4rem 9rem;
  background-color: hsl(var(--cim_third_color_h), var(--cim_third_color_s), var(--cim_third_color_l), 95%);
}

*:is(#page, #popin_detail) .quote *:is(h2, p) {
  text-transform: none;
  color: #000000;
  font-size: 2.4em;
  line-height: 1.4;
  margin: 0;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
}

/*** BTN DANS HEAD_PAGE ***/
.liste_btn {
  -webkit-transform: translateX(1rem);
      -ms-transform: translateX(1rem);
          transform: translateX(1rem);
  padding-left: 1rem;
}

/*** 1er element de contenu n'a pas de margin top ***/
.col_left_inner > *:first-child,
.col_left_inner > *:first-child > h2:first-of-type,
.col_left_inner > span:first-child + h2:first-of-type,
.col_left_inner > span:first-child + * > h2:first-of-type,
.col_left_inner > span:first-child + .bloc_col h2:first-of-type {
  margin-top: 0 !important;
}

/*** PARAM TXT ***/
/*** TITRES ***/
.content_page .csc-header {
  margin-bottom: 0;
}

.content_page h2 {
  margin-top: 5rem;
}

.content_page h3 {
  margin-top: 2.5rem;
}

.content_page h4 {
  margin-top: 1.5rem;
}

.content_page *:is(h2, h3, h4) a {
  border: 0;
  padding: 0;
  font: inherit;
}

.content_page *:is(h2, h3, h4) a:not(:is(:hover, :focus)) {
  color: inherit;
}

/*** SKIN PARAGRAPHE ***/
/*** SKIN LIEN ***/
.content_page a {
  text-transform: none;
  -webkit-box-shadow: inset 0 -0.1rem 0 0 var(--cim_primary_color);
          box-shadow: inset 0 -0.1rem 0 0 var(--cim_primary_color);
  padding: 0 0.2rem;
  position: relative;
}

.content_page a:is(:hover, :focus) {
  -webkit-box-shadow: inset 0 -1.4em 0 0 var(--cim_primary_color);
          box-shadow: inset 0 -1.4em 0 0 var(--cim_primary_color);
  color: #ffffff;
}

.content_page .csc-textpic-image a, .content_page figure.image a {
  padding: 0;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*** SKIN LIST ***/
.content_page ul li, .content_page ol li {
  list-style: none;
  padding: 0 0 0 1.5rem;
  position: relative;
  border: 0;
}

.content_page ul li {
  background-size: 0.4rem auto;
  background-repeat: no-repeat;
  background-position: left 1.1rem;
}

.content_page ul li:not(.accordion-item) li, .content_page ol li:not(.accordion-item) li {
  font-size: 1em;
}

.content_page ul ul, .content_page ol ul, .content_page ul ol, .content_page ol ol {
  margin-bottom: 0.3rem;
}

/*** LIST DECIMAL ***/
.content_page ol {
  list-style: decimal;
  margin-left: 2.5rem;
}

.content_page ol li {
  list-style: decimal;
  background-image: none;
  padding-left: 0.5rem;
}

/*** SKIN TABLEAUX ***/
.content_page table {
  margin-bottom: 3rem;
}

.content_page table caption {
  background: #000000;
  color: #ffffff;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.8em;
  text-transform: uppercase;
}

.content_page *:is(thead, tfoot) *:is(th, td), .content_page tbody th {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 2em;
}

.content_page tbody th {
  background: #e2e2e2;
}

.content_page *:is(td, th) {
  font-size: 1.8em;
  line-height: 1.4;
  border: 0.1rem solid #797676;
  font-weight: normal;
  vertical-align: middle;
  text-align: center;
}

.content_page *:is(td, th) > * {
  color: inherit;
  font: inherit;
  font-size: 1em;
  margin-bottom: 0;
}

/*** BLOCKQUOTE ***/
.content_page blockquote {
  background: no-repeat top left/6.8rem auto;
  text-align: left;
  margin: 2rem 0 3rem 0;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-size: 2.4em;
  line-height: 1.8;
  position: relative;
}
.content_page blockquote::before {
  content: "";
  position: absolute;
  top: 0;
  left: 9rem;
  height: 100%;
  border-left: 0.4rem solid var(--cim_primary_color);
}
.content_page blockquote * {
  margin-bottom: 0;
  color: inherit;
  font-family: inherit;
}
.content_page blockquote *:not(:is(sub, sup)) {
  font-size: 1em;
}

/*** BLOC CITATION ***/
.content_page .bloc_citation blockquote {
  margin: 0;
}
.content_page .bloc_citation .signature {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}
.content_page .bloc_citation .contenu_bloc blockquote p {
  margin-bottom: 0.5rem;
}

/*** SKIN LEGENDE LIEN IMG ***/
.content_page .csc-textpic-image, .content_page figure.image {
  margin: 0 0 3rem 0;
  position: relative;
}

.content_page .csc-textpic-image a, .content_page figure.image a {
  display: block;
}

.content_page figcaption.csc-textpic-caption, .content_page p.figcaption,
.content_page .diaporama_videos .description, .content_page .bloc_video .description {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.8em;
  line-height: 1;
  margin: 1.5rem 0;
  padding-left: 1rem;
  margin-bottom: 0;
  border-left: 0.4rem solid var(--cim_primary_color);
  color: #000000;
}

.content_page .diaporama_videos .description .legend, .content_page .bloc_video .description .legend {
  font-family: inherit;
  font-size: inherit;
  margin-bottom: 0;
}

.content_page figcaption.csc-textpic-caption span, .content_page p.figcaption span,
.content_page .diaporama_videos .description .legend span, .content_page .bloc_video .description span {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
  margin-top: 0.5rem;
}

/*** STYLE RTE ***/
#page .content_page p.align-left, #page .content_page td.align-left {
  text-align: left;
}

#page .content_page p.align-right, #page .content_page td.align-right {
  text-align: right;
}

#page .content_page p.align-center, #page .content_page td.align-center {
  text-align: center;
}

#page .content_page p.align-justify, #page .content_page td.align-justify {
  text-align: justify;
}

#page .content_page p.align-left img, #page .content_page td.align-left img {
  float: left;
  margin-right: 1rem;
}

#page .content_page p.align-right img, #page .content_page td.align-right img {
  float: right;
  margin-left: 1rem;
}

/*** GRID ELEMENT ***/
#col_left_inner > .grid-x > .cell > .bloc_col, #col_left_inner > .grid-x > .cell > header {
  margin-top: 0;
}

#col_left_inner > .grid-x > .cell > header > h2, #col_left_inner > .grid-x > .cell > header > h3, #col_left_inner > .grid-x > .cell > header > h4 {
  margin-top: 1rem;
}

/*** BLOC BOUTONS ***/
.bloc_boutons .contenu_bloc {
  margin-bottom: -1.5rem;
}

.bloc_boutons .bouton_item {
  margin-bottom: 1.5rem;
  max-width: 100%;
}

/*** BLOC VIDEO ***/
.bloc_video {
  width: 100%;
  height: auto;
  margin-bottom: 3rem;
  position: relative;
}

.bloc_video video {
  width: 100%;
  height: auto;
}

.bloc_video .video {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.bloc_video .video > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.bloc_video .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

/* COLONNE CONTEXTUELLE */
/*** BLOCS COL - TRAME GENERIQUE ***/
.bloc_col {
  margin-bottom: 6rem;
}

.col_left .bloc_col {
  margin-top: 0;
  margin-bottom: 6rem;
}

/*** COL RIGHT STICKY ***/
.col_right .bloc_col {
  margin: 0;
}

.col_right .bloc_col .titre_bloc .titre {
  margin-top: 0;
  font-size: 2.6em;
}

/* Generique gestion txt couleur blanc avec fond noir */
.bloc_col.bg_black, .bloc_col .bg_black {
  color: #ffffff;
}

.bloc_col.bg_black *:not(a), .bloc_col.bg_black a:not(:hover):not(:focus),
.bloc_col .bg_black *:not(a), .bloc_col .bg_black a:not(:hover):not(:focus) {
  color: inherit;
}

/*** TITRE ET SOUS-TITRE ***/
.bloc_col .titre_bloc {
  font-size: inherit;
  margin-bottom: 1.5rem;
}

.bloc_col .titre_bloc .titre {
  color: #000000;
  font-size: 3.6em;
  line-height: 1.4;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}

.bloc_col .contenu_bloc .subtitle {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 2.2em;
  font-size: 1.8em;
  margin-top: 1.5rem;
}

/*** CONTENU ***/
.bloc_col .contenu_bloc p {
  margin-bottom: 1.5rem;
}

/*** LIEN ***/
.bloc_col .btn_container {
  padding-top: 1rem;
  text-align: center;
}

/*** BLOC TEST IMAGE ***/
.content_page .csc-textpic .csc-textpicHeader > *:first-child, .content_page .csc-textpic > *:first-child {
  margin-top: 0;
}

/*** BLOCS BAS DE PAGE ***/
/********************************************************************************/
/********************************** PAGE LISTE **********************************/
/********************************************************************************/
/*** RESULTATS ***/
#zone_results {
  position: relative; /*si line_tools_moteur est VERTICAL (btns les uns sous les autres) : ajouter min-height = height btns line_tools_moteur */ /*min-height:33rem;*/
}

.wrap_result {
  position: relative;
  margin: -1rem -1.5rem 0 -1.5rem;
}

#list_items { /*padding-top:map-deep-get($result_marginTop, large);*/
  height: 100%;
}

#first_display {
  min-height: calc(100vh + 0.1rem); /*#46780*/
  max-width: calc(100% - 33rem - 8.3333333333%);
}

/*** ITEM GENERIQUE ***/
.list_item {
  margin-bottom: 3rem;
}

.list_item > .link {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.list .list_item > .link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse; /*align-items:center;*/
}

/*** IMAGE ***/
.list .list_item .img {
  aspect-ratio: auto 210/200;
  min-height: 20rem;
}

.list_item .img {
  overflow: hidden;
}

.list .list_item .img {
  padding-right: 0;
  padding-left: 0;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}

.list_item .img img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.list .list_item .img img {
  border-radius: inherit;
}

.list_item:not(.kiosque):is(:hover, :focus-within) img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

/*** IMAGE PAR DEFAUT AVEC FILIGRANE ***/
/*** ZONE TEXTE ***/
.list_item .thumb-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#page.list .list_item .txt {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

/*** TITRE ***/
.list_item .titre, .content_page .list_item .titre {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 2.4em;
  line-height: 1.2;
  margin: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-transform: initial;
}

.list_item .titre a, .content_page .list_item .titre a {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0;
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.list_item .titre a, .content_page .list_item .titre a, .list_item .titre a span, .list_item .titre > span {
  text-transform: inherit;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
}

.list_item .titre .canceled {
  text-transform: uppercase;
  display: block;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

.list_item .titre a::before {
  content: "";
  display: block !important;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
}

.list_item:is(:hover, :focus-within) .titre a {
  color: inherit;
  text-decoration: underline;
}

/*** DESCRIPTION ***/
.list_item .thumb-desc p, p.infos_item {
  margin-bottom: 0.5rem;
}

.list_item .thumb-desc p:last-child {
  margin-bottom: 0;
}

.list_item .thumb-desc > *:first-child {
  margin-top: 0.3rem;
}

.list_item .thumb-desc > *:first-child:is(.adresse, .tel) {
  margin-top: 1rem;
}

/* Gestion des elements affiches au survol des item */
.showonhover {
  margin: 0;
  display: block;
  overflow: hidden;
  position: relative;
  max-height: 0.0000001rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 0.01;
}

.list_item:focus-within .showonhover, .list_item:hover .showonhover,
.list_item a:hover .showonhover, .list_item a:focus .showonhover {
  max-height: 7.2rem;
  overflow: initial;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 1;
}

/*** DATES ***/
/*** GENERIQUE ***/
.date, .list_item .date {
  font-size: 1em;
  margin-bottom: 0;
}

.date .contain {
  background-color: #ffffff;
  padding: 1.4rem 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.date .contain span {
  color: #000000;
  line-height: initial;
  font-size: inherit;
  text-align: center;
  display: block;
}

.date .contain span.txt_month {
  font-size: 2em;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  margin-top: 0.2rem;
  text-align: center;
  display: inline-block;
}

.date .contain span.txt_day_nb {
  font-size: 4.2em;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  line-height: 0.8;
}

.date .contain .startdate, .date .contain .enddate {
  min-width: 8rem;
  position: relative;
}

.date .contain .startdate + .enddate {
  padding-top: 1rem;
  margin-top: 0.5rem;
}

.date .contain .startdate + .enddate::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 0.2rem;
  width: 2.8rem;
  background-color: var(--cim_secondary_color);
}

.date_inline {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 0;
  display: inline-block;
}

.date_inline span {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}

/*** LIEU ***/
/*.list_item*/
.lieu {
  margin-bottom: 0;
  padding-left: 2rem;
  background-repeat: no-repeat;
  background-position: left 0.3rem;
  background-size: auto 1.5rem;
  margin-top: 0.8rem;
}

/*** CATEGORIE / TYPE***/
.cat, .type, .date_inline, .lieu, [class*=fonction_] { /* #52875 text-transform:uppercase;*/
  font-size: 1.4em;
  line-height: 1.4;
}

/* #52875 */
.cat, .type, .date_inline {
  text-transform: uppercase;
}

.cat, .type, .lieu {
  display: inline-block;
  letter-spacing: 0.08em;
}

.group_cat, .type {
  margin-bottom: 0.5rem;
}

.group_cat {
  -webkit-box-ordinal-group: -1;
  -webkit-order: -2;
      -ms-flex-order: -2;
          order: -2;
  margin-top: -0.5rem;
}

.cat {
  display: inline-block;
  padding: 0;
  border-radius: 0;
  font-size: 1.4em;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: var(--cim_primary_color);
  color: #ffffff;
  padding: 0.4rem 0.8rem;
  margin-right: 0.5rem;
  margin-top: 0.5rem;
}

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

.cat + .type {
  margin-bottom: 0.2rem;
}

/*** EN SAVOIR PLUS ***/
.list_item .btn_txt {
  margin-top: 0.5rem;
}

.list_item:hover .btn_txt span, .list_item:focus-within .btn_txt span {
  padding-left: 2.8rem;
}

.list_item:hover .btn_txt span::before, .list_item:focus-within .btn_txt span::before {
  width: 2.2rem;
}

/*** ITEMS AGENDA ***/
.list_item[class*=agenda].horizontal .date_container {
  position: absolute;
  top: 1.5rem;
  left: 3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
}

.cim_mapbox .list_item[class*=agenda].horizontal .date_container {
  position: inherit;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 0;
  display: inline-block;
  width: auto;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain {
  background-color: transparent;
  padding: 0;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain .startdate, .cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain .enddate {
  width: auto;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain span {
  display: inline-block;
  letter-spacing: inherit;
  margin-top: 0;
  padding-left: 0.2rem;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain span.txt_month {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  left: inherit;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain span.txt_day_nb {
  text-transform: uppercase;
  font-size: 1.4em;
  line-height: 1.4em;
}
.cim_mapbox .list_item[class*=agenda].horizontal .date_container .date .contain .startdate + .enddate::before {
  top: 50%;
}

/*** ITEMS RECHERCHE GENERALE ***/
/* mots cles surlignes */
.list_item .redMarkup, .list_item .redMarkup * {
  font-weight: normal;
  padding: 0 0.2rem;
}

.list_item .redMarkup, .list_item .redMarkup *, .list_item.bandeau_item:hover .redMarkup {
  background-color: #000000 !important;
  color: #ffffff !important;
}

p.suggestion_mot_cle {
  margin-top: 1.5rem;
}

/*** ITEMS FAQ page recherche + page bloc note ***/
/* alignement item sur le bord haut + reduction font-size des titres */
/*** ITEMS ELU ***/
.elu_list_item.list_item .thumb-desc p {
  margin-bottom: 0;
}

.elu_list_item.list_item .thumb-desc p.tel,
.elu_list_item.list_item .thumb-desc p.mail {
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-position: left 0.7rem;
}

.elu_list_item.list_item .thumb-desc p.tel + .mail {
  margin-top: -1rem;
  margin-bottom: 1rem;
}

.fonction_primaire {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}

[class*=fonction_] {
  line-height: 1;
}

.list_item .button_like {
  margin-top: 1rem;
}

.list_item:is(:hover, :focus-within) .button_like span {
  background-color: #000000;
  color: #ffffff;
}

/*** ITEMS KIOSQUE ***/
.kiosque.list_item .img {
  text-align: center;
}

.kiosque.list_item .img img {
  border-radius: 0;
}

#list_items .kiosque.list_item .img {
  overflow: visible;
}

#list_items .kiosque.list_item .img img {
  -webkit-box-shadow: 2px 2px 10px #A9A9A9;
          box-shadow: 2px 2px 10px #A9A9A9;
}

.kiosque.list_item.kiosque .txt p:not(.btn_kiosque):not(.type) {
  margin-bottom: 0;
  font-size: 1.6em;
  max-width: 100%;
}

.kiosque.list_item.kiosque .txt .infos_kiosque {
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  line-height: 1.2;
}

.kiosque.list_item.kiosque .txt .infos_kiosque span {
  display: block;
  line-height: 1.4;
}

.kiosque.list_item.kiosque .txt .num_kiosque {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}

.kiosque.list_item.kiosque .btn_kiosque a:is(:hover, :focus)::before, .content_page .kiosque.list_item.kiosque .btn_kiosque a:is(:hover, :focus)::before, .content_page .zone_ressources_download .zone_btn a:is(:hover, :focus)::before {
  border-color: var(--cim_primary_color);
}

#page.list .kiosque.list_item.kiosque .zone_btn {
  margin-top: 0.5rem;
}

/*** ITEMS DECHETS ***/
/********************************************************************************/
/***************************** PAGE DETAIL / POPIN ******************************/
/********************************************************************************/
/*** BANDEAU PAGE ***/
#bandeau_page_popin img, #bandeau_page_popin .default_img {
  width: calc(100% + 3rem);
}

/*** POPIN DETAIL ***/
#popin_detail {
  max-width: 144rem;
  padding: 0 3rem 3rem 3rem;
  overflow: hidden auto;
}

#popin_detail .close-button {
  top: 3.3rem;
  right: 2rem;
}

#popin_detail .content_from_page {
  margin-top: 0;
}

#popin_detail .titre_bloc {
  text-align: left;
}

#popin_detail .bloc_home .titre_bloc {
  font-size: 1em;
  text-align: right;
}

/*** ARROWS NAV POPIN ***/
body.overflow #main {
  z-index: initial;
}

.wrap_arrow {
  position: fixed;
  top: calc(50% - 7.2rem / 2);
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 3.2rem auto;
  z-index: 3;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  overflow: hidden;
  z-index: 1007;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  border: 0.1rem solid #000000;
}

.wrap_arrow .arrows {
  display: block;
  text-indent: -9999rem;
}

.wrap_arrow:is(:hover, :focus) {
  background-color: #000000;
}

.wrap_arrow.prev:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M16,16.59,11.42,12,16,7.41,14.59,6l-6,6,6,6Z' transform='translate(-0.59)' fill='%23ffffff'/%3E%3Cpath d='M24,0H0V24H24Z' fill='none'/%3E%3C/svg%3E");
}

.wrap_arrow.next:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.59,16.59,13.17,12,8.59,7.41,10,6l6,6-6,6Z' fill='%23ffffff'/%3E%3Cpath d='M0,0H24V24H0Z' fill='none'/%3E%3C/svg%3E");
}

.wrap_arrow.disabled {
  display: none;
}

/********************************************************************************/
/***************************** MOTEUR DE RECHERCHE ******************************/
/********************************************************************************/
/*** AFFICHAGE TERME SAISI ***/
.searched_word {
  padding: 1.5rem 0;
}

.searched_word p {
  margin-bottom: 0;
}

.searched_word p span {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}

/*** PAGINATION ***/
.nb_pages_total_infos {
  font-size: 1.4em;
  width: 100%;
  margin-top: 1rem;
}

.content_page .pagination {
  padding: 0;
  margin-top: 5rem;
  /* Boutons first, last, next, prev */
}
.content_page .pagination li {
  padding: 0;
  background-image: none;
  padding: 1rem;
}
.content_page .pagination li.current {
  background-color: transparent;
  padding: 1rem;
  color: var(--cim_primary_color);
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}
.content_page .pagination a {
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0;
  color: inherit;
}
.content_page .pagination a:not([class^=pagination-]):is(:hover, :focus) {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  color: var(--cim_primary_color);
}
.content_page .pagination .ellipsis::after {
  display: none;
}
.content_page .pagination *[class^=pagination-] {
  padding: 0;
}
.content_page .pagination *[class^=pagination-] a::before, .content_page .pagination *[class^=pagination-] a::after {
  display: none;
}
.content_page .pagination .pagination-previous {
  margin-right: 2rem;
}
.content_page .pagination .pagination-next {
  margin-left: 2rem;
}
.content_page .pagination .pagination-first {
  margin-right: 1rem;
}
.content_page .pagination .pagination-last {
  margin-left: 1rem;
}

.content_page *[class^=pagination-] a {
  position: relative;
  top: auto;
  width: 7.2rem;
  height: 7.2rem;
  border-radius: 50%;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 3.2rem auto;
  z-index: 3;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  overflow: hidden;
  width: 5rem;
  height: 5rem;
  border: 0.1rem solid #000000;
  background-size: 2.8rem auto;
}
.content_page *[class^=pagination-] a:is(:hover, :focus) {
  background-color: #000000;
}
.content_page .pagination-previous a:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M16,16.59,11.42,12,16,7.41,14.59,6l-6,6,6,6Z' transform='translate(-0.59)' fill='%23ffffff'/%3E%3Cpath d='M24,0H0V24H24Z' fill='none'/%3E%3C/svg%3E");
}
.content_page .pagination-next a:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.59,16.59,13.17,12,8.59,7.41,10,6l6,6-6,6Z' fill='%23ffffff'/%3E%3Cpath d='M0,0H24V24H0Z' fill='none'/%3E%3C/svg%3E");
}
.content_page .pagination-first a:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.41,16.59,13.82,12l4.59-4.59L17,6l-6,6,6,6ZM6,6H8V18H6Z' fill='%23ffffff'/%3E%3Cpath d='M24,24H0V0H24Z' fill='none'/%3E%3C/svg%3E");
}
.content_page .pagination-last a:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.59,7.41,10.18,12,5.59,16.59,7,18l6-6L7,6ZM16,6h2V18H16Z' fill='%23ffffff'/%3E%3Cpath d='M0,0H24V24H0Z' fill='none'/%3E%3C/svg%3E");
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvYXBwX3RlbXBsYXRlLmNzcyIsInNjc3MvZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwic2Nzcy9jdXN0b20vX2Z1bmN0aW9ucy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9zZXR0aW5nc19jb2xvcnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fc2V0dGluZ3Muc2NzcyIsInNjc3MvY3VzdG9tL19jaW1faWNvbnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL0ZvdW5kYXRpb24uc2NzcyIsInNjc3MvYXBwX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ2dFaEIsbUJBQUE7QUNoRUEscUVBQUE7QUFDQSxxRUFBQTtBQUNBLHFFQUFBO0FEaUVBLDBCQUFBO0FFbkVBLHVEQUFBO0FBQ0EsdURBQUE7QUFDQSx1REFBQTtBQUtDLG9CQUFBO0FBT0Msc0NBQUE7QUNaRix1REFBQTtBQUNBLHVEQUFBO0FBQ0EsdURBQUE7QUFFQywwREFBQTtBQUlBLHdEQUFBO0FBS0EsY0FBQTtBQUtBLG9CQUFBO0FBY0QsdURBQUE7QUFDQSx1REFBQTtBQUNBLHVEQUFBO0FBRUMsZUFBQTtBQUNDLHNCQUFBO0FBT0QsYUFBQTtBQUNDLHVCQUFBO0FBT0EsZ0RBQUE7QUFPRCxjQUFBO0FBQ0UsaUNBQUE7QUFPRCx1QkFBQTtBQU9ELHNCQUFBO0FBQ0Msc0JBQUE7QUFPQSxn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bWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIEZ1bmN0aW9ucyBzYXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKiogRm9uY3Rpb24gcXVpIGdlbmVyZSB1biBzdmcgYmFja2dyb3VuZC1pbWFnZSAqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIHByb2pldCAqL1xuLyogdXRpbGlzw6lzIGRhbnMgc2V0dGluZ3MgRm91bmRhdGlvbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKiBDT1VMRVVSUyBIT1JTIENJTV8qICoqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIE51YW5jZXMgZGUgZ3JpcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogRGFzaGJvYXJkICovXG4vKiBSZXNlYXV4IHNvY2lhdXggKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiogQ09ORklHICoqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qKiogTEFZT1VUICoqKi9cbi8qIEhhdXRldXIgZHUgaGVhZGVyICovXG4vKioqIEhPTUUgKioqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKiBNYXJnaW4gbsOpZ2F0aXZlIGF1IGRlc3N1cyBkZXMgYWNjw6hzIHJhcGlkZXMgKi9cbi8qKiogRURJVE8gKioqL1xuLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKioqIFBBR0UgREUgTElTVEUgKioqL1xuLyogSGF1dGV1ciBkdSBtb3RldXIgKi9cbi8qIFBhZGRpbmcgYXUgZGVzc3VzIGR1IG1vdGV1ciAqL1xuLyogUmVzdWx0YXRzIC0gZXNwYWNlIGVudHJlIG1vdGV1cjpib3R0b20gZXQgdmlnbmV0dGU6dG9wIGRlIHBhZ2UgZGUgbGlzdGUgKi9cbi8qIFZhcmlhYmxlcyBkZXMgaWNvbmVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKiBTVkcgT1BUSU9OUyBEJ0VYUE9SVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cdE9wdGlvbnMgZCdleHBvcnQgcG91ciByZW5kcmUgbGVzIFNWRyBiYWNrZ3JvdW5kLWltYWdlIGNvbXBhdGlibGVzIGF2ZWMgSUUxMVxuXG5cdEZpY2hpZXIgQUkgPiBFeHBvcnRlciBsYSBzZWxlY3Rpb24gPiBwYXJhbcOodHJlcyAoZm9ybWF0KSA+IFNWR1xuXHRcdEF0dHJpYnV0cyBkZSBwcsOpc2VudGF0aW9uXG5cdFx0U1ZHXG5cdFx0SW5jb3Jwb3JlclxuXHRcdE5vbXMgZGUgY2FscXVlc1xuXHRcdDJcblx0XHRNaW5pbWlmaWVyXG5cdFx0UmVzcG9uc2l2ZVxuXG5cdCsgYWpvdXQgZGUgbCdhdHRyaWJ1dCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIlxuXG5cdFNpIHByb2JsZW1lIGRlIHN2ZyBhdmVjIHBvcGx5bGluZSBvdSBsaW5lID4gb3V2cmlyIGxlIHN2ZyBkYW5zIGFpID4gc2VsZWN0aW9uIGRlIGwnaWNvbmUgPiBPYmpldCA+IHRyYWPDqSA+IFZlY3RvcmlzZXIgbGUgY29udG91clxuKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqIElNUE9SVCAqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIFZhcmlhYmxlcyBkZSBjb3VsZXVycyAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqIENPVUxFVVJTICoqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgcHJvamV0ICovXG4vKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBiYXNpcXVlcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogTnVhbmNlcyBkZSBncmlzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBEYXNoYm9hcmQgKi9cbi8qIFJlc2VhdXggc29jaWF1eCAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyoqKiBMQVlPVVQgKioqL1xuLyogSGF1dGV1ciBkdSBoZWFkZXIgKi9cbi8qKiogSE9NRSAqKiovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qIE1hcmdpbiBuw6lnYXRpdmUgYXUgZGVzc3VzIGRlcyBhY2PDqHMgcmFwaWRlcyAqL1xuLyoqKiBFRElUTyAqKiovXG4vKiBNYXJnaW4gYm90dG9tIHNvdXMgbGVzIGJsb2NzICovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qKiogUEFHRSBERSBMSVNURSAqKiovXG4vKiBIYXV0ZXVyIGR1IG1vdGV1ciAqL1xuLyogUGFkZGluZyBhdSBkZXNzdXMgZHUgbW90ZXVyICovXG4vKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKiogTEFZT1VUICoqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogVGhlX2NoZXZyb24gKi9cbi8qIE9LICovXG4vKiBGb3JtdWxhaXJlcyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBTbGljayBzbGlkZXIgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEJvdXRvbnMgKi9cbi8qIEJvdXRvbiBMSUVOICovXG4vKiBPSyAqL1xuLyogQm91dG9uIEFMTCAqL1xuLyogQm91dG9uIFRYVCAqL1xuLyogT0sgKi9cbi8qIEJ0biBjbG9zZSAqL1xuLyogT0sgKi9cbi8qIEFycm93IGJhY2sgKi9cbi8qIE9LICovXG4vKiBBcnJvdyByZWluaXQgKi9cbi8qIE9LICovXG4vKiBIZWFkZXIgKi9cbi8qIE1lbnUgcHJpbmNpcGFsIE4xIGFjdGlmICovXG4vKiBNZW51IHByaW5jaXBhbCBOMiAqL1xuLyogTG91cGUgKi9cbi8qIE9LICovXG4vKiBNaWNybyAqL1xuLyogT0sgKi9cbi8qIE1vbiBjb21wdGUgKi9cbi8qIEFjY8OocyBhdSBmYXZvcmlzICovXG4vKiBKZSB2b3VkcmFpcyAqL1xuLyogRm9vdGVyICovXG4vKiBHbyB0byB0b3AgKi9cbi8qIE9LICovXG4vKiBOZXdzbGV0dGVyICovXG4vKiBDb250YWN0ICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBGb290ZXIgcmVzZWF1eCBzb2NpYXV4ICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEZpbCBkJ2FyaWFuZSAqL1xuLyogT0sgKi9cbi8qIFNoYXJlIC8gYmxvYyBub3RlIC8gbWFqICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIFJlc2VhdXggKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogQWxlcnRlICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIEhPTUUgUEFHRSAqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogVmlkw6lvIHBsYXkvcGF1c2UgKi9cbi8qIEplIHZvdWRyYWlzICovXG4vKiBUaXRsZSAqL1xuLyogVHJpYW5nbGUgZ3JpcyBlbiBiYWNrZ3JvdW5kICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIENhcnRlIGludGVyYWN0aXZlICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIFRZUEUgKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIExpc3RlIGEgcHVjZXMgICovXG4vKiBPSyAqL1xuLyogQ2l0YXRpb24gICovXG4vKiBPSyAqL1xuLyogQWNjb3JkZW9ucyAqL1xuLyogT0sgKi9cbi8qIENvbG9ubmUgY29udGV4dHVlbGxlICovXG4vKiBCbG9jIGdlb2xvYyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBUZWxlY2hhcmdlbWVudHMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIExJU1RFICoqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIEltYWdlIHBhciBkZWZhdXQgKi9cbi8qIE9LICovXG4vKiBCdG4gYWZmaWNoZXIgbGEgY2FydGUgKi9cbi8qIE9LICovXG4vKiBCdG4gYWZmaWNoZXIgbGEgbGlzdGUgKi9cbi8qIE9LICovXG4vKiBGaWx0cmVzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBMb2NhbGlzYXRpb24gKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBERSBSRUNIRVJDSEUgKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWdpbmF0aW9uICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKiogQ0FSVEUgSU5URVJBQ1RJVkUgKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRmlsdHJlcyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqIERBU0hCT0FSRCAqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUdWlsZXMgKi9cbi8qIE9sZCAqL1xuLyogQnV0dG9uICovXG4vKiBGb250cyAqL1xuLyogQ3VzdG9tIG1peGlucyAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKiBNSVhJTlMgKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQnV0dG9uICovXG4vKiBCb3V0b24gc2xpY2sgKi9cbi8qIERlZ3JhZGUgKi9cbi8qIFNoYWRvdyAqL1xuLyogQnRuX2FsbCAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBURU1QTEFURVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKipcblx0VXRpbGlzZXIgbGEgc3ludGF4ZSBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHF1YW5kIGxhIGNvdWxldXIgZHUgYSBlc3QgZGlmZsOpcmVudGUgZGUgY2VsbGUgZMOpZmluaWUgZGFucyBsZSByZXNldFxuKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBIT01FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29udGVudF9ob21lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGVudF9ob21lID4gc3BhbiArIC5ibG9jX2hvbWU6bm90KCNhY2Nlc19yYXBpZGVzKTpudGgtY2hpbGQoMikge1xuICBwYWRkaW5nLXRvcDogMTByZW07XG59XG5cbiNob21lICNpbWdfYmRwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuI2ltZ19iZHAgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qKiogQkxPQ1MgSE9NRSAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXG4jaG9tZSAuZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMHJlbTtcbn1cblxuI2hvbWUgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5ibG9jX2hvbWUge1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgcGFkZGluZy10b3A6IDVyZW07XG59XG5cbiNob21lIC5ibG9jX2hvbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5ibG9jX2hvbWUgLmxpc3RfaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jX2hvbWUgbGkubGlzdF9pdGVtIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmJsb2NfaG9tZSAuYnRuX2FsbCB7XG4gIG1hcmdpbi10b3A6IDZyZW07XG59XG5cbi8qKiogVElUUkUgKioqL1xuLmJsb2NfaG9tZSAudGl0cmVfYmxvYyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDcuNGVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDAuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBib3R0b206IDA7XG59XG5cbi8qIGNhcyBwYXJ0aWN1bGllcnMgKHNpIGJlc29pbikgKi9cbi8qKiogU09VUy1USVRSRSAqKiovXG4uYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUsIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxLjJyZW0gMDtcbn1cblxuLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHNwYW4ge1xuICBmb250LXNpemU6IDQuNXJlbTtcbn1cblxuLyogY2FzIHBhcnRpY3VsaWVycyAoc2kgYmVzb2luKSAqL1xuLyoqKiBMSVNUIElURU0gKioqL1xuLmJsb2NfaG9tZSAubGlzdF9pdGVtIC50eHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwLjhyZW0pO1xufVxuXG4vKioqIEJUTiBBTEwgKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgVFlQRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKlxuXHRVdGlsaXNlciBsYSBzeW50YXhlIGE6bm90KDpob3Zlcik6bm90KDpmb2N1cykgcXVhbmQgbGEgY291bGV1ciBkdSBhIGVzdCBkaWZmw6lyZW50ZSBkZSBjZWxsZSBkw6lmaW5pZSBkYW5zIGxlIHJlc2V0XG4qKi9cbi8qKiogSEVBRCBQQUdFICoqKi9cbi5oZWFkX3BhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaGVhZF9wYWdlIC50b3BfY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAwIDAgMTEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgLyoqKiBJTkZPUyBERVRBSUxTICoqKi9cbn1cbi5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmNvbnRhaW5faW5mb3Mge1xuICBwYWRkaW5nLXRvcDogMy4zcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi45cmVtO1xufVxuLmhlYWRfcGFnZSAudG9wX2NvbnRhaW5lciAuY29udGFpbl9pbmZvcy5oYXNfZGF0ZV9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMTIuNXJlbTtcbn1cbi5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmRhdGVfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMuM3JlbTtcbiAgbGVmdDogMDtcbiAgbWF4LXdpZHRoOiAxMXJlbTtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG4uaGVhZF9wYWdlIC50b3BfY29udGFpbmVyIC5kYXRlIC5jb250YWluIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgdmFyKC0tY2ltX3RoaXJkX2NvbG9yKTtcbn1cbi5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmlubGluZV96b25lIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIgLmlubGluZV96b25lID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMS44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS40cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuNGVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuLmhlYWRfcGFnZSAudG9wX2NvbnRhaW5lciAuaW5saW5lX3pvbmUgPiAqOm50aC1vZi10eXBlKG4rMikge1xuICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICMwMDAwMDA7XG4gIHBhZGRpbmctbGVmdDogMS44cmVtO1xufVxuLmhlYWRfcGFnZSAudG9wX2NvbnRhaW5lciAuaW5saW5lX3pvbmUgLmxpZXUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbn1cblxuLyoqKiBTaSBwYXMgYmFuZGVhdSBpbWFnZSAqKiovXG4jcGFnZS5saXN0IC5oZWFkX3BhZ2UsICNwYWdlLmRhc2hib2FyZCAuaGVhZF9wYWdlIHtcbiAgbWFyZ2luLXRvcDogMTByZW07XG4gIG1hcmdpbi1ib3R0b206IDZyZW07XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG4jcGFnZS5saXN0IC5oZWFkX3BhZ2UgLnRvcF9jb250YWluZXIsICNwYWdlLmRhc2hib2FyZCAuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuI3BhZ2UubGlzdCAuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyIC5jb250YWluX2luZm9zLCAjcGFnZS5kYXNoYm9hcmQgLmhlYWRfcGFnZSAudG9wX2NvbnRhaW5lciAuY29udGFpbl9pbmZvcyB7XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtO1xufVxuI3BhZ2UubGlzdCAuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyOjpiZWZvcmUsICNwYWdlLmRhc2hib2FyZCAuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3BhZ2UubGlzdCAuaGVhZF9wYWdlIC5jb250YWluX2luZm9zLCAjcGFnZS5kYXNoYm9hcmQgLmhlYWRfcGFnZSAuY29udGFpbl9pbmZvcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNwYWdlLmxpc3QgLmhlYWRfcGFnZSAuY29udGFpbl9pbmZvczo6YmVmb3JlLCAjcGFnZS5kYXNoYm9hcmQgLmhlYWRfcGFnZSAuY29udGFpbl9pbmZvczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDcwdnc7XG4gIGhlaWdodDogY2FsYygxMDAlICsgNTB2aCk7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV90aGlyZF9jb2xvcik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qKiogVElUUkUgUEFHRSAqKiovXG4qOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAudGl0cmVfcGFnZSAqOmlzKGgxLCBwKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNS44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqKiBBQ0NST0NIRSBQQUdFICoqKi9cbi5ib3R0b21fY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05cmVtKTtcbn1cblxuLnF1b3RlIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGVudF9xdW90ZSB7XG4gIHBhZGRpbmc6IDQuNHJlbSA5cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2wodmFyKC0tY2ltX3RoaXJkX2NvbG9yX2gpLCB2YXIoLS1jaW1fdGhpcmRfY29sb3JfcyksIHZhcigtLWNpbV90aGlyZF9jb2xvcl9sKSwgOTUlKTtcbn1cblxuKjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnF1b3RlICo6aXMoaDIsIHApIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDIuNGVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfcmVndWxhclwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbn1cblxuLyoqKiBCVE4gREFOUyBIRUFEX1BBR0UgKioqL1xuLmxpc3RlX2J0biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcmVtKTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4vKioqIDFlciBlbGVtZW50IGRlIGNvbnRlbnUgbidhIHBhcyBkZSBtYXJnaW4gdG9wICoqKi9cbi5jb2xfbGVmdF9pbm5lciA+ICo6Zmlyc3QtY2hpbGQsXG4uY29sX2xlZnRfaW5uZXIgPiAqOmZpcnN0LWNoaWxkID4gaDI6Zmlyc3Qtb2YtdHlwZSxcbi5jb2xfbGVmdF9pbm5lciA+IHNwYW46Zmlyc3QtY2hpbGQgKyBoMjpmaXJzdC1vZi10eXBlLFxuLmNvbF9sZWZ0X2lubmVyID4gc3BhbjpmaXJzdC1jaGlsZCArICogPiBoMjpmaXJzdC1vZi10eXBlLFxuLmNvbF9sZWZ0X2lubmVyID4gc3BhbjpmaXJzdC1jaGlsZCArIC5ibG9jX2NvbCBoMjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqIFBBUkFNIFRYVCAqKiovXG4vKioqIFRJVFJFUyAqKiovXG4uY29udGVudF9wYWdlIC5jc2MtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbnRlbnRfcGFnZSBoMiB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbi5jb250ZW50X3BhZ2UgaDMge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5cbi5jb250ZW50X3BhZ2UgaDQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi5jb250ZW50X3BhZ2UgKjppcyhoMiwgaDMsIGg0KSBhIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xufVxuXG4uY29udGVudF9wYWdlICo6aXMoaDIsIGgzLCBoNCkgYTpub3QoOmlzKDpob3ZlciwgOmZvY3VzKSkge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyoqKiBTS0lOIFBBUkFHUkFQSEUgKioqL1xuLyoqKiBTS0lOIExJRU4gKioqL1xuLmNvbnRlbnRfcGFnZSBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMXJlbSAwIDAgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBwYWRkaW5nOiAwIDAuMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGVudF9wYWdlIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMS40ZW0gMCAwIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljLWltYWdlIGEsIC5jb250ZW50X3BhZ2UgZmlndXJlLmltYWdlIGEge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qKiogU0tJTiBMSVNUICoqKi9cbi5jb250ZW50X3BhZ2UgdWwgbGksIC5jb250ZW50X3BhZ2Ugb2wgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDAgMCAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uY29udGVudF9wYWdlIHVsIGxpIHtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjRyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxLjFyZW07XG59XG5cbi5jb250ZW50X3BhZ2UgdWwgbGk6bm90KC5hY2NvcmRpb24taXRlbSkgbGksIC5jb250ZW50X3BhZ2Ugb2wgbGk6bm90KC5hY2NvcmRpb24taXRlbSkgbGkge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNvbnRlbnRfcGFnZSB1bCB1bCwgLmNvbnRlbnRfcGFnZSBvbCB1bCwgLmNvbnRlbnRfcGFnZSB1bCBvbCwgLmNvbnRlbnRfcGFnZSBvbCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbn1cblxuLyoqKiBMSVNUIERFQ0lNQUwgKioqL1xuLmNvbnRlbnRfcGFnZSBvbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gIG1hcmdpbi1sZWZ0OiAyLjVyZW07XG59XG5cbi5jb250ZW50X3BhZ2Ugb2wgbGkge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cblxuLyoqKiBTS0lOIFRBQkxFQVVYICoqKi9cbi5jb250ZW50X3BhZ2UgdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4uY29udGVudF9wYWdlIHRhYmxlIGNhcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29udGVudF9wYWdlICo6aXModGhlYWQsIHRmb290KSAqOmlzKHRoLCB0ZCksIC5jb250ZW50X3BhZ2UgdGJvZHkgdGgge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uY29udGVudF9wYWdlIHRib2R5IHRoIHtcbiAgYmFja2dyb3VuZDogI2UyZTJlMjtcbn1cblxuLmNvbnRlbnRfcGFnZSAqOmlzKHRkLCB0aCkge1xuICBmb250LXNpemU6IDEuOGVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNzk3Njc2O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb250ZW50X3BhZ2UgKjppcyh0ZCwgdGgpID4gKiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKiBCTE9DS1FVT1RFICoqKi9cbi5jb250ZW50X3BhZ2UgYmxvY2txdW90ZSB7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB0b3AgbGVmdC82LjhyZW0gYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAycmVtIDAgM3JlbSAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jb250ZW50X3BhZ2UgYmxvY2txdW90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDlyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IDAuNHJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG4uY29udGVudF9wYWdlIGJsb2NrcXVvdGUgKiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5jb250ZW50X3BhZ2UgYmxvY2txdW90ZSAqOm5vdCg6aXMoc3ViLCBzdXApKSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKioqIEJMT0MgQ0lUQVRJT04gKioqL1xuLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiAuc2lnbmF0dXJlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xufVxuLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiAuY29udGVudV9ibG9jIGJsb2NrcXVvdGUgcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLyoqKiBTS0lOIExFR0VOREUgTElFTiBJTUcgKioqL1xuLmNvbnRlbnRfcGFnZSAuY3NjLXRleHRwaWMtaW1hZ2UsIC5jb250ZW50X3BhZ2UgZmlndXJlLmltYWdlIHtcbiAgbWFyZ2luOiAwIDAgM3JlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljLWltYWdlIGEsIC5jb250ZW50X3BhZ2UgZmlndXJlLmltYWdlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbnRlbnRfcGFnZSBmaWdjYXB0aW9uLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jb250ZW50X3BhZ2UgcC5maWdjYXB0aW9uLFxuLmNvbnRlbnRfcGFnZSAuZGlhcG9yYW1hX3ZpZGVvcyAuZGVzY3JpcHRpb24sIC5jb250ZW50X3BhZ2UgLmJsb2NfdmlkZW8gLmRlc2NyaXB0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuOGVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMC40cmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5jb250ZW50X3BhZ2UgLmRpYXBvcmFtYV92aWRlb3MgLmRlc2NyaXB0aW9uIC5sZWdlbmQsIC5jb250ZW50X3BhZ2UgLmJsb2NfdmlkZW8gLmRlc2NyaXB0aW9uIC5sZWdlbmQge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGVudF9wYWdlIGZpZ2NhcHRpb24uY3NjLXRleHRwaWMtY2FwdGlvbiBzcGFuLCAuY29udGVudF9wYWdlIHAuZmlnY2FwdGlvbiBzcGFuLFxuLmNvbnRlbnRfcGFnZSAuZGlhcG9yYW1hX3ZpZGVvcyAuZGVzY3JpcHRpb24gLmxlZ2VuZCBzcGFuLCAuY29udGVudF9wYWdlIC5ibG9jX3ZpZGVvIC5kZXNjcmlwdGlvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4vKioqIFNUWUxFIFJURSAqKiovXG4jcGFnZSAuY29udGVudF9wYWdlIHAuYWxpZ24tbGVmdCwgI3BhZ2UgLmNvbnRlbnRfcGFnZSB0ZC5hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI3BhZ2UgLmNvbnRlbnRfcGFnZSBwLmFsaWduLXJpZ2h0LCAjcGFnZSAuY29udGVudF9wYWdlIHRkLmFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbiNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1jZW50ZXIsICNwYWdlIC5jb250ZW50X3BhZ2UgdGQuYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jcGFnZSAuY29udGVudF9wYWdlIHAuYWxpZ24tanVzdGlmeSwgI3BhZ2UgLmNvbnRlbnRfcGFnZSB0ZC5hbGlnbi1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuI3BhZ2UgLmNvbnRlbnRfcGFnZSBwLmFsaWduLWxlZnQgaW1nLCAjcGFnZSAuY29udGVudF9wYWdlIHRkLmFsaWduLWxlZnQgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuI3BhZ2UgLmNvbnRlbnRfcGFnZSBwLmFsaWduLXJpZ2h0IGltZywgI3BhZ2UgLmNvbnRlbnRfcGFnZSB0ZC5hbGlnbi1yaWdodCBpbWcge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4vKioqIEdSSUQgRUxFTUVOVCAqKiovXG4jY29sX2xlZnRfaW5uZXIgPiAuZ3JpZC14ID4gLmNlbGwgPiAuYmxvY19jb2wsICNjb2xfbGVmdF9pbm5lciA+IC5ncmlkLXggPiAuY2VsbCA+IGhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNjb2xfbGVmdF9pbm5lciA+IC5ncmlkLXggPiAuY2VsbCA+IGhlYWRlciA+IGgyLCAjY29sX2xlZnRfaW5uZXIgPiAuZ3JpZC14ID4gLmNlbGwgPiBoZWFkZXIgPiBoMywgI2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCA+IC5jZWxsID4gaGVhZGVyID4gaDQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4vKioqIEJMT0MgQk9VVE9OUyAqKiovXG4uYmxvY19ib3V0b25zIC5jb250ZW51X2Jsb2Mge1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtO1xufVxuXG4uYmxvY19ib3V0b25zIC5ib3V0b25faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKioqIEJMT0MgVklERU8gKioqL1xuLmJsb2NfdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibG9jX3ZpZGVvIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJsb2NfdmlkZW8gLnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmxvY192aWRlbyAudmlkZW8gPiAqIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uYmxvY192aWRlbyAudmlkZW8gaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBDT0xPTk5FIENPTlRFWFRVRUxMRSAqL1xuLyoqKiBCTE9DUyBDT0wgLSBUUkFNRSBHRU5FUklRVUUgKioqL1xuLmJsb2NfY29sIHtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbn1cblxuLmNvbF9sZWZ0IC5ibG9jX2NvbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDZyZW07XG59XG5cbi8qKiogQ09MIFJJR0hUIFNUSUNLWSAqKiovXG4uY29sX3JpZ2h0IC5ibG9jX2NvbCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbF9yaWdodCAuYmxvY19jb2wgLnRpdHJlX2Jsb2MgLnRpdHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAyLjZlbTtcbn1cblxuLyogR2VuZXJpcXVlIGdlc3Rpb24gdHh0IGNvdWxldXIgYmxhbmMgYXZlYyBmb25kIG5vaXIgKi9cbi5ibG9jX2NvbC5iZ19ibGFjaywgLmJsb2NfY29sIC5iZ19ibGFjayB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYmxvY19jb2wuYmdfYmxhY2sgKjpub3QoYSksIC5ibG9jX2NvbC5iZ19ibGFjayBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpLFxuLmJsb2NfY29sIC5iZ19ibGFjayAqOm5vdChhKSwgLmJsb2NfY29sIC5iZ19ibGFjayBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKiogVElUUkUgRVQgU09VUy1USVRSRSAqKiovXG4uYmxvY19jb2wgLnRpdHJlX2Jsb2Mge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmJsb2NfY29sIC50aXRyZV9ibG9jIC50aXRyZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDMuNmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG59XG5cbi5ibG9jX2NvbCAuY29udGVudV9ibG9jIC5zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyLjJlbTtcbiAgZm9udC1zaXplOiAxLjhlbTtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4vKioqIENPTlRFTlUgKioqL1xuLmJsb2NfY29sIC5jb250ZW51X2Jsb2MgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLyoqKiBMSUVOICoqKi9cbi5ibG9jX2NvbCAuYnRuX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKiogQkxPQyBURVNUIElNQUdFICoqKi9cbi5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpY0hlYWRlciA+ICo6Zmlyc3QtY2hpbGQsIC5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKiogQkxPQ1MgQkFTIERFIFBBR0UgKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBMSVNURSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKiBSRVNVTFRBVFMgKioqL1xuI3pvbmVfcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLypzaSBsaW5lX3Rvb2xzX21vdGV1ciBlc3QgVkVSVElDQUwgKGJ0bnMgbGVzIHVucyBzb3VzIGxlcyBhdXRyZXMpIDogYWpvdXRlciBtaW4taGVpZ2h0ID0gaGVpZ2h0IGJ0bnMgbGluZV90b29sc19tb3RldXIgKi8gLyptaW4taGVpZ2h0OjMzcmVtOyovXG59XG5cbi53cmFwX3Jlc3VsdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtMXJlbSAtMS41cmVtIDAgLTEuNXJlbTtcbn1cblxuI2xpc3RfaXRlbXMgeyAvKnBhZGRpbmctdG9wOm1hcC1kZWVwLWdldCgkcmVzdWx0X21hcmdpblRvcCwgbGFyZ2UpOyovXG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2ZpcnN0X2Rpc3BsYXkge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoICsgMC4xcmVtKTsgLyojNDY3ODAqL1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMzcmVtIC0gOC4zMzMzMzMzMzMzJSk7XG59XG5cbi8qKiogSVRFTSBHRU5FUklRVUUgKioqL1xuLmxpc3RfaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5saXN0X2l0ZW0gPiAubGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmxpc3QgLmxpc3RfaXRlbSA+IC5saW5rIHtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTsgLyphbGlnbi1pdGVtczpjZW50ZXI7Ki9cbn1cblxuLyoqKiBJTUFHRSAqKiovXG4ubGlzdCAubGlzdF9pdGVtIC5pbWcge1xuICBhc3BlY3QtcmF0aW86IGF1dG8gMjEwLzIwMDtcbiAgbWluLWhlaWdodDogMjByZW07XG59XG5cbi5saXN0X2l0ZW0gLmltZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5saXN0IC5saXN0X2l0ZW0gLmltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG59XG5cbi5saXN0X2l0ZW0gLmltZyBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmxpc3QgLmxpc3RfaXRlbSAuaW1nIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi5saXN0X2l0ZW06bm90KC5raW9zcXVlKTppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyoqKiBJTUFHRSBQQVIgREVGQVVUIEFWRUMgRklMSUdSQU5FICoqKi9cbi8qKiogWk9ORSBURVhURSAqKiovXG4ubGlzdF9pdGVtIC50aHVtYi10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4jcGFnZS5saXN0IC5saXN0X2l0ZW0gLnR4dCB7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG5cbi8qKiogVElUUkUgKioqL1xuLmxpc3RfaXRlbSAudGl0cmUsIC5jb250ZW50X3BhZ2UgLmxpc3RfaXRlbSAudGl0cmUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuNGVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5cbi5saXN0X2l0ZW0gLnRpdHJlIGEsIC5jb250ZW50X3BhZ2UgLmxpc3RfaXRlbSAudGl0cmUgYSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubGlzdF9pdGVtIC50aXRyZSBhLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0gLnRpdHJlIGEsIC5saXN0X2l0ZW0gLnRpdHJlIGEgc3BhbiwgLmxpc3RfaXRlbSAudGl0cmUgPiBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5saXN0X2l0ZW0gLnRpdHJlIC5jYW5jZWxlZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcmRlcjogLTE7XG59XG5cbi5saXN0X2l0ZW0gLnRpdHJlIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAzO1xufVxuXG4ubGlzdF9pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgLnRpdHJlIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qKiogREVTQ1JJUFRJT04gKioqL1xuLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLCBwLmluZm9zX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5saXN0X2l0ZW0gLnRodW1iLWRlc2MgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxpc3RfaXRlbSAudGh1bWItZGVzYyA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG59XG5cbi5saXN0X2l0ZW0gLnRodW1iLWRlc2MgPiAqOmZpcnN0LWNoaWxkOmlzKC5hZHJlc3NlLCAudGVsKSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi8qIEdlc3Rpb24gZGVzIGVsZW1lbnRzIGFmZmljaGVzIGF1IHN1cnZvbCBkZXMgaXRlbSAqL1xuLnNob3dvbmhvdmVyIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtaGVpZ2h0OiAwLjAwMDAwMDFyZW07XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDAuMDE7XG59XG5cbi5saXN0X2l0ZW06Zm9jdXMtd2l0aGluIC5zaG93b25ob3ZlciwgLmxpc3RfaXRlbTpob3ZlciAuc2hvd29uaG92ZXIsXG4ubGlzdF9pdGVtIGE6aG92ZXIgLnNob3dvbmhvdmVyLCAubGlzdF9pdGVtIGE6Zm9jdXMgLnNob3dvbmhvdmVyIHtcbiAgbWF4LWhlaWdodDogNy4ycmVtO1xuICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyoqKiBEQVRFUyAqKiovXG4vKioqIEdFTkVSSVFVRSAqKiovXG4uZGF0ZSwgLmxpc3RfaXRlbSAuZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZGF0ZSAuY29udGFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDEuNHJlbSAxLjJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGF0ZSAuY29udGFpbiBzcGFuIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kYXRlIC5jb250YWluIHNwYW4udHh0X21vbnRoIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfcmVndWxhclwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfZGF5X25iIHtcbiAgZm9udC1zaXplOiA0LjJlbTtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMC44O1xufVxuXG4uZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlLCAuZGF0ZSAuY29udGFpbiAuZW5kZGF0ZSB7XG4gIG1pbi13aWR0aDogOHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlICsgLmVuZGRhdGUge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlICsgLmVuZGRhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgaGVpZ2h0OiAwLjJyZW07XG4gIHdpZHRoOiAyLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9zZWNvbmRhcnlfY29sb3IpO1xufVxuXG4uZGF0ZV9pbmxpbmUge1xuICBvcmRlcjogLTE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRhdGVfaW5saW5lIHNwYW4ge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG59XG5cbi8qKiogTElFVSAqKiovXG4vKi5saXN0X2l0ZW0qL1xuLmxpZXUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMC4zcmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMS41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG59XG5cbi8qKiogQ0FURUdPUklFIC8gVFlQRSoqKi9cbi5jYXQsIC50eXBlLCAuZGF0ZV9pbmxpbmUsIC5saWV1LCBbY2xhc3MqPWZvbmN0aW9uX10geyAvKiAjNTI4NzUgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyovXG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qICM1Mjg3NSAqL1xuLmNhdCwgLnR5cGUsIC5kYXRlX2lubGluZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jYXQsIC50eXBlLCAubGlldSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLmdyb3VwX2NhdCwgLnR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5ncm91cF9jYXQge1xuICBvcmRlcjogLTI7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG59XG5cbi5jYXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi50eXBlIHtcbiAgb3JkZXI6IC0zO1xufVxuXG4uY2F0ICsgLnR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG59XG5cbi8qKiogRU4gU0FWT0lSIFBMVVMgKioqL1xuLmxpc3RfaXRlbSAuYnRuX3R4dCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmxpc3RfaXRlbTpob3ZlciAuYnRuX3R4dCBzcGFuLCAubGlzdF9pdGVtOmZvY3VzLXdpdGhpbiAuYnRuX3R4dCBzcGFuIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG59XG5cbi5saXN0X2l0ZW06aG92ZXIgLmJ0bl90eHQgc3Bhbjo6YmVmb3JlLCAubGlzdF9pdGVtOmZvY3VzLXdpdGhpbiAuYnRuX3R4dCBzcGFuOjpiZWZvcmUge1xuICB3aWR0aDogMi4ycmVtO1xufVxuXG4vKioqIElURU1TIEFHRU5EQSAqKiovXG4ubGlzdF9pdGVtW2NsYXNzKj1hZ2VuZGFdLmhvcml6b250YWwgLmRhdGVfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEuNXJlbTtcbiAgbGVmdDogM3JlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5jaW1fbWFwYm94IC5saXN0X2l0ZW1bY2xhc3MqPWFnZW5kYV0uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIge1xuICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgb3JkZXI6IC0xO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmNpbV9tYXBib3ggLmxpc3RfaXRlbVtjbGFzcyo9YWdlbmRhXS5ob3Jpem9udGFsIC5kYXRlX2NvbnRhaW5lciAuZGF0ZSAuY29udGFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xufVxuLmNpbV9tYXBib3ggLmxpc3RfaXRlbVtjbGFzcyo9YWdlbmRhXS5ob3Jpem9udGFsIC5kYXRlX2NvbnRhaW5lciAuZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlLCAuY2ltX21hcGJveCAubGlzdF9pdGVtW2NsYXNzKj1hZ2VuZGFdLmhvcml6b250YWwgLmRhdGVfY29udGFpbmVyIC5kYXRlIC5jb250YWluIC5lbmRkYXRlIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uY2ltX21hcGJveCAubGlzdF9pdGVtW2NsYXNzKj1hZ2VuZGFdLmhvcml6b250YWwgLmRhdGVfY29udGFpbmVyIC5kYXRlIC5jb250YWluIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTtcbn1cbi5jaW1fbWFwYm94IC5saXN0X2l0ZW1bY2xhc3MqPWFnZW5kYV0uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIgLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfbW9udGgge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGxlZnQ6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbn1cbi5jaW1fbWFwYm94IC5saXN0X2l0ZW1bY2xhc3MqPWFnZW5kYV0uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIgLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfZGF5X25iIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xufVxuLmNpbV9tYXBib3ggLmxpc3RfaXRlbVtjbGFzcyo9YWdlbmRhXS5ob3Jpem9udGFsIC5kYXRlX2NvbnRhaW5lciAuZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlICsgLmVuZGRhdGU6OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xufVxuXG4vKioqIElURU1TIFJFQ0hFUkNIRSBHRU5FUkFMRSAqKiovXG4vKiBtb3RzIGNsZXMgc3VybGlnbmVzICovXG4ubGlzdF9pdGVtIC5yZWRNYXJrdXAsIC5saXN0X2l0ZW0gLnJlZE1hcmt1cCAqIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMCAwLjJyZW07XG59XG5cbi5saXN0X2l0ZW0gLnJlZE1hcmt1cCwgLmxpc3RfaXRlbSAucmVkTWFya3VwICosIC5saXN0X2l0ZW0uYmFuZGVhdV9pdGVtOmhvdmVyIC5yZWRNYXJrdXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbnAuc3VnZ2VzdGlvbl9tb3RfY2xlIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4vKioqIElURU1TIEZBUSBwYWdlIHJlY2hlcmNoZSArIHBhZ2UgYmxvYyBub3RlICoqKi9cbi8qIGFsaWduZW1lbnQgaXRlbSBzdXIgbGUgYm9yZCBoYXV0ICsgcmVkdWN0aW9uIGZvbnQtc2l6ZSBkZXMgdGl0cmVzICovXG4vKioqIElURU1TIEVMVSAqKiovXG4uZWx1X2xpc3RfaXRlbS5saXN0X2l0ZW0gLnRodW1iLWRlc2MgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbHVfbGlzdF9pdGVtLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLnRlbCxcbi5lbHVfbGlzdF9pdGVtLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLm1haWwge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDAuN3JlbTtcbn1cblxuLmVsdV9saXN0X2l0ZW0ubGlzdF9pdGVtIC50aHVtYi1kZXNjIHAudGVsICsgLm1haWwge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmZvbmN0aW9uX3ByaW1haXJlIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xufVxuXG5bY2xhc3MqPWZvbmN0aW9uX10ge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxpc3RfaXRlbSAuYnV0dG9uX2xpa2Uge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubGlzdF9pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgLmJ1dHRvbl9saWtlIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqKiBJVEVNUyBLSU9TUVVFICoqKi9cbi5raW9zcXVlLmxpc3RfaXRlbSAuaW1nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4jbGlzdF9pdGVtcyAua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4jbGlzdF9pdGVtcyAua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyBpbWcge1xuICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggI0E5QTlBOTtcbn1cblxuLmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLnR4dCBwOm5vdCguYnRuX2tpb3NxdWUpOm5vdCgudHlwZSkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC50eHQgLmluZm9zX2tpb3NxdWUge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC50eHQgLmluZm9zX2tpb3NxdWUgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ua2lvc3F1ZS5saXN0X2l0ZW0ua2lvc3F1ZSAudHh0IC5udW1fa2lvc3F1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbn1cblxuLmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLmJ0bl9raW9zcXVlIGE6aXMoOmhvdmVyLCA6Zm9jdXMpOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLmJ0bl9raW9zcXVlIGE6aXMoOmhvdmVyLCA6Zm9jdXMpOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLnpvbmVfcmVzc291cmNlc19kb3dubG9hZCAuem9uZV9idG4gYTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4jcGFnZS5saXN0IC5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC56b25lX2J0biB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLyoqKiBJVEVNUyBERUNIRVRTICoqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKiogQkFOREVBVSBQQUdFICoqKi9cbiNiYW5kZWF1X3BhZ2VfcG9waW4gaW1nLCAjYmFuZGVhdV9wYWdlX3BvcGluIC5kZWZhdWx0X2ltZyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzcmVtKTtcbn1cblxuLyoqKiBQT1BJTiBERVRBSUwgKioqL1xuI3BvcGluX2RldGFpbCB7XG4gIG1heC13aWR0aDogMTQ0cmVtO1xuICBwYWRkaW5nOiAwIDNyZW0gM3JlbSAzcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG59XG5cbiNwb3Bpbl9kZXRhaWwgLmNsb3NlLWJ1dHRvbiB7XG4gIHRvcDogMy4zcmVtO1xuICByaWdodDogMnJlbTtcbn1cblxuI3BvcGluX2RldGFpbCAuY29udGVudF9mcm9tX3BhZ2Uge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jcG9waW5fZGV0YWlsIC50aXRyZV9ibG9jIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI3BvcGluX2RldGFpbCAuYmxvY19ob21lIC50aXRyZV9ibG9jIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKioqIEFSUk9XUyBOQVYgUE9QSU4gKioqL1xuYm9keS5vdmVyZmxvdyAjbWFpbiB7XG4gIHotaW5kZXg6IGluaXRpYWw7XG59XG5cbi53cmFwX2Fycm93IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGNhbGMoNTAlIC0gNy4ycmVtIC8gMik7XG4gIHdpZHRoOiA3LjJyZW07XG4gIGhlaWdodDogNy4ycmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMy4ycmVtIGF1dG87XG4gIHotaW5kZXg6IDM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwNztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDAwMDAwO1xufVxuXG4ud3JhcF9hcnJvdyAuYXJyb3dzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXJlbTtcbn1cblxuLndyYXBfYXJyb3c6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLndyYXBfYXJyb3cucHJldjppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J00xNiwxNi41OSwxMS40MiwxMiwxNiw3LjQxLDE0LjU5LDZsLTYsNiw2LDZaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMC41OSknIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDcGF0aCBkPSdNMjQsMEgwVjI0SDI0WicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLndyYXBfYXJyb3cubmV4dDppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J004LjU5LDE2LjU5LDEzLjE3LDEyLDguNTksNy40MSwxMCw2bDYsNi02LDZaJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ3BhdGggZD0nTTAsMEgyNFYyNEgwWicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLndyYXBfYXJyb3cuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9URVVSIERFIFJFQ0hFUkNIRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqIEFGRklDSEFHRSBURVJNRSBTQUlTSSAqKiovXG4uc2VhcmNoZWRfd29yZCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAwO1xufVxuXG4uc2VhcmNoZWRfd29yZCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlYXJjaGVkX3dvcmQgcCBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xufVxuXG4vKioqIFBBR0lOQVRJT04gKioqL1xuLm5iX3BhZ2VzX3RvdGFsX2luZm9zIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24ge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuICAvKiBCb3V0b25zIGZpcnN0LCBsYXN0LCBuZXh0LCBwcmV2ICovXG59XG4uY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGxpIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gbGkuY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG59XG4uY29udGVudF9wYWdlIC5wYWdpbmF0aW9uIGEge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiBhOm5vdChbY2xhc3NePXBhZ2luYXRpb24tXSk6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gKltjbGFzc149cGFnaW5hdGlvbi1dIHtcbiAgcGFkZGluZzogMDtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gKltjbGFzc149cGFnaW5hdGlvbi1dIGE6OmJlZm9yZSwgLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAqW2NsYXNzXj1wYWdpbmF0aW9uLV0gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1maXJzdCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbGFzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4uY29udGVudF9wYWdlICpbY2xhc3NePXBhZ2luYXRpb24tXSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiA3LjJyZW07XG4gIGhlaWdodDogNy4ycmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMy4ycmVtIGF1dG87XG4gIHotaW5kZXg6IDM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogNXJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1zaXplOiAyLjhyZW0gYXV0bztcbn1cbi5jb250ZW50X3BhZ2UgKltjbGFzc149cGFnaW5hdGlvbi1dIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24tcHJldmlvdXMgYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J00xNiwxNi41OSwxMS40MiwxMiwxNiw3LjQxLDE0LjU5LDZsLTYsNiw2LDZaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMC41OSknIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDcGF0aCBkPSdNMjQsMEgwVjI0SDI0WicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24tbmV4dCBhOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTguNTksMTYuNTksMTMuMTcsMTIsOC41OSw3LjQxLDEwLDZsNiw2LTYsNlonIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDcGF0aCBkPSdNMCwwSDI0VjI0SDBaJyBmaWxsPSdub25lJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbi1maXJzdCBhOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J00xOC40MSwxNi41OSwxMy44MiwxMmw0LjU5LTQuNTlMMTcsNmwtNiw2LDYsNlpNNiw2SDhWMThINlonIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDcGF0aCBkPSdNMjQsMjRIMFYwSDI0WicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jb250ZW50X3BhZ2UgLnBhZ2luYXRpb24tbGFzdCBhOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J001LjU5LDcuNDEsMTAuMTgsMTIsNS41OSwxNi41OSw3LDE4bDYtNkw3LDZaTTE2LDZoMlYxOEgxNlonIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDcGF0aCBkPSdNMCwwSDI0VjI0SDBaJyBmaWxsPSdub25lJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcblxyXG5AaW1wb3J0ICcuL3V0aWwnO1xyXG5cclxuLyogRnVuY3Rpb25zIHNhc3MgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2Z1bmN0aW9ucyc7XHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL19jaW1fc2V0dGluZ3MnO1xyXG5cclxuLyogVmFyaWFibGVzIGRlcyBpY29uZXMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2NpbV9pY29ucyc7XHJcblxyXG4vKiBGb250cyAqL1xyXG4kYWx0ZXJuYXRpdmUgOiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuJG1vbnRzZXJyYXRfcmVndWxhciA6ICdtb250c2VycmF0X3JlZ3VsYXInLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X3NlbWlib2xkIDogJ21vbnRzZXJyYXRfc2VtaWJvbGQnLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X2JvbGQgOiAnbW9udHNlcnJhdF9ib2xkJywgJGFsdGVybmF0aXZlO1xyXG5cclxuJHJlZ3VsYXIgOiAkbW9udHNlcnJhdF9yZWd1bGFyO1xyXG4kc2VtaWJvbGQ6ICRtb250c2VycmF0X3NlbWlib2xkO1xyXG4kYm9sZCA6ICRtb250c2VycmF0X2JvbGQ7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogNjIuNSU7XHJcbiRnbG9iYWwtdGV4dC1mb250LXNpemU6IDEuOGVtO1xyXG4kZ2xvYmFsLXdpZHRoOiAxNDRyZW07XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS40O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogJGNpbV9wcmltYXJ5X2NvbG9yLFxyXG4gICAgICAgIHNlY29uZGFyeTogJGNpbV9zZWNvbmRhcnlfY29sb3IsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG4kbWVkaXVtLWdyYXk6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRkYXJrLWdyYXk6ICRjaW1fZGFya19ncmF5O1xyXG4kYmxhY2s6ICRjaW1fYmxhY2s7XHJcbiR3aGl0ZTogJGNpbV93aGl0ZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJHJlZ3VsYXI7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRnbG9iYWwtbWFyZ2luOiAzcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDNyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXHJcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICAgICAgICBoaWRwaS0xOiAxLFxyXG4gICAgICAgIGhpZHBpLTEtNTogMS41LFxyXG4gICAgICAgIGhpZHBpLTI6IDIsXHJcbiAgICAgICAgcmV0aW5hOiAyLFxyXG4gICAgICAgIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLXgtY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICAgICAgc21hbGw6IDNyZW0sXHJcbiAgICAgICAgbWVkaXVtOiAzcmVtLFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2xkO1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICAgICAgICBzbWFsbDogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAyLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIuMmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtLCAnbGluZS1oZWlnaHQnOiAxLjQpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgbWVkaXVtOiAoXHJcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMuNWVtKSxcclxuICAgICAgICAgICAgICAgICdoMic6ICgnZm9udC1zaXplJzogMi42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAyLjJlbSksXHJcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNSc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAncCc6ICgnZm9udC1zaXplJzogMS44ZW0sICdsaW5lLWhlaWdodCc6IDEuNyksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBsYXJnZTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA1LjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMi40ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtLCAnbGluZS1oZWlnaHQnOiAxLjcpLFxyXG4gICAgICAgIClcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiAxMDAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcblxyXG4vLyBQYXJhZ3JhcGhlc1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHJcbi8vID9cclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcblxyXG4vLyBMaXN0ZXNcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMDtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAwIDAgMCAxLjVyZW07XHJcblxyXG4vLyA/XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuXHJcbi8vIEJsb2NrcXVvdGVzXHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwIDAgMCAxMnJlbTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcblxyXG4vLyA/XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogM3JlbSA1cmVtIDNyZW0gMDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9kYXJrX2dyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMTByZW0gM3JlbSAwO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0cmVtO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiAwLjZyZW07XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46MDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi11cHBlcmNhc2U6IGZhbHNlO1xyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9sZDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiA0LjhyZW07XHJcbiRidXR0b24tYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAwLjFyZW07XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICAgICAgICB0aW55OiAxLjRyZW0sXHJcbiAgICAgICAgc21hbGw6IDEuNHJlbSxcclxuICAgICAgICBkZWZhdWx0OiAxLjZyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDJyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMC41cmVtLFxyXG4gICAgICAgIGRlZmF1bHQ6IDFyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xyXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjY2cmVtLFxyXG4gICAgICAgIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjMzZW0sXHJcbiAgICAgICAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgICAgICAgc21hbGw6IDEuNWVtLFxyXG4gICAgICAgIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJGNpbV9ibGFjaztcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMHJlbTtcclxuJGRyb3Bkb3duLXJhZGl1czogMXJlbTtcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMTByZW0sXHJcbiAgICAgICAgc21hbGw6IDIwcmVtLFxyXG4gICAgICAgIGxhcmdlOiAzMHJlbSxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjByZW07XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMC4xcmVtIHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4vLyBGaWVsZHNldFxyXG4kZmllbGRzZXQtYm9yZGVyOiBub25lO1xyXG4kZmllbGRzZXQtcGFkZGluZzogMDtcclxuJGZpZWxkc2V0LW1hcmdpbjogMDtcclxuXHJcbi8vIExlZ2VuZFxyXG4kbGVnZW5kLXBhZGRpbmc6IDA7XHJcblxyXG4vLyBGb3JtXHJcbiRmb3JtLXNwYWNpbmc6IDA7XHJcbiRmb3JtLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcblxyXG4vLyA/XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4vLyA/XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIExhYmVsXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IDEuNmVtO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG5cclxuLy8gSW5wdXRcclxuJGlucHV0LWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoJGdsb2JhbC10ZXh0LWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuMjtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IHJnYmEoJGNpbV9saWdodF9ncmF5LCAwLjMpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogcmdiYSgkbWVkaXVtLWdyYXksIDAuNSkgIWltcG9ydGFudDtcclxuJGlucHV0LWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgMC4xcmVtIHNvbGlkICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJGlucHV0LXBhZGRpbmc6IDAuN3JlbSAwO1xyXG4kaW5wdXQtc2hhZG93OiBub25lO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6IDA7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gU2VsZWN0XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZToxLjRlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDA7XHJcbiRsYWJlbC1yYWRpdXM6IDA7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgICAgICAgbWVkaXVtOiA0MHJlbSxcclxuICAgICAgICBzbWFsbDogMTAwdncsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMjVyZW0sXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGNpbV93aGl0ZTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGNpbV9ibGFjaywgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1zbGljazogdHJ1ZTtcclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXRleHQtZm9udC1zaXplO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAwO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IDFyZW07XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogMDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IHRyYW5zcGFyZW50O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1ob3ZlcjogJGNpbV9wcmltYXJ5X2NvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJyc7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgICAgICAgZG93bixcclxuICAgICAgICB1cCxcclxuICAgICAgICByaWdodCxcclxuICAgICAgICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICAgICAgICBpbmxpbmUsXHJcbiAgICAgICAgaW5saW5lLWJsb2NrLFxyXG4gICAgICAgIGJsb2NrLFxyXG4gICAgICAgIHRhYmxlLFxyXG4gICAgICAgIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICAgICAgICBkaXNjLFxyXG4gICAgICAgIGNpcmNsZSxcclxuICAgICAgICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICAgICAgICBkZWNpbWFsLFxyXG4gICAgICAgIGxvd2VyLWFscGhhLFxyXG4gICAgICAgIGxvd2VyLWxhdGluLFxyXG4gICAgICAgIGxvd2VyLXJvbWFuLFxyXG4gICAgICAgIHVwcGVyLWFscGhhLFxyXG4gICAgICAgIHVwcGVyLWxhdGluLFxyXG4gICAgICAgIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgICAgICAgdmlzaWJsZSxcclxuICAgICAgICBoaWRkZW4sXHJcbiAgICAgICAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgICAgICAgc3RhdGljLFxyXG4gICAgICAgIHJlbGF0aXZlLFxyXG4gICAgICAgIGFic29sdXRlLFxyXG4gICAgICAgIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAgICAgICAyNTogMjUlLFxyXG4gICAgICAgIDUwOiA1MCUsXHJcbiAgICAgICAgNzU6IDc1JSxcclxuICAgICAgICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgICAgIG92ZXJsaW5lLFxyXG4gICAgICAgIHVuZGVybGluZSxcclxuICAgICAgICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgICAgICAgbG93ZXJjYXNlLFxyXG4gICAgICAgIHVwcGVyY2FzZSxcclxuICAgICAgICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gICAgICAgIGRlZmF1bHQ6IDQgYnkgMyxcclxuICAgICAgICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6IHJnYmEoJGNpbV93aGl0ZSwgMC45KTtcclxuJHJldmVhbC13aWR0aDogODAlO1xyXG4kcmV2ZWFsLW1heC13aWR0aDogODByZW07XHJcbiRyZXZlYWwtcGFkZGluZzogOS41NXJlbTtcclxuJHJldmVhbC1ib3JkZXI6IG5vbmU7XHJcbiRyZXZlYWwtcmFkaXVzOiAwO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kdGFibGUtcGFkZGluZzogMS41cmVtO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGRhcmstZ3JheSwgMC44KTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogJGNpbV9saWdodF9ncmF5O1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gICAgICAgIHNtYWxsOiAzcmVtLFxyXG4gICAgICAgIG1lZGl1bTogM3JlbVxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vKiBDdXN0b20gbWl4aW5zICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9jaW1fbWl4aW5zJzsiLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKiBGb25jdGlvbiBxdWkgZ2VuZXJlIHVuIHN2ZyBiYWNrZ3JvdW5kLWltYWdlICoqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRAZnVuY3Rpb24gc3ZnLXVybCgkc3ZnKXsgICAgXHJcblx0ICAgICRlbmNvZGVkOicnO1xyXG5cdCAgICAkc2xpY2U6IDIwMDA7XHJcblx0ICAgICRpbmRleDogMDtcclxuXHQgICAgJGxvb3BzOiBjZWlsKGNhbGMoc3RyLWxlbmd0aCgkc3ZnKSAvICRzbGljZSkpO1xyXG5cdCAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsb29wcyB7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1zbGljZSgkc3ZnLCAkaW5kZXgsICRpbmRleCArICRzbGljZSAtIDEpOyBcclxuXHQgICAgICBcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCdcIicsJ1xcJycpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJzwnLCclM0MnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc+JywnJTNFJyk7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnJicsJyUyNicpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyMnLCclMjMnKTsgICAgICAgXHJcblx0ICAgICAgICAkZW5jb2RlZDogI3skZW5jb2RlZH0jeyRjaHVua307XHJcblx0ICAgICAgICAkaW5kZXg6ICRpbmRleCArICRzbGljZTsgXHJcblx0ICAgIH1cclxuXHQgICAgQHJldHVybiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCN7JGVuY29kZWR9XCIpO1xyXG5cdH1cdFx0XHQgICAgICAgICAgICBcclxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcblx0ICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpOyBcclxuXHQgICAgQGlmICRpbmRleCB7IFxyXG5cdCAgICAgICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIFxyXG5cdCAgICAgICAgICAgIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBcclxuXHQgICAgICAgICAgICBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpOyBcclxuXHQgICAgfVxyXG5cdCAgICBAcmV0dXJuICRzdHJpbmc7IFxyXG5cdH0iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHQvLyBMYWlzc2VyIGp1c3F1J2EgbGEgZmluIGR1IHByb2pldCBwb3VyIHZvaXIgc2kgZGVzIMOpbMOpbWVudHMgb250IMOpdMOpIG91Ymxpw6lzIChjaGVyY2hlci9yZW1wbGFjZXIpXHJcbiAgICAkZGVmYXVsdF9jb2xvcjogc2FsbW9uO1xyXG5cclxuXHQvKiBDb3VsZXVycyBwcm9qZXQgKi9cclxuXHJcblx0XHQvLyBCYXJ0XHJcblx0XHRcdCRibHVlOiAjMDA2MUFFO1xyXG5cdFx0XHQkeWVsbG93OiAjRkFERDA0O1xyXG5cdFx0XHQkZ3JleWlzaDogI0E4QURDNjtcclxuXHJcblx0XHQvKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXHJcblx0XHRcdCRjaW1fcHJpbWFyeV9jb2xvcjogJGJsdWU7XHJcblx0XHRcdCRjaW1fc2Vjb25kYXJ5X2NvbG9yOiAkeWVsbG93O1xyXG5cdFx0XHQkY2ltX3RoaXJkX2NvbG9yOiAkZ3JleWlzaDtcclxuXHRcdFx0JGNpbV9mb3VydGhfY29sb3I6ICRjaW1fdGhpcmRfY29sb3I7IiwiQGltcG9ydCAnX2NpbV9zZXR0aW5nc19jb2xvcnMnO1xyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcblx0LyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fd2hpdGU6ICNmZmZmZmY7XHJcblx0XHQkY2ltX2JsYWNrOiAjMDAwMDAwO1xyXG5cclxuXHQvKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fbGlnaHRfZ3JheTogI2UyZTJlMjtcclxuXHRcdCRjaW1fbWVkaXVtX2dyYXk6ICNiMWIxYjE7XHJcblx0XHQkY2ltX2RhcmtfZ3JheTogIzc5NzY3NjtcclxuXHJcblx0LyogRGFzaGJvYXJkICovXHJcblx0XHQkZGJfbGlnaHRfZ3JheTogI2ZjZmNmYztcclxuXHRcdCRkYl9tZWRpdW1fZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG5cdFx0JGRiX3NoYWRvdzogMCAwIDFyZW0gcmdiYSgwLDAsMCwwLjA1KTtcclxuXHJcblx0LyogUmVzZWF1eCBzb2NpYXV4ICovXHJcblx0XHQkY29sb3JfZmFjZWJvb2s6ICMxNzc4RjI7XHJcblx0XHQkY29sb3JfdHdpdHRlcjogIzJjYTdlMDtcclxuXHRcdCRjb2xvcl9saW5rZWRpbjogIzBlNzZhODtcclxuXHRcdCRjb2xvcl95b3V0dWJlOiAjZmYwMDAwO1xyXG5cdFx0JGNvbG9yX3ZpbWVvOiAjMTliN2VhO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8xOiAjZmZiMTQwO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8yOiAjZmY1NDQ1O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8zOiAjZmMyYjgyO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV80OiAjOGU0MGI3O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbTogJGNvbG9yX2luc3RhZ3JhbV80O1xyXG5cdFx0JGdyYWRpZW50X2luc3RhZ3JhbTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgMTA3JSwgJGNvbG9yX2luc3RhZ3JhbV8xIDAlLCAkY29sb3JfaW5zdGFncmFtXzEgNSUsICRjb2xvcl9pbnN0YWdyYW1fMiA0NSUsICRjb2xvcl9pbnN0YWdyYW1fMyA2MCUsICRjb2xvcl9pbnN0YWdyYW1fNCA5MCUpO1xyXG5cclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5cdC8qKiogTEFZT1VUICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgaGVhZGVyICovXHJcblx0XHRcdCRoZWFkZXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDEwcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNy41cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA1LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogSE9NRSAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cclxuXHRcdFx0JGJhbmRlYXVfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDc4LjJyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA1MHJlbSxcclxuXHRcdFx0XHRzbWFsbDogMzVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXHJcblx0XHRcdCRtYXJnaW5Ub3BBY2NlczogKFxyXG5cdFx0XHRcdGxhcmdlOiA0LjNyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA0LjNyZW0sXHJcblx0XHRcdFx0c21hbGw6IDQuM3JlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBFRElUTyAqKiovXHJcblx0XHQgLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xyXG5cdFx0XHQkYmxvY19jb2xfbWFyZ2luOiAoXHJcblx0XHRcdFx0bGFyZ2U6IDZyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiAzcmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdC8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xyXG5cdFx0XHQkYmFuZGVhdXBhZ2VfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDY3LjhyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA3LjVyZW0sXHJcblx0XHRcdFx0c21hbGw6IDcuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBQQUdFIERFIExJU1RFICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgbW90ZXVyICovXHJcblx0XHRcdCRtb3RldXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDVyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2LjFyZW0sXHJcblx0XHRcdFx0c21hbGw6IDYuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cclxuXHRcdFx0JHRvcF9tb3RldXJfcGFkZGluZ1RvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAxcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xyXG5cdFx0XHQkcmVzdWx0X21hcmdpblRvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAycmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqIFNWRyBPUFRJT05TIEQnRVhQT1JUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qXHJcblx0T3B0aW9ucyBkJ2V4cG9ydCBwb3VyIHJlbmRyZSBsZXMgU1ZHIGJhY2tncm91bmQtaW1hZ2UgY29tcGF0aWJsZXMgYXZlYyBJRTExXHJcblxyXG5cdEZpY2hpZXIgQUkgPiBFeHBvcnRlciBsYSBzZWxlY3Rpb24gPiBwYXJhbcOodHJlcyAoZm9ybWF0KSA+IFNWR1xyXG5cdFx0QXR0cmlidXRzIGRlIHByw6lzZW50YXRpb25cclxuXHRcdFNWR1xyXG5cdFx0SW5jb3Jwb3JlclxyXG5cdFx0Tm9tcyBkZSBjYWxxdWVzXHJcblx0XHQyXHJcblx0XHRNaW5pbWlmaWVyXHJcblx0XHRSZXNwb25zaXZlXHJcblxyXG5cdCsgYWpvdXQgZGUgbCdhdHRyaWJ1dCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIlxyXG5cclxuXHRTaSBwcm9ibGVtZSBkZSBzdmcgYXZlYyBwb3BseWxpbmUgb3UgbGluZSA+IG91dnJpciBsZSBzdmcgZGFucyBhaSA+IHNlbGVjdGlvbiBkZSBsJ2ljb25lID4gT2JqZXQgPiB0cmFjw6kgPiBWZWN0b3Jpc2VyIGxlIGNvbnRvdXJcclxuKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKiogSU1QT1JUICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuXHQgQGltcG9ydCAnX2NpbV9zZXR0aW5ncyc7XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKiBMQVlPVVQgKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qIFRoZV9jaGV2cm9uICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gdGhlX2NoZXZyb24oJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTUsMGw1LDhIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOCkgcm90YXRlKDkwKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBGb3JtdWxhaXJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHNlbGVjdCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTksMmE3LDcsMCwxLDAsNyw3QTcsNywwLDAsMCw5LDJabTAsOC40TDYuMiw3LjZoNS42WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBpY2hlY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybChcIjxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE5OCAxOCc+PHRpdGxlPmljaGVjazwvdGl0bGU+PHJlY3QgeD0nMC41JyB5PScwLjUnIHdpZHRoPScxNycgaGVpZ2h0PScxNycgcng9JzMuNScgcnk9JzMuNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xNCwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM0g0YTMsMywwLDAsMS0zLTNWNEEzLDMsMCwwLDEsNCwxSDE0bTAtMUg0QTQsNCwwLDAsMCwwLDRWMTRhNCw0LDAsMCwwLDQsNEgxNGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHJlY3QgeD0nMjAuNScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNvbG9yfScgb3BhY2l0eT0nMC44Jy8+PHBhdGggZD0nTTM0LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzSDI0YTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zSDM0bTAtMUgyNGE0LDQsMCwwLDAtNCw0VjE0YTQsNCwwLDAsMCw0LDRIMzRhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjb2xvcn0nLz48cmVjdCB4PSc0MCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyByeD0nNCcgcnk9JzQnIGZpbGw9JyN7JGNvbG9yfScvPjxwYXRoIGQ9J001NC45LDUuOCw1My4yLDMuOWEuMTkuMTksMCwwLDAtLjMsMGgwbC02LjEsNi41TDQ1LjIsOC43YS4xOS4xOSwwLDAsMC0uMywwaDBsLTEuNywxLjlhLjMuMywwLDAsMCwwLC40bDMuNSwzLjdhLjE5LjE5LDAsMCwwLC4zLDBoMGw4LTguNUM1NSw2LDU1LDUuOSw1NC45LDUuOFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cmVjdCB4PSc2MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNNzQuMDUsMWEzLDMsMCwwLDEsMywzVjE0YTMsMywwLDAsMS0zLDNoLTEwYTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zaDEwbTAtMWgtMTBhNCw0LDAsMCwwLTQsNFYxNGE0LDQsMCwwLDAsNCw0aDEwYTQsNCwwLDAsMCw0LTRWNGE0LDQsMCwwLDAtNC00WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48cmVjdCB4PSc4MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjA1LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzaC0xMGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM2gxMG0wLTFoLTEwYTQsNCwwLDAsMC00LDRWMTRhNCw0LDAsMCwwLDQsNGgxMGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjksNS44LDkzLjIsMy45YS4xOS4xOSwwLDAsMC0uMywwaDBsLTYuMSw2LjVMODUuMiw4LjdhLjE5LjE5LDAsMCwwLS4zLDBoMGwtMS43LDEuOWEuMy4zLDAsMCwwLDAsLjRsMy41LDMuN2EuMTkuMTksMCwwLDAsLjMsMGgwbDgtOC41Qzk1LDYsOTUsNS45LDk0LjksNS44WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxjaXJjbGUgY3g9JzEwOS4wNScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xMDkuMDUsMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTI5JyBjeT0nOScgcj0nOC41JyBmaWxsPScjeyRjb2xvcn0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xMjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE0OScgY3k9JzknIHI9JzknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE2OScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xNjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTg5JyBjeT0nOScgcj0nOScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48L3N2Zz5cIik7fVxyXG5cclxuXHQgLyogU2xpY2sgc2xpZGVyICovXHJcblx0IFx0LyogT0sgKi8gQG1peGluIHNsaWNrX3ByZXYoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTYsMTYuNTksMTEuNDIsMTIsMTYsNy40MSwxNC41OSw2bC02LDYsNiw2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41OSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjQsMEgwVjI0SDI0WlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzbGlja19uZXh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTguNTksMTYuNTksMTMuMTcsMTIsOC41OSw3LjQxLDEwLDZsNiw2LTYsNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNyb3NzKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTcsMTRINXY1aDVWMTdIN1pNNSwxMEg3VjdoM1Y1SDVabTEyLDdIMTR2Mmg1VjE0SDE3Wk0xNCw1VjdoM3YzaDJWNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQm91dG9ucyAqL1xyXG5cdFx0LyogQm91dG9uIExJRU4gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9saWVuX3BpY3RvKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTE0LjMzMywxMC4zMzNoLTR2NEg5di00SDVWOUg5VjVoMS4zMzNWOWg0WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTEuNjY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBCb3V0b24gQUxMICovXHJcblx0XHQvKiBCb3V0b24gVFhUICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fdHh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtAaW5jbHVkZSB0aGVfY2hldnJvbigjeyRjb2xvcn0pO31cclxuXHJcblx0XHQvKiBCdG4gY2xvc2UgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9jbG9zZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxwYXRoIGQ9XCJNMCwwSDI2VjI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC43NjcgMC43NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgYmFjayAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX2JhY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTAsNSw4LDBWMTBaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgcmVpbml0ICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fcmVpbml0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTguNjY3LDJhNi42NjcsNi42NjcsMCwxLDAsNi42NjcsNi42NjdBNi42NjEsNi42NjEsMCwwLDAsOC42NjcsMlpNMTIsMTEuMDZsLS45NC45NEw4LjY2Nyw5LjYwNyw2LjI3MywxMmwtLjk0LS45NEw3LjcyNyw4LjY2Nyw1LjMzMyw2LjI3M2wuOTQtLjk0TDguNjY3LDcuNzI3LDExLjA2LDUuMzMzbC45NC45NEw5LjYwNyw4LjY2N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogSGVhZGVyICovXHJcblx0XHQvKiBNZW51IHByaW5jaXBhbCBOMSBhY3RpZiAqL1xyXG5cdFx0LyogTWVudSBwcmluY2lwYWwgTjIgKi9cclxuXHJcblx0XHQvKiBMb3VwZSAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gbG91cGUoJGNvbG9yOiRjaW1fZGFya19ncmF5KSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCI+PHBhdGggZD1cIk0xNi4wMjEsMTQuNDU4SDE1LjJsLS4yOTItLjI4MWE2Ljc4MSw2Ljc4MSwwLDEsMC0uNzI5LjcyOWwuMjgxLjI5MnYuODIzbDUuMjA4LDUuMiwxLjU1Mi0xLjU1MlptLTYuMjUsMGE0LjY4OCw0LjY4OCwwLDEsMSw0LjY4Ny00LjY4N0E0LjY4MSw0LjY4MSwwLDAsMSw5Ljc3MSwxNC40NThaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTI1IDAuMTI1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjVWMjVIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTWljcm8gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIG1pY3JvKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yLjI5NiAtMi40MTcpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yOTYgMi40MTcpXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMi4wMSwxOC43NzlBNS43NzIsNS43NzIsMCwwLDEsMTEsMTguNzExdjMuNDEyaDJ2LTMuNEE2LjE2NCw2LjE2NCwwLDAsMSwxMi4wMSwxOC43NzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuNzk0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xNy4zMjQsMTJhNS4xODgsNS4xODgsMCwwLDEtNS4yNzYsNS4xaC0uMDI0YTUuMTksNS4xOSwwLDAsMS01LjMtNS4wNzZWMTJoLTEuN2MwLC4xMzMuMDE4LjI2NC4wMjkuNGE2Ljk2Nyw2Ljk2NywwLDAsMCw0LjQxNCw1LjkxMWwuMDkxLjAzNGMuMTMyLjA1MS4yNjcuMS40LjEzOC4xLjAzMi4yMDcuMDYyLjMxMy4wODguMDg1LjAyMi4xNzEuMDQyLjI1Ny4wNjEuMTE4LjAyNS4yMzYuMDQ3LjM1Ni4wNjZhNi41MDcsNi41MDcsMCwwLDAsMS4xNDkuMDgzaC4wM2E2LjUsNi41LDAsMCwwLDEuMDQ5LS4wNzRjLjE3My0uMDI2LjM0NC0uMDU3LjUxMy0uMDk1bC4wNDItLjAxMWMuMTg0LS4wNDMuMzY0LS4wOTQuNTQyLS4xNTIuMDM1LS4wMTEuMDctLjAyNC4xLS4wMzYuMTM3LS4wNDcuMjctLjEuNC0uMTUzLjE1My0uMDY1LjMtLjEzMi40NTItLjIwOGwwLDBBNi45NjQsNi45NjQsMCwwLDAsMTksMTIuNGMuMDExLS4xMzIuMDI1LS4yNjMuMDI4LS40WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjkxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTIsMTVhMi45ODcsMi45ODcsMCwwLDAsMi45OS0yLjk4NFYxMkwxNSw2QTMsMywwLDEsMCw5LDZ2NkEzLDMsMCwwLDAsMTIsMTVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuOTE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBNb24gY29tcHRlICovXHJcblx0XHQvKiBBY2PDqHMgYXUgZmF2b3JpcyAqL1xyXG5cdFx0LyogSmUgdm91ZHJhaXMgKi9cclxuXHJcblxyXG5cdC8qIEZvb3RlciAqL1xyXG5cdFx0LyogR28gdG8gdG9wICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnb190b190b3AoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNzRcIiBoZWlnaHQ9XCI3NFwiIHZpZXdCb3g9XCIwIDAgNzQgNzRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE4MDAgLTUyMzkpXCI+PHJlY3Qgd2lkdGg9XCI3NFwiIGhlaWdodD1cIjc0XCIgcng9XCIzN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODAwIDUyMzkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTE2LDBIMEw3Ljk3MywxNC44NjhaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4NDQuNjI5IDUyODIuOTY3KSByb3RhdGUoMTgwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTmV3c2xldHRlciAqL1xyXG5cdFx0LyogQ29udGFjdCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2FkcmVzc2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MjAwKVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTIwMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzcuNSA1MjA3LjkzOClcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS42NjcsMy4zMzNBMy4zMjUsMy4zMjUsMCwwLDEsMTMsNi43NjdjMCwxLjQ0LTEuMTQ3LDMuMTEzLTMuMzMzLDQuODhDNy40OCw5Ljg4LDYuMzMzLDguMiw2LjMzMyw2Ljc2N0EzLjMyNSwzLjMyNSwwLDAsMSw5LjY2NywzLjMzM005LjY2NywyQTQuNjQ1LDQuNjQ1LDAsMCwwLDUsNi43NjdxMCwzLjEyLDQuNjY3LDYuNTY3LDQuNjctMy40NCw0LjY2Ny02LjU2N0E0LjY0NSw0LjY0NSwwLDAsMCw5LjY2NywyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNOS42NjcsN0ExLjMzMywxLjMzMywwLDEsMCwxMSw4LjMzMywxLjMzNywxLjMzNywwLDAsMCw5LjY2Nyw3Wk01LDE1LjY2N2g5LjMzM1YxN0g1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTIuMzMzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2NvbnRhY3QoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MzMxLjUxNClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUzMzEuNTE0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3Ny41IDUzNDApXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE0LDJIMy4zMzNBMS4zMzcsMS4zMzcsMCwwLDAsMiwzLjMzM3YxMmwyLjY2Ny0yLjY2N0gxNGExLjMzNywxLjMzNywwLDAsMCwxLjMzMy0xLjMzM3YtOEExLjMzNywxLjMzNywwLDAsMCwxNCwyWm0wLDkuMzMzSDQuMTEzbC0uNzguNzhWMy4zMzNIMTRaTTUuMzMzLDYuNjY3SDYuNjY3VjhINS4zMzNabTUuMzMzLDBIMTJWOEgxMC42NjdaTTgsNi42NjdIOS4zMzNWOEg4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3RlbCgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTY5LjUgLTUyODEuMDE0KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTI4MS4wMTQpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc3LjUgNTI4OSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS4zNiw0LjMzM2E4LjIwOCw4LjIwOCwwLDAsMCwuMywxLjcyN2wtLjguOGE5Ljg4NCw5Ljg4NCwwLDAsMS0uNTA3LTIuNTI3SDUuMzZtNi41NzMsOC4wMTNhOC41LDguNSwwLDAsMCwxLjczMy4zdi45OTNhMTAuMjg0LDEwLjI4NCwwLDAsMS0yLjUzMy0uNWwuOC0uNzkzTTYsM0gzLjY2N0EuNjY5LjY2OSwwLDAsMCwzLDMuNjY3LDExLjMzMiwxMS4zMzIsMCwwLDAsMTQuMzMzLDE1LC42NjkuNjY5LDAsMCwwLDE1LDE0LjMzM1YxMi4wMDdhLjY2OS42NjksMCwwLDAtLjY2Ny0uNjY3LDcuNiw3LjYsMCwwLDEtMi4zOC0uMzguNTYuNTYsMCwwLDAtLjIwNy0uMDMzLjY4My42ODMsMCwwLDAtLjQ3My4xOTNMOS44MDcsMTIuNTg3QTEwLjEsMTAuMSwwLDAsMSw1LjQxMyw4LjE5M0w2Ljg4LDYuNzI3YS42NjkuNjY5LDAsMCwwLC4xNjctLjY4LDcuNTc0LDcuNTc0LDAsMCwxLS4zOC0yLjM4QS42NjkuNjY5LDAsMCwwLDYsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEgLTEpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogRm9vdGVyIHJlc2VhdXggc29jaWF1eCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2ZhY2Vib29rKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA2Ljg4NSAtMjgyLjg4NSlcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MDYuODg1IDI4Mi44ODUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTcuNDc2LDEwLjU5VjUuOTU3SDkuNDYxbC4zMzEtMS45ODZINy40NzZWMi45NzhhLjg3OC44NzgsMCwwLDEsLjk5My0uOTkzaC45OTNWMEg3LjgwN0M2LjE1MiwwLDUuNDkuOTkzLDUuNDksMi42NDdWMy45NzFIMy41VjUuOTU3SDUuNDlWMTAuNTlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MTYuMTE4IDI5My41OSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2luc3RhZ3JhbSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI1IDIuMjUpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yNSAtMi4yNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2Ljg5MiA2Ljg5MylcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiPjxwYXRoIGQ9XCJNMi4zNjcuMzZhMy4zNjMsMy4zNjMsMCwwLDAtMS4yMTUuNzkyQTMuMzUyLDMuMzUyLDAsMCwwLC4zNiwyLjM2NCw1LjAxNCw1LjAxNCwwLDAsMCwuMDQyLDQuMDI4Qy4wMDgsNC43NTgsMCw0Ljk5MiwwLDYuODU0cy4wMDgsMi4xLjA0MiwyLjgyNkE1LjA4Niw1LjA4NiwwLDAsMCwuMzYsMTEuMzQ1YTMuMzYzLDMuMzYzLDAsMCwwLC43OTIsMS4yMTUsMy4zNjMsMy4zNjMsMCwwLDAsMS4yMTUuNzkyLDUuMDE0LDUuMDE0LDAsMCwwLDEuNjY0LjMxOGMuNzMuMDMzLjk2NC4wNDIsMi44MjYuMDQyczIuMS0uMDA4LDIuODI2LS4wNDJhNS4wODYsNS4wODYsMCwwLDAsMS42NjQtLjMxOCwzLjUxMiwzLjUxMiwwLDAsMCwyLjAwNy0yLjAwNyw1LjAxNCw1LjAxNCwwLDAsMCwuMzE4LTEuNjY0Yy4wMzMtLjczLjA0Mi0uOTY0LjA0Mi0yLjgyNnMtLjAwOC0yLjEtLjA0Mi0yLjgyNmE1LjA4Niw1LjA4NiwwLDAsMC0uMzE4LTEuNjY0LDMuMzgxLDMuMzgxLDAsMCwwLS43ODktMS4yMTNBMy4zNjIsMy4zNjIsMCwwLDAsMTEuMzUxLjM2LDUuMDE0LDUuMDE0LDAsMCwwLDkuNjg2LjA0MkM4Ljk1Ni4wMDgsOC43MjIsMCw2Ljg2LDBzLTIuMS4wMDgtMi44MjYuMDQyQTUuMDMyLDUuMDMyLDAsMCwwLDIuMzY3LjM2Wm03LjI2MS45MTRhMy43NzcsMy43NzcsMCwwLDEsMS4yNzQuMjM3LDIuMTM2LDIuMTM2LDAsMCwxLC43ODkuNTEzLDIuMTM2LDIuMTM2LDAsMCwxLC41MTMuNzg5LDMuNzc3LDMuNzc3LDAsMCwxLC4yMzcsMS4yNzRjLjAzMy43MjIuMDM5LjkzOS4wMzksMi43NzFzLS4wMDgsMi4wNDktLjAzOSwyLjc3MUEzLjc3NywzLjc3NywwLDAsMSwxMi4yLDEwLjlhMi4yNjksMi4yNjksMCwwLDEtMS4zLDEuMywzLjc3NywzLjc3NywwLDAsMS0xLjI3NC4yMzdjLS43MjIuMDMzLS45MzkuMDM5LTIuNzcxLjAzOXMtMi4wNDktLjAwOC0yLjc3MS0uMDM5QTMuNzc3LDMuNzc3LDAsMCwxLDIuODEzLDEyLjJhMi4xMzYsMi4xMzYsMCwwLDEtLjc4OS0uNTEzLDIuMTM2LDIuMTM2LDAsMCwxLS41MTMtLjc4OSwzLjc3NywzLjc3NywwLDAsMS0uMjM3LTEuMjc0Yy0uMDMzLS43MjItLjAzOS0uOTM5LS4wMzktMi43NzFzLjAwOC0yLjA0OS4wMzktMi43NzFhMy43NzcsMy43NzcsMCwwLDEsLjIzNy0xLjI3NCwyLjEzNiwyLjEzNiwwLDAsMSwuNTEzLS43ODksMi4xMzYsMi4xMzYsMCwwLDEsLjc4OS0uNTEzLDMuNzc3LDMuNzc3LDAsMCwxLDEuMjc0LS4yMzdjLjcyMi0uMDMzLjkzOS0uMDM5LDIuNzcxLS4wMzlTOC45MDYsMS4yNCw5LjYyOCwxLjI3NFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNMTE5LjcsMTIzLjIyMWEzLjUyMSwzLjUyMSwwLDEsMCwzLjUyMS0zLjUyMUEzLjUyMSwzLjUyMSwwLDAsMCwxMTkuNywxMjMuMjIxWm01LjgwNiwwYTIuMjg2LDIuMjg2LDAsMSwxLTIuMjg2LTIuMjg2QTIuMjg2LDIuMjg2LDAsMCwxLDEyNS41MDYsMTIzLjIyMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNi4zNjMgLTExNi4zNjMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuODIyXCIgY3k9XCIwLjgyMlwiIHI9XCIwLjgyMlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5LjY5OCAyLjM3NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmb290ZXJfbGlua2VkaW4oJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yNSAyLjI1KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMjUgLTIuMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEyLjAzOCwwSC45NkEuOTUuOTUsMCwwLDAsMCwuOTM3VjEyLjA2MkEuOTUuOTUsMCwwLDAsLjk2LDEzSDEyLjAzOEEuOTUxLjk1MSwwLDAsMCwxMywxMi4wNjJWLjkzN0EuOTUxLjk1MSwwLDAsMCwxMi4wMzgsMFpNMy44NTUsMTEuMDc3SDEuOTI2di02LjJIMy44NTVaTTIuODg5LDQuMDI2QTEuMTIsMS4xMiwwLDEsMSw0LjAwNiwyLjkwNywxLjEyLDEuMTIsMCwwLDEsMi44ODksNC4wMjZabTguMTg4LDcuMDUxSDkuMTVWOC4wNjJjMC0uNzIyLS4wMTUtMS42NDctMS0xLjY0N1M2Ljk5Myw3LjIsNi45OTMsOC4wMDl2My4wN0g1LjA2NHYtNi4ySDYuOTE1di44NDhINi45NGEyLjAzMSwyLjAzMSwwLDAsMSwxLjgyNi0xYzEuOTUsMCwyLjMxMSwxLjI4NCwyLjMxMSwyLjk1NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNy43NSA3LjQyMilcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3R3aXR0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTIwLjY4LDkuNjdoMi4yTDE4LDE1LjE5bDUuNjYsNy40OEgxOS4yNmwtMy40OC00LjU1LTQsNC41NUg5LjU5bDUuMTMtNS45TDkuMyw5LjY3aDQuNTVMMTcsMTMuODNaTTE5LjksMjEuMzhoMS4yM0wxMy4yMSwxMC45MkgxMS45WlwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl95b3V0dWJlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA3IC0zNDEpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDA3IDM0MSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTMuNTczLDIuMjJBMy4zLDMuMywwLDAsMCwxMy4wMjkuNzY3LDEuODc3LDEuODc3LDAsMCwwLDExLjY1My4xNUM5LjczNywwLDYuODU3LDAsNi44NTcsMGgwcy0yLjg4NCwwLTQuOC4xNUExLjg3NywxLjg3NywwLDAsMCwuNjgxLjc2NywzLjMsMy4zLDAsMCwwLC4xMzcsMi4yMiwyMy41NDIsMjMuNTQyLDAsMCwwLDAsNC41ODZWNS43QTIzLjU0MSwyMy41NDEsMCwwLDAsLjEzNyw4LjA2MSwzLjMsMy4zLDAsMCwwLC42ODEsOS41MTRhMi4yNDEsMi4yNDEsMCwwLDAsMS41MTMuNjI2YzEuMS4xMTEsNC42NjMuMTQ2LDQuNjYzLjE0NnMyLjg4NCwwLDQuOC0uMTVhMS45LDEuOSwwLDAsMCwxLjM3MS0uNjIxLDMuMywzLjMsMCwwLDAsLjU0NC0xLjQ1M0EyMy41NDIsMjMuNTQyLDAsMCwwLDEzLjcxNCw1LjdWNC41ODZhMjMuNTQyLDIzLjU0MiwwLDAsMC0uMTQxLTIuMzY2Wk01LjE0Myw3LjcxNFYyLjU3MUw5LjQyOSw1LjE0M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTQxNi4xNDMgMzUxLjg1NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHJcblx0LyogRmlsIGQnYXJpYW5lICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2VwX2FyaWFuZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMuNVwiIGhlaWdodD1cIjMuNVwiIHZpZXdCb3g9XCIwIDAgMy41IDMuNVwiPjxjaXJjbGUgY3g9XCIxLjc1XCIgY3k9XCIxLjc1XCIgcj1cIjEuNzVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzaGFyZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI5MjIpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyOTIyKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI5MjcpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMiAxLjMzMylcIj48cGF0aCBkPVwiTTEzLDExLjM4N2ExLjk0MSwxLjk0MSwwLDAsMC0xLjMwNy41MTNMNi45NCw5LjEzM0EyLjE4MiwyLjE4MiwwLDAsMCw3LDguNjY3LDIuMTgyLDIuMTgyLDAsMCwwLDYuOTQsOC4ybDQuNy0yLjc0QTIsMiwwLDEsMCwxMSw0YTIuMTgyLDIuMTgyLDAsMCwwLC4wNi40NjdsLTQuNywyLjc0YTIsMiwwLDEsMCwwLDIuOTJMMTEuMTA3LDEyLjlhMS44ODEsMS44ODEsMCwwLDAtLjA1My40MzNBMS45NDcsMS45NDcsMCwxLDAsMTMsMTEuMzg3Wm0wLTguMDUzQS42NjcuNjY3LDAsMSwxLDEyLjMzMyw0LC42NjkuNjY5LDAsMCwxLDEzLDMuMzMzWm0tOCw2YS42NjcuNjY3LDAsMSwxLC42NjctLjY2N0EuNjY5LjY2OSwwLDAsMSw1LDkuMzMzWm04LDQuNjhhLjY2Ny42NjcsMCwxLDEsLjY2Ny0uNjY3QS42NjkuNjY5LDAsMCwxLDEzLDE0LjAxM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMgLTIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwcmludCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI4ODgpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyODg4KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI4OTMpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMS4zMzMgMilcIj48cGF0aCBkPVwiTTEzLjMzMyw2LjMzM2gtLjY2N1YzaC04VjYuMzMzSDRhMiwyLDAsMCwwLTIsMnY0SDQuNjY3VjE1aDhWMTIuMzMzaDIuNjY3di00QTIsMiwwLDAsMCwxMy4zMzMsNi4zMzNaTTYsNC4zMzNoNS4zMzN2Mkg2Wm01LjMzMyw5LjMzM0g2VjExaDUuMzMzWk0xMi42NjcsMTFWOS42NjdoLThWMTFIMy4zMzNWOC4zMzNBLjY2OS42NjksMCwwLDEsNCw3LjY2N2g5LjMzM0EuNjY5LjY2OSwwLDAsMSwxNCw4LjMzM1YxMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIgLTMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuNjY3XCIgY3k9XCIwLjY2N1wiIHI9XCIwLjY2N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCA1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogUmVzZWF1eCAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX2ZhY2Vib29rKCRjb2xvcjokY29sb3JfZmFjZWJvb2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNy4xMjVcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgNy4xMjUgMTJcIj48cGF0aCBkPVwiTTgsMTJWNi43NWgyLjI1TDEwLjYzLDQuNUg4VjMuMzc1QTEsMSwwLDAsMSw5LjEzLDIuMjVoMS4xMjVWMEg4LjM4QzYuNSwwLDUuNzU1LDEuMTI1LDUuNzU1LDNWNC41SDMuNVY2Ljc1aDIuMjVWMTJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjUwNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b19pbnN0YWdyYW0oKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjM1LjYyXCIgaGVpZ2h0PVwiMzUuNjNcIiB2aWV3Qm94PVwiMCAwIDM1LjYyIDM1LjYzXCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMC4wOTRcIiB5MT1cIjAuMDU5XCIgeDI9XCIwLjkwOFwiIHkyPVwiMC45NDlcIiBncmFkaWVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmYmUxOGFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMVwiIHN0b3AtY29sb3I9XCIjZmNiYjQ1XCIvPjxzdG9wIG9mZnNldD1cIjAuMzhcIiBzdG9wLWNvbG9yPVwiI2Y3NTI3NFwiLz48c3RvcCBvZmZzZXQ9XCIwLjUyXCIgc3RvcC1jb2xvcj1cIiNkNTM2OTJcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NFwiIHN0b3AtY29sb3I9XCIjOGYzOWNlXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzViNGZlOVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPVwiTTEwLjcsMzUuNjNBMTAuNzEyLDEwLjcxMiwwLDAsMSwwLDI0LjkzVjEwLjdBMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDBIMjQuOTJhMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDEwLjdWMjQuOTJhMTAuNzEzLDEwLjcxMywwLDAsMS0xMC43LDEwLjd2LjAxWk0zLjM1LDEwLjdWMjQuOTJhNy4zNjIsNy4zNjIsMCwwLDAsNy4zNSw3LjM1SDI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUtNy4zNVYxMC43YTcuMzYyLDcuMzYyLDAsMCwwLTcuMzUtNy4zNUgxMC43QTcuMzYyLDcuMzYyLDAsMCwwLDMuMzUsMTAuN1ptNS44NCw3LjExYTguNzcsOC43NywwLDEsMSw4Ljc3LDguNzdBOC43ODEsOC43ODEsMCwwLDEsOS4xOSwxNy44MVptMy4xNSwwYTUuNjIsNS42MiwwLDEsMCw1LjYyLTUuNjIxQTUuNjI1LDUuNjI1LDAsMCwwLDEyLjM0LDE3LjgxWk0yNS4xNSw4LjQ1YTIuMDksMi4wOSwwLDEsMSwyLjA5MSwyLjA5QTIuMSwyLjEsMCwwLDEsMjUuMTUsOC40NVpcIiBmaWxsPVwidXJsKCNhKVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGljdG9faW5zdGFncmFtX3doaXRlKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIzNS42MlwiIGhlaWdodD1cIjM1LjYzXCIgdmlld0JveD1cIjAgMCAzNS42MiAzNS42M1wiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuMDk0XCIgeTE9XCIwLjA1OVwiIHgyPVwiMC45MDhcIiB5Mj1cIjAuOTQ5XCIgZ3JhZGllbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmJlMThhXCIvPjxzdG9wIG9mZnNldD1cIjAuMjFcIiBzdG9wLWNvbG9yPVwiI2ZjYmI0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjM4XCIgc3RvcC1jb2xvcj1cIiNmNzUyNzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MlwiIHN0b3AtY29sb3I9XCIjZDUzNjkyXCIvPjxzdG9wIG9mZnNldD1cIjAuNzRcIiBzdG9wLWNvbG9yPVwiIzhmMzljZVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjRmZTlcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD1cIk0xMC43LDM1LjYzQTEwLjcxMiwxMC43MTIsMCwwLDEsMCwyNC45M1YxMC43QTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywwSDI0LjkyYTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywxMC43VjI0LjkyYTEwLjcxMywxMC43MTMsMCwwLDEtMTAuNywxMC43di4wMVpNMy4zNSwxMC43VjI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUsNy4zNUgyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LTcuMzVWMTAuN2E3LjM2Miw3LjM2MiwwLDAsMC03LjM1LTcuMzVIMTAuN0E3LjM2Miw3LjM2MiwwLDAsMCwzLjM1LDEwLjdabTUuODQsNy4xMWE4Ljc3LDguNzcsMCwxLDEsOC43Nyw4Ljc3QTguNzgxLDguNzgxLDAsMCwxLDkuMTksMTcuODFabTMuMTUsMGE1LjYyLDUuNjIsMCwxLDAsNS42Mi01LjYyMUE1LjYyNSw1LjYyNSwwLDAsMCwxMi4zNCwxNy44MVpNMjUuMTUsOC40NWEyLjA5LDIuMDksMCwxLDEsMi4wOTEsMi4wOUEyLjEsMi4xLDAsMCwxLDI1LjE1LDguNDVaXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX3R3aXR0ZXIoJGNvbG9yOiRjb2xvcl90d2l0dGVyKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjI3MFwiIHZpZXdCb3g9XCIwIDAgMzAwIDI3MVwiPjxwYXRoIGQ9XCJtMjM2IDBoNDZsLTEwMSAxMTUgMTE4IDE1NmgtOTIuNmwtNzIuNS05NC44LTgzIDk0LjhoLTQ2bDEwNy0xMjMtMTEzLTE0OGg5NC45bDY1LjUgODYuNnptLTE2LjEgMjQ0aDI1LjVsLTE2NS0yMThoLTI3LjR6XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKX1cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b192aW1lbygkY29sb3I6JGNvbG9yX3ZpbWVvKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTAuNTAzXCIgdmlld0JveD1cIjAgMCAxMiAxMC41MDNcIj48cGF0aCBkPVwiTTExLjk0OSwzLjk0N2ExLjc3MiwxLjc3MiwwLDAsMC0uMjIyLTEuNDMxQTIuMTY2LDIuMTY2LDAsMCwwLDkuNzQsMi4wMzgsNC4xODUsNC4xODUsMCwwLDAsNi45LDQuNzU4YzEuMDQ3LS4wODEsMS42LjA3NywxLjUsMS4yNDdhNC4zNTUsNC4zNTUsMCwwLDEtLjU1OCwxLjU0MWMtLjMxNC41OTMtLjksMS43NTctMS42NzYuOTE4LS43LS43NTUtLjY0NC0yLjItLjgtMy4xNjFBMTMuMzYxLDEzLjM2MSwwLDAsMCw1LDMuNTM0YTEuOCwxLjgsMCwwLDAtLjkxNS0xLjE3OCwxLjg0OSwxLjg0OSwwLDAsMC0xLjM0LjI3MkEyNC4zNDUsMjQuMzQ1LDAsMCwwLDAsNC44NzFWNC45NGMuMTguMTc0LjIyNy40NTkuNDkyLjUuNjIyLjA5MywxLjIxNS0uNTg4LDEuNjMuMTJhNy40NTgsNy40NTgsMCwwLDEsLjQ5MSwxLjM3NmMuMjE1LjYyMi4zODIsMS4zLjU1OCwyLjAxNi4zLDEuMjEyLjY2NCwzLjAyMywxLjcsMy40NjdBMi4yLDIuMiwwLDAsMCw2LjU4NiwxMi4xLDkuNjU2LDkuNjU2LDAsMCwwLDkuMjQyLDkuNTM5LDE3LjQ5MywxNy40OTMsMCwwLDAsMTEuOTQ5LDMuOTQ3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0xLjk5MylcIiBmaWxsPVwiI3skY29sb3J9XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9feW91dHViZSgkY29sb3I6JGNvbG9yX3lvdXR1YmUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxMC41XCIgdmlld0JveD1cIjAgMCAxNCAxMC41XCI+PHBhdGggZD1cIk0xMy44NTYsMi4yNjZBMy4zNjQsMy4zNjQsMCwwLDAsMTMuMy43ODNhMS45MTYsMS45MTYsMCwwLDAtMS40LS42M0M5Ljk0LDAsNywwLDcsMEg3UzQuMDU2LDAsMi4xLjE1M0ExLjkxNiwxLjkxNiwwLDAsMCwuNy43ODMsMy4zNjQsMy4zNjQsMCwwLDAsLjE0LDIuMjY2LDI0LjAzMywyNC4wMzMsMCwwLDAsMCw0LjY4MVY1LjgxNEEyNC4wMzIsMjQuMDMyLDAsMCwwLC4xNCw4LjIyOSwzLjM2NCwzLjM2NCwwLDAsMCwuNyw5LjcxM2EyLjI4OCwyLjI4OCwwLDAsMCwxLjU0NC42MzlDMy4zNiwxMC40NjUsNywxMC41LDcsMTAuNXMyLjk0NCwwLDQuOS0uMTUzYTEuOTQzLDEuOTQzLDAsMCwwLDEuNC0uNjM0LDMuMzY0LDMuMzY0LDAsMCwwLC41NTYtMS40ODNBMjQuMDMyLDI0LjAzMiwwLDAsMCwxNCw1LjgxNFY0LjY4MWEyNC4wMzMsMjQuMDMzLDAsMCwwLS4xNDQtMi40MTVaTTUuMjUsNy44NzVWMi42MjVMOS42MjUsNS4yNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBwaWN0b19saW5rZWRpbigkY29sb3I6JGNvbG9yX2xpbmtlZGluKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCI+PHBhdGggZD1cIk0xMS4xMTIsMEguODg2QS44NzcuODc3LDAsMCwwLDAsLjg2NXYxMC4yN0EuODc3Ljg3NywwLDAsMCwuODg2LDEySDExLjExMkEuODc4Ljg3OCwwLDAsMCwxMiwxMS4xMzRWLjg2NUEuODc4Ljg3OCwwLDAsMCwxMS4xMTIsMFpNMy41NTgsMTAuMjI1SDEuNzc4VjQuNWgxLjc4Wk0yLjY2NywzLjcxNkExLjAzMywxLjAzMywwLDEsMSwzLjcsMi42ODQsMS4wMzMsMS4wMzMsMCwwLDEsMi42NjcsMy43MTZabTcuNTU4LDYuNTA4SDguNDQ2VjcuNDQxYzAtLjY2Ny0uMDEzLTEuNTItLjkyNS0xLjUycy0xLjA2Ni43MjUtMS4wNjYsMS40NzF2Mi44MzNINC42NzVWNC41SDYuMzgzdi43ODNoLjAyM2ExLjg3NSwxLjg3NSwwLDAsMSwxLjY4NS0uOTI1YzEuOCwwLDIuMTMzLDEuMTg1LDIuMTMzLDIuNzI4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBbGVydGUgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBhbGVydGVfYmcoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvciwgJGNvbG9yMjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCI+PGRlZnM+PGNsaXBQYXRoIGlkPVwiYVwiPjxwYXRoIGQ9XCJNLTcuNSwxNS41aDIydi0yMmgtMjJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNSA2LjUpXCIgZmlsbD1cIiN7JGNvbG9yMn1cIi8+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NzkgLTE4Ny4yNilcIj48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjI1XCIgcj1cIjI1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3OSAxODcuMjYpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTkzIDIwMS4yNilcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI2EpXCI+PHBhdGggZD1cIk0wLDBWNy44MTZBNi42MzYsNi42MzYsMCwwLDAsMy42NjcsMTMuNzVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNi44NzUgNS45NTgpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvZz48cGF0aCBkPVwiTS0uMTY3LS4yMDhBMS4zNzYsMS4zNzYsMCwwLDEtMS41NDIsMS4xNjdILTJWLTIuNWguNDU4QTEuMzc2LDEuMzc2LDAsMCwxLS4xNjctMS4xMjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIxLjcwOCAxMC4yOTIpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNLS4zMzMtLjMzM0gtMS4yNUEyLjc1LDIuNzUsMCwwLDAtNCwyLjQxN1Y0LjI1QTIuNzUxLDIuNzUxLDAsMCwwLTEuMjUsN2guOTE3QzcuODUxLDcsMTEuMjA4LDguODI5LDE1LjI1LDEwLjY2N1YtNEMxMS4yMTctMi4xNjcsNy44NTQtLjMzMy0uMzMzLS4zMzNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuNDU4IDYuMjkyKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3IyfVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCIgc3Ryb2tlLWxpbmVqb2luPVwiYmV2ZWxcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIEhPTUUgUEFHRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFZpZMOpbyBwbGF5L3BhdXNlICovXHJcblx0XHRAbWl4aW4gcGxheSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGlkPVwiVHJhY8OpXzE4MDk3XCIgZGF0YS1uYW1lPVwiVHJhY8OpIDE4MDk3XCIgZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBpZD1cIlRyYWPDqV8xODA5OFwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxODA5OFwiIGQ9XCJNOCw1VjE5bDExLTdaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGF1c2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIj48cGF0aCBpZD1cIlRyYWPDqV8xNzk1OVwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxNzk1OVwiIGQ9XCJNMCwwSDIyVjIySDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJUcmFjw6lfMTc5NjBcIiBkYXRhLW5hbWU9XCJUcmFjw6kgMTc5NjBcIiBkPVwiTTYsMTcuODMzSDkuNjY3VjVINlpNMTMuMzMzLDVWMTcuODMzSDE3VjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNDE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBKZSB2b3VkcmFpcyAqL1xyXG5cclxuXHQvKiBUaXRsZSAqL1xyXG5cclxuXHQvKiBUcmlhbmdsZSBncmlzIGVuIGJhY2tncm91bmQgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZSgkY29sb3I6JGNpbV9zZWNvbmRhcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZV9hY3R1KCRjb2xvcjE6JGNpbV9zZWNvbmRhcnlfY29sb3IsICRjb2xvcjI6JGNpbV90aGlyZF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMTA1LjczNFwiIGhlaWdodD1cIjEwMjcuNTMxXCIgdmlld0JveD1cIjAgMCAxMTA1LjczNCAxMDI3LjUzMVwiPjxwYXRoIGQ9XCJNMTEzMy43LDkuMDg1SDI3Ljk3TDU3OC45NTUsMTAzNi42MTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNy45NyAtOS4wODUpXCIgZmlsbD1cIiN7JGNvbG9yMX1cIi8+PC9zdmc+JyksIHN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3IyfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENhcnRlIGludGVyYWN0aXZlICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gaG9tZV9jYXJ0ZV9pbnRlcmFjdGl2ZV9zZWxlY3QoJGNvbG9yOiRjaW1fYmxhY2spIHsgQGluY2x1ZGUgamVfdm91ZHJhaXNfc2VsZWN0KCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGhvbWVfY2FydGVfaW50ZXJhY3RpdmUoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjIwOCAwLjIwOClcIj48bGluZSB5Mj1cIjMzLjM5MVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNS40IDExLjIyNylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc5MiAwLjc5MilcIj48bGluZSB5MT1cIjIwLjg3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI5LjIxNyAwLjAwMSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMjcuNjMsMzUuMzgxLDE1LjEwOSw0NC4zMjYuNSwzMy44OTFWLjVMMTUuMTA5LDEwLjkzNSwyOS43MTcuNSw0NC4zMjYsMTAuOTM1VjIxLjM3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMzIuMiwyMC44NDhjMCw0LjYxLTguMzQ4LDE0LjYwOS04LjM0OCwxNC42MDlzLTguMzQ4LTEwLTguMzQ4LTE0LjYwOWE4LjM0OCw4LjM0OCwwLDAsMSwxNi43LDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE1LjgwNCAxMi41NDMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48Y2lyY2xlIGN4PVwiMy4xM1wiIGN5PVwiMy4xM1wiIHI9XCIzLjEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM2LjUyMSAzMC4yNjEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgVFlQRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIExpc3RlIGEgcHVjZXMgICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcHVjZV9saXN0ZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIj48Y2lyY2xlIGN4PVwiM1wiIGN5PVwiM1wiIHI9XCIzXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENpdGF0aW9uICAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHF1b3RlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY4XCIgaGVpZ2h0PVwiNTAuMzk0XCIgdmlld0JveD1cIjAgMCA2OCA1MC4zOTRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwIDM3NC4xNDgpXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIC0zNzQuMTQ4KVwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk00Ny42MSw1MGExNC42NjIsMTQuNjYyLDAsMCwxLTYuOTY1LTQuMDMyLDEzLjkzMSwxMy45MzEsMCwwLDEtMi44NjQtNC4xODdjLTMuMS02LjU5Mi0yLjYxLTE2Ljc0NCwxLjE4Ni0yNC42MDdDNDIuODQ3LDkuMTI5LDUwLjQ5MSwzLjExNCw2MC4zMi40LDYzLS4zNDQsNjMuOTExLS4wNzMsNjQuNTQxLDEuNTg3Yy42MjcsMS42NzguMzczLDIuNDA2LTEuMDg0LDIuOTQ4YTYuODcyLDYuODcyLDAsMCwxLTEuMS4zNTYsNDMuNTcxLDQzLjU3MSwwLDAsMC01LjQyMSwyLjJBMjMuMjE2LDIzLjIxNiwwLDAsMCw0NC42NDUsMjIuNWMtLjQ4OSwxLjkzMS0uNzI5LDMuNzQ2LS40ODksMy43NDZBNS4zMTMsNS4zMTMsMCwwLDAsNDUuMiwyNS4yMjdjMi4yNzItMi41NzUsNS4zOS0zLjgsOS43LTMuNzc4LDQuMDQ5LjAxNyw2Ljc3OCwxLjA2OSw5LjMzNywzLjU5MmE5LjEzNyw5LjEzNywwLDAsMSwyLjI1MSwzLjA3QTEzLjA2NSwxMy4wNjUsMCwwLDEsNjgsMzUuMTQzYTE3LjQxOSwxNy40MTksMCwwLDEtLjI3MywzLjk2NUM2Ni4zODcsNDQuODg3LDYyLjQ5LDQ4LjcsNTYuNTA3LDUwLjA3M2ExNy43ODUsMTcuNzg1LDAsMCwxLTQuNDA1LjMyMUExNC4wODEsMTQuMDgxLDAsMCwxLDQ3LjYxLDUwWm0tMzguNC0uOTQ3QzIuNDY0LDQ1LjkzOS0uODIyLDM4LjMzLjE3NiwyOC4xNzgsMS4zLDE2LjczOCw3LjY1MSw3Ljc3NSwxOC4xMjQsMi43OUE1OS4xNjEsNTkuMTYxLDAsMCwxLDI1LjI0LjE4MywzLjY3OCwzLjY3OCwwLDAsMSwyNy44LjI2N2EzLjI3MiwzLjI3MiwwLDAsMSwxLjE2NywzLjI2OWMtLjI3LjY0Ni0uMy42NjEtMi44NjMsMS41MjZhMjkuODY5LDI5Ljg2OSwwLDAsMC05LjQzOCw0Ljk4MkEyMy40MjUsMjMuNDI1LDAsMCwwLDguNjUsMjMuNDE1Yy0uMzM4LDEuNTU5LS40NTcsMi44MzEtLjI3MSwyLjgzMWExNS42ODcsMTUuNjg3LDAsMCwwLDEuNDA2LTEuMzIyYzIuNDQyLTIuNDU5LDUuMjM5LTMuNDkxLDkuMzU1LTMuNDc2LDQuMDY2LjAxNyw2LjgsMS4wNjksOS4zMzcsMy41OTJhOS4yLDkuMiwwLDAsMSwyLjI1NSwzLjA3LDE0LjkxLDE0LjkxLDAsMCwxLDEuNTc2LDYuMTMyYy40NTcsNy44MzEtMy42NjEsMTMuNzQ1LTEwLjksMTUuNjc4YTE1LjA2NywxNS4wNjcsMCwwLDEtNC45LjQ1N2gtLjMwNUMxMi44MzEsNTAuMzc5LDExLjU2Myw1MC4xMjYsOS4yMDksNDkuMDU2WlwiIHN0cm9rZT1cIm5vbmVcIi8+PHBhdGggZD1cIk0gNTIuMTAxNDM2NjE0OTkwMjMgNDkuMzkzNTM5NDI4NzEwOTQgQyA1NC40MjU4ODgwNjE1MjM0NCA0OS4zOTM1Mzk0Mjg3MTA5NCA1NS4zMjIyNDY1NTE1MTM2NyA0OS4zMzA2MTk4MTIwMTE3MiA1Ni4yNzE0NjUzMDE1MTM2NyA0OS4xMDA4MjYyNjM0Mjc3MyBMIDU2LjI4MzIzNzQ1NzI3NTM5IDQ5LjA5ODA0OTE2MzgxODM2IEMgNjEuODgwMDYyMTAzMjcxNDggNDcuODE0NTU5OTM2NTIzNDQgNjUuNDk5MzUxNTAxNDY0ODQgNDQuMjgzNDM1ODIxNTMzMiA2Ni43NTAwNTM0MDU3NjE3MiAzOC44ODY0ODYwNTM0NjY4IEMgNjYuOTQyNDY2NzM1ODM5ODQgMzguMDE4NTE2NTQwNTI3MzQgNjcuMDEyMDkyNTkwMzMyMDMgMzYuOTcwMjc5NjkzNjAzNTIgNjYuOTk4MzQ0NDIxMzg2NzIgMzUuMTUwNjE5NTA2ODM1OTQgTCA2Ni45OTgzMTM5MDM4MDg1OSAzNS4xNDMwNTg3NzY4NTU0NyBDIDY2Ljk5ODMxMzkwMzgwODU5IDMyLjEwMjA4ODkyODIyMjY2IDY2Ljc0Nzg3OTAyODMyMDMxIDMwLjkzMTExODAxMTQ3NDYxIDY1LjU4NzMzMzY3OTE5OTIyIDI4LjU0NzQ0NzIwNDU4OTg0IEMgNjQuOTg3OTYwODE1NDI5NjkgMjcuMzEyMTQ1MjMzMTU0MyA2NC42OTkzMTAzMDI3MzQzOCAyNi45MTkyNjc2NTQ0MTg5NSA2My41MzEzNzIwNzAzMTI1IDI1Ljc1MDY0NDY4MzgzNzg5IEMgNjEuMTY4MTE3NTIzMTkzMzYgMjMuNDIxNDQzOTM5MjA4OTggNTguNjY1Njg3NTYxMDM1MTYgMjIuNDY0Nzk0MTU4OTM1NTUgNTQuODk1MDY1MzA3NjE3MTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCA1NC44MDk4NDg3ODU0MDAzOSAyMi40NDg2NTc5ODk1MDE5NSBDIDUwLjgzNzkxNzMyNzg4MDg2IDIyLjQ0ODY1Nzk4OTUwMTk1IDQ4LjAyMzgwNzUyNTYzNDc3IDIzLjU0MTcwNzk5MjU1MzcxIDQ1Ljk1NTcxNTE3OTQ0MzM2IDI1Ljg4NjIwNzU4MDU2NjQxIEMgNDQuODQzODc1ODg1MDA5NzcgMjcuMTU0NjQ3ODI3MTQ4NDQgNDQuNTMzNzU2MjU2MTAzNTIgMjcuMjQ2MTc3NjczMzM5ODQgNDQuMTU1MTM2MTA4Mzk4NDQgMjcuMjQ2MTc3NjczMzM5ODQgQyA0My44Mjk2NDcwNjQyMDg5OCAyNy4yNDYxNzc2NzMzMzk4NCA0My41MjcwOTU3OTQ2Nzc3MyAyNy4wOTcyNzg1OTQ5NzA3IDQzLjMyNTA3NzA1Njg4NDc3IDI2LjgzNzY2NzQ2NTIwOTk2IEMgNDMuMDMyODk3OTQ5MjE4NzUgMjYuNDYyMTg4NzIwNzAzMTIgNDIuOTkxNjI2NzM5NTAxOTUgMjUuOTcxNDk4NDg5Mzc5ODggNDMuMTU1MjM1MjkwNTI3MzQgMjQuODE4MjU4Mjg1NTIyNDYgQyA0My4yNjE1NTg1MzI3MTQ4NCAyNC4wNjg4Njg2MzcwODQ5NiA0My40NDYyMzU2NTY3MzgyOCAyMy4xNTg1MjczNzQyNjc1OCA0My42NzUzNjU0NDc5OTgwNSAyMi4yNTQ1NjgwOTk5NzU1OSBDIDQ1LjQ5NTk2Nzg2NDk5MDIzIDE1LjA4MzIyODExMTI2NzA5IDQ5LjgwMDYzNjI5MTUwMzkxIDkuNjg0NzU4MTg2MzQwMzMyIDU2LjQ3MDM3ODg3NTczMjQyIDYuMjA4ODI3OTcyNDEyMTA5IEMgNTcuMTgyMDE4MjgwMDI5MyA1LjgzODUyODE1NjI4MDUxOCA1OC41NTUzMjgzNjkxNDA2MiA1LjI1MTU0ODI5MDI1MjY4NiA1OS42MDMyMzcxNTIwOTk2MSA0LjgyNTY5ODM3NTcwMTkwNCBDIDYxLjUwOTcwODQwNDU0MTAyIDQuMDUwOTQyNDIwOTU5NDczIDYyLjAxNDM3NzU5Mzk5NDE0IDMuOTE4NDQxMjk1NjIzNzc5IDYyLjIzOTMzNzkyMTE0MjU4IDMuODk1NzgxMjc4NjEwMjI5IEMgNjIuMzYyNDM0Mzg3MjA3MDMgMy44NjMzMjIwMTk1NzcwMjYgNjIuNjkzMTM0MzA3ODYxMzMgMy43NTg1MDY3NzQ5MDIzNDQgNjMuMDk2NzI1NDYzODY3MTkgMy42MDI2NTgwMzMzNzA5NzIgTCA2My4xMDgyNTcyOTM3MDExNyAzLjU5ODI4ODA1OTIzNDYxOSBDIDYzLjY4MDIyNTM3MjMxNDQ1IDMuMzg1NDc4MjU4MTMyOTM1IDYzLjgwNjQ4ODAzNzEwOTM4IDMuMjIxMzM4MDMzNjc2MTQ3IDYzLjgzNDIxNzA3MTUzMzIgMy4xNjA2MzgwOTM5NDgzNjQgQyA2My44NzE3MDc5MTYyNTk3NyAzLjA3ODU4MzI0MDUwOTAzMyA2My45MjQzNjIxODI2MTcxOSAyLjc5NTM1MTI2Njg2MDk2MiA2My42MDQ2MjU3MDE5MDQzIDEuOTM4NzEyODM1MzExODkgQyA2My4yODQ1MjMwMTAyNTM5MSAxLjA5NjEzNDMwNTAwMDMwNSA2My4wMjg2NTYwMDU4NTkzOCAxLjAwODAzODE2MzE4NTEyIDYyLjUyMTg5NjM2MjMwNDY5IDEuMDA4MDM4MTYzMTg1MTIgQyA2Mi4wODI4ODU3NDIxODc1IDEuMDA4MDM4MTYzMTg1MTIgNjEuNDUwMzY2OTczODc2OTUgMS4xMjQ4MDgxOTIyNTMxMTMgNjAuNTg1NzU4MjA5MjI4NTIgMS4zNjU2ODgyMDQ3NjUzMiBDIDU1LjgyNTMxNzM4MjgxMjUgMi42NzkxMjgxNzAwMTM0MjggNTEuNjAxMTE2MTgwNDE5OTIgNC43NjgxNjc5NzI1NjQ2OTcgNDguMDMwNTE3NTc4MTI1IDcuNTc0Nzc4MDc5OTg2NTcyIEMgNDQuNDc5NDQ2NDExMTMyODEgMTAuMzY2MDM4MzIyNDQ4NzMgNDEuNzMzMDU4OTI5NDQzMzYgMTMuNzQzMTE4Mjg2MTMyODEgMzkuODY3NDA4NzUyNDQxNDEgMTcuNjEyNjg4MDY0NTc1MiBDIDM4LjA4ODU2NTgyNjQxNjAyIDIxLjI5NzMzODQ4NTcxNzc3IDM2Ljk5NDU5ODM4ODY3MTg4IDI1LjY5ODcyODU2MTQwMTM3IDM2Ljc4NzAxNzgyMjI2NTYyIDMwLjAwNjA1NzczOTI1NzgxIEMgMzYuNTgwODI1ODA1NjY0MDYgMzQuMjg0Mzg5NDk1ODQ5NjEgMzcuMjU1Mjc1NzI2MzE4MzYgMzguMzE2MzU2NjU4OTM1NTUgMzguNjg1OTA1NDU2NTQyOTcgNDEuMzU4Nzk4OTgwNzEyODkgQyAzOS40NzAwODEzMjkzNDU3IDQzLjAyNDI3NjczMzM5ODQ0IDQwLjA3MjI2OTQzOTY5NzI3IDQzLjkwNDkxODY3MDY1NDMgNDEuMzY4ODg4ODU0OTgwNDcgNDUuMjgxNDI1NDc2MDc0MjIgQyA0My4xNDAwMDcwMTkwNDI5NyA0Ny4xMTUwMjgzODEzNDc2NiA0NS4yNjU5ODczOTYyNDAyMyA0OC4zNDM1NDAxOTE2NTAzOSA0Ny44NzI0ODYxMTQ1MDE5NSA0OS4wMzgwNzgzMDgxMDU0NyBDIDQ5LjAyMjQwNzUzMTczODI4IDQ5LjM1MDM0OTQyNjI2OTUzIDQ5LjUzNjE5NzY2MjM1MzUyIDQ5LjM5MzUzOTQyODcxMDk0IDUyLjEwMTQzNjYxNDk5MDIzIDQ5LjM5MzUzOTQyODcxMDk0IE0gMTYuMjA3NjA3MjY5Mjg3MTEgNDkuMzc5MDc3OTExMzc2OTUgQyAxNi4zMDU1MTcxOTY2NTUyNyA0OS4zNzkwNzc5MTEzNzY5NSAxNi40MDU1MzY2NTE2MTEzMyA0OS4zNzkwNzc5MTEzNzY5NSAxNi41MDY5ODY2MTgwNDE5OSA0OS4zNzg1NTkxMTI1NDg4MyBDIDE5LjM5NjE5NjM2NTM1NjQ1IDQ5LjM2MTU3OTg5NTAxOTUzIDE5Ljc0MzUyNjQ1ODc0MDIzIDQ5LjMyOTg5ODgzNDIyODUyIDIxLjE1MTYzNjEyMzY1NzIzIDQ4Ljk1NTA4OTU2OTA5MTggQyAyNy45NDE1MjY0MTI5NjM4NyA0Ny4xNDA1MzcyNjE5NjI4OSAzMS43Mzg1MjcyOTc5NzM2MyA0MS42NjI0MTgzNjU0Nzg1MiAzMS4zMDg1NDc5NzM2MzI4MSAzNC4yOTk5Njg3MTk0ODI0MiBDIDMxLjE4MjExNzQ2MjE1ODIgMzIuMDkxMzk2MzMxNzg3MTEgMzAuNzU0ODc3MDkwNDU0MSAzMC40MjYwODgzMzMxMjk4OCAyOS44MzIyMzcyNDM2NTIzNCAyOC41NDg1OTczMzU4MTU0MyBDIDI5LjIzMzEyNzU5Mzk5NDE0IDI3LjMxNzgzODY2ODgyMzI0IDI4Ljk0Mzg0NzY1NjI1IDI2LjkyNTA3NzQzODM1NDQ5IDI3Ljc3MjExNzYxNDc0NjA5IDI1Ljc1MDI1NzQ5MjA2NTQzIEMgMjUuNDI2ODQ3NDU3ODg1NzQgMjMuNDIxMjg3NTM2NjIxMDkgMjIuOTI0Nzk3MDU4MTA1NDcgMjIuNDY0Nzk3OTczNjMyODEgMTkuMTM2NDk3NDk3NTU4NTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCAxOS4wNTIxMjc4MzgxMzQ3NyAyMi40NDg2Nzg5NzAzMzY5MSBDIDE3LjExOTE1Nzc5MTEzNzcgMjIuNDQ4Njc4OTcwMzM2OTEgMTUuNTE2NzY2NTQ4MTU2NzQgMjIuNjk2OTQ5MDA1MTI2OTUgMTQuMTUzMzc2NTc5Mjg0NjcgMjMuMjA3NjY4MzA0NDQzMzYgQyAxMi44MTAzNDY2MDMzOTM1NSAyMy43MTA3Njc3NDU5NzE2OCAxMS42MTM2Njc0ODgwOTgxNCAyNC41MDI4NDc2NzE1MDg3OSAxMC40OTIyOTcxNzI1NDYzOSAyNS42MzE4MjgzMDgxMDU0NyBDIDguOTM2NTk2ODcwNDIyMzYzIDI3LjE4NjM5NzU1MjQ5MDIzIDguODIwNDA2OTEzNzU3MzI0IDI3LjI0NjE3NzY3MzMzOTg0IDguMzc5MTI2NTQ4NzY3MDkgMjcuMjQ2MTc3NjczMzM5ODQgQyA4LjA2MjUxNzE2NjEzNzY5NSAyNy4yNDYxNzc2NzMzMzk4NCA3Ljc2NTg0NzIwNjExNTcyMyAyNy4xMDM0Mjc4ODY5NjI4OSA3LjU2NTE5Njk5MDk2Njc5NyAyNi44NTQ1Mzc5NjM4NjcxOSBDIDcuMzYzMjk2OTg1NjI2MjIxIDI2LjYwNDEwODgxMDQyNDggNy4wMjUzODY4MTAzMDI3MzQgMjYuMTg0OTU3NTA0MjcyNDYgNy42NzI3NTcxNDg3NDI2NzYgMjMuMjAzMTU3NDI0OTI2NzYgQyA4Ljg5NTA1NjcyNDU0ODM0IDE3LjU1ODU4ODAyNzk1NDEgMTEuODY3MjU3MTE4MjI1MSAxMi42MDgwOTgwMzAwOTAzMyAxNi4wNDI2NzY5MjU2NTkxOCA5LjI2Mjk1ODUyNjYxMTMyOCBDIDE4LjgwMjI1MzcyMzE0NDUzIDcuMDU2ODc2NjU5MzkzMzExIDIxLjk4OTkxMzk0MDQyOTY5IDUuMzcyNzA2NDEzMjY5MDQzIDI1Ljc4ODAxNzI3Mjk0OTIyIDQuMTE0MTc1Nzk2NTA4Nzg5IEMgMjYuODkxNDYyMzI2MDQ5OCAzLjc0MTM2MDE4NzUzMDUxOCAyNy43NzA4NDU0MTMyMDgwMSAzLjQ0NDE5NjkzOTQ2ODM4NCAyNy45NzgwMzMwNjU3OTU5IDMuMzA1NzMxMjk2NTM5MzA3IEMgMjcuOTk2ODIwNDQ5ODI5MSAzLjI2NzQzNzY5NjQ1NjkwOSAyOC4wMjU1MjQxMzk0MDQzIDMuMTk4OTUzODY2OTU4NjE4IDI4LjA0MzQ5NzA4NTU3MTI5IDMuMTU1OTIwMDI4Njg2NTIzIEMgMjguMDk1NzE0NTY5MDkxOCAzLjAyNDM4ODA3NDg3NDg3OCAyOC4xMDc4MzU3Njk2NTMzMiAyLjYyMTQzMjU0MjgwMDkwMyAyNy45MTkwOTc5MDAzOTA2MiAyLjA5MDA2ODEwMTg4MjkzNSBDIDI3Ljc0MzgxNjM3NTczMjQyIDEuNTk2NjM4MjAyNjY3MjM2IDI3LjQ3MzIzNjA4Mzk4NDM4IDEuMjMzOTg4MTY1ODU1NDA4IDI3LjI5NjUyNzg2MjU0ODgzIDEuMTMwNzY4MTc5ODkzNDk0IEwgMjcuMjkwNjQ3NTA2NzEzODcgMS4xMjcyOTgxMTY2ODM5NiBDIDI3LjIxNjQzNjM4NjEwODQgMS4wODMyNjgxNjU1ODgzNzkgMjYuOTYyMjA3Nzk0MTg5NDUgMC45OTk5OTgxNTIyNTYwMTIgMjYuNTMxMjI3MTExODE2NDEgMC45OTk5OTgxNTIyNTYwMTIgQyAyNi4xOTY0MTY4NTQ4NTg0IDAuOTk5OTk4MTUyMjU2MDEyIDI1LjgzNzA4NzYzMTIyNTU5IDEuMDUwOTE4MTAyMjY0NDA0IDI1LjUyMTQ2NzIwODg2MjMgMS4xNDI3NjgxNDQ2MDc1NDQgQyAyMy4yMzEwMDY2MjIzMTQ0NSAxLjgxNDY4ODIwNTcxODk5NCAyMC4xMDQzMDcxNzQ2ODI2MiAyLjk1OTE5ODIzNjQ2NTQ1NCAxOC41NTM1Mjc4MzIwMzEyNSAzLjY5MzEzODEyMjU1ODU5NCBDIDEzLjQ5NDQyNjcyNzI5NDkyIDYuMTAxMDk4MDYwNjA3OTEgOS40MjUwNjY5NDc5MzcwMTIgOS40NDgwNTgxMjgzNTY5MzQgNi40NTg0NzcwMjAyNjM2NzIgMTMuNjQxMDM3OTQwOTc5IEMgMy40ODk0OTY5NDYzMzQ4MzkgMTcuODM3Mzk4NTI5MDUyNzMgMS43MTA1MzcwNzU5OTYzOTkgMjIuNzYxMDU4ODA3MzczMDUgMS4xNzA5NjY5ODI4NDE0OTIgMjguMjc1NzA3MjQ0ODczMDUgQyAwLjkzMTE0NzAzODkzNjYxNSAzMC43MTQ3Mzg4NDU4MjUyIDAuOTQ0MjE3MDI2MjMzNjczMSAzMy4wMzEyNTc2MjkzOTQ1MyAxLjIwOTgyNzA2NTQ2NzgzNCAzNS4xNjA5MjY4MTg4NDc2NiBDIDEuNDY5OTM2OTY2ODk2MDU3IDM3LjI0NjUxNzE4MTM5NjQ4IDEuOTczNDQ2OTY1MjE3NTkgMzkuMTYzMzU2NzgxMDA1ODYgMi43MDYzOTcwNTY1Nzk1OSA0MC44NTgyMDc3MDI2MzY3MiBDIDQuMTczMTE5NTQ0OTgyOTEgNDQuMjQ5ODM1OTY4MDE3NTggNi41MDA3NzM0Mjk4NzA2MDUgNDYuNzAyMDE4NzM3NzkyOTcgOS42MjUwOTQ0MTM3NTczMjQgNDguMTQ2ODc3Mjg4ODE4MzYgQyAxMS44NTYxNjg3NDY5NDgyNCA0OS4xNjAxNzUzMjM0ODYzMyAxMy4wMjU5MDI3NDgxMDc5MSA0OS4zNzkwNzc5MTEzNzY5NSAxNi4yMDc2MDcyNjkyODcxMSA0OS4zNzkwNzc5MTEzNzY5NSBNIDUyLjEwMTQzNjYxNDk5MDIzIDUwLjM5MzUzOTQyODcxMDk0IEMgNDkuNDU2OTU4NzcwNzUxOTUgNTAuMzkzNTM5NDI4NzEwOTQgNDguODY0NjQ2OTExNjIxMDkgNTAuMzQzNzI3MTExODE2NDEgNDcuNjEwNDE2NDEyMzUzNTIgNTAuMDAzMTI4MDUxNzU3ODEgQyA0NC44MTI3Nzg0NzI5MDAzOSA0OS4yNTc2Njc1NDE1MDM5MSA0Mi41MjYwMzUzMDg4Mzc4OSA0Ny45MjA0MTc3ODU2NDQ1MyA0MC42NDUyMjU1MjQ5MDIzNCA0NS45NzE2MDcyMDgyNTE5NSBDIDM5LjI3MjEwNjE3MDY1NDMgNDQuNTE0NDA4MTExNTcyMjcgMzguNjExMjU1NjQ1NzUxOTUgNDMuNTQ3NzY3NjM5MTYwMTYgMzcuNzgxMTc3NTIwNzUxOTUgNDEuNzg0Nzc4NTk0OTcwNyBDIDM0LjY4MTQ4ODAzNzEwOTM4IDM1LjE5Mjg1OTY0OTY1ODIgMzUuMTcwOTY3MTAyMDUwNzggMjUuMDQwNjg3NTYxMDM1MTYgMzguOTY2ODU3OTEwMTU2MjUgMTcuMTc3OTI4OTI0NTYwNTUgQyA0Mi44NDczNTg3MDM2MTMyOCA5LjEyOTM0NzgwMTIwODQ5NiA1MC40OTA1MzU3MzYwODM5OCAzLjExMzY2ODIwMzM1Mzg4MiA2MC4zMTk3ODYwNzE3NzczNCAwLjQwMTcwODE1NTg3MDQzNzYgQyA2Mi45OTc0NjcwNDEwMTU2MiAtMC4zNDQyOTg4OTkxNzM3MzY2IDYzLjkxMTA5ODQ4MDIyNDYxIC0wLjA3MzMxNTI3MDI0NTA3NTIzIDY0LjU0MDg4NTkyNTI5Mjk3IDEuNTg3Mzg4MTU3ODQ0NTQzIEMgNjUuMTY3NDY1MjA5OTYwOTQgMy4yNjUyMTgyNTc5MDQwNTMgNjQuOTEzNjE5OTk1MTE3MTkgMy45OTM1NDgxNTQ4MzA5MzMgNjMuNDU2OTY2NDAwMTQ2NDggNC41MzU1MTgxNjk0MDMwNzYgQyA2Mi45Mjk5ODg4NjEwODM5OCA0LjczOTAxNzk2MzQwOTQyNCA2Mi40NDA1MDU5ODE0NDUzMSA0Ljg5MTEwODAzNjA0MTI2IDYyLjM1MjY4NzgzNTY5MzM2IDQuODkxMTA4MDM2MDQxMjYgQyA2Mi4wMTUyOTY5MzYwMzUxNiA0Ljg5MTEwODAzNjA0MTI2IDU4LjE2OTA2NzM4MjgxMjUgNi40NTIxOTgwMjg1NjQ0NTMgNTYuOTMxOTc2MzE4MzU5MzggNy4wOTU5MTgxNzg1NTgzNSBDIDUwLjUyNTg4NjUzNTY0NDUzIDEwLjQzNDQ0ODI0MjE4NzUgNDYuMzkxNTM2NzEyNjQ2NDggMTUuNjE5NTE4MjgwMDI5MyA0NC42NDQ2MTUxNzMzMzk4NCAyMi41MDA2Mzg5NjE3OTE5OSBDIDQ0LjE1NTEzNjEwODM5ODQ0IDI0LjQzMTc3Nzk1NDEwMTU2IDQzLjkxNTIxODM1MzI3MTQ4IDI2LjI0NjE3NzY3MzMzOTg0IDQ0LjE1NTEzNjEwODM5ODQ0IDI2LjI0NjE3NzY3MzMzOTg0IEMgNDQuMjM5NzU3NTM3ODQxOCAyNi4yNDYxNzc2NzMzMzk4NCA0NC43MTMxNjUyODMyMDMxMiAyNS43ODY2ODc4NTA5NTIxNSA0NS4yMDM3MTYyNzgwNzYxNyAyNS4yMjcwNDg4NzM5MDEzNyBDIDQ3LjQ3NTQ2NzY4MTg4NDc3IDIyLjY1MTY2MDkxOTE4OTQ1IDUwLjU5MzEzMjAxOTA0Mjk3IDIxLjQzMjAxMDY1MDYzNDc3IDU0Ljg5OTA3ODM2OTE0MDYyIDIxLjQ0ODgzNzI4MDI3MzQ0IEMgNTguOTQ3NzM4NjQ3NDYwOTQgMjEuNDY1OTc4NjIyNDM2NTIgNjEuNjc2ODM3OTIxMTQyNTggMjIuNTE3NzY4ODU5ODYzMjggNjQuMjM1NjI2MjIwNzAzMTIgMjUuMDQwNjg3NTYxMDM1MTYgQyA2NS40NTU1ODkyOTQ0MzM1OSAyNi4yNjExNzg5NzAzMzY5MSA2NS44MjgzMTU3MzQ4NjMyOCAyNi43NTMzMjgzMjMzNjQyNiA2Ni40ODcwMzAwMjkyOTY4OCAyOC4xMTA5MTgwNDUwNDM5NSBDIDY3LjcwODA1MzU4ODg2NzE5IDMwLjYxODgzNzM1NjU2NzM4IDY3Ljk5ODMxMzkwMzgwODU5IDMxLjkyMzkzODc1MTIyMDcgNjcuOTk4MzEzOTAzODA4NTkgMzUuMTQzMDU4Nzc2ODU1NDcgQyA2OC4wMTMzMDU2NjQwNjI1IDM3LjEyNjY3ODQ2Njc5Njg4IDY3LjkyODY4ODA0OTMxNjQxIDM4LjE5MjkzOTc1ODMwMDc4IDY3LjcyNTE4OTIwODk4NDM4IDM5LjEwODE2OTU1NTY2NDA2IEMgNjYuMzg3NDIwNjU0Mjk2ODggNDQuODg3MTQ5ODEwNzkxMDIgNjIuNDg5Nzc2NjExMzI4MTIgNDguNzAwNjk4ODUyNTM5MDYgNTYuNTA2NzU1ODI4ODU3NDIgNTAuMDcyNzQ2Mjc2ODU1NDcgQyA1NS40NTgxNzU2NTkxNzk2OSA1MC4zMjY1OTkxMjEwOTM3NSA1NC40NzI3ODU5NDk3MDcwMyA1MC4zOTM1Mzk0Mjg3MTA5NCA1Mi4xMDE0MzY2MTQ5OTAyMyA1MC4zOTM1Mzk0Mjg3MTA5NCBaIE0gMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgQyAxMi44MzA1MDcyNzg0NDIzOCA1MC4zNzkwNzc5MTEzNzY5NSAxMS41NjM0MjY5NzE0MzU1NSA1MC4xMjU3NjY3NTQxNTAzOSA5LjIwOTIwNjU4MTExNTcyMyA0OS4wNTYyOTczMDIyNDYwOSBDIDIuNDYzNTg3MDQ1NjY5NTU2IDQ1LjkzODkzODE0MDg2OTE0IC0wLjgyMjQ2Mjk3NTk3ODg1MTMgMzguMzMwMDI4NTMzOTM1NTUgMC4xNzU3NjcwMTkzOTEwNTk5IDI4LjE3Nzg1ODM1MjY2MTEzIEMgMS4yOTUwNDcwNDQ3NTQwMjggMTYuNzM4MjU4MzYxODE2NDEgNy42NTA3OTY4OTAyNTg3ODkgNy43NzQ5NzgxNjA4NTgxNTQgMTguMTIzNzU2NDA4NjkxNDEgMi43OTAxOTgwODc2OTIyNjEgQyAxOS43NjY3ODY1NzUzMTczOCAyLjAxMjU5ODAzNzcxOTcyNyAyMi45MzYwOTYxOTE0MDYyNSAwLjg1OTA1ODE0MTcwODM3NCAyNS4yMzk5NzY4ODI5MzQ1NyAwLjE4MzIwODE1MjY1MTc4NjggQyAyNi4xNzI4NzgyNjUzODA4NiAtMC4wODgzMTE4NjU5MjU3ODg4OCAyNy4yNTU3MzkyMTIwMzYxMyAtMC4wNTYxODE4Mjk0MjI3MTIzMyAyNy44MDA5MTY2NzE3NTI5MyAwLjI2NzI4ODE0ODQwMzE2NzcgQyAyOC42OTg0NjcyNTQ2Mzg2NyAwLjc5MTU3ODE3MzYzNzM5MDEgMjkuMzQyMTg3ODgxNDY5NzMgMi42MjE1MDgxMjE0OTA0NzkgMjguOTY4Mzg3NjAzNzU5NzcgMy41MzYxOTgxMzkxOTA2NzQgQyAyOC42OTg0NjcyNTQ2Mzg2NyA0LjE4MjU5ODExNDAxMzY3MiAyOC42NjUyNjc5NDQzMzU5NCA0LjE5NzU4Nzk2NjkxODk0NSAyNi4xMDU0MDc3MTQ4NDM3NSA1LjA2MjQ3ODA2NTQ5MDcyMyBDIDIyLjM3NTkyNjk3MTQzNTU1IDYuMjk3OTY3OTEwNzY2NjAyIDE5LjI5NDQ0Njk0NTE5MDQzIDcuOTQzNjY4MzY1NDc4NTE2IDE2LjY2NzA5NzA5MTY3NDggMTAuMDQ0MDQ4MzA5MzI2MTcgQyAxMi42Njc3MDc0NDMyMzczIDEzLjI0ODE1ODQ1NDg5NTAyIDkuODIwNzk2OTY2NTUyNzM0IDE4LjAwODU0ODczNjU3MjI3IDguNjUwMTA3MzgzNzI4MDI3IDIzLjQxNDc5ODczNjU3MjI3IEMgOC4zMTE2NDc0MTUxNjExMzMgMjQuOTczNzQ3MjUzNDE3OTcgOC4xOTI3NTY2NTI4MzIwMzEgMjYuMjQ2MTc3NjczMzM5ODQgOC4zNzkxMjY1NDg3NjcwOSAyNi4yNDYxNzc2NzMzMzk4NCBDIDguNDMxNjA3MjQ2Mzk4OTI2IDI2LjI0NjE3NzY3MzMzOTg0IDkuMDU3MTE3NDYyMTU4MjAzIDI1LjY1MjI2NzQ1NjA1NDY5IDkuNzg1NDQ3MTIwNjY2NTA0IDI0LjkyNDQ2ODk5NDE0MDYyIEMgMTIuMjI3NDk4MDU0NTA0MzkgMjIuNDY1ODIwMzEyNSAxNS4wMjQwMjExNDg2ODE2NCAyMS40MzM5NDQ3MDIxNDg0NCAxOS4xNDAyMDcyOTA2NDk0MSAyMS40NDg4MzcyODAyNzM0NCBDIDIzLjIwNjAwNzAwMzc4NDE4IDIxLjQ2NTk3ODYyMjQzNjUyIDI1LjkzNjE3NjMwMDA0ODgzIDIyLjUxNzc2ODg1OTg2MzI4IDI4LjQ3Njc1NzA0OTU2MDU1IDI1LjA0MDY4NzU2MTAzNTE2IEMgMjkuNjk2NzE2MzA4NTkzNzUgMjYuMjYzODQ3MzUxMDc0MjIgMzAuMDcwNTE2NTg2MzAzNzEgMjYuNzUzMzI4MzIzMzY0MjYgMzAuNzMxMzY3MTExMjA2MDUgMjguMTEwOTE4MDQ1MDQzOTUgQyAzMS43MTM1NDY3NTI5Mjk2OSAzMC4xMDk1MzkwMzE5ODI0MiAzMi4xNzMwMzg0ODI2NjYwMiAzMS45MDQxMjkwMjgzMjAzMSAzMi4zMDY5MTUyODMyMDMxMiAzNC4yNDI4MTY5MjUwNDg4MyBDIDMyLjc2NDI2Njk2Nzc3MzQ0IDQyLjA3Mzk2Njk3OTk4MDQ3IDI4LjY0NTk4NjU1NzAwNjg0IDQ3Ljk4NzM2OTUzNzM1MzUyIDIxLjQwOTgxNjc0MTk0MzM2IDQ5LjkyMTE4ODM1NDQ5MjE5IEMgMTkuODg2NzQ3MzYwMjI5NDkgNTAuMzI2NTk5MTIxMDkzNzUgMTkuNDI4MzI3NTYwNDI0OCA1MC4zNjE0MDgyMzM2NDI1OCAxNi41MTI4NjY5NzM4NzY5NSA1MC4zNzg1NDAwMzkwNjI1IEMgMTYuNDA4OTY3OTcxODAxNzYgNTAuMzc5MDc3OTExMzc2OTUgMTYuMzA3MjE2NjQ0Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgWlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBY2NvcmRlb25zICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYWNjb3JkZW9uX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMC4zMjZcIiBoZWlnaHQ9XCIyMC4zMjZcIiB2aWV3Qm94PVwiMCAwIDIwLjMyNiAyMC4zMjZcIj48cGF0aCBkPVwiTTAsMEgyMC4zMjZWMjAuMzI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHJlY3Qgd2lkdGg9XCIxMi4xOTZcIiBoZWlnaHQ9XCIyLjAzM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjA2NSA5LjE0NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiMTIuMTk2XCIgaGVpZ2h0PVwiMi4wMzNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTEuMTc5IDQuMDY1KSByb3RhdGUoOTApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENvbG9ubmUgY29udGV4dHVlbGxlICovXHJcblx0XHQvKiBCbG9jIGdlb2xvYyAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2FkcmVzc2UoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNTQgLTUwODIuOTMzKVwiPjxjaXJjbGUgY3g9XCIxNVwiIGN5PVwiMTVcIiByPVwiMTVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE1NCA1MDgyLjkzMylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTYwIDUwODguOTMzKVwiPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMC4yNSwzLjVBMy43NCwzLjc0LDAsMCwxLDE0LDcuMzYzYzAsMS42Mi0xLjI5LDMuNS0zLjc1LDUuNDlDNy43OSwxMC44NjUsNi41LDguOTc1LDYuNSw3LjM2M0EzLjc0LDMuNzQsMCwwLDEsMTAuMjUsMy41bTAtMS41QTUuMjI2LDUuMjI2LDAsMCwwLDUsNy4zNjNxMCwzLjUxLDUuMjUsNy4zODhRMTUuNSwxMC44OCwxNS41LDcuMzYzQTUuMjI2LDUuMjI2LDAsMCwwLDEwLjI1LDJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjI1IC0wLjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PHBhdGggZD1cIk0xMC4yNSw3YTEuNSwxLjUsMCwxLDAsMS41LDEuNUExLjUsMS41LDAsMCwwLDEwLjI1LDdaTTUsMTYuNzVIMTUuNXYxLjVINVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMjUgLTEuNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnZW9sb2NfdGVsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjguNSAtNTI3OS4wMTQpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NjguNSA1Mjc5LjAxNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzQuNSA1Mjg1LjAxNClcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS42NTUsNC41YTkuMjM0LDkuMjM0LDAsMCwwLC4zMzcsMS45NDNsLS45LjlBMTEuMTE5LDExLjExOSwwLDAsMSw0LjUyMyw0LjVINS42NTVtNy4zOTUsOS4wMTVhOS41NjQsOS41NjQsMCwwLDAsMS45NS4zMzhWMTQuOTdhMTEuNTcsMTEuNTcsMCwwLDEtMi44NS0uNTYybC45LS44OTNNNi4zNzUsM0gzLjc1QS43NTIuNzUyLDAsMCwwLDMsMy43NSwxMi43NDksMTIuNzQ5LDAsMCwwLDE1Ljc1MSwxNi41YS43NTIuNzUyLDAsMCwwLC43NDktLjc1VjEzLjEzM2EuNzUyLjc1MiwwLDAsMC0uNzUtLjc1LDguNTU1LDguNTU1LDAsMCwxLTIuNjc3LS40MjguNjMuNjMsMCwwLDAtLjIzMi0uMDM4Ljc2OC43NjgsMCwwLDAtLjUzMy4yMThsLTEuNjUsMS42NUExMS4zNjEsMTEuMzYxLDAsMCwxLDUuNzE1LDguODQzbDEuNjUtMS42NWEuNzUzLjc1MywwLDAsMCwuMTg4LS43NjVBOC41Miw4LjUyLDAsMCwxLDcuMTI1LDMuNzUuNzUyLjc1MiwwLDAsMCw2LjM3NSwzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY19tYWlsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc0IC01MTc0LjUzNylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzQgNTE3NC41MzcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE3OS45ODIgNTE4MC41MzcpXCI+PHBhdGggZD1cIk0wLDBIMTcuOTQ2VjE3Ljk0NkgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxLjQ5NSAyLjk5MSlcIj48cGF0aCBkPVwiTTE2Ljk1NSw1LjVhMS41LDEuNSwwLDAsMC0xLjUtMS41SDMuNUExLjUsMS41LDAsMCwwLDIsNS41djguOTczYTEuNSwxLjUsMCwwLDAsMS41LDEuNUgxNS40NTlhMS41LDEuNSwwLDAsMCwxLjUtMS41Wm0tMS41LDBMOS40NzcsOS4yMjcsMy41LDUuNVptMCw4Ljk3M0gzLjVWNi45OTFMOS40NzcsMTAuNzNsNS45ODItMy43MzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yIC00KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY193ZWJzaXRlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc1IC01MTczLjMzNSlcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzUgNTE3My4zMzUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MSA1MTc5LjMzNSlcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTMsMkE3LjUsNy41LDAsMSwwLDE3LDkuNSw3LjUsNy41LDAsMCwwLDkuNDkzLDJabTUuMiw0LjVIMTIuNDc4YTExLjczNywxMS43MzcsMCwwLDAtMS4wMzUtMi42N0E2LjAyMiw2LjAyMiwwLDAsMSwxNC42OSw2LjVaTTkuNSwzLjUzQTEwLjU2NSwxMC41NjUsMCwwLDEsMTAuOTMyLDYuNUg4LjA2OEExMC41NjUsMTAuNTY1LDAsMCwxLDkuNSwzLjUzWk0zLjcsMTFhNS44NjcsNS44NjcsMCwwLDEsMC0zSDYuMjNhMTIuMzg1LDEyLjM4NSwwLDAsMC0uMTA1LDEuNUExMi4zODYsMTIuMzg2LDAsMCwwLDYuMjMsMTFabS42MTUsMS41SDYuNTIzYTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUsMi42N0E1Ljk5LDUuOTksMCwwLDEsNC4zMSwxMi41Wm0yLjIxMy02SDQuMzFBNS45OSw1Ljk5LDAsMCwxLDcuNTU3LDMuODMsMTEuNzM3LDExLjczNywwLDAsMCw2LjUyMiw2LjVaTTkuNSwxNS40N0ExMC41NjUsMTAuNTY1LDAsMCwxLDguMDY4LDEyLjVoMi44NjVBMTAuNTY1LDEwLjU2NSwwLDAsMSw5LjUsMTUuNDdaTTExLjI1NSwxMUg3Ljc0NWExMS4wMzUsMTEuMDM1LDAsMCwxLS4xMi0xLjVBMTAuOTM5LDEwLjkzOSwwLDAsMSw3Ljc0NSw4aDMuNTFhMTAuOTM5LDEwLjkzOSwwLDAsMSwuMTIsMS41LDExLjAzNSwxMS4wMzUsMCwwLDEtLjEyLDEuNVptLjE4OCw0LjE3YTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUtMi42N0gxNC42OUE2LjAyMiw2LjAyMiwwLDAsMSwxMS40NDMsMTUuMTdaTTEyLjc3LDExYTEyLjM4NywxMi4zODcsMCwwLDAsLjEtMS41LDEyLjM4NywxMi4zODcsMCwwLDAtLjEtMS41aDIuNTM1YTUuODY3LDUuODY3LDAsMCwxLDAsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNSAtMC41KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2hvcmFpcmVzKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc2IC01MTg2Ljg2NylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzYgNTE4Ni44NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MiA1MTkyLjg2NylcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTIsMkE3LjUsNy41LDAsMSwwLDE0LjgsNC4xOTQsNy41LDcuNSwwLDAsMCw5LjQ5MiwyWk05LjUsMTUuNWE2LDYsMCwxLDEsNi02LDYsNiwwLDAsMS02LDZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTEyLjEyNSw3SDExdjQuNWwzLjkzOCwyLjM2Mi41NjMtLjkyMi0zLjM3NS0yWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi43NSAtMS43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBUZWxlY2hhcmdlbWVudHMgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGRvd25sb2FkKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU4XCIgaGVpZ2h0PVwiNThcIiB2aWV3Qm94PVwiMCAwIDU4IDU4XCI+PHJlY3Qgd2lkdGg9XCI1OFwiIGhlaWdodD1cIjU4XCIgcng9XCIyOVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE3LjQ0NiAxNi44ODUpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTYsMkEyLDIsMCwwLDAsNC4wMSw0TDQsMjBhMiwyLDAsMCwwLDEuOTksMkgxOGEyLjAwNiwyLjAwNiwwLDAsMCwyLTJWOEwxNCwyWm03LDdWMy41TDE4LjUsOVpcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIHRlbGVjaGFyZ2VyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0xMywxMC41SDEwLjc1VjNIOS4yNXY3LjVIN2wzLDNaTTQsMTV2MS41SDE2VjE1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtMC43NSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZldWlsbGV0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc1IDMpXCI+PHBhdGggZD1cIk0xNiw0SDIuNUExLjUsMS41LDAsMCwwLDEsNS41djkuNzVhMS41LDEuNSwwLDAsMCwxLjUsMS41SDE2YTEuNSwxLjUsMCwwLDAsMS41LTEuNVY1LjVBMS41LDEuNSwwLDAsMCwxNiw0Wk0yLjUsMTUuMjVWNS41aDZ2OS43NVptMTMuNSwwSDEwVjUuNWg2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA0LjEyNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA2KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHJlY3Qgd2lkdGg9XCI0LjVcIiBoZWlnaHQ9XCIxLjEyNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5Ljc1IDcuODc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIExJU1RFICoqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBJbWFnZSBwYXIgZGVmYXV0ICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gbG9nb19maWxpZ3JhbmUoKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyOC44MVwiIGhlaWdodD1cIjY5LjA3OVwiIHZpZXdCb3g9XCIwIDAgMTI4LjgxIDY5LjA3OVwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNjE2LjIwMSAtODI2LjQ2MSlcIj48cGF0aCBkPVwiTTEwMi4xODYsMjAuMzQySDYyLjYyM0w4Mi4zMzcsNTcuMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTk4LjIwMiA4MDYuMTE5KVwiIGZpbGw9XCIjYWYwNjIzXCIvPjxyZWN0IHdpZHRoPVwiMTguNzgyXCIgaGVpZ2h0PVwiNjkuMDc5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYxNi4yMDEgODI2LjQ2MSlcIiBmaWxsPVwiI2FmMDYyM1wiLz48cGF0aCBkPVwiTTg5LjY3NSw3Ny45MUg3NC4zNTZMNTcuNjM3LDQ3Vjg3Ljk3OGg1MC4wODZWNDYuMzQyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1OTcuOTI1IDgwNy41NjEpXCIgZmlsbD1cIiNhZjA2MjNcIi8+PHJlY3Qgd2lkdGg9XCIxOC43ODJcIiBoZWlnaHQ9XCI2OS4wNzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzI2LjIyOSA4MjYuNDYxKVwiIGZpbGw9XCIjYWYwNjIzXCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJ0biBhZmZpY2hlciBsYSBjYXJ0ZSAqL1xyXG5cdFx0LyogT0sgKi8gLy9AbWl4aW4gZGlzcGxheV9tYXAoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDYgNDRcIj48cGF0aCBkPVwiTTQ0LjgsOCwzNCwxMC43QTEwLjk0LDEwLjk0LDAsMCwwLDIzLDAsMTAuOCwxMC44LDAsMCwwLDEyLjIsOS4yTC44LDEyQTEsMSwwLDAsMCwwLDEzVjQzYS45MS45MSwwLDAsMCwuNC44QTEuNDIsMS40MiwwLDAsMCwxLDQ0aC4yTDE3LDQwbDExLjcsMy45aC41bDE2LTRhMS4wOCwxLjA4LDAsMCwwLC44LTFWOWEuOTEuOTEsMCwwLDAtLjQtLjhBMS4wOSwxLjA5LDAsMCwwLDQ0LjgsOFpNMjMsMmE5LDksMCwwLDEsOSw5YzAsNC40LTYsMTEuNi05LDE0LjgtMy0zLjItOS0xMC41LTktMTQuOEE5LDksMCwwLDEsMjMsMlptNSwzOS42TDE4LDM4LjNWMjMuMWMyLjIsMi43LDQuMSw0LjcsNC4zLDQuOWExLDEsMCwwLDAsMS40LDBjLjItLjIsMi4xLTIuMiw0LjMtNC45Wk0yLDEzLjhsMTAtMi41Yy4xLDIuOCwxLjksNi4xLDQsOS4xVjM4LjJMMiw0MS43Wk00NCwzOC4yLDMwLDQxLjdWMjAuNGEyMy41OSwyMy41OSwwLDAsMCwzLjgtNy42TDQ0LDEwLjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjYsMTFhMywzLDAsMSwwLTMsMywzLDMsMCwwLDAsMy0yLjlabS00LDBhMSwxLDAsMSwxLDEsMUExLDEsMCwwLDEsMjIsMTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQnRuIGFmZmljaGVyIGxhIGxpc3RlICovXHJcblx0XHQvKiBPSyAqLyAvL0BtaXhpbiBkaXNwbGF5X2xpc3QoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDIgNDJcIj48cGF0aCBkPVwiTTAsNUE1LDUsMCwxLDAsNSwwLDUsNSwwLDAsMCwwLDVaTTUsMkEzLDMsMCwxLDEsMiw1LDMsMywwLDAsMSw1LDJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsMjZhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSwyNlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMThaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsNDJhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSw0MlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMzRaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDRIMTdhMSwxLDAsMCwwLDAsMkg0MWExLDEsMCwwLDAsMC0yWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk00MSwyMEgxN2ExLDEsMCwwLDAsMCwySDQxYTEsMSwwLDAsMCwwLTJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDM2SDE3YTEsMSwwLDAsMCwwLDJINDFhMSwxLDAsMCwwLDAtMlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGZpbHRlcigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMCwwSDI0bTAsMjRIMFwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNC4yNSw1LjYxQzYuMjcsOC4yLDEwLDEzLDEwLDEzdjZhMSwxLDAsMCwwLDEsMWgyYTEsMSwwLDAsMCwxLTFWMTNzMy43Mi00LjgsNS43NC03LjM5QTEsMSwwLDAsMCwxOC45NSw0SDUuMDRBMSwxLDAsMCwwLDQuMjUsNS42MVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNhbGVuZGFyKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTUsMy41aC0uNzVWMi43NWEuNzUuNzUsMCwxLDAtMS41LDBWMy41aC02VjIuNzVhLjc1Ljc1LDAsMSwwLTEuNSwwVjMuNUg0LjVBMS40OTMsMS40OTMsMCwwLDAsMy4wMDcsNUwzLDE1LjVBMS41LDEuNSwwLDAsMCw0LjUsMTdIMTVhMS41LDEuNSwwLDAsMCwxLjUtMS41VjVBMS41LDEuNSwwLDAsMCwxNSwzLjVabTAsMTEuMjVhLjc1Mi43NTIsMCwwLDEtLjc1Ljc1aC05YS43NTIuNzUyLDAsMCwxLS43NS0uNzVWNy4yNUgxNVptLTktNkg3LjV2MS41SDZabTMsMGgxLjV2MS41SDlabTMsMGgxLjV2MS41SDEyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC41KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHJlaW5pdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk04LjY2NywyYTYuNjY3LDYuNjY3LDAsMSwwLDYuNjY3LDYuNjY3QTYuNjYxLDYuNjYxLDAsMCwwLDguNjY3LDJaTTEyLDExLjA2bC0uOTQuOTRMOC42NjcsOS42MDcsNi4yNzMsMTJsLS45NC0uOTRMNy43MjcsOC42NjcsNS4zMzMsNi4yNzNsLjk0LS45NEw4LjY2Nyw3LjcyNywxMS4wNiw1LjMzM2wuOTQuOTRMOS42MDcsOC42NjdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjY2NyAtMC42NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIExvY2FsaXNhdGlvbiAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGxvY2FsaXNhdGlvbigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgdmlld0JveD1cIjAgMCAxNSAxNVwiPjxwYXRoIGQ9XCJNMCwwSDE1VjE1SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk05LjM3NSwyQTQuMzcyLDQuMzcyLDAsMCwwLDUsNi4zNzVDNSw5LjY1Niw5LjM3NSwxNC41LDkuMzc1LDE0LjVTMTMuNzUsOS42NTYsMTMuNzUsNi4zNzVBNC4zNzIsNC4zNzIsMCwwLDAsOS4zNzUsMlptMCw1LjkzOGExLjU2MywxLjU2MywwLDEsMSwxLjU2Mi0xLjU2MkExLjU2MywxLjU2MywwLDAsMSw5LjM3NSw3LjkzOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuODc1IC0wLjc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREUgUkVDSEVSQ0hFICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFBhZ2luYXRpb24gKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwYWdpbmF0aW9uX3ByZXYoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIj48cGF0aCBkPVwiTTE2LDE2LjU5LDExLjQyLDEyLDE2LDcuNDEsMTQuNTksNmwtNiw2LDYsNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNTkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDBIMFYyNEgyNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIiBmaWxsPVwibm9uZVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBhZ2luYXRpb25fbmV4dCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNOC41OSwxNi41OSwxMy4xNywxMiw4LjU5LDcuNDEsMTAsNmw2LDYtNiw2WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9maXJzdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTguNDEsMTYuNTksMTMuODIsMTJsNC41OS00LjU5TDE3LDZsLTYsNiw2LDZaTTYsNkg4VjE4SDZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDI0SDBWMEgyNFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9sYXN0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk01LjU5LDcuNDEsMTAuMTgsMTIsNS41OSwxNi41OSw3LDE4bDYtNkw3LDZaTTE2LDZoMlYxOEgxNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiBDQVJURSBJTlRFUkFDVElWRSAqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge0BpbmNsdWRlIGFjY29yZGVvbl9wbHVzKCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX21vaW5zKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNC44OCAxLjQxXCI+PHBhdGggZD1cIk00Ljg4LDEuNDFIMFYwSDQuODhaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqIERBU0hCT0FSRCAqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0JGRiX2JnX2NpcmNsZTonPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMzYuNzUgMTcyXCI+PHBhdGggZD1cIk0yNDAsMTAwYTQyNS44MSw0MjUuODEsMCwwLDEsMTAwLDExLjg0VjBIMjgyLjQyYTM3MC4xLDM3MC4xLDAsMCwwLTY0Ljg4LDEwMC41OVEyMjguNywxMDAsMjQwLDEwMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48cGF0aCBkPVwiTTIxNy41NCwxMDAuNTlBNDIyLjY2LDQyMi42NiwwLDAsMCwzLjI1LDE3MkgxOTQuODJBMzY2Ljg3LDM2Ni44NywwLDAsMSwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjwvc3ZnPic7XHJcblxyXG5cdC8qIFR1aWxlcyAqL1xyXG5cdFx0QG1peGluIGRiX2NyZWVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6bS0xLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZ2VyZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk02LjIxIDEzLjk3bDEuMiAyLjA3Yy4wOC4xMy4yMy4xOC4zNy4xM2wxLjQ5LS42Yy4zMS4yNC42NC40NCAxLjAxLjU5bC4yMiAxLjU5Yy4wMy4xNC4xNS4yNS4zLjI1aDIuNGMuMTUgMCAuMjctLjExLjMtLjI2bC4yMi0xLjU5Yy4zNi0uMTUuNy0uMzUgMS4wMS0uNTlsMS40OS42Yy4xNC4wNS4yOSAwIC4zNy0uMTNsMS4yLTIuMDdjLjA4LS4xMy4wNC0uMjktLjA3LS4zOWwtMS4yNy0uOTljLjAzLS4xOS4wNC0uMzkuMDQtLjU4IDAtLjItLjAyLS4zOS0uMDQtLjU5bDEuMjctLjk5Yy4xMS0uMDkuMTUtLjI2LjA3LS4zOWwtMS4yLTIuMDdjLS4wOC0uMTMtLjIzLS4xOC0uMzctLjEzbC0xLjQ5LjZjLS4zMS0uMjQtLjY0LS40NC0xLjAxLS41OWwtLjIyLTEuNTljLS4wMy0uMTQtLjE1LS4yNS0uMy0uMjVoLTIuNGMtLjE1IDAtLjI3LjExLS4zLjI2bC0uMjIgMS41OWMtLjM2LjE1LS43MS4zNC0xLjAxLjU4bC0xLjQ5LS42Yy0uMTQtLjA1LS4yOSAwLS4zNy4xM2wtMS4yIDIuMDdjLS4wOC4xMy0uMDQuMjkuMDcuMzlsMS4yNy45OWMtLjAzLjItLjA1LjM5LS4wNS41OSAwIC4yLjAyLjM5LjA0LjU5bC0xLjI3Ljk5Yy0uMTEuMS0uMTQuMjYtLjA2LjM5ek0xMiAxMC4yOWMuOTQgMCAxLjcxLjc3IDEuNzEgMS43MXMtLjc3IDEuNzEtMS43MSAxLjcxLTEuNzEtLjc3LTEuNzEtMS43MS43Ny0xLjcxIDEuNzEtMS43MXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjkgMi0yVjVjMC0xLjEtLjg5LTItMi0yem0wIDE2SDVWNWgxNHYxNHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2NvbnRyaWJ1ZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNC4wNiA5LjAybC45Mi45Mkw1LjkyIDE5SDV2LS45Mmw5LjA2LTkuMDZNMTcuNjYgM2MtLjI1IDAtLjUxLjEtLjcuMjlsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzYy4zOS0uMzkuMzktMS4wMiAwLTEuNDFsLTIuMzQtMi4zNGMtLjItLjItLjQ1LS4yOS0uNzEtLjI5em0tMy42IDMuMTlMMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2xpc3RlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEgN2g2djJoLTZ6bTAgNGg2djJoLTZ6bTAgNGg2djJoLTZ6TTcgN2gydjJIN3ptMCA0aDJ2Mkg3em0wIDRoMnYySDd6TTIwLjEgM0gzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xOSAxOUg1VjVoMTR2MTR6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9uZXdzbGV0dGVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMjEuOTkgOGMwLS43Mi0uMzctMS4zNS0uOTQtMS43TDEyIDEgMi45NSA2LjNDMi4zOCA2LjY1IDIgNy4yOCAyIDh2MTBjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMmwtLjAxLTEwem0tMiAwdi4wMUwxMiAxMyA0IDhsOC00LjY4TDE5Ljk5IDh6TTQgMTh2LTcuNjZsOCA1LjAyIDcuOTktNC45OUwyMCAxOEg0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfc21zKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTcgMS4wMUw3IDFjLTEuMSAwLTIgLjktMiAydjE4YzAgMS4xLjkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0xLjk5LTItMS45OXpNMTcgMTlIN1Y1aDEwdjE0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZGVtYW5kZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNSA0djdINS4xN2wtLjU5LjU5LS41OC41OFY0aDExbTEtMkgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMVYzYzAtLjU1LS40NS0xLTEtMXptNSA0aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX21kcCgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxnIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiLz48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgb3BhY2l0eT1cIi44N1wiLz48L2c+PHBhdGggZD1cIk0xOCA4aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTkgNmMwLTEuNjYgMS4zNC0zIDMtM3MzIDEuMzQgMyAzdjJIOVY2em05IDE0SDZWMTBoMTJ2MTB6bS02LTNjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyelwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfcHJvZmlsKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgMCAwIDI0IDI0XCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PGc+PHBhdGggZD1cIk0wLDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjwvZz48Zz48Zz48cGF0aCBkPVwiTTQsMTh2LTAuNjVjMC0wLjM0LDAuMTYtMC42NiwwLjQxLTAuODFDNi4xLDE1LjUzLDguMDMsMTUsMTAsMTVjMC4wMywwLDAuMDUsMCwwLjA4LDAuMDFjMC4xLTAuNywwLjMtMS4zNywwLjU5LTEuOTggQzEwLjQ1LDEzLjAxLDEwLjIzLDEzLDEwLDEzYy0yLjQyLDAtNC42OCwwLjY3LTYuNjEsMS44MkMyLjUxLDE1LjM0LDIsMTYuMzIsMiwxNy4zNVYyMGg5LjI2Yy0wLjQyLTAuNi0wLjc1LTEuMjgtMC45Ny0ySDR6XCIvPjxwYXRoIGQ9XCJNMTAsMTJjMi4yMSwwLDQtMS43OSw0LTRzLTEuNzktNC00LTRDNy43OSw0LDYsNS43OSw2LDhTNy43OSwxMiwxMCwxMnogTTEwLDZjMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDIgYy0xLjEsMC0yLTAuOS0yLTJTOC45LDYsMTAsNnpcIi8+PHBhdGggZD1cIk0yMC43NSwxNmMwLTAuMjItMC4wMy0wLjQyLTAuMDYtMC42M2wxLjE0LTEuMDFsLTEtMS43M2wtMS40NSwwLjQ5Yy0wLjMyLTAuMjctMC42OC0wLjQ4LTEuMDgtMC42M0wxOCwxMWgtMmwtMC4zLDEuNDkgYy0wLjQsMC4xNS0wLjc2LDAuMzYtMS4wOCwwLjYzbC0xLjQ1LTAuNDlsLTEsMS43M2wxLjE0LDEuMDFjLTAuMDMsMC4yMS0wLjA2LDAuNDEtMC4wNiwwLjYzczAuMDMsMC40MiwwLjA2LDAuNjNsLTEuMTQsMS4wMSBsMSwxLjczbDEuNDUtMC40OWMwLjMyLDAuMjcsMC42OCwwLjQ4LDEuMDgsMC42M0wxNiwyMWgybDAuMy0xLjQ5YzAuNC0wLjE1LDAuNzYtMC4zNiwxLjA4LTAuNjNsMS40NSwwLjQ5bDEtMS43M2wtMS4xNC0xLjAxIEMyMC43MiwxNi40MiwyMC43NSwxNi4yMiwyMC43NSwxNnogTTE3LDE4Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMlMxOC4xLDE4LDE3LDE4elwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9zdXBwcmltZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNiA5djEwSDhWOWg4bS0xLjUtNmgtNWwtMSAxSDV2MmgxNFY0aC0zLjVsLTEtMXpNMTggN0g2djEyYzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZmF2b3JpcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwMzYxIC0yOTU2KVwiPjxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMTNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjEgMjk1NilcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjYgMjk2MSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEuNjY3LDNhMy45OTIsMy45OTIsMCwwLDAtMywxLjM5M0EzLjk5MiwzLjk5MiwwLDAsMCw1LjY2NywzLDMuNjMxLDMuNjMxLDAsMCwwLDIsNi42NjdjMCwyLjUyLDIuMjY3LDQuNTczLDUuNyw3LjY5M2wuOTY3Ljg3My45NjctLjg4YzMuNDMzLTMuMTEzLDUuNy01LjE2Nyw1LjctNy42ODdBMy42MzEsMy42MzEsMCwwLDAsMTEuNjY3LDNaTTguNzMzLDEzLjM2N2wtLjA2Ny4wNjdMOC42LDEzLjM2N2MtMy4xNzMtMi44NzMtNS4yNjctNC43NzMtNS4yNjctNi43QTIuMjc4LDIuMjc4LDAsMCwxLDUuNjY3LDQuMzMzYTIuNjA2LDIuNjA2LDAsMCwxLDIuMzgsMS41NzNIOS4yOTNhMi41OSwyLjU5LDAsMCwxLDIuMzczLTEuNTczQTIuMjc4LDIuMjc4LDAsMCwxLDE0LDYuNjY3QzE0LDguNTkzLDExLjkwNywxMC40OTMsOC43MzMsMTMuMzY3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPbGQgKi9cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9hYm9ubmVtZW50cygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguNTcgNTMuNTdcIj48cmVjdCB4PVwiMS43OVwiIHk9XCIxLjc5XCIgd2lkdGg9XCI3NVwiIGhlaWdodD1cIjUwXCIgcng9XCI1LjM2XCIgcnk9XCI1LjM2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjU3XCIvPjxwb2x5bGluZSBwb2ludHM9XCI3NSAzLjU3IDM5LjI5IDMyLjE0IDMuNTcgMy41N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy41N1wiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfYW5ub25jZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjI2IDc2LjY0XCI+PHBvbHlsaW5lIHBvaW50cz1cIjYzLjY1IDQwLjc0IDYzLjY1IDc1LjAxIDEuNjMgNzUuMDEgMS42MyA2LjQ2IDQyLjQzIDYuNDZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIyNC45XCIgeTE9XCI1My4zN1wiIHgyPVwiNTQuNjRcIiB5Mj1cIjIzLjYzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwYXRoIGQ9XCJNNTguMiwyMy4yMmMtMy4yNy40LTIxLjQ0LDE3LjY4LTEwLDI5LjE0LDQsNCwxMywzLjM4LDIzLjc0LTcuNFM4Ny41LDEzLjMxLDg3LjUsMTMuMzFhODguMjQsODguMjQsMCwwLDAtMjAuMjcsNS43NXMtMi41LDExLjctOSwxMS43WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTExLjY4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfY29udHJpYnV0aW9ucygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzcuMjIgNzcuMDdcIj48cG9seWxpbmUgcG9pbnRzPVwiNjIuNzMgMzYuODUgNjIuNzMgNzUuNDYgMS42MSA3NS40NiAxLjYxIDcuOSA0Ni42NSA3LjlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjJcIi8+PHBvbHlnb24gcG9pbnRzPVwiNDEuMjYgNDUuMDYgMjUuMzQgNTEuODggMzIuMTYgMzUuOTYgNjYuNTEgMS42MSA3NS42MSAxMC43MSA0MS4yNiA0NS4wNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjY5LjcxXCIgeTE9XCIxNi42MVwiIHgyPVwiNjAuNlwiIHkyPVwiNy41MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjQxLjI2XCIgeTE9XCI0NS4wNlwiIHgyPVwiMzIuMTZcIiB5Mj1cIjM1Ljk2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjIyXCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9kZW1hbmRlcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzEuNzRcIj48cG9seWxpbmUgcG9pbnRzPVwiMjcuNzIgNDAuNzYgMjQuNDYgNDAuNzYgMTEuNDEgNTMuOCAxMS40MSA0MC43NiAxLjYzIDQwLjc2IDEuNjMgMS42MyA2My41OSAxLjYzIDYzLjU5IDIyLjgzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwb2x5Z29uIHBvaW50cz1cIjM3LjUgNTcuMDYgNTUuNDQgNTcuMDYgNzAuMTEgNzAuMTEgNzAuMTEgNTcuMDYgNzYuNjMgNTcuMDYgNzYuNjMgMzAuOTggMzcuNSAzMC45OCAzNy41IDU3LjA2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9pbmZvcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzguMjZcIj48cGF0aCBkPVwiTTQzLjQ4LDU5Ljc4UzM4LjU5LDU4LjE1LDM4LjU5LDUwYy0yLjcsMC0yLjctNi41MiwwLTYuNTIsMC0xLjA5LTQuODktMTMsMy4yNi0xMS40MSwxLjYzLTYuNTMsMTkuNTYtNi41MywyMS4xOSwwLDEuMTMsNC41Mi0xLjYzLDEwLjYxLTEuNjMsMTEuNDEsMi43LDAsMi43LDYuNTIsMCw2LjUyLDAsOC4xNS00Ljg5LDkuNzgtNC44OSw5Ljc4djguMTVjOC4wOCwzLDE2LjA4LDUuNTQsMjAuMTcsOC40YTM3LjUsMzcuNSwwLDEsMC01My4zNSwwYzQuMzQtMywxMi44OS01LjY5LDIwLjE0LTguNDRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PHBhdGggZD1cIk0yMy4zNCw3Ni4zN2EzNy40OCwzNy40OCwwLDAsMCw1My4zNSwwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3ByZWZlcmVuY2VzKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4yNiA3OC4yNlwiPjxwYXRoIGQ9XCJNNzYuOTEsNTQuODlIODcuNVY0NS4xMUg3Ni45MWMtLjY4LTIuODMtMS43OS03LjExLTMuMjctOS41M2w3LjQ5LTcuNDhMNzEuOSwxOC44N2wtNy40OSw3LjQ5Yy0yLjQxLTEuNDctNi42OS0yLjU5LTkuNTItMy4yN1YxMi41SDQ1LjExVjIzLjA5Yy0yLjgzLjY4LTcuMTEsMS44LTkuNTMsMy4yN2wtNy40OS03LjQ5TDE4Ljg3LDI4LjFsNy40OSw3LjQ4Yy0xLjQ4LDIuNDItMi41OSw2LjctMy4yNyw5LjUzSDEyLjV2OS43OEgyMy4wOWMuNjgsMi44MywxLjc5LDcuMTEsMy4yNyw5LjUzbC03LjQ5LDcuNDksOS4yMiw5LjIyLDcuNDktNy40OWMyLjQyLDEuNDgsNi43LDIuNTksOS41MywzLjI3Vjg3LjVoOS43OFY3Ni45MWMyLjgzLS42OCw3LjExLTEuNzksOS41Mi0zLjI3bDcuNSw3LjQ5LDkuMjItOS4yMi03LjQ5LTcuNDlDNzUuMTIsNjIsNzYuMjMsNTcuNzIsNzYuOTEsNTQuODlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxjaXJjbGUgY3g9XCIzOS4xM1wiIGN5PVwiMzkuMTNcIiByPVwiMTQuNjdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3NtcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDUuNjUgNzguMjZcIj48cmVjdCB4PVwiMS42M1wiIHk9XCIxLjYzXCIgd2lkdGg9XCI0Mi4zOVwiIGhlaWdodD1cIjc1XCIgcng9XCI2LjUyXCIgcnk9XCI2LjUyXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxsaW5lIHgxPVwiMS42M1wiIHkxPVwiMTQuNjdcIiB4Mj1cIjQ0LjAyXCIgeTI9XCIxNC42N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48bGluZSB4MT1cIjEuNjNcIiB5MT1cIjYzLjU5XCIgeDI9XCI0NC4wMlwiIHkyPVwiNjMuNTlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIzMC45OFwiIHkxPVwiNzAuMTFcIiB4Mj1cIjE0LjY3XCIgeTI9XCI3MC4xMVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48cGF0aCBkPVwiTTUwLDE3LjM5QTEuNjMsMS42MywwLDAsMSw1MS42MywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwyMC42NWgwQTEuNjMsMS42MywwLDAsMSw0OC4zNywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwxNy4zOVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI3LjE3IC0xMC44NylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuXHQvKiBCdXR0b24gKi9cclxuXHRcdEBtaXhpbiBidG5fdm9pcigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIuMTcgMzAuNDNcIj48cGF0aCBkPVwiTTc1LDUwUzYzLjgxLDY0LjEzLDUwLDY0LjEzLDI1LDUwLDI1LDUwLDM2LjE5LDM1Ljg3LDUwLDM1Ljg3LDc1LDUwLDc1LDUwWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48Y2lyY2xlIGN4PVwiMjYuMDlcIiBjeT1cIjE1LjIyXCIgcj1cIjguN1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48cGF0aCBkPVwiTTUwLDQ1LjY1QTQuMzUsNC4zNSwwLDEsMSw0NS42NSw1MFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gYnRuX3ZvaXJfbWRwKCRjb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCAyOC4yNlwiPjxwYXRoIGQ9XCJNMjYuMDksMS4wOWMtMTMuODEsMC0yNSwxNC4xMy0yNSwxNC4xM3MxMS4xOSwxNC4xMywyNSwxNC4xMywyNS0xNC4xMywyNS0xNC4xM1MzOS45LDEuMDksMjYuMDksMS4wOVptMCwyNC4xM2ExMCwxMCwwLDEsMSwxMC0xMEExMCwxMCwwLDAsMSwyNi4wOSwyNS4yMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMDkgLTEuMDkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjE0LjEzXCIgcj1cIjVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHRAbWl4aW4gYnRuX2RlY29ubmV4aW9uKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1Mi4yNyA1Mi4yN1wiPjxsaW5lIHgxPVwiNTEuMTRcIiB5MT1cIjI2LjE0XCIgeDI9XCIxNy4wNVwiIHkyPVwiMjYuMTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMjdcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjI2LjE0IDE3LjA1IDE3LjA1IDI2LjE0IDI2LjE0IDM1LjIzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjI3XCIvPjxwYXRoIGQ9XCJNNzIuNzcsMzkuNjZhMjUsMjUsMCwxLDAsMCwyMC41NlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuODYgLTIzLjg2KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4yN1wiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0QG1peGluIGJ0bl9tb3JlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC40MSA3OC40MVwiPjxjaXJjbGUgY3g9XCIzOS4yXCIgY3k9XCIzOS4yXCIgcj1cIjM3LjVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCIzOS4yXCIgeTE9XCIxOC43NVwiIHgyPVwiMzkuMlwiIHkyPVwiNTkuNjZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCI1OS42NlwiIHkxPVwiMzkuMlwiIHgyPVwiMTguNzVcIiB5Mj1cIjM5LjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdEBtaXhpbiBidG5fY29udHJpYnVlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4zMSA3OC4zMVwiPjxwYXRoIGQ9XCJNMzMuOTEsODIuNDhsLTIxLjQxLDUsNS0yMS40TDY5LjE3LDE0LjQ0YTYuNjIsNi42MiwwLDAsMSw5LjM3LDBsNyw3YTYuNjIsNi42MiwwLDAsMSwwLDkuMzdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NCAtMTAuODQpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjMxXCIvPjxsaW5lIHgxPVwiNzIuMzhcIiB5MT1cIjIyLjMzXCIgeDI9XCI1NS45OFwiIHkyPVwiNS45NFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48bGluZSB4MT1cIjY3LjY2XCIgeTE9XCIyNy4wNlwiIHgyPVwiNTEuM1wiIHkyPVwiMTAuNjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMzFcIi8+PGxpbmUgeDE9XCIyMy45XCIgeTE9XCI3MC44XCIgeDI9XCI3LjUxXCIgeTI9XCI1NC40MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48L3N2Zz4nKTt9XHJcbiIsIi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBNSVhJTlMgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdXR0b24gKi9cclxuQG1peGluIGJ1dHRvbl91cHBlcmNhc2Uge0BpZiAoJGJ1dHRvbi11cHBlcmNhc2UgPT0gdHJ1ZSkge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9fVxyXG5cclxuLyogQm91dG9uIHNsaWNrICovXHJcbkBtaXhpbiBzbGljaygkd2lkdGg6Ny4ycmVtLCAkaGVpZ2h0OiR3aWR0aCwgJHRvcDpjYWxjKDUwJSAtICN7JGhlaWdodH0gLyAyKSwgJHBvc2l0aW9uOmFic29sdXRlKSB7cG9zaXRpb246JHBvc2l0aW9uOyBAaWYgJHBvc2l0aW9uID09IHJlbGF0aXZlIHt0b3A6YXV0b30gQGVsc2Uge3RvcDokdG9wO30gd2lkdGg6JHdpZHRoOyBoZWlnaHQ6JGhlaWdodDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6My4ycmVtIGF1dG87IHotaW5kZXg6MzsgY3Vyc29yOnBvaW50ZXI7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLyogRGVncmFkZSAqL1xyXG5AbWl4aW4gZ3JhZGllbnQoJGRlZykge31cclxuXHJcbi8qIFNoYWRvdyAqL1xyXG5AbWl4aW4gc2hhZG93KCRhbHBoYSkge31cclxuXHJcbi8qIEJ0bl9hbGwgKi9cclxuQG1peGluIGFuaW1fYnRuYWxsKCR3aWR0aCwgJGhlaWdodCwgJHRvcCwgJHBhZGRpbmcsICRzdGFydCkge1xyXG5cclxuICAgIHNwYW4ge3BhZGRpbmctI3skc3RhcnR9OiRwYWRkaW5nOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgZGlzcGxheTppbmxpbmUtYmxvY2s7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG4gICAgc3BhbjpiZWZvcmUsIHNwYW46OmFmdGVyIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDokd2lkdGg7IGhlaWdodDokaGVpZ2h0OyB0b3A6JHRvcDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG4gICAgc3Bhbjo6YmVmb3JlIHtsZWZ0OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgIHNwYW46OmFmdGVyIHtyaWdodDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9XHJcblxyXG4gICAgQGlmICRzdGFydCA9PSByaWdodCB7XHJcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7fVxyXG4gICAgICAgICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgc3BhbiB7cGFkZGluZy1sZWZ0OiRwYWRkaW5nOyBwYWRkaW5nLXJpZ2h0OjA7fVxyXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7fVxyXG4gICAgICAgICAgICBzcGFuOmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHNwYW46OmFmdGVyIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt9XHJcbiAgICAgICAgJjppcyg6aG92ZXIsIDpmb2N1cykge1xyXG4gICAgICAgICAgICBzcGFuIHtwYWRkaW5nLXJpZ2h0OiRwYWRkaW5nOyBwYWRkaW5nLWxlZnQ6MDt9XHJcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO31cclxuICAgICAgICAgICAgc3BhbjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBpbXBvcnQgJy4vZ2xvYmFsL3NldHRpbmdzJztcclxuQGltcG9ydCAnRm91bmRhdGlvbic7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRFTVBMQVRFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKioqXHJcblx0XHRVdGlsaXNlciBsYSBzeW50YXhlIGE6bm90KDpob3Zlcik6bm90KDpmb2N1cykgcXVhbmQgbGEgY291bGV1ciBkdSBhIGVzdCBkaWZmw6lyZW50ZSBkZSBjZWxsZSBkw6lmaW5pZSBkYW5zIGxlIHJlc2V0XHJcblx0KiovXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBIT01FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC5jb250ZW50X2hvbWUge3Bvc2l0aW9uOnJlbGF0aXZlOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7fVxyXG5cdFx0Ly8gLmNvbnRlbnRfaG9tZTo6YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHRvcDptYXAtZGVlcC1nZXQoJG1hcmdpblRvcEFjY2VzLCBsYXJnZSk7IGxlZnQ6MDsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlOyB6LWluZGV4OjE7fVxyXG5cdFx0LmNvbnRlbnRfaG9tZSA+IHNwYW4gKyAuYmxvY19ob21lOm5vdCgjYWNjZXNfcmFwaWRlcyk6bnRoLWNoaWxkKDIpIHtwYWRkaW5nLXRvcDogMTByZW07fVxyXG5cdFx0I2hvbWUgI2ltZ19iZHAge3Bvc2l0aW9uOmFic29sdXRlOyBib3R0b206MDsgcGFkZGluZzowOyB6LWluZGV4OjE7IHdpZHRoOjEwMHZ3O31cclxuXHRcdCNpbWdfYmRwIGltZyB7d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IG9iamVjdC1maXQ6Y292ZXI7fVxyXG5cclxuXHRcdC8qKiogQkxPQ1MgSE9NRSAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXHJcblx0XHRcdCNob21lIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOiAxMjByZW07IH1cclxuXHRcdFx0I2hvbWUgLmdyaWQtY29udGFpbmVyLmZ1bGwge21heC13aWR0aDoxMDAlO31cclxuXHRcdFx0LmJsb2NfaG9tZSB7cGFkZGluZy1ib3R0b206NnJlbTsgcGFkZGluZy10b3A6NXJlbTt9XHJcblx0XHRcdCNob21lIC5ibG9jX2hvbWUge3Bvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjI7fVxyXG5cdFx0XHQuYmxvY19ob21lIC5saXN0X2l0ZW0ge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5ibG9jX2hvbWUgbGkubGlzdF9pdGVtIHtmb250LXNpemU6aW5oZXJpdDsgbGluZS1oZWlnaHQ6aW5oZXJpdDt9XHJcblx0XHRcdC5ibG9jX2hvbWUgLmJ0bl9hbGwge21hcmdpbi10b3A6NnJlbTt9XHJcblxyXG5cdFx0XHQvKioqIFRJVFJFICoqKi9cclxuXHRcdFx0XHQuYmxvY19ob21lIC50aXRyZV9ibG9jIHttYXJnaW4tYm90dG9tOjJyZW07fVxyXG5cdFx0XHRcdC5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge2NvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRib2xkOyBmb250LXNpemU6Ny40ZW07IGxpbmUtaGVpZ2h0OjEuMTsgcGFkZGluZy1ib3R0b206MS41cmVtOyBtYXJnaW46MDsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuXHRcdFx0XHQuYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGU6OmJlZm9yZSB7Y29udGVudDonJzsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgd2lkdGg6MTAwdnc7IGhlaWdodDowLjRyZW07IGJhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBib3R0b206MDt9XHJcblx0XHRcdFx0LyogY2FzIHBhcnRpY3VsaWVycyAoc2kgYmVzb2luKSAqL1xyXG5cdFx0XHRcdFx0Ly8gLmJhdF9kYXJrLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHtjb2xvcjokZGVmYXVsdF9jb2xvcjt9XHJcblxyXG5cdFx0XHQvKioqIFNPVVMtVElUUkUgKioqL1xyXG5cdFx0XHRcdC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSwgLmNvbnRlbnRfcGFnZSAuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUge3RleHQtdHJhbnNmb3JtOm5vbmU7IGNvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRib2xkOyBmb250LXNpemU6NS41ZW07IGxpbmUtaGVpZ2h0OjE7IG1hcmdpbjowIDAgMS4ycmVtIDA7fVxyXG5cdFx0XHRcdC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuLCAuY29udGVudF9wYWdlIC5ibG9jX2hvbWUgLmJsb2NfaG9tZV9zdWJ0aXRsZSBzcGFuIHtmb250LXNpemU6NC41cmVtO31cclxuXHRcdFx0XHQvKiBjYXMgcGFydGljdWxpZXJzIChzaSBiZXNvaW4pICovXHJcblx0XHRcdFx0XHQvLyAuYmxvY19ob21lIC5ibG9jX3NtcyAuYmxvY19ob21lX3N1YnRpdGxlIHtjb2xvcjokY2ltX2JsYWNrO31cclxuXHJcblx0XHRcdC8qKiogTElTVCBJVEVNICoqKi9cclxuXHRcdFx0XHQuYmxvY19ob21lIC5saXN0X2l0ZW0ge1xyXG5cdFx0XHRcdFx0LnR4dCB7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRjaW1fd2hpdGUsIDAuNik7IGJhY2tkcm9wLWZpbHRlcjpibHVyKDAuOHJlbSk7fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdC8qKiogQlROIEFMTCAqKiovXHJcblx0XHRcdFx0LmJ0bl9hbGxfYmxvYyB7fVxyXG5cdFx0XHRcdC5idG5fYWxsX2Jsb2MgLmJ0bl9hbGwge31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBUWVBFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC8qKipcclxuXHRcdFx0VXRpbGlzZXIgbGEgc3ludGF4ZSBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHF1YW5kIGxhIGNvdWxldXIgZHUgYSBlc3QgZGlmZsOpcmVudGUgZGUgY2VsbGUgZMOpZmluaWUgZGFucyBsZSByZXNldFxyXG5cdFx0KiovXHJcblxyXG5cdFx0LyoqKiBIRUFEIFBBR0UgKioqL1xyXG5cdFx0XHQuaGVhZF9wYWdlIHtAaW5jbHVkZSBmbGV4OyBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO31cclxuXHRcdFx0Ly8gLmhlYWRfcGFnZSAuYm90dG9tX2NvbnRhaW5lciB7cGFkZGluZy10b3A6MTRyZW07fVxyXG5cdFx0XHQuaGVhZF9wYWdlIC50b3BfY29udGFpbmVyIHtcclxuXHRcdFx0XHRwYWRkaW5nOjAgMCAwIDExLjVyZW07IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjE7IHdpZHRoOjEwMCU7XHJcblx0XHRcdFx0Ly8gJjo6YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6MTAwdnc7IGhlaWdodDoxMDB2aDsgYm90dG9tOjI2LjN2aDsgbGVmdDpjYWxjKDUwJSAtIDUwdncpOyB6LWluZGV4Oi0xOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7fVxyXG5cdFx0XHRcdC5jb250YWluX2luZm9zIHtwYWRkaW5nLXRvcDozLjNyZW07IHBhZGRpbmctYm90dG9tOjIuOXJlbTt9XHJcblx0XHRcdFx0LmNvbnRhaW5faW5mb3MuaGFzX2RhdGVfY29udGFpbmVyIHtwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OmNhbGMoMS41cmVtICsgMTFyZW0pO31cclxuXHJcblx0XHRcdFx0LyoqKiBJTkZPUyBERVRBSUxTICoqKi9cclxuXHRcdFx0XHRcdC5kYXRlX2NvbnRhaW5lciB7cG9zaXRpb246YWJzb2x1dGU7IHRvcDozLjNyZW07IGxlZnQ6MDsgbWF4LXdpZHRoOjExcmVtOyBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTt9XHJcblx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiB7Ym9yZGVyOjAuMXJlbSBzb2xpZCB2YXIoLS1jaW1fdGhpcmRfY29sb3IpO31cclxuXHRcdFx0XHRcdC5pbmxpbmVfem9uZSB7bWFyZ2luLXRvcDoxcmVtO31cclxuXHRcdFx0XHRcdC5pbmxpbmVfem9uZSA+ICoge2Rpc3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nLXJpZ2h0OjEuOHJlbTsgbWFyZ2luLWJvdHRvbTowOyBsaW5lLWhlaWdodDoxLjRyZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgZm9udC1zaXplOjEuNGVtOyBsZXR0ZXItc3BhY2luZzowLjA4ZW07fVxyXG5cdFx0XHRcdFx0LmlubGluZV96b25lID4gKjpudGgtb2YtdHlwZShuKzIpIHtib3JkZXItbGVmdDowLjJyZW0gc29saWQgJGNpbV9ibGFjazsgcGFkZGluZy1sZWZ0OjEuOHJlbTt9XHJcblx0XHRcdFx0XHQuaW5saW5lX3pvbmUgLmxpZXUge21hcmdpbi10b3A6MDsgYmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgbGVmdDt9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyoqKiBTaSBwYXMgYmFuZGVhdSBpbWFnZSAqKiovXHJcblx0XHRcdFx0XHQjcGFnZS5saXN0IC5oZWFkX3BhZ2UsICNwYWdlLmRhc2hib2FyZCAuaGVhZF9wYWdlIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDptYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIGxhcmdlKTsgbWFyZ2luLWJvdHRvbTo2cmVtOyBtaW4taGVpZ2h0OjA7XHJcblx0XHRcdFx0XHRcdC50b3BfY29udGFpbmVyIHtmbGV4OjAgMCBhdXRvOyBwYWRkaW5nLWJvdHRvbTowO31cclxuXHRcdFx0XHRcdFx0LnRvcF9jb250YWluZXIgLmNvbnRhaW5faW5mb3Mge3BhZGRpbmctYm90dG9tOjZyZW07fVxyXG5cdFx0XHRcdFx0XHQudG9wX2NvbnRhaW5lcjo6YmVmb3JlIHtkaXNwbGF5Om5vbmU7fVxyXG5cdFx0XHRcdFx0XHQuY29udGFpbl9pbmZvcyB7cG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0XHRcdFx0XHQuY29udGFpbl9pbmZvczo6YmVmb3JlIHtjb250ZW50OicnOyB3aWR0aDo3MHZ3OyBoZWlnaHQ6Y2FsYygxMDAlICsgNTB2aCk7IGJvdHRvbTowOyByaWdodDowOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV90aGlyZF9jb2xvcik7IHBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Oi0xO31cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdC8qKiogVElUUkUgUEFHRSAqKiovXHJcblx0XHRcdFx0KjppcygjcGFnZSwgI3BvcGluX2RldGFpbCkgLnRpdHJlX3BhZ2UgKjppcyhoMSwgcCkge2NvbG9yOiRoZWFkZXItY29sb3I7IGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7IGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMSwgZm9udC1zaXplKTsgbGluZS1oZWlnaHQ6MS4xOyBmb250LXdlaWdodDpub3JtYWw7IG1hcmdpbjowO31cclxuXHJcblx0XHRcdC8qKiogQUNDUk9DSEUgUEFHRSAqKiovXHJcblx0XHRcdFx0LmJvdHRvbV9jb250YWluZXIge3RyYW5zZm9ybTp0cmFuc2xhdGVZKC05cmVtKTt9XHJcblx0XHRcdFx0LnF1b3RlIHttaW4td2lkdGg6MTAwJTt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcXVvdGUge3BhZGRpbmc6NC40cmVtIDlyZW07IGJhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWNpbV90aGlyZF9jb2xvcl9oKSwgdmFyKC0tY2ltX3RoaXJkX2NvbG9yX3MpLCB2YXIoLS1jaW1fdGhpcmRfY29sb3JfbCksIDk1JSk7fVxyXG5cdFx0XHRcdCo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7dGV4dC10cmFuc2Zvcm06bm9uZTsgY29sb3I6JGNpbV9ibGFjazsgZm9udC1zaXplOjIuNGVtOyBsaW5lLWhlaWdodDoxLjQ7IG1hcmdpbjowOyBmb250LWZhbWlseTokcmVndWxhcjt9XHJcblxyXG5cdFx0XHQvKioqIEJUTiBEQU5TIEhFQURfUEFHRSAqKiovXHJcblx0XHRcdFx0Lmxpc3RlX2J0biB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXJlbSk7IHBhZGRpbmctbGVmdDoxcmVtO31cclxuXHJcblx0XHQvKioqIDFlciBlbGVtZW50IGRlIGNvbnRlbnUgbidhIHBhcyBkZSBtYXJnaW4gdG9wICoqKi9cclxuXHRcdFx0LmNvbF9sZWZ0X2lubmVyID4gKjpmaXJzdC1jaGlsZCxcclxuXHRcdFx0LmNvbF9sZWZ0X2lubmVyID4gKjpmaXJzdC1jaGlsZCA+IGgyOmZpcnN0LW9mLXR5cGUsXHJcblx0XHRcdC5jb2xfbGVmdF9pbm5lciA+IHNwYW46Zmlyc3QtY2hpbGQgKyBoMjpmaXJzdC1vZi10eXBlLFxyXG5cdFx0XHQuY29sX2xlZnRfaW5uZXIgPiBzcGFuOmZpcnN0LWNoaWxkICsgKiA+IGgyOmZpcnN0LW9mLXR5cGUsXHJcblx0XHRcdC5jb2xfbGVmdF9pbm5lciA+IHNwYW46Zmlyc3QtY2hpbGQgKyAuYmxvY19jb2wgaDI6Zmlyc3Qtb2YtdHlwZSB7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdC8qKiogUEFSQU0gVFhUICoqKi9cclxuXHRcdFx0LyoqKiBUSVRSRVMgKioqL1xyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgLmNzYy1oZWFkZXIge21hcmdpbi1ib3R0b206MDt9XHJcblxyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgaDIge21hcmdpbi10b3A6NXJlbTt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSBoMyB7bWFyZ2luLXRvcDoyLjVyZW07fVxyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgaDQge21hcmdpbi10b3A6MS41cmVtO31cclxuXHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSAqOmlzKGgyLCBoMywgaDQpIGEge2JvcmRlcjowOyBwYWRkaW5nOjA7IGZvbnQ6aW5oZXJpdDt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSAqOmlzKGgyLCBoMywgaDQpIGE6bm90KDppcyg6aG92ZXIsIDpmb2N1cykpIHtjb2xvcjppbmhlcml0O31cclxuXHJcblx0XHRcdC8qKiogU0tJTiBQQVJBR1JBUEhFICoqKi9cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHAge31cclxuXHJcblx0XHRcdC8qKiogU0tJTiBMSUVOICoqKi9cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIGEge3RleHQtdHJhbnNmb3JtOm5vbmU7IGJveC1zaGFkb3c6aW5zZXQgMCAtMC4xcmVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IHBhZGRpbmc6MCAwLjJyZW07IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIGE6aXMoOmhvdmVyLDpmb2N1cykge2JveC1zaGFkb3c6aW5zZXQgMCAtMS40ZW0gMCAwIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgY29sb3I6ICRjaW1fd2hpdGU7fVxyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljLWltYWdlIGEsIC5jb250ZW50X3BhZ2UgZmlndXJlLmltYWdlIGEge3BhZGRpbmc6MDsgYm9yZGVyOjA7IGJveC1zaGFkb3c6bm9uZTt9XHJcblxyXG5cdFx0XHQvKioqIFNLSU4gTElTVCAqKiovXHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSB1bCBsaSwgLmNvbnRlbnRfcGFnZSBvbCBsaSB7bGlzdC1zdHlsZTpub25lOyBwYWRkaW5nOiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjsgcG9zaXRpb246cmVsYXRpdmU7IGJvcmRlcjowO31cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHVsIGxpIHtiYWNrZ3JvdW5kLXNpemU6MC40cmVtIGF1dG87IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDEuMXJlbTt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSB1bCBsaTpub3QoLmFjY29yZGlvbi1pdGVtKSBsaSwgLmNvbnRlbnRfcGFnZSBvbCBsaTpub3QoLmFjY29yZGlvbi1pdGVtKSBsaSB7Zm9udC1zaXplOjFlbTt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSB1bCB1bCwgLmNvbnRlbnRfcGFnZSBvbCB1bCwgLmNvbnRlbnRfcGFnZSB1bCBvbCwgLmNvbnRlbnRfcGFnZSBvbCBvbCB7bWFyZ2luLWJvdHRvbTokZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO31cclxuXHJcblx0XHRcdFx0LyoqKiBMSVNUIERFQ0lNQUwgKioqL1xyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSBvbCB7bGlzdC1zdHlsZTpkZWNpbWFsOyBtYXJnaW4tbGVmdDoyLjVyZW07fVxyXG5cdFx0XHRcdFx0LmNvbnRlbnRfcGFnZSBvbCBsaSB7bGlzdC1zdHlsZTpkZWNpbWFsOyBiYWNrZ3JvdW5kLWltYWdlOm5vbmU7IHBhZGRpbmctbGVmdDowLjVyZW07fVxyXG5cclxuXHRcdFx0LyoqKiBTS0lOIFRBQkxFQVVYICoqKi9cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHRhYmxlIHttYXJnaW4tYm90dG9tOjNyZW07fVxyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgdGFibGUgY2FwdGlvbiB7YmFja2dyb3VuZDokY2ltX2JsYWNrOyBjb2xvcjokY2ltX3doaXRlOyBmb250LWZhbWlseTokaGVhZGVyLWZvbnQtZmFtaWx5OyBmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDQsIGZvbnQtc2l6ZSk7ICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxyXG5cdFx0XHRcdC8vIC5jb250ZW50X3BhZ2UgKjppcyh0aGVhZCwgdGZvb3QpIHtjb2xvcjokdGFibGUtaGVhZC1mb250LWNvbG9yO31cclxuXHRcdFx0XHQuY29udGVudF9wYWdlICo6aXModGhlYWQsIHRmb290KSAqOmlzKHRoLCB0ZCksIC5jb250ZW50X3BhZ2UgdGJvZHkgdGgge2ZvbnQtZmFtaWx5OiRib2xkOyBmb250LXNpemU6MmVtO31cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHRib2R5IHRoIHtiYWNrZ3JvdW5kOiR0YWJsZS1oZWFkLWJhY2tncm91bmQ7fVxyXG5cclxuXHRcdFx0XHQuY29udGVudF9wYWdlICo6aXModGQsIHRoKSB7Zm9udC1zaXplOiRnbG9iYWwtdGV4dC1mb250LXNpemU7IGxpbmUtaGVpZ2h0OiRnbG9iYWwtbGluZWhlaWdodDsgYm9yZGVyOiR0YWJsZS1ib3JkZXI7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB0ZXh0LWFsaWduOmNlbnRlcjt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZSAqOmlzKHRkLCB0aCkgPiAqIHtjb2xvcjppbmhlcml0OyBmb250OmluaGVyaXQ7IGZvbnQtc2l6ZToxZW07IG1hcmdpbi1ib3R0b206MDt9XHJcblxyXG5cdFx0XHQvKioqIEJMT0NLUVVPVEUgKioqL1xyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgYmxvY2txdW90ZSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOm5vLXJlcGVhdCB0b3AgbGVmdCAvIDYuOHJlbSBhdXRvOyB0ZXh0LWFsaWduOmxlZnQ7IG1hcmdpbjoycmVtIDAgM3JlbSAwOyBmb250LWZhbWlseTokcmVndWxhcjsgZm9udC1zaXplOjIuNGVtOyBsaW5lLWhlaWdodDoxLjg7IHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7Y29udGVudDonJzsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjlyZW07IGhlaWdodDoxMDAlOyBib3JkZXItbGVmdDowLjRyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0XHRcdCoge21hcmdpbi1ib3R0b206MDsgY29sb3I6aW5oZXJpdDsgZm9udC1mYW1pbHk6aW5oZXJpdDt9XHJcblx0XHRcdFx0XHQqOm5vdCg6aXMoc3ViLCBzdXApKSB7Zm9udC1zaXplOjFlbTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0LyoqKiBCTE9DIENJVEFUSU9OICoqKi9cclxuXHRcdFx0XHRcdC5jb250ZW50X3BhZ2UgLmJsb2NfY2l0YXRpb24ge1xyXG5cdFx0XHRcdFx0XHRibG9ja3F1b3RlIHttYXJnaW46MDt9XHJcblx0XHRcdFx0XHRcdC5zaWduYXR1cmUge2ZvbnQtZmFtaWx5OiRib2xkfTtcclxuXHRcdFx0XHRcdFx0LmNvbnRlbnVfYmxvYyBibG9ja3F1b3RlIHAge21hcmdpbi1ib3R0b206MC41cmVtO31cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHQvKioqIFNLSU4gTEVHRU5ERSBMSUVOIElNRyAqKiovXHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmNzYy10ZXh0cGljLWltYWdlLCAuY29udGVudF9wYWdlIGZpZ3VyZS5pbWFnZSB7bWFyZ2luOjAgMCAzcmVtIDA7IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0LmNvbnRlbnRfcGFnZSAuY3NjLXRleHRwaWMtaW1hZ2UgYSwgLmNvbnRlbnRfcGFnZSBmaWd1cmUuaW1hZ2UgYSB7ZGlzcGxheTpibG9jazt9XHJcblx0XHRcdC5jb250ZW50X3BhZ2UgZmlnY2FwdGlvbi5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY29udGVudF9wYWdlIHAuZmlnY2FwdGlvbixcclxuXHRcdFx0LmNvbnRlbnRfcGFnZSAuZGlhcG9yYW1hX3ZpZGVvcyAuZGVzY3JpcHRpb24sIC5jb250ZW50X3BhZ2UgLmJsb2NfdmlkZW8gLmRlc2NyaXB0aW9uIHtmb250LWZhbWlseTokYm9sZDsgZm9udC1zaXplOjEuOGVtOyBsaW5lLWhlaWdodDoxOyAgbWFyZ2luOjEuNXJlbSAwOyAgcGFkZGluZy1sZWZ0OjFyZW07IG1hcmdpbi1ib3R0b206MDsgYm9yZGVyLWxlZnQ6MC40cmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgY29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmRpYXBvcmFtYV92aWRlb3MgLmRlc2NyaXB0aW9uIC5sZWdlbmQsIC5jb250ZW50X3BhZ2UgLmJsb2NfdmlkZW8gLmRlc2NyaXB0aW9uIC5sZWdlbmQge2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOiBpbmhlcml0OyBtYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHQuY29udGVudF9wYWdlIGZpZ2NhcHRpb24uY3NjLXRleHRwaWMtY2FwdGlvbiBzcGFuLCAuY29udGVudF9wYWdlIHAuZmlnY2FwdGlvbiBzcGFuLFxyXG5cdFx0XHQuY29udGVudF9wYWdlIC5kaWFwb3JhbWFfdmlkZW9zIC5kZXNjcmlwdGlvbiAubGVnZW5kIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJsb2NfdmlkZW8gLmRlc2NyaXB0aW9uIHNwYW4ge2Rpc3BsYXk6YmxvY2s7IGZvbnQtc2l6ZToxLjVyZW07IGxpbmUtaGVpZ2h0OjE7IG1hcmdpbi10b3A6MC41cmVtO31cclxuXHJcblx0XHQvKioqIFNUWUxFIFJURSAqKiovXHJcblx0XHRcdCNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1sZWZ0LCAjcGFnZSAuY29udGVudF9wYWdlIHRkLmFsaWduLWxlZnQge3RleHQtYWxpZ246bGVmdDt9XHJcblx0XHRcdCNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1yaWdodCwgI3BhZ2UgLmNvbnRlbnRfcGFnZSB0ZC5hbGlnbi1yaWdodCB7dGV4dC1hbGlnbjpyaWdodDt9XHJcblx0XHRcdCNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1jZW50ZXIsICNwYWdlIC5jb250ZW50X3BhZ2UgdGQuYWxpZ24tY2VudGVyIHt0ZXh0LWFsaWduOmNlbnRlcjt9XHJcblx0XHRcdCNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1qdXN0aWZ5LCAjcGFnZSAuY29udGVudF9wYWdlIHRkLmFsaWduLWp1c3RpZnkge3RleHQtYWxpZ246anVzdGlmeTt9XHJcblx0XHRcdCNwYWdlIC5jb250ZW50X3BhZ2UgcC5hbGlnbi1sZWZ0IGltZywgI3BhZ2UgLmNvbnRlbnRfcGFnZSB0ZC5hbGlnbi1sZWZ0IGltZyB7ZmxvYXQ6bGVmdDsgbWFyZ2luLXJpZ2h0OjFyZW07fVxyXG5cdFx0XHQjcGFnZSAuY29udGVudF9wYWdlIHAuYWxpZ24tcmlnaHQgaW1nLCAjcGFnZSAuY29udGVudF9wYWdlIHRkLmFsaWduLXJpZ2h0IGltZyB7ZmxvYXQ6cmlnaHQ7IG1hcmdpbi1sZWZ0OjFyZW07fVxyXG5cclxuXHRcdC8qKiogR1JJRCBFTEVNRU5UICoqKi9cclxuXHRcdFx0I2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCA+IC5jZWxsID4gLmJsb2NfY29sLCAjY29sX2xlZnRfaW5uZXIgPiAuZ3JpZC14ID4gLmNlbGwgPiBoZWFkZXIge21hcmdpbi10b3A6MDt9XHJcblx0XHRcdCNjb2xfbGVmdF9pbm5lciA+IC5ncmlkLXggPiAuY2VsbCA+IGhlYWRlciA+IGgyLCAjY29sX2xlZnRfaW5uZXIgPiAuZ3JpZC14ID4gLmNlbGwgPiBoZWFkZXIgPiBoMywgI2NvbF9sZWZ0X2lubmVyID4gLmdyaWQteCA+IC5jZWxsID4gaGVhZGVyID4gaDQge21hcmdpbi10b3A6MXJlbTt9XHJcblxyXG5cdFx0LyoqKiBCTE9DIEJPVVRPTlMgKioqL1xyXG5cdFx0XHQuYmxvY19ib3V0b25zIC5jb250ZW51X2Jsb2Mge21hcmdpbi1ib3R0b206LTEuNXJlbTt9XHJcblx0XHRcdC5ibG9jX2JvdXRvbnMgLmJvdXRvbl9pdGVtIHttYXJnaW4tYm90dG9tOjEuNXJlbTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cclxuXHRcdC8qKiogQkxPQyBWSURFTyAqKiovXHJcblx0XHRcdC5ibG9jX3ZpZGVvIHt3aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgbWFyZ2luLWJvdHRvbTozcmVtOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblxyXG5cdFx0XHQuYmxvY192aWRlbyB2aWRlbyB7d2lkdGg6MTAwJTsgaGVpZ2h0OmF1dG87fVxyXG5cdFx0XHQuYmxvY192aWRlbyAudmlkZW8ge3Bvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7IG92ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5ibG9jX3ZpZGVvIC52aWRlbyA+ICoge3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDoxMDAlICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHQuYmxvY192aWRlbyAudmlkZW8udmlkZW9faHRtbCB7fVxyXG5cdFx0XHQuYmxvY192aWRlbyAudmlkZW8gaWZyYW1lIHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IG1hcmdpbjowICFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdC8qIENPTE9OTkUgQ09OVEVYVFVFTExFICovXHJcblxyXG5cdFx0XHQvKioqIEJMT0NTIENPTCAtIFRSQU1FIEdFTkVSSVFVRSAqKiovXHJcblx0XHRcdFx0LmJsb2NfY29sIHttYXJnaW4tYm90dG9tOm1hcC1kZWVwLWdldCgkYmxvY19jb2xfbWFyZ2luLCBsYXJnZSk7fVxyXG5cclxuXHRcdFx0XHQuY29sX2xlZnQgLmJsb2NfY29sIHttYXJnaW4tdG9wOjA7IG1hcmdpbi1ib3R0b206NnJlbTt9XHJcblxyXG5cdFx0XHRcdC8qKiogQ09MIFJJR0hUIFNUSUNLWSAqKiovXHJcblx0XHRcdFx0XHQuY29sX3JpZ2h0IC5ibG9jX2NvbCB7bWFyZ2luOjA7fVxyXG5cdFx0XHRcdFx0LmNvbF9yaWdodCAuYmxvY19jb2wgLnRpdHJlX2Jsb2MgLnRpdHJlIHttYXJnaW4tdG9wOjA7IGZvbnQtc2l6ZToyLjZlbTt9XHJcblxyXG5cdFx0XHRcdC8qIEdlbmVyaXF1ZSBnZXN0aW9uIHR4dCBjb3VsZXVyIGJsYW5jIGF2ZWMgZm9uZCBub2lyICovXHJcblx0XHRcdFx0XHQuYmxvY19jb2wuYmdfYmxhY2ssIC5ibG9jX2NvbCAuYmdfYmxhY2sge2NvbG9yOiRjaW1fd2hpdGU7fVxyXG5cdFx0XHRcdFx0LmJsb2NfY29sLmJnX2JsYWNrICo6bm90KGEpLCAuYmxvY19jb2wuYmdfYmxhY2sgYTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSxcclxuXHRcdFx0XHRcdC5ibG9jX2NvbCAuYmdfYmxhY2sgKjpub3QoYSksIC5ibG9jX2NvbCAuYmdfYmxhY2sgYTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7Y29sb3I6aW5oZXJpdDt9XHJcblxyXG5cdFx0XHRcdC8qKiogVElUUkUgRVQgU09VUy1USVRSRSAqKiovXHJcblx0XHRcdFx0XHQuYmxvY19jb2wgLnRpdHJlX2Jsb2Mge2ZvbnQtc2l6ZTppbmhlcml0OyBtYXJnaW4tYm90dG9tOjEuNXJlbTt9XHJcblx0XHRcdFx0XHQuYmxvY19jb2wgLnRpdHJlX2Jsb2MgLnRpdHJlIHtjb2xvcjokaGVhZGVyLWNvbG9yOyBmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDIsIGZvbnQtc2l6ZSk7IGxpbmUtaGVpZ2h0OiRoZWFkZXItbGluZWhlaWdodDsgZm9udC1mYW1pbHk6JGhlYWRlci1mb250LWZhbWlseTt9XHJcblx0XHRcdFx0XHQuYmxvY19jb2wgLmNvbnRlbnVfYmxvYyAuc3VidGl0bGUge2ZvbnQtZmFtaWx5OiRib2xkOyBmb250LXNpemU6Mi4yZW07IGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNCwgZm9udC1zaXplKTsgbWFyZ2luLXRvcDoxLjVyZW07fVxyXG5cclxuXHRcdFx0XHQvKioqIENPTlRFTlUgKioqL1xyXG5cdFx0XHRcdFx0Ly8gLmJsb2NfY29sIC5jb250ZW51X2Jsb2Mge3BhZGRpbmc6MCA0cmVtO31cclxuXHRcdFx0XHRcdC5ibG9jX2NvbCAuY29udGVudV9ibG9jIHAge21hcmdpbi1ib3R0b206MS41cmVtO31cclxuXHRcdFx0XHRcdC8vIC5ibG9jX2NvbCAuY29udGVudV9ibG9jIGEge2JvcmRlci1ib3R0b206MDt9XHJcblxyXG5cdFx0XHRcdC8qKiogTElFTiAqKiovXHJcblx0XHRcdFx0XHQuYmxvY19jb2wgLmJ0bl9jb250YWluZXIge3BhZGRpbmctdG9wOjFyZW07IHRleHQtYWxpZ246Y2VudGVyO31cclxuXHJcblx0XHRcdC8qKiogQkxPQyBURVNUIElNQUdFICoqKi9cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIC5jc2MtdGV4dHBpYyAuY3NjLXRleHRwaWNIZWFkZXIgPiAqOmZpcnN0LWNoaWxkLCAuY29udGVudF9wYWdlIC5jc2MtdGV4dHBpYyA+ICo6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6MDt9XHJcblxyXG5cdFx0LyoqKiBCTE9DUyBCQVMgREUgUEFHRSAqKiovXHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBMSVNURSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKioqIFJFU1VMVEFUUyAqKiovXHJcblx0XHRcdCN6b25lX3Jlc3VsdHMge3Bvc2l0aW9uOnJlbGF0aXZlOyAvKnNpIGxpbmVfdG9vbHNfbW90ZXVyIGVzdCBWRVJUSUNBTCAoYnRucyBsZXMgdW5zIHNvdXMgbGVzIGF1dHJlcykgOiBham91dGVyIG1pbi1oZWlnaHQgPSBoZWlnaHQgYnRucyBsaW5lX3Rvb2xzX21vdGV1ciAqLyAvKm1pbi1oZWlnaHQ6MzNyZW07Ki99XHJcblx0XHRcdC53cmFwX3Jlc3VsdCB7cG9zaXRpb246cmVsYXRpdmU7IG1hcmdpbjotI3ttYXAtZGVlcC1nZXQoJHRvcF9tb3RldXJfcGFkZGluZ1RvcCwgbGFyZ2UpfSAtMS41cmVtIDAgLTEuNXJlbTt9XHJcblx0XHRcdCNsaXN0X2l0ZW1zIHsvKnBhZGRpbmctdG9wOm1hcC1kZWVwLWdldCgkcmVzdWx0X21hcmdpblRvcCwgbGFyZ2UpOyovIGhlaWdodDoxMDAlO31cclxuXHRcdFx0I2ZpcnN0X2Rpc3BsYXkge21pbi1oZWlnaHQ6Y2FsYygxMDB2aCArIDAuMXJlbSk7IC8qIzQ2NzgwKi8gbWF4LXdpZHRoOmNhbGMoMTAwJSAtIDMzcmVtIC0gOC4zMzMzMzMzMzMzJSk7fSAvLyArIDAuMXJlbSBwb3VyIEJ1ZyBhbmNocmFnZVxyXG5cclxuXHJcblx0XHRcdC8qKiogSVRFTSBHRU5FUklRVUUgKioqL1xyXG5cdFx0XHRcdC5saXN0X2l0ZW0ge21hcmdpbi1ib3R0b206M3JlbTt9XHJcblx0XHRcdFx0Lmxpc3RfaXRlbSA+IC5saW5rIHtwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTpmbGV4O31cclxuXHJcblx0XHRcdFx0Lmxpc3QgLmxpc3RfaXRlbSB7fVxyXG5cdFx0XHRcdC5saXN0IC5saXN0X2l0ZW0gPiAubGluayB7ZmxleC1mbG93OnJvdy1yZXZlcnNlOyAvKmFsaWduLWl0ZW1zOmNlbnRlcjsqL31cclxuXHJcblx0XHRcdFx0LyoqKiBJTUFHRSAqKiovXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC5pbWcgaW1nIHt9XHJcblxyXG5cdFx0XHRcdFx0Lmxpc3QgLmxpc3RfaXRlbSAuaW1nIHthc3BlY3QtcmF0aW86YXV0byAyMTAvMjAwOyBtaW4taGVpZ2h0OjIwcmVtOyB9XHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC5pbWcge292ZXJmbG93OiBoaWRkZW47fVxyXG5cdFx0XHRcdFx0Lmxpc3QgLmxpc3RfaXRlbSAuaW1nIHtwYWRkaW5nLXJpZ2h0OjA7IHBhZGRpbmctbGVmdDowO0BpbmNsdWRlIHh5LWd1dHRlcnMoM3JlbSwgbWFyZ2luLCByaWdodCBsZWZ0LCBmYWxzZSk7fVxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAuaW1nIGltZyB7dHJhbnNpdGlvbjogYWxsICRnbG9iYWwtdHJhbnNpdGlvbjt9XHJcblx0XHRcdFx0XHQubGlzdCAubGlzdF9pdGVtIC5pbWcgaW1nIHtib3JkZXItcmFkaXVzOmluaGVyaXQ7fVxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbTpub3QoLmtpb3NxdWUpOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgaW1nIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSk7fVxyXG5cclxuXHRcdFx0XHQvKioqIElNQUdFIFBBUiBERUZBVVQgQVZFQyBGSUxJR1JBTkUgKioqL1xyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAuZGVmYXVsdF9pbWcge31cclxuXHJcblx0XHRcdFx0LyoqKiBaT05FIFRFWFRFICoqKi9cclxuXHRcdFx0XHRcdC5saXN0X2l0ZW0gLnRodW1iLXRpdGxlIHtkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgYWxpZ24taXRlbXM6ZmxleC1zdGFydDt9XHJcblxyXG5cdFx0XHRcdFx0I3BhZ2UubGlzdCAubGlzdF9pdGVtIC50eHQge3BhZGRpbmctdG9wOjIuNXJlbTsgcGFkZGluZy1ib3R0b206Mi41cmVtO31cclxuXHJcblx0XHRcdFx0LyoqKiBUSVRSRSAqKiovXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC50aXRyZSwgLmNvbnRlbnRfcGFnZSAubGlzdF9pdGVtIC50aXRyZSB7Y29sb3I6JGNpbV9ibGFjazsgZm9udC1mYW1pbHk6JGJvbGQ7IGZvbnQtc2l6ZToyLjRlbTsgbGluZS1oZWlnaHQ6MS4yOyBtYXJnaW46MDsgd29yZC13cmFwOmJyZWFrLXdvcmQ7IG92ZXJmbG93LXdyYXA6YnJlYWstd29yZDsgdGV4dC10cmFuc2Zvcm06aW5pdGlhbDt9XHJcblxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGl0cmUgYSwgLmNvbnRlbnRfcGFnZSAubGlzdF9pdGVtIC50aXRyZSBhIHtib3gtc2hhZG93Om5vbmU7IHBhZGRpbmc6MDsgcG9zaXRpb246c3RhdGljOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgYWxpZ24taXRlbXM6c3RyZXRjaDt9XHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC50aXRyZSBhLCAuY29udGVudF9wYWdlIC5saXN0X2l0ZW0gLnRpdHJlIGEsIC5saXN0X2l0ZW0gLnRpdHJlIGEgc3BhbiwgLmxpc3RfaXRlbSAudGl0cmUgPiBzcGFuICB7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDsgY29sb3I6aW5oZXJpdDsgZm9udC1mYW1pbHk6aW5oZXJpdDsgZm9udC1zaXplOjFlbTt9XHJcblxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGl0cmUgLmNhbmNlbGVkIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGRpc3BsYXk6YmxvY2s7IG9yZGVyOi0xO31cclxuXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC50aXRyZSBhOjpiZWZvcmUge2NvbnRlbnQ6Jyc7IGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206MDsgbGVmdDowOyB6LWluZGV4OjM7fVxyXG5cclxuXHRcdFx0XHRcdC5saXN0X2l0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSAudGl0cmUgYSB7Y29sb3I6aW5oZXJpdDsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9XHJcblxyXG5cdFx0XHRcdC8qKiogREVTQ1JJUFRJT04gKioqL1xyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLCBwLmluZm9zX2l0ZW0ge21hcmdpbi1ib3R0b206MC41cmVtO31cclxuXHRcdFx0XHRcdC5saXN0X2l0ZW0gLnRodW1iLWRlc2MgcDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAudGh1bWItZGVzYyA+ICo6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6MC4zcmVtO31cclxuXHRcdFx0XHRcdC5saXN0X2l0ZW0gLnRodW1iLWRlc2MgPiAqOmZpcnN0LWNoaWxkOmlzKC5hZHJlc3NlLCAudGVsKSB7bWFyZ2luLXRvcDoxcmVtO31cclxuXHJcblx0XHRcdFx0XHQvKiBHZXN0aW9uIGRlcyBlbGVtZW50cyBhZmZpY2hlcyBhdSBzdXJ2b2wgZGVzIGl0ZW0gKi9cclxuXHRcdFx0XHRcdC5zaG93b25ob3ZlciB7bWFyZ2luOjA7IGRpc3BsYXk6YmxvY2s7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7IG1heC1oZWlnaHQ6MC4wMDAwMDAxcmVtOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgb3BhY2l0eTowLjAxO31cclxuXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtOmZvY3VzLXdpdGhpbiAuc2hvd29uaG92ZXIsIC5saXN0X2l0ZW06aG92ZXIgLnNob3dvbmhvdmVyLFxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSBhOmhvdmVyIC5zaG93b25ob3ZlciwgLmxpc3RfaXRlbSBhOmZvY3VzIC5zaG93b25ob3ZlciB7bWF4LWhlaWdodDo3LjJyZW07IG92ZXJmbG93OmluaXRpYWw7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBvcGFjaXR5OjE7fVxyXG5cclxuXHRcdFx0XHQvKioqIERBVEVTICoqKi9cclxuXHRcdFx0XHRcdC8qKiogR0VORVJJUVVFICoqKi9cclxuXHRcdFx0XHRcdFx0LmRhdGUsIC5saXN0X2l0ZW0gLmRhdGUge2ZvbnQtc2l6ZToxZW07IG1hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IHBhZGRpbmc6MS40cmVtIDEuMnJlbTsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9XHJcblx0XHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHNwYW4ge2NvbG9yOiRjaW1fYmxhY2s7IGxpbmUtaGVpZ2h0OmluaXRpYWw7IGZvbnQtc2l6ZTppbmhlcml0OyB0ZXh0LWFsaWduOmNlbnRlcjsgZGlzcGxheTpibG9jazt9XHJcblx0XHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHNwYW4udHh0X21vbnRoIHtmb250LXNpemU6MmVtOyBmb250LWZhbWlseTokcmVndWxhcjsgbWFyZ2luLXRvcDowLjJyZW07IHRleHQtYWxpZ246Y2VudGVyOyBkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcblx0XHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHNwYW4udHh0X2RheV9uYiB7Zm9udC1zaXplOjQuMmVtOyBmb250LWZhbWlseTokYm9sZDsgbGluZS1oZWlnaHQ6MC44O31cclxuXHRcdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4gLnN0YXJ0ZGF0ZSwgLmRhdGUgLmNvbnRhaW4gLmVuZGRhdGUge21pbi13aWR0aDo4cmVtOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblx0XHRcdFx0XHRcdC5kYXRlIC5jb250YWluIC5zdGFydGRhdGUgKyAuZW5kZGF0ZSB7cGFkZGluZy10b3A6MXJlbTsgbWFyZ2luLXRvcDowLjVyZW07fVxyXG5cdFx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlICsgLmVuZGRhdGU6OmJlZm9yZSB7Y29udGVudDonJzsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7IGhlaWdodDowLjJyZW07IHdpZHRoOjIuOHJlbTsgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fc2Vjb25kYXJ5X2NvbG9yKTt9XHJcblxyXG5cdFx0XHRcdFx0XHQuZGF0ZV9pbmxpbmUge29yZGVyOi0xOyBtYXJnaW4tYm90dG9tOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxyXG5cdFx0XHRcdFx0XHQuZGF0ZV9pbmxpbmUgc3BhbiB7Zm9udC1mYW1pbHk6JGJvbGQ7IH1cclxuXHJcblx0XHRcdFx0LyoqKiBMSUVVICoqKi9cclxuXHRcdFx0XHRcdC8qLmxpc3RfaXRlbSovIC5saWV1IHttYXJnaW4tYm90dG9tOjA7IHBhZGRpbmctbGVmdDoycmVtOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246bGVmdCAwLjNyZW07IGJhY2tncm91bmQtc2l6ZTphdXRvIDEuNXJlbTsgbWFyZ2luLXRvcDogMC44cmVtO31cclxuXHJcblx0XHRcdFx0LyoqKiBDQVRFR09SSUUgLyBUWVBFKioqL1xyXG5cdFx0XHRcdFx0LmNhdCwgLnR5cGUsIC5kYXRlX2lubGluZSwgLmxpZXUsIFtjbGFzcyo9J2ZvbmN0aW9uXyddIHsvKiAjNTI4NzUgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyovIGZvbnQtc2l6ZTokbGFiZWwtZm9udC1zaXplOyBsaW5lLWhlaWdodDoxLjQ7fVxyXG5cdFx0XHRcdFx0LyogIzUyODc1ICovIC5jYXQsIC50eXBlLCAuZGF0ZV9pbmxpbmUge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XHJcblx0XHRcdFx0XHQuY2F0LCAudHlwZSwgLmxpZXUge2Rpc3BsYXk6aW5saW5lLWJsb2NrOyBsZXR0ZXItc3BhY2luZzowLjA4ZW07fVxyXG5cdFx0XHRcdFx0Lmdyb3VwX2NhdCwgLnR5cGUge21hcmdpbi1ib3R0b206MC41cmVtO31cclxuXHRcdFx0XHRcdC5ncm91cF9jYXQge29yZGVyOi0yOyBtYXJnaW4tdG9wOi0wLjVyZW07IH1cclxuXHRcdFx0XHRcdC5jYXQge0BpbmNsdWRlIGxhYmVsOyBiYWNrZ3JvdW5kOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgY29sb3I6JGNpbV93aGl0ZTsgcGFkZGluZzowLjRyZW0gMC44cmVtO21hcmdpbi1yaWdodDogMC41cmVtOyBtYXJnaW4tdG9wOjAuNXJlbTsgfVxyXG5cclxuXHRcdFx0XHRcdC50eXBlIHtvcmRlcjotMzt9XHJcblx0XHRcdFx0XHQuY2F0ICsgLnR5cGUge21hcmdpbi1ib3R0b206MC4ycmVtO31cclxuXHRcdFx0XHRcdC5saXN0X2l0ZW0gLnR5cGUge31cclxuXHJcblx0XHRcdFx0LyoqKiBFTiBTQVZPSVIgUExVUyAqKiovXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC5idG5fdHh0IHttYXJnaW4tdG9wOjAuNXJlbTt9XHJcblx0XHRcdFx0XHQubGlzdF9pdGVtOmhvdmVyIC5idG5fdHh0IHNwYW4sIC5saXN0X2l0ZW06Zm9jdXMtd2l0aGluIC5idG5fdHh0IHNwYW4ge3BhZGRpbmctbGVmdDoyLjhyZW07fVxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbTpob3ZlciAuYnRuX3R4dCBzcGFuOjpiZWZvcmUsIC5saXN0X2l0ZW06Zm9jdXMtd2l0aGluIC5idG5fdHh0IHNwYW46OmJlZm9yZSB7d2lkdGg6Mi4ycmVtO31cclxuXHJcblx0XHRcdC8qKiogSVRFTVMgQUdFTkRBICoqKi9cclxuXHRcdFx0XHQubGlzdF9pdGVtW2NsYXNzKj0nYWdlbmRhJ10uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIge3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MS41cmVtOyBsZWZ0OjNyZW07IGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgei1pbmRleDoyO31cclxuXHRcdFx0XHQuY2ltX21hcGJveCAubGlzdF9pdGVtW2NsYXNzKj0nYWdlbmRhJ10uaG9yaXpvbnRhbCAuZGF0ZV9jb250YWluZXIge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246aW5oZXJpdDsgb3JkZXI6LTE7IG1hcmdpbi1ib3R0b206MDsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4ge2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IHBhZGRpbmc6MDt9XHJcblx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlLCAuZGF0ZSAuY29udGFpbiAuZW5kZGF0ZSB7d2lkdGg6YXV0bzsgfVxyXG5cdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4gc3BhbiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IGxldHRlci1zcGFjaW5nOmluaGVyaXQ7IG1hcmdpbi10b3A6MDsgcGFkZGluZy1sZWZ0OjAuMnJlbTt9XHJcblx0XHRcdFx0XHQuZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9tb250aCB7dHJhbnNmb3JtOm5vbmU7IGxlZnQ6aW5oZXJpdDsgZm9udC1mYW1pbHk6JGJvbGQ7IH1cclxuXHRcdFx0XHRcdC5kYXRlIC5jb250YWluIHNwYW4udHh0X2RheV9uYiB7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBmb250LXNpemU6JGxhYmVsLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6MS40ZW07fVxyXG5cdFx0XHRcdFx0LmRhdGUgLmNvbnRhaW4gLnN0YXJ0ZGF0ZSArIC5lbmRkYXRlOjpiZWZvcmUge3RvcDo1MCU7fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdC8qKiogSVRFTVMgUkVDSEVSQ0hFIEdFTkVSQUxFICoqKi9cclxuXHRcdFx0XHQvKiBtb3RzIGNsZXMgc3VybGlnbmVzICovXHJcblx0XHRcdFx0XHQubGlzdF9pdGVtIC5yZWRNYXJrdXAsIC5saXN0X2l0ZW0gLnJlZE1hcmt1cCAqIHtmb250LXdlaWdodDpub3JtYWw7IHBhZGRpbmc6MCAwLjJyZW07fVxyXG5cdFx0XHRcdFx0Lmxpc3RfaXRlbSAucmVkTWFya3VwLCAubGlzdF9pdGVtIC5yZWRNYXJrdXAgKiwgLmxpc3RfaXRlbS5iYW5kZWF1X2l0ZW06aG92ZXIgLnJlZE1hcmt1cCB7YmFja2dyb3VuZC1jb2xvcjokY2ltX2JsYWNrICFpbXBvcnRhbnQ7IGNvbG9yOiRjaW1fd2hpdGUgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0cC5zdWdnZXN0aW9uX21vdF9jbGUge21hcmdpbi10b3A6MS41cmVtO31cclxuXHJcblx0XHRcdFx0LyoqKiBJVEVNUyBGQVEgcGFnZSByZWNoZXJjaGUgKyBwYWdlIGJsb2Mgbm90ZSAqKiovXHJcblx0XHRcdFx0XHQvKiBhbGlnbmVtZW50IGl0ZW0gc3VyIGxlIGJvcmQgaGF1dCArIHJlZHVjdGlvbiBmb250LXNpemUgZGVzIHRpdHJlcyAqL1xyXG5cdFx0XHRcdFx0Ly8gLmxpc3QgLmxpc3RfaXRlbS5zZWFyY2guZmFxID4gLmxpbmssIC5saXN0IC5saXN0X2l0ZW0uc2VhcmNoLmJsb2Nfbm90ZXMgPiAubGluayB7YWxpZ24taXRlbXM6c3RhcnQ7fVxyXG5cdFx0XHRcdFx0Ly8gLmxpc3RfaXRlbS5zZWFyY2guZmFxIC5pbmZvc19pdGVtIGgyLCAubGlzdF9pdGVtLnNlYXJjaC5ibG9jX25vdGVzIC5pbmZvc19pdGVtIGgyIHtmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDIsIGZvbnQtc2l6ZSk7IG1hcmdpbi10b3A6MS41cmVtO31cclxuXHRcdFx0XHRcdC8vIC5saXN0X2l0ZW0uc2VhcmNoLmZhcSAuaW5mb3NfaXRlbSBoMywgLmxpc3RfaXRlbS5zZWFyY2guYmxvY19ub3RlcyAuaW5mb3NfaXRlbSBoMyB7Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGgzLCBmb250LXNpemUpOyBtYXJnaW4tdG9wOjEuNXJlbTt9XHJcblx0XHRcdFx0XHQvLyAubGlzdF9pdGVtLnNlYXJjaC5mYXEgLmluZm9zX2l0ZW0gaDQsIC5saXN0X2l0ZW0uc2VhcmNoLmJsb2Nfbm90ZXMgLmluZm9zX2l0ZW0gaDQge2ZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNCwgZm9udC1zaXplKTsgbWFyZ2luLXRvcDoxLjVyZW07fVxyXG5cdFx0XHRcdFx0Ly8gLmxpc3RfaXRlbS5zZWFyY2guZmFxIC5pbmZvc19pdGVtID4gdWwsIC5saXN0X2l0ZW0uc2VhcmNoLmZhcSAuaW5mb3NfaXRlbSA+IG9sLCAubGlzdF9pdGVtLnNlYXJjaC5ibG9jX25vdGVzIC5pbmZvc19pdGVtID4gdWwsIC5saXN0X2l0ZW0uc2VhcmNoLmJsb2Nfbm90ZXMgLmluZm9zX2l0ZW0gPiBvbCB7cGFkZGluZy1sZWZ0OjA7fVxyXG5cclxuXHRcdFx0LyoqKiBJVEVNUyBFTFUgKioqL1xyXG5cdFx0XHRcdC5lbHVfbGlzdF9pdGVtLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwIHttYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHRcdC5lbHVfbGlzdF9pdGVtLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLnRlbCxcclxuXHRcdFx0XHQuZWx1X2xpc3RfaXRlbS5saXN0X2l0ZW0gLnRodW1iLWRlc2MgcC5tYWlsIHttYXJnaW4tdG9wOjFyZW07IG1hcmdpbi1ib3R0b206MXJlbTsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwLjdyZW07fVxyXG5cdFx0XHRcdC5lbHVfbGlzdF9pdGVtLmxpc3RfaXRlbSAudGh1bWItZGVzYyBwLnRlbCArIC5tYWlsIHttYXJnaW4tdG9wOi0xcmVtOyBtYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHRcdC5mb25jdGlvbl9wcmltYWlyZSB7Zm9udC1mYW1pbHk6JGJvbGQ7IH1cclxuXHRcdFx0XHRbY2xhc3MqPSdmb25jdGlvbl8nXSB7bGluZS1oZWlnaHQ6MTt9XHJcblxyXG5cdFx0XHRcdC5saXN0X2l0ZW0gLmJ1dHRvbl9saWtlIHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHRcdC5saXN0X2l0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSAuYnV0dG9uX2xpa2Ugc3BhbiB7YmFja2dyb3VuZC1jb2xvcjogJGNpbV9ibGFjayA7Y29sb3I6ICRjaW1fd2hpdGU7fVxyXG5cclxuXHRcdFx0LyoqKiBJVEVNUyBLSU9TUVVFICoqKi9cclxuXHRcdFx0XHQua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyB7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcdC5raW9zcXVlLmxpc3RfaXRlbSAuaW1nIGltZyB7Ym9yZGVyLXJhZGl1czowO31cclxuXHJcbiAgICAgICAgICAgICAgICAjbGlzdF9pdGVtcyAua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyB7b3ZlcmZsb3c6IHZpc2libGU7fSAgXHJcbiAgICAgICAgICAgICAgICAjbGlzdF9pdGVtcyAua2lvc3F1ZS5saXN0X2l0ZW0gLmltZyBpbWcge2JveC1zaGFkb3c6IDJweCAycHggMTBweCAjQTlBOUE5O31cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgLmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLnR4dCBwOm5vdCguYnRuX2tpb3NxdWUpOm5vdCgudHlwZSkge21hcmdpbi1ib3R0b206MDsgZm9udC1zaXplOjEuNmVtOyBtYXgtd2lkdGg6MTAwJTt9XHJcblx0XHRcdFx0Lmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLnR4dCAuaW5mb3Nfa2lvc3F1ZSB7Zm9udC1mYW1pbHk6JHJlZ3VsYXI7bGluZS1oZWlnaHQ6IDEuMjt9XHJcblx0XHRcdFx0Lmtpb3NxdWUubGlzdF9pdGVtLmtpb3NxdWUgLnR4dCAuaW5mb3Nfa2lvc3F1ZSBzcGFuIHtkaXNwbGF5OmJsb2NrOyBsaW5lLWhlaWdodDoxLjQ7fVxyXG5cdFx0XHRcdC5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC50eHQgLm51bV9raW9zcXVlIHtmb250LWZhbWlseTokYm9sZDt9XHJcblxyXG5cdFx0XHRcdC5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAua2lvc3F1ZS5saXN0X2l0ZW0ua2lvc3F1ZSAuYnRuX2tpb3NxdWUsIC5jb250ZW50X3BhZ2UgLnpvbmVfcmVzc291cmNlc19kb3dubG9hZCAuem9uZV9idG4ge1xyXG5cdFx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSB7Ym9yZGVyLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQjcGFnZS5saXN0IC5raW9zcXVlLmxpc3RfaXRlbS5raW9zcXVlIC56b25lX2J0biB7bWFyZ2luLXRvcDowLjVyZW07fVxyXG5cclxuXHRcdFx0LyoqKiBJVEVNUyBERUNIRVRTICoqKi9cclxuXHRcdFx0XHQvLyAjcGFnZTpub3QoLmxpc3QpLCAjcG9waW5fZGV0YWlsIHtcclxuXHRcdFx0XHQvLyBcdC5saXN0X2l0ZW0uZ2VzdGlvbl9kZWNoZXRzID4gLmxpbmsge3dpZHRoOjEwMCU7IHBhZGRpbmc6Mi41cmVtOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9zZWNvbmRhcnlfY29sb3IpO31cclxuXHRcdFx0XHQvLyB9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKioqIEJBTkRFQVUgUEFHRSAqKiovXHJcblx0XHRcdC8vICNwYWdlLmRldGFpbCAuYmFuZGVhdV9wYWdlIHt9XHJcblx0XHRcdC8vICNwYWdlLmRldGFpbCAuY29udGVudF9mcm9tX3BhZ2UgLmhlYWRfcGFnZSB7fVxyXG5cclxuXHRcdFx0I2JhbmRlYXVfcGFnZV9wb3BpbiB7XHJcblx0XHRcdFx0aW1nLCAuZGVmYXVsdF9pbWcge3dpZHRoOmNhbGMoMTAwJSArIDNyZW0pO31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogUE9QSU4gREVUQUlMICoqKi9cclxuXHRcdFx0I3BvcGluX2RldGFpbCB7bWF4LXdpZHRoOiRnbG9iYWwtd2lkdGg7IHBhZGRpbmc6MCAzcmVtIDNyZW0gM3JlbTsgb3ZlcmZsb3c6aGlkZGVuIGF1dG87fVxyXG5cdFx0XHQjcG9waW5fZGV0YWlsIC5jbG9zZS1idXR0b24ge3RvcDozLjNyZW07IHJpZ2h0OjJyZW07fVxyXG5cdFx0XHQjcG9waW5fZGV0YWlsIC5jb250ZW50X2Zyb21fcGFnZSB7bWFyZ2luLXRvcDowO31cclxuXHRcdFx0I3BvcGluX2RldGFpbCAudGl0cmVfYmxvYyB7dGV4dC1hbGlnbjpsZWZ0O31cclxuXHRcdFx0I3BvcGluX2RldGFpbCAuYmxvY19ob21lIC50aXRyZV9ibG9jIHtmb250LXNpemU6MWVtOyB0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHJcblx0XHQvKioqIEFSUk9XUyBOQVYgUE9QSU4gKioqL1xyXG5cdFx0XHRib2R5Lm92ZXJmbG93ICNtYWluIHt6LWluZGV4OmluaXRpYWw7fVxyXG5cclxuXHRcdFx0LndyYXBfYXJyb3cge0BpbmNsdWRlIHNsaWNrKCRwb3NpdGlvbjpmaXhlZCk7IHotaW5kZXg6MTAwNzsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7IGJvcmRlcjowLjFyZW0gc29saWQgJGNpbV9ibGFjazt9XHJcblx0XHRcdC53cmFwX2Fycm93IC5hcnJvd3Mge2Rpc3BsYXk6YmxvY2s7IHRleHQtaW5kZW50Oi05OTk5cmVtO31cclxuXHRcdFx0LndyYXBfYXJyb3c6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7fVxyXG5cclxuXHRcdFx0LndyYXBfYXJyb3cucHJldjppcyg6aG92ZXIsIDpmb2N1cykge0BpbmNsdWRlIHNsaWNrX3ByZXYoJGNpbV93aGl0ZSk7fVxyXG5cdFx0XHQud3JhcF9hcnJvdy5uZXh0OmlzKDpob3ZlciwgOmZvY3VzKSB7QGluY2x1ZGUgc2xpY2tfbmV4dCgkY2ltX3doaXRlKTt9XHJcblx0XHRcdC53cmFwX2Fycm93LmRpc2FibGVkIHtkaXNwbGF5Om5vbmU7fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBNT1RFVVIgREUgUkVDSEVSQ0hFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LyoqKiBBRkZJQ0hBR0UgVEVSTUUgU0FJU0kgKioqL1xyXG5cdFx0XHQuc2VhcmNoZWRfd29yZCB7cGFkZGluZzoxLjVyZW0gMDt9XHJcblx0XHRcdC5zZWFyY2hlZF93b3JkIHAge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5zZWFyY2hlZF93b3JkIHAgc3BhbiB7Zm9udC1mYW1pbHk6JGJvbGQ7fVxyXG5cclxuXHRcdC8qKiogUEFHSU5BVElPTiAqKiovXHJcblx0XHRcdC5uYl9wYWdlc190b3RhbF9pbmZvcyB7Zm9udC1zaXplOjEuNGVtOyB3aWR0aDoxMDAlOyBtYXJnaW4tdG9wOjFyZW07fVxyXG5cclxuXHRcdFx0LmNvbnRlbnRfcGFnZSAucGFnaW5hdGlvbiB7XHJcblx0XHRcdFx0cGFkZGluZzowOyBtYXJnaW4tdG9wOjVyZW07XHJcblxyXG5cdFx0XHRcdGxpIHtwYWRkaW5nOjA7IGJhY2tncm91bmQtaW1hZ2U6bm9uZTsgICAgcGFkZGluZzogMXJlbTt9XHJcblx0XHRcdFx0bGkuY3VycmVudCB7YmFja2dyb3VuZC1jb2xvcjokcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDsgcGFkZGluZzokcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgZm9udC1mYW1pbHk6JGJvbGQ7IH1cclxuXHJcblx0XHRcdFx0YSB7Ym9yZGVyOjA7IGJveC1zaGFkb3c6bm9uZTsgcGFkZGluZzowOyBjb2xvcjogaW5oZXJpdDt9XHJcblx0XHRcdFx0YTpub3QoW2NsYXNzXj1cInBhZ2luYXRpb24tXCJdKTppcyg6aG92ZXIsIDpmb2N1cykge2ZvbnQtZmFtaWx5OiRib2xkOyBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0XHQuZWxsaXBzaXM6OmFmdGVyIHtkaXNwbGF5Om5vbmU7fVxyXG5cclxuXHRcdFx0XHQvKiBCb3V0b25zIGZpcnN0LCBsYXN0LCBuZXh0LCBwcmV2ICovXHJcblx0XHRcdFx0XHQqW2NsYXNzXj1cInBhZ2luYXRpb24tXCJdIHtwYWRkaW5nOjA7fVxyXG5cdFx0XHRcdFx0KltjbGFzc149XCJwYWdpbmF0aW9uLVwiXSBhOjpiZWZvcmUsICpbY2xhc3NePVwicGFnaW5hdGlvbi1cIl0gYTo6YWZ0ZXIge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tcHJldmlvdXMge21hcmdpbi1yaWdodDoycmVtO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLW5leHQge21hcmdpbi1sZWZ0OjJyZW07fVxyXG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tZmlyc3Qge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWxhc3Qge21hcmdpbi1sZWZ0OjFyZW07fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0QGlmICRwYWdpbmF0aW9uLXNsaWNrID09IHRydWUge1xyXG5cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHtcclxuXHRcdFx0XHRcdCpbY2xhc3NePSdwYWdpbmF0aW9uLSddIGEge0BpbmNsdWRlIHNsaWNrKCRwb3NpdGlvbjpyZWxhdGl2ZSk7IHdpZHRoOjVyZW07IGhlaWdodDo1cmVtOyBib3JkZXI6MC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7IGJhY2tncm91bmQtc2l6ZToyLjhyZW0gYXV0bzt9XHJcblx0XHRcdFx0XHQqW2NsYXNzXj1cInBhZ2luYXRpb24tXCJdIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cdFx0XHRcdFx0KltjbGFzc149XCJwYWdpbmF0aW9uLVwiXSBhOjpiZWZvcmUge31cclxuXHRcdFx0XHRcdCpbY2xhc3NePVwicGFnaW5hdGlvbi1cIl0gYTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSB7fVxyXG5cclxuXHRcdFx0XHRcdCpbY2xhc3NePSdwYWdpbmF0aW9uLSddIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOiAkY2ltX2JsYWNrO31cclxuXHJcblx0XHRcdFx0XHQucGFnaW5hdGlvbi1wcmV2aW91cyBhOmlzKDpob3ZlciwgOmZvY3VzKSB7QGluY2x1ZGUgc2xpY2tfcHJldigkY2ltX3doaXRlKTt9XHJcblx0XHRcdFx0XHQucGFnaW5hdGlvbi1uZXh0IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBzbGlja19uZXh0KCRjaW1fd2hpdGUpO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWZpcnN0IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBwYWdpbmF0aW9uX2ZpcnN0KCRjaW1fd2hpdGUpO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWxhc3QgYTppcyg6aG92ZXIsIDpmb2N1cykge0BpbmNsdWRlIHBhZ2luYXRpb25fbGFzdCgkY2ltX3doaXRlKTt9XHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0gQGVsc2Uge1xyXG5cclxuXHRcdFx0XHQuY29udGVudF9wYWdlIHtcclxuXHRcdFx0XHRcdGEge2JvcmRlcjowOyBib3gtc2hhZG93Om5vbmU7IHBhZGRpbmc6MDt9XHJcblx0XHRcdFx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSB7Y29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBiYWNrZ3JvdW5kLWNvbG9yOiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3Zlcjt9XHJcblxyXG5cdFx0XHRcdFx0KltjbGFzc149XCJwYWdpbmF0aW9uLVwiXSBhIHt3aWR0aDo1cmVtOyBoZWlnaHQ6NXJlbTsgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47fVxyXG5cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLXByZXZpb3VzIGEge0BpbmNsdWRlIHBhZ2luYXRpb25fcHJldigpO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBwYWdpbmF0aW9uX3ByZXYodmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpLCAkY2ltX3doaXRlKTt9XHJcblxyXG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tbmV4dCBhIHtAaW5jbHVkZSBwYWdpbmF0aW9uX25leHQoKTt9XHJcblx0XHRcdFx0XHQucGFnaW5hdGlvbi1uZXh0IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBwYWdpbmF0aW9uX25leHQodmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpLCAkY2ltX3doaXRlKTt9XHJcblxyXG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tZmlyc3QgYSB7QGluY2x1ZGUgcGFnaW5hdGlvbl9maXJzdCgpO31cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWZpcnN0IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBwYWdpbmF0aW9uX2ZpcnN0KHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKSwgJGNpbV93aGl0ZSk7fVxyXG5cclxuXHRcdFx0XHRcdC5wYWdpbmF0aW9uLWxhc3QgYSB7QGluY2x1ZGUgcGFnaW5hdGlvbl9sYXN0KCk7fVxyXG5cdFx0XHRcdFx0LnBhZ2luYXRpb24tbGFzdCBhOmlzKDpob3ZlciwgOmZvY3VzKSB7QGluY2x1ZGUgcGFnaW5hdGlvbl9sYXN0KHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKSwgJGNpbV93aGl0ZSk7fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7XCJcIiArICRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
