/* ==========================================================================
   Regions
   ========================================================================== */
/**
 * Region Component
 *
 * This is a region component which provides a container to place other components in.
 * Using a region will provide you with a header and body which you can style and
 * use within your UI.  
 *
 * Example HTML:
 *
 * <div class="a-Region [modifiers]">
 * 	<div class="a-Region-header">
 * 		<h2 class="a-Region-title">Region Title</h2>
 * 	</div>
 * 	<div class="a-Region-body">
 * 		Body
 * 	</div>
 * </div>
 * 
 * <div class="a-Region [modifiers]">
 * 	<div class="a-Region-header">
 * 		<div class="a-Region-headerItems a-Region-headerItems--left">
 * 			<h2 class="a-Region-title">Region Title</h2>
 * 		</div>
 * 		<div class="a-Region-headerItems a-Region-headerItems--right">
 * 			[Optional Buttons]
 * 		</div>
 * 	</div>
 * 	<div class="a-Region-body">
 * 		Body
 * 	</div>
 * </div>
 *
 */
/* ==========================================================================
   Region
   ========================================================================== */
.a-Region,
.ui-dialog {
  display: block;
  border: 1px solid;
  background-clip: padding-box; }

/**
 * Modifier: No Padding
 *
 * Sets Region Padding to 0
 */
.a-Region--noPadding > .a-Region-body {
  padding: 0; }

/**
 * Modifier: Padded Region
 *
 * This applies a 12px padding to the region body
 */
.a-Region--padded .a-Region-body {
  padding: 12px; }

/**
 * Modifier: Slim Padded Region
 *
 * This applies a 4px padding to the region body
 */
.a-Region--slimPadded .a-Region-body {
  padding: 4px; }

/**
 * Modifier: No Border
 *
 * Remove borders and shadows from the region.
 */
.a-Region--noBorder {
  border-width: 0 !important;
  box-shadow: none; }
  .a-Region--noBorder > .a-Region-header {
    background: none !important;
    border-bottom: none !important;
    box-shadow: none !important; }
  .a-Region--noBorder.a-Region--hideShow > .a-Region-header {
    padding-left: 0; }
  .a-Region--noBorder > .a-Region-body {
    border: none !important; }

/**
 * Modifier: Show Top Button
 *
 * Shows a button to right of region header to jump to top of page
 */
.a-Region--showTopButton .a-Button--goToTop {
  display: inline-block; }

/**
 * Modifier: Stacked Regions
 *
 * Remove side borders and shadows.  This is useful for accordions,
 * and regions that can be grouped togehter into stacks.
 */
.a-Side .a-Region:first-child {
  border-top-width: 0; }

/**
 * Modifier: Region with Icon
 *
 * This region contains an icon-based icon
 */
.a-Region--hasIcon .a-Icon.a-Icon--regionIcon {
  width: 32px;
  height: 32px;
  color: #B6BCC1; }
  .a-Region--hasIcon .a-Icon.a-Icon--regionIcon:before {
    font-size: 32px; }

.a-Region--hasIcon .listwithicon {
  margin-left: 0; }

/**
 * Modifier: Flush Region
 *
 * Removes padding from region body
 */
.ui-dialog.ui-dialog-flushBody .ui-dialog-content {
  padding: 0; }

/**
 * Region Header
 */
.a-Region-header,
.ui-dialog-titlebar {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom: 1px solid;
  display: table;
  /* 1 */
  table-layout: auto;
  width: 100%; }

.a-Region-headerItems {
  display: table-cell;
  vertical-align: middle; }

.a-Region-headerItems--title {
  text-align: left; }

.a-Region-headerItems--buttons {
  text-align: right; }

.a-Region-body {
  padding: 12px; }

.a-Region-bodyHeader {
  padding: 12px; }
  .lte-ie9 .a-Region-bodyHeader, .ie8 .a-Region-bodyHeader, .ie7 .a-Region-bodyHeader, .ie6 .a-Region-bodyHeader {
    padding: 0px; }

.a-Region-bodyHeader:empty {
  display: none; }

.a-Region-body--noBorder {
  border: none !important; }

.a-Region--scrollAuto > .a-Region-body {
  overflow: auto; }

.a-Region--shadowScroll.a-Region--heightFix > .a-Region-body {
  position: initial; }

.a-Region--shadowScroll {
  position: relative;
  overflow: hidden; }

.a-Region--shadowScroll > .a-Region-body {
  position: absolute;
  top: 40px;
  bottom: 0;
  width: 100%;
  background: linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), white 70%) 0 100%, linear-gradient(rgba(0, 0, 0, 0.025), transparent), linear-gradient(transparent, rgba(0, 0, 0, 0.025)) 0 100%;
  background-repeat: no-repeat;
  background-color: white;
  background-size: 100% 12px, 100% 12px, 100% 6px, 100% 6px;
  /* Opera doesn't support this in the shorthand */
  background-attachment: local, local, scroll, scroll;
  overflow: auto; }

.a-Region {
  box-shadow: none;
  border-width: 1px 0 1px 0;
  border-radius: 0;
  margin-bottom: -1px; }
  .a-Region, .a-Region .a-Region-body {
    border-color: #E0E0E0;
    border-top-width: 1px;
    border-top-style: solid; }
  .a-Region .a-Region-header {
    border-radius: 0;
    border-bottom-width: 0;
    background-color: #FAFAFA;
    box-shadow: none; }
  .a-Region .a-Region-title {
    font-size: 14px;
    font-weight: normal;
    padding: 12px 0;
    color: #404040; }
  .a-Region .a-Region-body {
    font-size: 12px;
    color: #707070;
    line-height: 16px; }

.a-Region--leftBorder,
.a-Region--borderLeft {
  border-left-width: 1px; }

.a-Region--rightBorder {
  border-right-width: 1px; }

.a-Region--topBorder {
  border-top-width: 1px; }

.a-Region--bottomBorder {
  border-bottom-width: 1px;
  margin-bottom: 0; }

.a-Region--noTopBorder {
  border-top-width: 0; }

.a-Region--touchTop {
  margin-top: -1px !important; }

.a-Region--touchBottom {
  margin-bottom: -1px !important; }

.a-Region--hideShow {
  margin: 12px 0; }
  .a-Region--hideShow.a-Region--noBorder {
    margin-left: 12px;
    margin-right: 12px; }
  .a-Region--hideShow > .a-Region-header .a-Region-headerIcon {
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    -webkit-transition: -webkit-transform 0.2s; }
    .a-Region--hideShow > .a-Region-header .a-Region-headerIcon:before {
      padding-left: 1px; }
  .a-Region--hideShow > .a-Region-header .a-Button--hideShow {
    border-radius: 100%;
    padding: 4px;
    margin: 4px 4px 4px 0; }
  .a-Region--hideShow > .a-Region-header .a-Region-headerIcon:before {
    content: "\e016"; }
  .a-Region--hideShow.is-expanded > .a-Region-body {
    display: block;
    height: auto; }
  .a-Region--hideShow.is-expanded > .a-Region-header .a-Button--hideShow:hover .a-Region-headerIcon {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  .a-Region--hideShow.is-expanded > .a-Region-header .a-Region-headerIcon {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .a-Region--hideShow.is-collapsed > .a-Region-body {
    height: 0;
    overflow: hidden;
    padding: 0;
    border-width: 0; }
  .a-Region--hideShow.is-collapsed > .a-Region-header .a-Button--hideShow:hover .a-Region-headerIcon {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .a-Region--hideShow > .a-Region-header .a-Region-headerItems--title {
    padding-left: 4px;
    width: 100%; }

.a-Region--hideHeader > .a-Region-header {
  display: none; }

.a-Region--accessibleHeader > .a-Region-header {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.a-Region--hideHeader > .a-Region-body,
.a-Region--accessibleHeader > .a-Region-body {
  border-top-width: 0; }

.a-Region--iframe {
  border-color: #E0E0E0; }
  .a-Region--iframe .a-Region-header {
    border-color: #E0E0E0; }
  .a-Region--iframe .a-Region-title {
    font-size: 14px;
    font-weight: normal;
    padding: 12px 0;
    color: #404040; }
  .a-Region--iframe .a-Region-body {
    font-size: 12px;
    color: #707070;
    line-height: 20px; }
  .a-Region--iframe .a-ButtonRegion {
    margin-bottom: 0;
    border-width: 1px 0 0 0;
    background-color: #FAFAFA;
    border-color: #F0F0F0; }

.a-Region-regionDesc {
  background: #FDFDFD;
  border-bottom: 1px solid #F0F0F0;
  padding: 14px 12px;
  font-size: 1.2rem;
  color: #707070; }

.a-Region--simple {
  margin-top: 12px; }
  .a-Region--simple + .a-Region--simple {
    margin-top: 0; }
  .a-Region--simple > .a-Region-header {
    background-color: transparent;
    border-width: 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0.025), transparent 50%); }
  .a-Region--simple > .a-Region-body {
    border-top-width: 0; }

.a-Region--sideRegion > .a-Region-body {
  color: #646464; }

.a-Region--carousel {
  overflow: hidden; }
  .a-Region--carousel .a-Region-carouselNav {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 110;
    margin: 8px 0;
    text-align: center; }
  .a-Region--carousel .a-Region-carouselItems {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0; }
  .a-Region--carousel .a-Region-carouselItem {
    overflow: hidden;
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0; }
    .ie8 .a-Region--carousel .a-Region-carouselItem, .lt-ie9 .a-Region--carousel .a-Region-carouselItem {
      display: none; }
  .a-Region--carousel .a-Region-carouselItem {
    transition: all .5s ease; }
  .a-Region--carousel .a-Region-carouselItem.a-Tabs-element-selected {
    opacity: 1;
    z-index: 10; }
    .ie8 .a-Region--carousel .a-Region-carouselItem.a-Tabs-element-selected, .lt-ie9 .a-Region--carousel .a-Region-carouselItem.a-Tabs-element-selected {
      display: block; }
  .a-Region--carousel.a-Region--carouselSlide .a-Region-carouselItem.apex-rds-before {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .a-Region--carousel.a-Region--carouselSlide .a-Region-carouselItem.apex-rds-after {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .a-Region--carousel.a-Region--carouselSlide .a-Region-carouselItem.apex-rds-element-selected {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .a-Region--carousel.a-Region--carouselSpin .a-Region-carouselItem.apex-rds-before {
    -webkit-transform: rotateY(90deg);
            transform: rotateY(90deg); }
  .a-Region--carousel.a-Region--carouselSpin .a-Region-carouselItem.apex-rds-after {
    -webkit-transform: rotateY(-90deg);
            transform: rotateY(-90deg); }
  .a-Region--carousel.a-Region--carouselSpin .a-Region-carouselItem.apex-rds-element-selected {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  .a-Region--carousel .a-Tabs-button {
    border: none;
    display: block;
    background-color: transparent;
    position: absolute;
    top: 50%;
    width: 24px;
    height: 64px;
    padding: 16px 4px;
    border-radius: 2px;
    background-color: rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
    color: #FFF;
    margin-top: -32px;
    z-index: 100;
    opacity: .75;
    transition: all .2s ease; }
    .a-Region--carousel .a-Tabs-button:hover {
      opacity: 1;
      background-color: rgba(0, 0, 0, 0.5);
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.05);
      -webkit-transform: translateX(0);
              transform: translateX(0); }
    .a-Region--carousel .a-Tabs-button:active, .a-Region--carousel .a-Tabs-button:active:focus {
      opacity: 1;
      background-color: rgba(0, 0, 0, 0.75);
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.05) inset; }
    .a-Region--carousel .a-Tabs-button:focus {
      opacity: 1;
      box-shadow: 0 0 0 1px #4696FC;
      outline: none; }
  .a-Region--carousel .a-Tabs-button.a-Tabs-next-region {
    right: -1px;
    border-radius: 2px 0 0 2px;
    -webkit-transform: translateX(16px);
            transform: translateX(16px); }
  .a-Region--carousel .a-Tabs-button.a-Tabs-previous-region {
    left: -1px;
    border-radius: 0 2px 2px 0;
    -webkit-transform: translateX(-16px);
            transform: translateX(-16px); }
  .a-Region--carousel .a-Region-carouselNavItem {
    display: inline-block;
    margin: 0 4px; }
    .a-Region--carousel .a-Region-carouselNavItem.apex-rds-selected .a-Region-carouselLink {
      background-color: rgba(0, 0, 0, 0.45); }
      .a-Region--carousel .a-Region-carouselNavItem.apex-rds-selected .a-Region-carouselLink:focus {
        outline: none;
        background-color: #4696FC;
        box-shadow: 0 0 1px 1px #4696FC; }
  .a-Region--carousel .a-Region-carouselLink {
    display: block;
    width: 8px;
    height: 8px;
    background-color: rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
    border-radius: 100%; }
  .a-Region--carousel .a-Region-carouselLabel {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }

/* Featured App Container Region (4750:1)
   ========================================================================== */
.a-Region--featuredApps.a-Region--carousel .a-Tabs-button {
  width: 40px;
  top: 68px;
  -webkit-transform: none;
          transform: none;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: none;
  color: #A0A0A0; }
  .a-Region--featuredApps.a-Region--carousel .a-Tabs-button:hover {
    background: rgba(0, 0, 0, 0.05);
    box-shadow: none; }
  .a-Region--featuredApps.a-Region--carousel .a-Tabs-button:active, .a-Region--featuredApps.a-Region--carousel .a-Tabs-button:active:focus {
    background: rgba(0, 0, 0, 0.1);
    color: #A0A0A0; }
  .a-Region--featuredApps.a-Region--carousel .a-Tabs-button .a-Icon {
    width: 32px;
    height: 32px;
    line-height: 32px; }
    .a-Region--featuredApps.a-Region--carousel .a-Tabs-button .a-Icon:before {
      font-size: 32px;
      line-height: 32px; }

.a-Region--featuredApps .a-Region-carouselNav {
  display: none; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlZ2lvbi5zY3NzIiwiLi4vbW9kdWxlcy9fY29tbW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O2dGQUVnRjtBQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFFSDs7Z0ZBRWdGO0FBRWhGOztFQUVDLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsNkJBQTZCLEVBRTdCOztBQUVEOzs7O0dBSUc7QUFFSDtFQUVFLFdBQVcsRUFDWDs7QUFHRjs7OztHQUlHO0FBRUg7RUFFRSxjQUFjLEVBQ2Q7O0FBR0Y7Ozs7R0FJRztBQUVIO0VBRUUsYUFBYSxFQUNiOztBQUdGOzs7O0dBSUc7QUFFSDtFQUNDLDJCQUEyQjtFQUMzQixpQkFBaUIsRUFZakI7RUFkRDtJQUlFLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0IsNEJBQTRCLEVBQzVCO0VBUEY7SUFTSSxnQkFBZ0IsRUFDakI7RUFWSDtJQVlFLHdCQUF3QixFQUN4Qjs7QUFHRjs7OztHQUlHO0FBRUg7RUFFRSxzQkFBc0IsRUFDdEI7O0FBR0Y7Ozs7O0dBS0c7QUFDSDtFQUVJLG9CQUFvQixFQUNyQjs7QUFrQkg7Ozs7R0FJRztBQUVIO0VBRUUsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlLEVBSWY7RUFSRjtJQU1HLGdCQUFnQixFQUNoQjs7QUFQSDtFQVVFLGVBQWUsRUFDZjs7QUFHRjs7OztHQUlHO0FBQ0g7RUFDQyxXQUFXLEVBQ1g7O0FBRUQ7O0dBRUc7QUFDSDs7RUFFQyx5Q0FBeUM7RUFDekMsd0NBQXdDO0VBQ3hDLHlCQUF5QjtFQUV6QixlQUFlO0VBQUUsT0FBTztFQUN4QixtQkFBbUI7RUFDbkIsWUFBWSxFQUNaOztBQUdEO0VBQ0Msb0JBQW9CO0VBQ3BCLHVCQUF1QixFQUN2Qjs7QUFDRDtFQUNDLGlCQUFpQixFQUNqQjs7QUFDRDtFQUNDLGtCQUFrQixFQUNsQjs7QUFNRDtFQUNDLGNBQWMsRUFDZDs7QUFDRDtFQUNFLGNBQWMsRUFJZjtFQUhDO0lB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SUFsR0w7TUFvR00sV0FBVztNQUNYLDhCQUE4QjtNQUM5QixjQUFjLEVBQ2Y7RUF2R0w7SUEwR0ksWUFBWTtJQUNaLDJCQUEyQjtJQUMzQixvQ0FBcUI7WUFBckIsNEJBQXFCLEVBQ3RCO0VBN0dIO0lBK0dJLFdBQVc7SUFDWCwyQkFBMkI7SUFDM0IscUNBQXFCO1lBQXJCLDZCQUFxQixFQUN0QjtFQWxISDtJQXVISSxzQkFBc0I7SUFDdEIsY0FBYyxFQVNmO0lBaklIO01BMEhNLHNDQUFzQixFQU12QjtNQWhJTDtRQTRIUSxjQUFjO1FBQ2QsMEJBQTBCO1FBQzFCLGdDQUFnQyxFQUNqQztFQS9IUDtJQW1JSSxlQUFlO0lBQ2YsV0FBVztJQUNYLFlBQVk7SUFDWixzQ0FBc0I7SUFDdEIsK0NBQTBDO0lBQzFDLG9CQUFvQixFQUNyQjtFQXpJSDtJQ3RaRSxVQUFVO0lBQ1Ysb0JBQVU7SUFDVixZQUFZO0lBQ1osYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLFdBQVcsRUQyaEJWOztBQU1IO2dGQUNnRjtBQUNoRjtFQUVJLFlBQVk7RUFDWixVQUFVO0VBQ1Ysd0JBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixxQ0FBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGVBQWUsRUFtQmhCO0VBMUJIO0lBU00sZ0NBQWdCO0lBQ2hCLGlCQUFpQixFQUNsQjtFQVhMO0lBY00sK0JBQWdCO0lBQ2hCLGVBQWUsRUFDaEI7RUFoQkw7SUFrQk0sWUFBWTtJQUNaLGFBQWE7SUFDYixrQkFBa0IsRUFLbkI7SUF6Qkw7TUFzQlEsZ0JBQWdCO01BQ2hCLGtCQUFrQixFQUNuQjs7QUF4QlA7RUE0QkksY0FBYyxFQUNmIiwiZmlsZSI6IlJlZ2lvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS1cbi8vIEltcG9ydCBDb21wYXNzXG4vLyAtLS1cbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2NvbW1vblwiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVnaW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZWdpb24gQ29tcG9uZW50XG4gKlxuICogVGhpcyBpcyBhIHJlZ2lvbiBjb21wb25lbnQgd2hpY2ggcHJvdmlkZXMgYSBjb250YWluZXIgdG8gcGxhY2Ugb3RoZXIgY29tcG9uZW50cyBpbi5cbiAqIFVzaW5nIGEgcmVnaW9uIHdpbGwgcHJvdmlkZSB5b3Ugd2l0aCBhIGhlYWRlciBhbmQgYm9keSB3aGljaCB5b3UgY2FuIHN0eWxlIGFuZFxuICogdXNlIHdpdGhpbiB5b3VyIFVJLiAgXG4gKlxuICogRXhhbXBsZSBIVE1MOlxuICpcbiAqIDxkaXYgY2xhc3M9XCJhLVJlZ2lvbiBbbW9kaWZpZXJzXVwiPlxuICogXHQ8ZGl2IGNsYXNzPVwiYS1SZWdpb24taGVhZGVyXCI+XG4gKiBcdFx0PGgyIGNsYXNzPVwiYS1SZWdpb24tdGl0bGVcIj5SZWdpb24gVGl0bGU8L2gyPlxuICogXHQ8L2Rpdj5cbiAqIFx0PGRpdiBjbGFzcz1cImEtUmVnaW9uLWJvZHlcIj5cbiAqIFx0XHRCb2R5XG4gKiBcdDwvZGl2PlxuICogPC9kaXY+XG4gKiBcbiAqIDxkaXYgY2xhc3M9XCJhLVJlZ2lvbiBbbW9kaWZpZXJzXVwiPlxuICogXHQ8ZGl2IGNsYXNzPVwiYS1SZWdpb24taGVhZGVyXCI+XG4gKiBcdFx0PGRpdiBjbGFzcz1cImEtUmVnaW9uLWhlYWRlckl0ZW1zIGEtUmVnaW9uLWhlYWRlckl0ZW1zLS1sZWZ0XCI+XG4gKiBcdFx0XHQ8aDIgY2xhc3M9XCJhLVJlZ2lvbi10aXRsZVwiPlJlZ2lvbiBUaXRsZTwvaDI+XG4gKiBcdFx0PC9kaXY+XG4gKiBcdFx0PGRpdiBjbGFzcz1cImEtUmVnaW9uLWhlYWRlckl0ZW1zIGEtUmVnaW9uLWhlYWRlckl0ZW1zLS1yaWdodFwiPlxuICogXHRcdFx0W09wdGlvbmFsIEJ1dHRvbnNdXG4gKiBcdFx0PC9kaXY+XG4gKiBcdDwvZGl2PlxuICogXHQ8ZGl2IGNsYXNzPVwiYS1SZWdpb24tYm9keVwiPlxuICogXHRcdEJvZHlcbiAqIFx0PC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlZ2lvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmEtUmVnaW9uLFxuLnVpLWRpYWxvZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXI6IDFweCBzb2xpZDtcblx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0Ly9AaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vKipcbiAqIE1vZGlmaWVyOiBObyBQYWRkaW5nXG4gKlxuICogU2V0cyBSZWdpb24gUGFkZGluZyB0byAwXG4gKi9cblxuLmEtUmVnaW9uLS1ub1BhZGRpbmcge1xuXHQmID4gLmEtUmVnaW9uLWJvZHkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLyoqXG4gKiBNb2RpZmllcjogUGFkZGVkIFJlZ2lvblxuICpcbiAqIFRoaXMgYXBwbGllcyBhIDEycHggcGFkZGluZyB0byB0aGUgcmVnaW9uIGJvZHlcbiAqL1xuXG4uYS1SZWdpb24tLXBhZGRlZCB7XG5cdC5hLVJlZ2lvbi1ib2R5IHtcblx0XHRwYWRkaW5nOiAxMnB4O1xuXHR9XG59XG5cbi8qKlxuICogTW9kaWZpZXI6IFNsaW0gUGFkZGVkIFJlZ2lvblxuICpcbiAqIFRoaXMgYXBwbGllcyBhIDRweCBwYWRkaW5nIHRvIHRoZSByZWdpb24gYm9keVxuICovXG5cbi5hLVJlZ2lvbi0tc2xpbVBhZGRlZCB7XG5cdC5hLVJlZ2lvbi1ib2R5IHtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdH1cbn1cblxuLyoqXG4gKiBNb2RpZmllcjogTm8gQm9yZGVyXG4gKlxuICogUmVtb3ZlIGJvcmRlcnMgYW5kIHNoYWRvd3MgZnJvbSB0aGUgcmVnaW9uLlxuICovXG5cbi5hLVJlZ2lvbi0tbm9Cb3JkZXIge1xuXHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0JiA+IC5hLVJlZ2lvbi1oZWFkZXIge1xuXHRcdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG4gICYuYS1SZWdpb24tLWhpZGVTaG93ID4gLmEtUmVnaW9uLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cdCYgPiAuYS1SZWdpb24tYm9keSB7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyoqXG4gKiBNb2RpZmllcjogU2hvdyBUb3AgQnV0dG9uXG4gKlxuICogU2hvd3MgYSBidXR0b24gdG8gcmlnaHQgb2YgcmVnaW9uIGhlYWRlciB0byBqdW1wIHRvIHRvcCBvZiBwYWdlXG4gKi9cblxuLmEtUmVnaW9uLS1zaG93VG9wQnV0dG9uIHtcblx0LmEtQnV0dG9uLS1nb1RvVG9wIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuLyoqXG4gKiBNb2RpZmllcjogU3RhY2tlZCBSZWdpb25zXG4gKlxuICogUmVtb3ZlIHNpZGUgYm9yZGVycyBhbmQgc2hhZG93cy4gIFRoaXMgaXMgdXNlZnVsIGZvciBhY2NvcmRpb25zLFxuICogYW5kIHJlZ2lvbnMgdGhhdCBjYW4gYmUgZ3JvdXBlZCB0b2dlaHRlciBpbnRvIHN0YWNrcy5cbiAqL1xuLmEtU2lkZSB7XG4gIC5hLVJlZ2lvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuLmEtUmVnaW9uLS1zdGFja2VkIHtcblx0Ly8gYm94LXNoYWRvdzogbm9uZTtcblx0Ly8gYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG5cdC8vIGJvcmRlci1yYWRpdXM6IDA7XG5cdC8vICY6Zmlyc3QtY2hpbGQge1xuXHQvLyBcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdC8vIH1cblx0Ly8gJiA+IC5hLVJlZ2lvbi1oZWFkZXIge1xuXHQvLyBcdGJvcmRlci1yYWRpdXM6IDA7XG5cdC8vIFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0Ly8gfVxuXHQvLyAmID4gLmEtUmVnaW9uLWJvZHkge1xuXHQvLyBcdGJvcmRlci10b3Atd2lkdGg6IDFweDtcblx0Ly8gXHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblx0Ly8gfVxufVxuLyoqXG4gKiBNb2RpZmllcjogUmVnaW9uIHdpdGggSWNvblxuICpcbiAqIFRoaXMgcmVnaW9uIGNvbnRhaW5zIGFuIGljb24tYmFzZWQgaWNvblxuICovXG5cbi5hLVJlZ2lvbi0taGFzSWNvbiB7XG5cdC5hLUljb24uYS1JY29uLS1yZWdpb25JY29uIHtcblx0XHR3aWR0aDogMzJweDtcblx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0Y29sb3I6ICNCNkJDQzE7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdH1cblx0fVxuXHQubGlzdHdpdGhpY29uIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxufVxuXG4vKipcbiAqIE1vZGlmaWVyOiBGbHVzaCBSZWdpb25cbiAqXG4gKiBSZW1vdmVzIHBhZGRpbmcgZnJvbSByZWdpb24gYm9keVxuICovXG4udWktZGlhbG9nLnVpLWRpYWxvZy1mbHVzaEJvZHkgLnVpLWRpYWxvZy1jb250ZW50IHtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZWdpb24gSGVhZGVyXG4gKi9cbi5hLVJlZ2lvbi1oZWFkZXIsXG4udWktZGlhbG9nLXRpdGxlYmFye1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblx0Ly9AaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXHRkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuXHR0YWJsZS1sYXlvdXQ6IGF1dG87XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vLyBSZWdpb24gSGVhZGVyIEl0ZW1zXG4uYS1SZWdpb24taGVhZGVySXRlbXMge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmEtUmVnaW9uLWhlYWRlckl0ZW1zLS10aXRsZSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYS1SZWdpb24taGVhZGVySXRlbXMtLWJ1dHRvbnMge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLy8gSGVhZGluZyBUZXh0XG4uYS1SZWdpb24tdGl0bGUge31cblxuLy8gQm9keVxuLmEtUmVnaW9uLWJvZHkge1xuXHRwYWRkaW5nOiAxMnB4O1xufVxuLmEtUmVnaW9uLWJvZHlIZWFkZXIge1xuICBwYWRkaW5nOiAxMnB4O1xuICAubHRlLWllOSAmLCAuaWU4ICYsIC5pZTcgJiwgLmllNiAmIHtcbiAgICBwYWRkaW5nOjBweDtcbiAgfVxufVxuLmEtUmVnaW9uLWJvZHlIZWFkZXI6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmEtUmVnaW9uLWJvZHktLW5vQm9yZGVyIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEJhc2ljIFNjcm9sbGluZ1xuLmEtUmVnaW9uLS1zY3JvbGxBdXRvID4gLmEtUmVnaW9uLWJvZHl7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBTaGFkb3cgU2Nyb2xsaW5nXG4uYS1SZWdpb24tLXNoYWRvd1Njcm9sbC5hLVJlZ2lvbi0taGVpZ2h0Rml4ID4gLmEtUmVnaW9uLWJvZHkge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbn1cbi5hLVJlZ2lvbi0tc2hhZG93U2Nyb2xsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuLmEtUmVnaW9uLS1zaGFkb3dTY3JvbGwgPiAuYS1SZWdpb24tYm9keSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0MHB4O1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOlxuXHRcdC8qIFNoYWRvdyBjb3ZlcnMgKi9cblx0XHQvLyBsaW5lYXItZ3JhZGllbnQod2hpdGUgMzAlLCByZ2JhKDI1NSwyNTUsMjU1LDApKSxcblx0XHQvLyBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSwgd2hpdGUgNzAlKSAwIDEwMCUsXG5cdFx0bGluZWFyLWdyYWRpZW50KHdoaXRlIDMwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSksXG5cdFx0bGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMCksIHdoaXRlIDcwJSkgMCAxMDAlLFxuXHRcdFxuXHRcdC8qIFNoYWRvd3MgKi9cblx0XHQvLyByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCA1MCUgMCwgcmdiYSgwLDAsMCwwLjA3KSwgcmdiYSgwLDAsMCwwKSksXG5cdFx0Ly8gcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgNTAlIDEwMCUsIHJnYmEoMCwwLDAsMC4wNyksIHJnYmEoMCwwLDAsMCkpIDAgMTAwJTtcblx0XHRsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMDI1KSwgcmdiYSgwLDAsMCwwKSksXG5cdFx0bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsLjAyNSkpIDAgMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMnB4LCAxMDAlIDEycHgsIDEwMCUgNnB4LCAxMDAlIDZweDtcblx0XG5cdC8qIE9wZXJhIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIGluIHRoZSBzaG9ydGhhbmQgKi9cblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xuXHRcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLmEtUmVnaW9uIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcblx0Ym9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcblx0JiwgLmEtUmVnaW9uLWJvZHkge1xuXHRcdGJvcmRlci1jb2xvcjogI0UwRTBFMDtcblx0XHRib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG5cdH1cblx0LmEtUmVnaW9uLWhlYWRlciB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQuYS1SZWdpb24tdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdHBhZGRpbmc6IDEycHggMDtcblx0XHRjb2xvcjogIzQwNDA0MDtcblx0fVxuXHQuYS1SZWdpb24tYm9keSB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGNvbG9yOiAjNzA3MDcwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHR9XG59XG5cbi5hLVJlZ2lvbi0tbGVmdEJvcmRlcixcbi5hLVJlZ2lvbi0tYm9yZGVyTGVmdCB7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG4uYS1SZWdpb24tLXJpZ2h0Qm9yZGVyIHtcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG59XG4uYS1SZWdpb24tLXRvcEJvcmRlciB7XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cbi5hLVJlZ2lvbi0tYm90dG9tQm9yZGVyIHtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYS1SZWdpb24tLW5vVG9wQm9yZGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLmEtUmVnaW9uLS10b3VjaFRvcCB7XG4gIG1hcmdpbi10b3A6IC0xcHggIWltcG9ydGFudDtcbn1cblxuLmEtUmVnaW9uLS10b3VjaEJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHggIWltcG9ydGFudDtcbn1cblxuXG4vLyBcbi8vIEhpZGUgU2hvdyBSZWdpb25cbi8vIFxuLmEtUmVnaW9uLS1oaWRlU2hvdyB7XG5cdG1hcmdpbjogMTJweCAwO1xuICAmLmEtUmVnaW9uLS1ub0JvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG4gICYgPiAuYS1SZWdpb24taGVhZGVyIC5hLVJlZ2lvbi1oZWFkZXJJY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICBcdC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICB9XG4gIH1cbiAgJiA+IC5hLVJlZ2lvbi1oZWFkZXIgLmEtQnV0dG9uLS1oaWRlU2hvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgbWFyZ2luOiA0cHggNHB4IDRweCAwO1xuICB9XG4gICYgPiAuYS1SZWdpb24taGVhZGVyIC5hLVJlZ2lvbi1oZWFkZXJJY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMTZcIjtcbiAgfVxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICAmID4gLmEtUmVnaW9uLWJvZHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgICYgPiAuYS1SZWdpb24taGVhZGVyIC5hLUJ1dHRvbi0taGlkZVNob3c6aG92ZXIge1xuICAgICAgLmEtUmVnaW9uLWhlYWRlckljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiA+IC5hLVJlZ2lvbi1oZWFkZXIgLmEtUmVnaW9uLWhlYWRlckljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgfVxuICAmLmlzLWNvbGxhcHNlZCB7XG4gICAgLy8gYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgJiA+IC5hLVJlZ2lvbi1ib2R5IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgICAmID4gLmEtUmVnaW9uLWhlYWRlciAuYS1CdXR0b24tLWhpZGVTaG93OmhvdmVyIHtcbiAgICAgIC5hLVJlZ2lvbi1oZWFkZXJJY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmID4gLmEtUmVnaW9uLWhlYWRlciAuYS1SZWdpb24taGVhZGVySXRlbXMtLXRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYS1SZWdpb24tLWhpZGVIZWFkZXIge1xuICAmID4gLmEtUmVnaW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmEtUmVnaW9uLS1hY2Nlc3NpYmxlSGVhZGVyIHtcbiAgJiA+IC5hLVJlZ2lvbi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5SGlkZGVuO1xuICB9XG59XG4uYS1SZWdpb24tLWhpZGVIZWFkZXIsXG4uYS1SZWdpb24tLWFjY2Vzc2libGVIZWFkZXIge1xuICAmID4gLmEtUmVnaW9uLWJvZHkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLmEtUmVnaW9uLS1pZnJhbWUge1xuICBib3JkZXItY29sb3I6ICNFMEUwRTA7XG4gIC5hLVJlZ2lvbi1oZWFkZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0UwRTBFMDtcbiAgfVxuICAuYS1SZWdpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICBjb2xvcjogIzQwNDA0MDtcbiAgfVxuICAuYS1SZWdpb24tYm9keSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC5hLUJ1dHRvblJlZ2lvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICAgIGJvcmRlci1jb2xvcjogI0YwRjBGMDtcbiAgfVxufVxuXG4uYS1SZWdpb24tcmVnaW9uRGVzYyB7XG4gIGJhY2tncm91bmQ6ICNGREZERkQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjBGMEYwO1xuICBwYWRkaW5nOiAxNHB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzcwNzA3MDtcbn1cblxuLmEtUmVnaW9uLS1zaW1wbGUge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICAmICsgLmEtUmVnaW9uLS1zaW1wbGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgJiA+IC5hLVJlZ2lvbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMDI1KSwgcmdiYSgwLDAsMCwwKSA1MCUpO1xuICB9XG4gICYgPiAuYS1SZWdpb24tYm9keSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4uYS1SZWdpb24tLXNpZGVSZWdpb24ge1xuICAmID4gLmEtUmVnaW9uLWJvZHkge1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICB9XG59XG5cblxuXG5cblxuLmEtUmVnaW9uLS1jYXJvdXNlbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmEtUmVnaW9uLWNhcm91c2VsTmF2SXRlbSB7XG4gIH1cbiAgLmEtUmVnaW9uLWNhcm91c2VsTmF2SXRlbSBhIHtcbiAgfVxuICAuYS1SZWdpb24tY2Fyb3VzZWxOYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMTA7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmEtUmVnaW9uLWNhcm91c2VsSXRlbXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgLy8gaGVpZ2h0OiA0MDBweDtcbiAgfVxuICAuYS1SZWdpb24tY2Fyb3VzZWxJdGVtIHtcbiAgLy8gaGVpZ2h0OiA0MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICAuaWU4ICYsIC5sdC1pZTkgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgb3BhY2l0eTogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgfVxuICAuYS1SZWdpb24tY2Fyb3VzZWxJdGVtIHtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICB9XG4gIC5hLVJlZ2lvbi1jYXJvdXNlbEl0ZW0uYS1UYWJzLWVsZW1lbnQtc2VsZWN0ZWQge1xuICAgIC5pZTggJiwgLmx0LWllOSAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgJi5hLVJlZ2lvbi0tY2Fyb3VzZWxTbGlkZSAuYS1SZWdpb24tY2Fyb3VzZWxJdGVtLmFwZXgtcmRzLWJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAmLmEtUmVnaW9uLS1jYXJvdXNlbFNsaWRlIC5hLVJlZ2lvbi1jYXJvdXNlbEl0ZW0uYXBleC1yZHMtYWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAmLmEtUmVnaW9uLS1jYXJvdXNlbFNsaWRlIC5hLVJlZ2lvbi1jYXJvdXNlbEl0ZW0uYXBleC1yZHMtZWxlbWVudC1zZWxlY3RlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgJi5hLVJlZ2lvbi0tY2Fyb3VzZWxTcGluIC5hLVJlZ2lvbi1jYXJvdXNlbEl0ZW0uYXBleC1yZHMtYmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpO1xuICB9XG4gICYuYS1SZWdpb24tLWNhcm91c2VsU3BpbiAuYS1SZWdpb24tY2Fyb3VzZWxJdGVtLmFwZXgtcmRzLWFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcbiAgfVxuICAmLmEtUmVnaW9uLS1jYXJvdXNlbFNwaW4gLmEtUmVnaW9uLWNhcm91c2VsSXRlbS5hcGV4LXJkcy1lbGVtZW50LXNlbGVjdGVkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMCk7XG4gIH1cblxuICAuYS1UYWJzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgcGFkZGluZzogMTZweCA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjI1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSkgaW5zZXQ7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSkgaW5zZXQsIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC43NSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwuMSkgaW5zZXQsIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkgaW5zZXQ7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNDY5NkZDO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmEtVGFicy1idXR0b24uYS1UYWJzLW5leHQtcmVnaW9uIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gIH1cbiAgLmEtVGFicy1idXR0b24uYS1UYWJzLXByZXZpb3VzLXJlZ2lvbntcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gIH1cbiAgLmEtUmVnaW9uLWNhcm91c2VsQ29udHJvbCB7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5hLVJlZ2lvbi1jYXJvdXNlbE5hdkl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgICYuYXBleC1yZHMtc2VsZWN0ZWQgLmEtUmVnaW9uLWNhcm91c2VsTGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC40NSk7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2OTZGQztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDFweCAxcHggIzQ2OTZGQztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmEtUmVnaW9uLWNhcm91c2VsTGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpIGluc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIH1cbiAgLmEtUmVnaW9uLWNhcm91c2VsTGFiZWwge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5SGlkZGVuO1xuICB9XG59XG5cblxuXG5cbi8qIEZlYXR1cmVkIEFwcCBDb250YWluZXIgUmVnaW9uICg0NzUwOjEpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmEtUmVnaW9uLS1mZWF0dXJlZEFwcHMge1xuICAmLmEtUmVnaW9uLS1jYXJvdXNlbCAuYS1UYWJzLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgdG9wOiA2OHB4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAjQTBBMEEwO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMSk7XG4gICAgICBjb2xvcjogI0EwQTBBMDtcbiAgICB9XG4gICAgLmEtSWNvbiB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYS1SZWdpb24tY2Fyb3VzZWxOYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCJAbWl4aW4gdHJhbnNwYXJlbnREaXZpZGVycyB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkZGLC43NSk7XG4gICAgICB0b3A6IDA7XG4gICB9XG4gICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsLjE1KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgIH1cbiAgICY6YmVmb3JlLFxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgIH1cbn1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgICY6YmVmb3JlLFxuICAgJjphZnRlciB7XG4gICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgZGlzcGxheTogdGFibGU7XG4gICB9XG4gICAmOmFmdGVyIHtcbiAgICAgICBjbGVhcjogYm90aDtcbiAgIH1cbiAgICp6b29tOiAxO1xufVxuXG5AbWl4aW4gYXBleDVpY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuQG1peGluIHZpc3VhbGx5SGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiBub1dyYXBUZXh0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEBtaXhpbiBjbGVhcmZpeDIge1xuLy8gICAgIHpvb206MTtcbi8vICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4vLyAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7IFxuLy8gICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4vLyAgICAgICAgIGhlaWdodDogMDsgXG4vLyAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IFxuLy8gICAgIH1cbi8vICAgICAmOmFmdGVyIHtcbi8vICAgICAgICAgY2xlYXI6IGJvdGg7XG4vLyAgICAgfVxuLy8gfVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBTcHJpdGUgTWl4aW5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtaXhpbiBwZFNwcml0ZSgkc2l6ZSwgJHgsICR5LCAkd2lkdGg6IDAsICRoZWlnaHQ6IDAsICRpbXA6ICcnKSB7XG4gICRvZmZzZXQ6IDA7XG4gIEBpZiAkc2l6ZSA9PSAxNiB7XG4gICAgJG9mZnNldDogMjA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMjAge1xuICAgICRvZmZzZXQ6IDE1MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAyNCB7XG4gICAgJG9mZnNldDogMjcwO1xuICB9IEBlbHNlIGlmICRzaXplID09IDMyIHtcbiAgICAkb2Zmc2V0OiAzNzA7XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gMzYge1xuICAgICRvZmZzZXQ6IDU2MDtcbiAgfSBAZWxzZSBpZiAkc2l6ZSA9PSA2NCB7XG4gICAgJG9mZnNldDogLTE7IC8vNzQwXG4gIH0gQGVsc2Uge1xuICAgICRvZmZzZXQ6IDA7XG4gIH1cbiAgXG4gIEBpZiAkd2lkdGggIT0gMCB7XG4gICAgd2lkdGg6ICN7JHdpZHRofXB4O1xuICB9XG4gIEBpZiAkaGVpZ2h0ICE9IDAge1xuICAgIGhlaWdodDogI3skaGVpZ2h0fXB4O1xuICB9XG4gIEBpZiAkb2Zmc2V0ID4gMCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLSN7JHgqJHNpemV9cHggLSN7KCR5KiRzaXplKSskb2Zmc2V0fXB4ICN7JGltcH07XG4gIH0gQGVsc2UgaWYgJG9mZnNldCA9PSAtMSB7XG4gICAgLy8gV2l6YXJkIFgtUG9zaXRpb24gaXMgNTAlXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIC0jeygkeSokc2l6ZSkrNzQwfXB4ICN7JGltcH07XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0jeyR4fXB4IC0jeygkeSl9cHggI3skaW1wfTtcbiAgfVxufVxuXG4vLyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBFeHRlbmRpYmxlIFNwcml0ZSBDbGFzc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJXBkU3ByaXRlIHtcbiAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9hcGV4XzVfdWkuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIE1lZGlhIFF1ZXJpZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiRkaXNwbGF5LXh4eHM6IDY0MHB4O1xuJGRpc3BsYXkteHhzOiA4MDBweDtcbiRkaXNwbGF5LXhzOiAxMDI0cHg7XG4kZGlzcGxheS1zbWFsbDogMTI4MHB4O1xuJGRpc3BsYXktbWVkaXVtOiAxNjgwcHg7XG4kZGlzcGxheS1sYXJnZTogMTkyMHB4O1xuXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB4eHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHhzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbGVzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbWFsbC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXNtYWxsIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1zbWFsbCArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbWVkaXVtICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZXN0LXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG5cbi8vIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEV4dGVuZGlibGUgSWNvbiBDbGFzc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJWEtSWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gc2hhZG93U2Nyb2xsKCRzaXplOiA0LCAkYmc6ICNGRkZGRkYpIHtcbiAgJHNoYWRvd1NtYWxsOiAkc2l6ZSArIFwicHhcIjtcbiAgJHNoYWRvd0JpZzogICAkc2l6ZSAqIDIgKyBcInB4XCI7XG4gICRib2R5Qkc6ICAgICAgJGJnO1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCgkYm9keUJHIDMwJSwgcmdiYSgkYm9keUJHLDApKSxcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgkYm9keUJHLDApLCAkYm9keUJHIDcwJSkgMCAxMDAlLFxuICAgIFxuICAgIGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC4wMjUpLCByZ2JhKDAsMCwwLDApKSxcbiAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwKSwgcmdiYSgwLDAsMCwuMDI1KSkgMCAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUJHO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgJHNoYWRvd0JpZywgMTAwJSAkc2hhZG93QmlnLCAxMDAlICRzaGFkb3dTbWFsbCwgMTAwJSAkc2hhZG93U21hbGw7XG4gIFxuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
