meta.foundation-version { font-family: "/{{VERSION}}/"; }

meta.foundation-mq-small { font-family: "/only screen/"; width: 0; }

meta.foundation-mq-small-only { font-family: "/only screen and (max-width: 40em)/"; width: 0; }

meta.foundation-mq-medium { font-family: "/only screen and (min-width:48em)/"; width: 48em; }

meta.foundation-mq-medium-only { font-family: "/only screen and (min-width:48em) and (max-width:64em)/"; width: 48em; }

meta.foundation-mq-large { font-family: "/only screen and (min-width:64.0625em)/"; width: 64.0625em; }

meta.foundation-mq-large-only { font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/"; width: 64.0625em; }

meta.foundation-mq-xlarge { font-family: "/only screen and (min-width:90.0625em)/"; width: 90.0625em; }

meta.foundation-mq-xlarge-only { font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/"; width: 90.0625em; }

meta.foundation-mq-xxlarge { font-family: "/only screen and (min-width:120.0625em)/"; width: 120.0625em; }

meta.foundation-data-attribute-namespace { font-family: false; }

html, body { height: 100%; }

html { box-sizing: border-box; }

*, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }

html, body { font-size: 100%; }

body { background: #fff; color: #222; cursor: auto; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-style: normal; font-weight: normal; line-height: 1.5; margin: 0; padding: 0; position: relative; }

a:hover { cursor: pointer; }

img { max-width: 100%; height: auto; }

img { -ms-interpolation-mode: bicubic; }

#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object { max-width: none !important; }

.left { float: left !important; }

.right { float: right !important; }

.clearfix:before, .clearfix:after { content: " "; display: table; }

.clearfix:after { clear: both; }

.hide { display: none; }

.invisible { visibility: hidden; }

.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

img { display: inline-block; vertical-align: middle; }

textarea { height: auto; min-height: 50px; }

select { width: 100%; }

.row { margin: 0 auto; max-width: 62.5rem; width: 100%; }

.row:before, .row:after { content: " "; display: table; }

.row:after { clear: both; }

.row.collapse > .column, .row.collapse > .columns { padding-left: 0; padding-right: 0; }

.row.collapse .row { margin-left: 0; margin-right: 0; }

.row .row { margin: 0 -0.9375rem; max-width: none; width: auto; }

.row .row:before, .row .row:after { content: " "; display: table; }

.row .row:after { clear: both; }

.row .row.collapse { margin: 0; max-width: none; width: auto; }

.row .row.collapse:before, .row .row.collapse:after { content: " "; display: table; }

.row .row.collapse:after { clear: both; }

.column, .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; width: 100%; float: left; }

[class*="column"] + [class*="column"]:last-child { float: right; }

[class*="column"] + [class*="column"].end { float: left; }

@media only screen { .small-push-0 { position: relative; left: 0; right: auto; }
  .small-pull-0 { position: relative; right: 0; left: auto; }
  .small-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .small-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .small-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .small-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .small-push-3 { position: relative; left: 25%; right: auto; }
  .small-pull-3 { position: relative; right: 25%; left: auto; }
  .small-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .small-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .small-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .small-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .small-push-6 { position: relative; left: 50%; right: auto; }
  .small-pull-6 { position: relative; right: 50%; left: auto; }
  .small-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .small-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .small-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .small-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .small-push-9 { position: relative; left: 75%; right: auto; }
  .small-pull-9 { position: relative; right: 75%; left: auto; }
  .small-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .small-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .small-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .small-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .small-1 { width: 8.3333333333%; }
  .small-2 { width: 16.6666666667%; }
  .small-3 { width: 25%; }
  .small-4 { width: 33.3333333333%; }
  .small-5 { width: 41.6666666667%; }
  .small-6 { width: 50%; }
  .small-7 { width: 58.3333333333%; }
  .small-8 { width: 66.6666666667%; }
  .small-9 { width: 75%; }
  .small-10 { width: 83.3333333333%; }
  .small-11 { width: 91.6666666667%; }
  .small-12 { width: 100%; }
  .small-offset-0 { margin-left: 0 !important; }
  .small-offset-1 { margin-left: 8.3333333333% !important; }
  .small-offset-2 { margin-left: 16.6666666667% !important; }
  .small-offset-3 { margin-left: 25% !important; }
  .small-offset-4 { margin-left: 33.3333333333% !important; }
  .small-offset-5 { margin-left: 41.6666666667% !important; }
  .small-offset-6 { margin-left: 50% !important; }
  .small-offset-7 { margin-left: 58.3333333333% !important; }
  .small-offset-8 { margin-left: 66.6666666667% !important; }
  .small-offset-9 { margin-left: 75% !important; }
  .small-offset-10 { margin-left: 83.3333333333% !important; }
  .small-offset-11 { margin-left: 91.6666666667% !important; }
  .small-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.small-centered, .columns.small-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.small-uncentered, .columns.small-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.small-centered:last-child, .columns.small-centered:last-child { float: none; }
  .column.small-uncentered:last-child, .columns.small-uncentered:last-child { float: left; }
  .column.small-uncentered.opposite, .columns.small-uncentered.opposite { float: right; }
  .row.small-collapse > .column, .row.small-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.small-collapse .row { margin-left: 0; margin-right: 0; }
  .row.small-uncollapse > .column, .row.small-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; } }

@media only screen and (min-width: 48em) { .medium-push-0 { position: relative; left: 0; right: auto; }
  .medium-pull-0 { position: relative; right: 0; left: auto; }
  .medium-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .medium-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .medium-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .medium-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .medium-push-3 { position: relative; left: 25%; right: auto; }
  .medium-pull-3 { position: relative; right: 25%; left: auto; }
  .medium-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .medium-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .medium-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .medium-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .medium-push-6 { position: relative; left: 50%; right: auto; }
  .medium-pull-6 { position: relative; right: 50%; left: auto; }
  .medium-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .medium-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .medium-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .medium-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .medium-push-9 { position: relative; left: 75%; right: auto; }
  .medium-pull-9 { position: relative; right: 75%; left: auto; }
  .medium-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .medium-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .medium-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .medium-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .medium-1 { width: 8.3333333333%; }
  .medium-2 { width: 16.6666666667%; }
  .medium-3 { width: 25%; }
  .medium-4 { width: 33.3333333333%; }
  .medium-5 { width: 41.6666666667%; }
  .medium-6 { width: 50%; }
  .medium-7 { width: 58.3333333333%; }
  .medium-8 { width: 66.6666666667%; }
  .medium-9 { width: 75%; }
  .medium-10 { width: 83.3333333333%; }
  .medium-11 { width: 91.6666666667%; }
  .medium-12 { width: 100%; }
  .medium-offset-0 { margin-left: 0 !important; }
  .medium-offset-1 { margin-left: 8.3333333333% !important; }
  .medium-offset-2 { margin-left: 16.6666666667% !important; }
  .medium-offset-3 { margin-left: 25% !important; }
  .medium-offset-4 { margin-left: 33.3333333333% !important; }
  .medium-offset-5 { margin-left: 41.6666666667% !important; }
  .medium-offset-6 { margin-left: 50% !important; }
  .medium-offset-7 { margin-left: 58.3333333333% !important; }
  .medium-offset-8 { margin-left: 66.6666666667% !important; }
  .medium-offset-9 { margin-left: 75% !important; }
  .medium-offset-10 { margin-left: 83.3333333333% !important; }
  .medium-offset-11 { margin-left: 91.6666666667% !important; }
  .medium-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.medium-centered, .columns.medium-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.medium-uncentered, .columns.medium-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.medium-centered:last-child, .columns.medium-centered:last-child { float: none; }
  .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child { float: left; }
  .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite { float: right; }
  .row.medium-collapse > .column, .row.medium-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.medium-collapse .row { margin-left: 0; margin-right: 0; }
  .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .pull-11 { position: relative; right: 91.6666666667%; left: auto; } }

@media only screen and (min-width: 64.0625em) { .large-push-0 { position: relative; left: 0; right: auto; }
  .large-pull-0 { position: relative; right: 0; left: auto; }
  .large-push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .large-pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .large-push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .large-pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .large-push-3 { position: relative; left: 25%; right: auto; }
  .large-pull-3 { position: relative; right: 25%; left: auto; }
  .large-push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .large-pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .large-push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .large-pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .large-push-6 { position: relative; left: 50%; right: auto; }
  .large-pull-6 { position: relative; right: 50%; left: auto; }
  .large-push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .large-pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .large-push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .large-pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .large-push-9 { position: relative; left: 75%; right: auto; }
  .large-pull-9 { position: relative; right: 75%; left: auto; }
  .large-push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .large-pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .large-push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .large-pull-11 { position: relative; right: 91.6666666667%; left: auto; }
  .column, .columns { position: relative; padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .large-1 { width: 8.3333333333%; }
  .large-2 { width: 16.6666666667%; }
  .large-3 { width: 25%; }
  .large-4 { width: 33.3333333333%; }
  .large-5 { width: 41.6666666667%; }
  .large-6 { width: 50%; }
  .large-7 { width: 58.3333333333%; }
  .large-8 { width: 66.6666666667%; }
  .large-9 { width: 75%; }
  .large-10 { width: 83.3333333333%; }
  .large-11 { width: 91.6666666667%; }
  .large-12 { width: 100%; }
  .large-offset-0 { margin-left: 0 !important; }
  .large-offset-1 { margin-left: 8.3333333333% !important; }
  .large-offset-2 { margin-left: 16.6666666667% !important; }
  .large-offset-3 { margin-left: 25% !important; }
  .large-offset-4 { margin-left: 33.3333333333% !important; }
  .large-offset-5 { margin-left: 41.6666666667% !important; }
  .large-offset-6 { margin-left: 50% !important; }
  .large-offset-7 { margin-left: 58.3333333333% !important; }
  .large-offset-8 { margin-left: 66.6666666667% !important; }
  .large-offset-9 { margin-left: 75% !important; }
  .large-offset-10 { margin-left: 83.3333333333% !important; }
  .large-offset-11 { margin-left: 91.6666666667% !important; }
  .large-reset-order { float: left; left: auto; margin-left: 0; margin-right: 0; right: auto; }
  .column.large-centered, .columns.large-centered { margin-left: auto; margin-right: auto; float: none; }
  .column.large-uncentered, .columns.large-uncentered { float: left; margin-left: 0; margin-right: 0; }
  .column.large-centered:last-child, .columns.large-centered:last-child { float: none; }
  .column.large-uncentered:last-child, .columns.large-uncentered:last-child { float: left; }
  .column.large-uncentered.opposite, .columns.large-uncentered.opposite { float: right; }
  .row.large-collapse > .column, .row.large-collapse > .columns { padding-left: 0; padding-right: 0; }
  .row.large-collapse .row { margin-left: 0; margin-right: 0; }
  .row.large-uncollapse > .column, .row.large-uncollapse > .columns { padding-left: 0.9375rem; padding-right: 0.9375rem; float: left; }
  .push-0 { position: relative; left: 0; right: auto; }
  .pull-0 { position: relative; right: 0; left: auto; }
  .push-1 { position: relative; left: 8.3333333333%; right: auto; }
  .pull-1 { position: relative; right: 8.3333333333%; left: auto; }
  .push-2 { position: relative; left: 16.6666666667%; right: auto; }
  .pull-2 { position: relative; right: 16.6666666667%; left: auto; }
  .push-3 { position: relative; left: 25%; right: auto; }
  .pull-3 { position: relative; right: 25%; left: auto; }
  .push-4 { position: relative; left: 33.3333333333%; right: auto; }
  .pull-4 { position: relative; right: 33.3333333333%; left: auto; }
  .push-5 { position: relative; left: 41.6666666667%; right: auto; }
  .pull-5 { position: relative; right: 41.6666666667%; left: auto; }
  .push-6 { position: relative; left: 50%; right: auto; }
  .pull-6 { position: relative; right: 50%; left: auto; }
  .push-7 { position: relative; left: 58.3333333333%; right: auto; }
  .pull-7 { position: relative; right: 58.3333333333%; left: auto; }
  .push-8 { position: relative; left: 66.6666666667%; right: auto; }
  .pull-8 { position: relative; right: 66.6666666667%; left: auto; }
  .push-9 { position: relative; left: 75%; right: auto; }
  .pull-9 { position: relative; right: 75%; left: auto; }
  .push-10 { position: relative; left: 83.3333333333%; right: auto; }
  .pull-10 { position: relative; right: 83.3333333333%; left: auto; }
  .push-11 { position: relative; left: 91.6666666667%; right: auto; }
  .pull-11 { position: relative; right: 91.6666666667%; left: auto; } }

.accordion { margin-bottom: 0; }

.accordion:before, .accordion:after { content: " "; display: table; }

.accordion:after { clear: both; }

.accordion .accordion-navigation, .accordion dd { display: block; margin-bottom: 0 !important; }

.accordion .accordion-navigation.active > a, .accordion dd.active > a { background: #e8e8e8; }

.accordion .accordion-navigation > a, .accordion dd > a { background: #EFEFEF; color: #222222; display: block; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 1rem; padding: 1rem; }

.accordion .accordion-navigation > a:hover, .accordion dd > a:hover { background: #e3e3e3; }

.accordion .accordion-navigation > .content, .accordion dd > .content { display: none; padding: 0.9375rem; }

.accordion .accordion-navigation > .content.active, .accordion dd > .content.active { background: #FFFFFF; display: block; }

.alert-box { border-style: solid; border-width: 1px; display: block; font-size: 0.8125rem; font-weight: normal; margin-bottom: 1.25rem; padding: 0.875rem 1.5rem 0.875rem 0.875rem; position: relative; transition: opacity 300ms ease-out; background-color: #008CBA; border-color: #0078a0; color: #FFFFFF; }

.alert-box .close { right: 0.25rem; background: inherit; color: #333333; font-size: 1.375rem; line-height: .9; margin-top: -0.6875rem; opacity: 0.3; padding: 0 6px 4px; position: absolute; top: 50%; }

.alert-box .close:hover, .alert-box .close:focus { opacity: 0.5; }

.alert-box.radius { border-radius: 3px; }

.alert-box.round { border-radius: 1000px; }

.alert-box.success { background-color: #43AC6A; border-color: #3a945b; color: #FFFFFF; }

.alert-box.alert { background-color: #f04124; border-color: #de2d0f; color: #FFFFFF; }

.alert-box.secondary { background-color: #e7e7e7; border-color: #c7c7c7; color: #4f4f4f; }

.alert-box.warning { background-color: #f08a24; border-color: #de770f; color: #FFFFFF; }

.alert-box.info { background-color: #a0d3e8; border-color: #74bfdd; color: #4f4f4f; }

.alert-box.alert-close { opacity: 0; }

[class*="block-grid-"] { display: block; padding: 0; margin: 0 -0.625rem; }

[class*="block-grid-"]:before, [class*="block-grid-"]:after { content: " "; display: table; }

[class*="block-grid-"]:after { clear: both; }

[class*="block-grid-"] > li { display: block; float: left; height: auto; padding: 0 0.625rem 1.25rem; }

@media only screen { .small-block-grid-1 > li { list-style: none; width: 100%; }
  .small-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .small-block-grid-2 > li { list-style: none; width: 50%; }
  .small-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .small-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .small-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .small-block-grid-4 > li { list-style: none; width: 25%; }
  .small-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .small-block-grid-5 > li { list-style: none; width: 20%; }
  .small-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .small-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .small-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .small-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .small-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .small-block-grid-8 > li { list-style: none; width: 12.5%; }
  .small-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .small-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .small-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .small-block-grid-10 > li { list-style: none; width: 10%; }
  .small-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .small-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .small-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .small-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .small-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .small-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

@media only screen and (min-width: 48em) { .medium-block-grid-1 > li { list-style: none; width: 100%; }
  .medium-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .medium-block-grid-2 > li { list-style: none; width: 50%; }
  .medium-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .medium-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .medium-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .medium-block-grid-4 > li { list-style: none; width: 25%; }
  .medium-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .medium-block-grid-5 > li { list-style: none; width: 20%; }
  .medium-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .medium-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .medium-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .medium-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .medium-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .medium-block-grid-8 > li { list-style: none; width: 12.5%; }
  .medium-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .medium-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .medium-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .medium-block-grid-10 > li { list-style: none; width: 10%; }
  .medium-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .medium-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .medium-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .medium-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .medium-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .medium-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

@media only screen and (min-width: 64.0625em) { .large-block-grid-1 > li { list-style: none; width: 100%; }
  .large-block-grid-1 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-1 > li:nth-of-type(1n+1) { clear: both; }
  .large-block-grid-2 > li { list-style: none; width: 50%; }
  .large-block-grid-2 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-2 > li:nth-of-type(2n+1) { clear: both; }
  .large-block-grid-3 > li { list-style: none; width: 33.3333333333%; }
  .large-block-grid-3 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-3 > li:nth-of-type(3n+1) { clear: both; }
  .large-block-grid-4 > li { list-style: none; width: 25%; }
  .large-block-grid-4 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-4 > li:nth-of-type(4n+1) { clear: both; }
  .large-block-grid-5 > li { list-style: none; width: 20%; }
  .large-block-grid-5 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-5 > li:nth-of-type(5n+1) { clear: both; }
  .large-block-grid-6 > li { list-style: none; width: 16.6666666667%; }
  .large-block-grid-6 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-6 > li:nth-of-type(6n+1) { clear: both; }
  .large-block-grid-7 > li { list-style: none; width: 14.2857142857%; }
  .large-block-grid-7 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-7 > li:nth-of-type(7n+1) { clear: both; }
  .large-block-grid-8 > li { list-style: none; width: 12.5%; }
  .large-block-grid-8 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-8 > li:nth-of-type(8n+1) { clear: both; }
  .large-block-grid-9 > li { list-style: none; width: 11.1111111111%; }
  .large-block-grid-9 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-9 > li:nth-of-type(9n+1) { clear: both; }
  .large-block-grid-10 > li { list-style: none; width: 10%; }
  .large-block-grid-10 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-10 > li:nth-of-type(10n+1) { clear: both; }
  .large-block-grid-11 > li { list-style: none; width: 9.0909090909%; }
  .large-block-grid-11 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-11 > li:nth-of-type(11n+1) { clear: both; }
  .large-block-grid-12 > li { list-style: none; width: 8.3333333333%; }
  .large-block-grid-12 > li:nth-of-type(1n) { clear: none; }
  .large-block-grid-12 > li:nth-of-type(12n+1) { clear: both; } }

.breadcrumbs { border-style: solid; border-width: 1px; display: block; list-style: none; margin-left: 0; overflow: hidden; padding: 0.5625rem 0.875rem 0.5625rem; background-color: #f4f4f4; border-color: gainsboro; border-radius: 3px; }

.breadcrumbs > * { color: #008CBA; float: left; font-size: 0.6875rem; line-height: 0.6875rem; margin: 0; text-transform: uppercase; }

.breadcrumbs > *:hover a, .breadcrumbs > *:focus a { text-decoration: underline; }

.breadcrumbs > * a { color: #008CBA; }

.breadcrumbs > *.current { color: #333333; cursor: default; }

.breadcrumbs > *.current a { color: #333333; cursor: default; }

.breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a { text-decoration: none; }

.breadcrumbs > *.unavailable { color: #999999; }

.breadcrumbs > *.unavailable a { color: #999999; }

.breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .breadcrumbs > *.unavailable a:focus { color: #999999; cursor: not-allowed; text-decoration: none; }

.breadcrumbs > *:before { color: #AAAAAA; content: "/"; margin: 0 0.75rem; position: relative; top: 1px; }

.breadcrumbs > *:first-child:before { content: " "; margin: 0; }

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after { content: "/"; }

button, .button { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; border-style: solid; border-width: 0; cursor: pointer; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; line-height: normal; margin: 0 0 1.25rem; position: relative; text-align: center; text-decoration: none; display: inline-block; padding: 1rem 2rem 1.0625rem 2rem; font-size: 1rem; background-color: #008CBA; border-color: #007095; color: #FFFFFF; transition: background-color 300ms ease-out; }

button:hover, button:focus, .button:hover, .button:focus { background-color: #007095; }

button:hover, button:focus, .button:hover, .button:focus { color: #FFFFFF; }

button.secondary, .button.secondary { background-color: #e7e7e7; border-color: #b9b9b9; color: #333333; }

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { background-color: #b9b9b9; }

button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { color: #333333; }

button.success, .button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { background-color: #368a55; }

button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { color: #FFFFFF; }

button.alert, .button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { background-color: #cf2a0e; }

button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { color: #FFFFFF; }

button.warning, .button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { background-color: #cf6e0e; }

button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus { color: #FFFFFF; }

button.info, .button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #333333; }

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { background-color: #61b6d9; }

button.info:hover, button.info:focus, .button.info:hover, .button.info:focus { color: #FFFFFF; }

button.large, .button.large { padding: 1.125rem 2.25rem 1.1875rem 2.25rem; font-size: 1.25rem; }

button.small, .button.small { padding: 0.875rem 1.75rem 0.9375rem 1.75rem; font-size: 0.8125rem; }

button.tiny, .button.tiny { padding: 0.625rem 1.25rem 0.6875rem 1.25rem; font-size: 0.6875rem; }

button.expand, .button.expand { padding-left: 0; padding-right: 0; width: 100%; }

button.left-align, .button.left-align { text-align: left; text-indent: 0.75rem; }

button.right-align, .button.right-align { text-align: right; padding-right: 0.75rem; }

button.radius, .button.radius { border-radius: 3px; }

button.round, .button.round { border-radius: 1000px; }

button.disabled, button[disabled], .button.disabled, .button[disabled] { background-color: #008CBA; border-color: #007095; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { background-color: #007095; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { color: #FFFFFF; }

button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { background-color: #008CBA; }

button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { background-color: #e7e7e7; border-color: #b9b9b9; color: #333333; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { background-color: #b9b9b9; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { color: #333333; }

button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { background-color: #e7e7e7; }

button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { background-color: #368a55; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { color: #FFFFFF; }

button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { background-color: #43AC6A; }

button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { background-color: #cf2a0e; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { color: #FFFFFF; }

button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { background-color: #f04124; }

button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { background-color: #cf6e0e; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { color: #FFFFFF; }

button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { background-color: #f08a24; }

button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info { background-color: #a0d3e8; border-color: #61b6d9; color: #333333; box-shadow: none; cursor: default; opacity: 0.7; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { background-color: #61b6d9; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { color: #FFFFFF; }

button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus { background-color: #a0d3e8; }

button::-moz-focus-inner { border: 0; padding: 0; }

@media only screen and (min-width: 48em) { button, .button { display: inline-block; } }

.button-group { list-style: none; margin: 0; left: 0; }

.button-group:before, .button-group:after { content: " "; display: table; }

.button-group:after { clear: both; }

.button-group.even-2 li { display: inline-block; margin: 0 -2px; width: 50%; }

.button-group.even-2 li > button, .button-group.even-2 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button { border-left: 0; }

.button-group.even-2 li button, .button-group.even-2 li .button { width: 100%; }

.button-group.even-3 li { display: inline-block; margin: 0 -2px; width: 33.3333333333%; }

.button-group.even-3 li > button, .button-group.even-3 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button { border-left: 0; }

.button-group.even-3 li button, .button-group.even-3 li .button { width: 100%; }

.button-group.even-4 li { display: inline-block; margin: 0 -2px; width: 25%; }

.button-group.even-4 li > button, .button-group.even-4 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button { border-left: 0; }

.button-group.even-4 li button, .button-group.even-4 li .button { width: 100%; }

.button-group.even-5 li { display: inline-block; margin: 0 -2px; width: 20%; }

.button-group.even-5 li > button, .button-group.even-5 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button { border-left: 0; }

.button-group.even-5 li button, .button-group.even-5 li .button { width: 100%; }

.button-group.even-6 li { display: inline-block; margin: 0 -2px; width: 16.6666666667%; }

.button-group.even-6 li > button, .button-group.even-6 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button { border-left: 0; }

.button-group.even-6 li button, .button-group.even-6 li .button { width: 100%; }

.button-group.even-7 li { display: inline-block; margin: 0 -2px; width: 14.2857142857%; }

.button-group.even-7 li > button, .button-group.even-7 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button { border-left: 0; }

.button-group.even-7 li button, .button-group.even-7 li .button { width: 100%; }

.button-group.even-8 li { display: inline-block; margin: 0 -2px; width: 12.5%; }

.button-group.even-8 li > button, .button-group.even-8 li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button { border-left: 0; }

.button-group.even-8 li button, .button-group.even-8 li .button { width: 100%; }

.button-group > li { display: inline-block; margin: 0 -2px; }

.button-group > li > button, .button-group > li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group > li:first-child button, .button-group > li:first-child .button { border-left: 0; }

.button-group.stack > li { display: block; margin: 0; float: none; }

.button-group.stack > li > button, .button-group.stack > li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { border-left: 0; }

.button-group.stack > li > button, .button-group.stack > li .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }

.button-group.stack > li > button { width: 100%; }

.button-group.stack > li:first-child button, .button-group.stack > li:first-child .button { border-top: 0; }

.button-group.stack-for-small > li { display: inline-block; margin: 0 -2px; }

.button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { border-left: 0; }

@media only screen and (max-width: 40em) { .button-group.stack-for-small > li { display: block; margin: 0; }
  .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }
  .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { border-left: 0; }
  .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }
  .button-group.stack-for-small > li > button { width: 100%; }
  .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button { border-top: 0; } }

.button-group.radius > * { display: inline-block; margin: 0 -2px; }

.button-group.radius > * > button, .button-group.radius > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.radius > *:first-child button, .button-group.radius > *:first-child .button { border-left: 0; }

.button-group.radius > *, .button-group.radius > * > a, .button-group.radius > * > button, .button-group.radius > * > .button { border-radius: 0; }

.button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button { -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.button-group.radius.stack > * { display: block; margin: 0; }

.button-group.radius.stack > * > button, .button-group.radius.stack > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { border-left: 0; }

.button-group.radius.stack > * > button, .button-group.radius.stack > * .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }

.button-group.radius.stack > * > button { width: 100%; }

.button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button { border-top: 0; }

.button-group.radius.stack > *, .button-group.radius.stack > * > a, .button-group.radius.stack > * > button, .button-group.radius.stack > * > .button { border-radius: 0; }

.button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button { -webkit-top-left-radius: 3px; -webkit-top-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }

.button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button { -webkit-bottom-left-radius: 3px; -webkit-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; }

@media only screen and (min-width: 48em) { .button-group.radius.stack-for-small > * { display: inline-block; margin: 0 -2px; }
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { border-left: 0; }
  .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { border-radius: 0; }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; } }

@media only screen and (max-width: 40em) { .button-group.radius.stack-for-small > * { display: block; margin: 0; }
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { border-left: 0; }
  .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }
  .button-group.radius.stack-for-small > * > button { width: 100%; }
  .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button { border-top: 0; }
  .button-group.radius.stack-for-small > *, .button-group.radius.stack-for-small > * > a, .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * > .button { border-radius: 0; }
  .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button { -webkit-top-left-radius: 3px; -webkit-top-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }
  .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button { -webkit-bottom-left-radius: 3px; -webkit-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } }

.button-group.round > * { display: inline-block; margin: 0 -2px; }

.button-group.round > * > button, .button-group.round > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.round > *:first-child button, .button-group.round > *:first-child .button { border-left: 0; }

.button-group.round > *, .button-group.round > * > a, .button-group.round > * > button, .button-group.round > * > .button { border-radius: 0; }

.button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button { -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

.button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button { -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

.button-group.round.stack > * { display: block; margin: 0; }

.button-group.round.stack > * > button, .button-group.round.stack > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }

.button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { border-left: 0; }

.button-group.round.stack > * > button, .button-group.round.stack > * .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }

.button-group.round.stack > * > button { width: 100%; }

.button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button { border-top: 0; }

.button-group.round.stack > *, .button-group.round.stack > * > a, .button-group.round.stack > * > button, .button-group.round.stack > * > .button { border-radius: 0; }

.button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button { -webkit-top-left-radius: 1rem; -webkit-top-right-radius: 1rem; border-top-left-radius: 1rem; border-top-right-radius: 1rem; }

.button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button { -webkit-bottom-left-radius: 1rem; -webkit-bottom-right-radius: 1rem; border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem; }

@media only screen and (min-width: 48em) { .button-group.round.stack-for-small > * { display: inline-block; margin: 0 -2px; }
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { border-left: 0; }
  .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { border-radius: 0; }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; } }

@media only screen and (max-width: 40em) { .button-group.round.stack-for-small > * { display: block; margin: 0; }
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { border-left: 1px solid; border-color: rgba(255, 255, 255, 0.5); }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { border-left: 0; }
  .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button { border-color: rgba(255, 255, 255, 0.5); border-left-width: 0; border-top: 1px solid; display: block; margin: 0; }
  .button-group.round.stack-for-small > * > button { width: 100%; }
  .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button { border-top: 0; }
  .button-group.round.stack-for-small > *, .button-group.round.stack-for-small > * > a, .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * > .button { border-radius: 0; }
  .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button { -webkit-top-left-radius: 1rem; -webkit-top-right-radius: 1rem; border-top-left-radius: 1rem; border-top-right-radius: 1rem; }
  .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button { -webkit-bottom-left-radius: 1rem; -webkit-bottom-right-radius: 1rem; border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem; } }

.button-bar:before, .button-bar:after { content: " "; display: table; }

.button-bar:after { clear: both; }

.button-bar .button-group { float: left; margin-right: 0.625rem; }

.button-bar .button-group div { overflow: hidden; }

/* Clearing Styles */
.clearing-thumbs, [data-clearing] { list-style: none; margin-left: 0; margin-bottom: 0; }

.clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after { content: " "; display: table; }

.clearing-thumbs:after, [data-clearing]:after { clear: both; }

.clearing-thumbs li, [data-clearing] li { float: left; margin-right: 10px; }

.clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li { margin-right: 0; }

.clearing-blackout { background: #333333; height: 100%; position: fixed; top: 0; width: 100%; z-index: 998; left: 0; }

.clearing-blackout .clearing-close { display: block; }

.clearing-container { height: 100%; margin: 0; overflow: hidden; position: relative; z-index: 998; }

.clearing-touch-label { color: #AAAAAA; font-size: .6em; left: 50%; position: absolute; top: 50%; }

.visible-img { height: 95%; position: relative; }

.visible-img img { position: absolute; left: 50%; top: 50%; -webkit-transform: translateY(-50%) translateX(-50%); -moz-transform: translateY(-50%) translateX(-50%); -ms-transform: translateY(-50%) translateX(-50%); -o-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); max-height: 100%; max-width: 100%; }

.clearing-caption { background: #333333; bottom: 0; color: #CCCCCC; font-size: 0.875em; line-height: 1.3; margin-bottom: 0; padding: 10px 30px 20px; position: absolute; text-align: center; width: 100%; left: 0; }

.clearing-close { color: #CCCCCC; display: none; font-size: 30px; line-height: 1; padding-left: 20px; padding-top: 10px; z-index: 999; }

.clearing-close:hover, .clearing-close:focus { color: #CCCCCC; }

.clearing-assembled .clearing-container { height: 100%; }

.clearing-assembled .clearing-container .carousel > ul { display: none; }

.clearing-feature li { display: none; }

.clearing-feature li.clearing-featured-img { display: block; }

@media only screen and (min-width: 48em) { .clearing-main-prev, .clearing-main-next { height: 100%; position: absolute; top: 0; width: 40px; }
  .clearing-main-prev > span, .clearing-main-next > span { border: solid 12px; display: block; height: 0; position: absolute; top: 50%; width: 0; }
  .clearing-main-prev > span:hover, .clearing-main-next > span:hover { opacity: .8; }
  .clearing-main-prev { left: 0; }
  .clearing-main-prev > span { left: 5px; border-color: transparent; border-right-color: #CCCCCC; }
  .clearing-main-next { right: 0; }
  .clearing-main-next > span { border-color: transparent; border-left-color: #CCCCCC; }
  .clearing-main-prev.disabled, .clearing-main-next.disabled { opacity: .3; }
  .clearing-assembled .clearing-container .carousel { background: rgba(51, 51, 51, 0.8); height: 120px; margin-top: 10px; text-align: center; }
  .clearing-assembled .clearing-container .carousel > ul { display: inline-block; z-index: 999; height: 100%; position: relative; float: none; }
  .clearing-assembled .clearing-container .carousel > ul li { clear: none; cursor: pointer; display: block; float: left; margin-right: 0; min-height: inherit; opacity: .4; overflow: hidden; padding: 0; position: relative; width: 120px; }
  .clearing-assembled .clearing-container .carousel > ul li.fix-height img { height: 100%; max-width: none; }
  .clearing-assembled .clearing-container .carousel > ul li a.th { border: none; box-shadow: none; display: block; }
  .clearing-assembled .clearing-container .carousel > ul li img { cursor: pointer !important; width: 100% !important; }
  .clearing-assembled .clearing-container .carousel > ul li.visible { opacity: 1; }
  .clearing-assembled .clearing-container .carousel > ul li:hover { opacity: .8; }
  .clearing-assembled .clearing-container .visible-img { background: #333333; height: 85%; overflow: hidden; }
  .clearing-close { padding-left: 0; padding-top: 0; position: absolute; top: 10px; right: 20px; } }

/* Foundation Dropdowns */
.f-dropdown { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 2px; max-width: 200px; }

.f-dropdown.open { display: block; }

.f-dropdown > *:first-child { margin-top: 0; }

.f-dropdown > *:last-child { margin-bottom: 0; }

.f-dropdown:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent #FFFFFF transparent; border-bottom-style: solid; position: absolute; top: -12px; left: 10px; z-index: 89; }

.f-dropdown:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent #cccccc transparent; border-bottom-style: solid; position: absolute; top: -14px; left: 9px; z-index: 88; }

.f-dropdown.right:before { left: auto; right: 10px; }

.f-dropdown.right:after { left: auto; right: 9px; }

.f-dropdown.drop-right { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 0; margin-left: 2px; max-width: 200px; }

.f-dropdown.drop-right.open { display: block; }

.f-dropdown.drop-right > *:first-child { margin-top: 0; }

.f-dropdown.drop-right > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-right:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent #FFFFFF transparent transparent; border-right-style: solid; position: absolute; top: 10px; left: -12px; z-index: 89; }

.f-dropdown.drop-right:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent #cccccc transparent transparent; border-right-style: solid; position: absolute; top: 9px; left: -14px; z-index: 88; }

.f-dropdown.drop-left { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-top: 0; margin-left: -2px; max-width: 200px; }

.f-dropdown.drop-left.open { display: block; }

.f-dropdown.drop-left > *:first-child { margin-top: 0; }

.f-dropdown.drop-left > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-left:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent #FFFFFF; border-left-style: solid; position: absolute; top: 10px; right: -12px; left: auto; z-index: 89; }

.f-dropdown.drop-left:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent #cccccc; border-left-style: solid; position: absolute; top: 9px; right: -14px; left: auto; z-index: 88; }

.f-dropdown.drop-top { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; width: 100%; z-index: 89; margin-left: 0; margin-top: -2px; max-width: 200px; }

.f-dropdown.drop-top.open { display: block; }

.f-dropdown.drop-top > *:first-child { margin-top: 0; }

.f-dropdown.drop-top > *:last-child { margin-bottom: 0; }

.f-dropdown.drop-top:before { border: inset 6px; content: ""; display: block; height: 0; width: 0; border-color: #FFFFFF transparent transparent transparent; border-top-style: solid; bottom: -12px; position: absolute; top: auto; left: 10px; right: auto; z-index: 89; }

.f-dropdown.drop-top:after { border: inset 7px; content: ""; display: block; height: 0; width: 0; border-color: #cccccc transparent transparent transparent; border-top-style: solid; bottom: -14px; position: absolute; top: auto; left: 9px; right: auto; z-index: 88; }

.f-dropdown li { cursor: pointer; font-size: 0.875rem; line-height: 1.125rem; margin: 0; }

.f-dropdown li:hover, .f-dropdown li:focus { background: #EEEEEE; }

.f-dropdown li.radius { border-radius: 3px; }

.f-dropdown li a { display: block; padding: 0.5rem; color: #555555; }

.f-dropdown.content { display: none; left: -9999px; list-style: none; margin-left: 0; position: absolute; background: #FFFFFF; border: solid 1px #cccccc; font-size: 0.875rem; height: auto; max-height: none; padding: 1.25rem; width: 100%; z-index: 89; max-width: 200px; }

.f-dropdown.content.open { display: block; }

.f-dropdown.content > *:first-child { margin-top: 0; }

.f-dropdown.content > *:last-child { margin-bottom: 0; }

.f-dropdown.tiny { max-width: 200px; }

.f-dropdown.small { max-width: 300px; }

.f-dropdown.medium { max-width: 500px; }

.f-dropdown.large { max-width: 800px; }

.f-dropdown.mega { width: 100% !important; max-width: 100% !important; }

.f-dropdown.mega.open { left: 0 !important; }

.dropdown.button, button.dropdown { position: relative; padding-right: 3.5625rem; }

.dropdown.button::after, button.dropdown::after { border-color: #FFFFFF transparent transparent transparent; border-style: solid; content: ""; display: block; height: 0; position: absolute; top: 50%; width: 0; }

.dropdown.button::after, button.dropdown::after { border-width: 0.375rem; right: 1.40625rem; margin-top: -0.15625rem; }

.dropdown.button::after, button.dropdown::after { border-color: #FFFFFF transparent transparent transparent; }

.dropdown.button.tiny, button.dropdown.tiny { padding-right: 2.625rem; }

.dropdown.button.tiny:after, button.dropdown.tiny:after { border-width: 0.375rem; right: 1.125rem; margin-top: -0.125rem; }

.dropdown.button.tiny::after, button.dropdown.tiny::after { border-color: #FFFFFF transparent transparent transparent; }

.dropdown.button.small, button.dropdown.small { padding-right: 3.0625rem; }

.dropdown.button.small::after, button.dropdown.small::after { border-width: 0.4375rem; right: 1.3125rem; margin-top: -0.15625rem; }

.dropdown.button.small::after, button.dropdown.small::after { border-color: #FFFFFF transparent transparent transparent; }

.dropdown.button.large, button.dropdown.large { padding-right: 3.625rem; }

.dropdown.button.large::after, button.dropdown.large::after { border-width: 0.3125rem; right: 1.71875rem; margin-top: -0.15625rem; }

.dropdown.button.large::after, button.dropdown.large::after { border-color: #FFFFFF transparent transparent transparent; }

.dropdown.button.secondary:after, button.dropdown.secondary:after { border-color: #333333 transparent transparent transparent; }

.flex-video { height: 0; margin-bottom: 1rem; overflow: hidden; padding-bottom: 67.5%; padding-top: 1.5625rem; position: relative; }

.flex-video.widescreen { padding-bottom: 56.34%; }

.flex-video.vimeo { padding-top: 0; }

.flex-video iframe, .flex-video object, .flex-video embed, .flex-video video { height: 100%; position: absolute; top: 0; width: 100%; left: 0; }

/* Standard Forms */
form { margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row { margin: 0 -0.5rem; }

form .row .row .column, form .row .row .columns { padding: 0 0.5rem; }

form .row .row.collapse { margin: 0; }

form .row .row.collapse .column, form .row .row.collapse .columns { padding: 0; }

form .row .row.collapse input { -webkit-border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }

form .row input.column, form .row input.columns, form .row textarea.column, form .row textarea.columns { padding-left: 0.5rem; }

/* Label Styles */
label { color: #4d4c4c; cursor: pointer; display: block; font-size: 0.875rem; font-weight: normal; line-height: 1.5; margin-bottom: 0; /* Styles for required inputs */ }

label.right { float: none !important; text-align: right; }

label.inline { margin: 0 0 1rem 0; padding: 0.5625rem 0; }

label small { text-transform: capitalize; color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix, .postfix { border-style: solid; border-width: 1px; display: block; font-size: 0.875rem; height: 2.3125rem; line-height: 2.3125rem; overflow: visible; padding-bottom: 0; padding-top: 0; position: relative; text-align: center; width: 100%; z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button { border: none; padding-left: 0; padding-right: 0; padding-bottom: 0; padding-top: 0; text-align: center; }

.prefix.button { border: none; padding-left: 0; padding-right: 0; padding-bottom: 0; padding-top: 0; text-align: center; }

.prefix.button.radius { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.postfix.button.radius { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.prefix.button.round { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

.postfix.button.round { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix { background: #f2f2f2; border-right: none; color: #333333; border-color: #cccccc; }

span.postfix, label.postfix { background: #f2f2f2; border-left: none; color: #333333; border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; background-color: #FFFFFF; border-style: solid; border-width: 1px; border-color: #cccccc; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); color: rgba(0, 0, 0, 0.75); display: block; font-family: inherit; font-size: 0.875rem; height: 2.3125rem; margin: 0 0 1rem 0; padding: 0.5rem; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: border-color 0.15s linear, background 0.15s linear; -moz-transition: border-color 0.15s linear, background 0.15s linear; -ms-transition: border-color 0.15s linear, background 0.15s linear; -o-transition: border-color 0.15s linear, background 0.15s linear; transition: border-color 0.15s linear, background 0.15s linear; }

input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus { background: #fafafa; border-color: #999999; outline: none; }

input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled { background-color: #DDDDDD; cursor: default; }

input[type="text"][disabled], input[type="text"][readonly], fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly], fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly], fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly], fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly], fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly], fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly], fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly], fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly], fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly], fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly], fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly], fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly], fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly], fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly], fieldset[disabled] textarea { background-color: #DDDDDD; cursor: default; }

input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius { border-radius: 3px; }

form .row .prefix-radius.row.collapse input, form .row .prefix-radius.row.collapse textarea, form .row .prefix-radius.row.collapse select, form .row .prefix-radius.row.collapse button { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

form .row .prefix-radius.row.collapse .prefix { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse input, form .row .postfix-radius.row.collapse textarea, form .row .postfix-radius.row.collapse select, form .row .postfix-radius.row.collapse button { border-radius: 0; -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse .postfix { border-radius: 0; -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

form .row .prefix-round.row.collapse input, form .row .prefix-round.row.collapse textarea, form .row .prefix-round.row.collapse select, form .row .prefix-round.row.collapse button { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input, form .row .postfix-round.row.collapse textarea, form .row .postfix-round.row.collapse select, form .row .postfix-round.row.collapse button { border-radius: 0; -webkit-border-bottom-left-radius: 1000px; -webkit-border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix { border-radius: 0; -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; border-radius: 0; }

/* Respect enforced amount of rows for textarea */
textarea[rows] { height: auto; }

/* Not allow resize out of parent */
textarea { max-width: 100%; }

/* Add height value for select elements to match text input height */
select { -webkit-appearance: none !important; -moz-appearance: none !important; background-color: #FAFAFA; border-radius: 0; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 100% center; background-repeat: no-repeat; border-style: solid; border-width: 1px; border-color: #cccccc; color: rgba(0, 0, 0, 0.75); font-family: inherit; font-size: 0.875rem; line-height: normal; padding: 0.5rem; border-radius: 0; height: 2.3125rem; }

select::-ms-expand { display: none; }

select.radius { border-radius: 3px; }

select:hover { background-color: #f3f2f2; border-color: #999999; }

select:disabled { background-color: #DDDDDD; cursor: default; }

select[multiple] { height: auto; }

/* Adjust margin for form elements below */
input[type="file"], input[type="checkbox"], input[type="radio"], select { margin: 0 0 1rem 0; }

input[type="checkbox"] + label, input[type="radio"] + label { display: inline-block; margin-left: 0.5rem; margin-right: 1rem; margin-bottom: 0; vertical-align: baseline; }

/* Normalize file input width */
input[type="file"] { width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset { border: 1px solid #DDDDDD; margin: 1.125rem 0; padding: 1.25rem; }

fieldset legend { background: #FFFFFF; font-weight: bold; margin-left: -0.1875rem; margin: 0; padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error { display: none; }

span.error, small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

.error input, .error textarea, .error select { margin-bottom: 0; }

.error input[type="checkbox"], .error input[type="radio"] { margin-bottom: 1rem; }

.error label, .error label.error { color: #f04124; }

.error small.error { display: block; font-size: 0.75rem; font-style: italic; font-weight: normal; margin-bottom: 1rem; margin-top: -1px; padding: 0.375rem 0.5625rem 0.5625rem; background: #f04124; color: #FFFFFF; }

.error > label > small { background: transparent; color: #676767; display: inline; font-size: 60%; font-style: normal; margin: 0; padding: 0; text-transform: capitalize; }

.error span.error-message { display: block; }

input.error, textarea.error, select.error { margin-bottom: 0; }

label.error { color: #f04124; }

.icon-bar { display: inline-block; font-size: 0; width: 100%; background: #333333; }

.icon-bar > * { display: block; float: left; font-size: 1rem; margin: 0 auto; padding: 1.25rem; text-align: center; width: 25%; }

.icon-bar > * i, .icon-bar > * img { display: block; margin: 0 auto; }

.icon-bar > * i + label, .icon-bar > * img + label { margin-top: .0625rem; }

.icon-bar > * i { font-size: 1.875rem; vertical-align: middle; }

.icon-bar > * img { height: 1.875rem; width: 1.875rem; }

.icon-bar.label-right > * i, .icon-bar.label-right > * img { display: inline-block; margin: 0 .0625rem 0 0; }

.icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label { margin-top: 0; }

.icon-bar.label-right > * label { display: inline-block; }

.icon-bar.vertical.label-right > * { text-align: left; }

.icon-bar.vertical, .icon-bar.small-vertical { height: 100%; width: auto; }

.icon-bar.vertical .item, .icon-bar.small-vertical .item { float: none; margin: auto; width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.medium-vertical { height: 100%; width: auto; }
  .icon-bar.medium-vertical .item { float: none; margin: auto; width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.large-vertical { height: 100%; width: auto; }
  .icon-bar.large-vertical .item { float: none; margin: auto; width: auto; } }

.icon-bar > * { font-size: 1rem; padding: 1.25rem; }

.icon-bar > * i + label, .icon-bar > * img + label { margin-top: .0625rem; }

.icon-bar > * i { font-size: 1.875rem; }

.icon-bar > * img { height: 1.875rem; width: 1.875rem; }

.icon-bar > * label { color: #FFFFFF; }

.icon-bar > * i { color: #FFFFFF; }

.icon-bar > a:hover { background: #008CBA; }

.icon-bar > a:hover label { color: #FFFFFF; }

.icon-bar > a:hover i { color: #FFFFFF; }

.icon-bar > a.active { background: #008CBA; }

.icon-bar > a.active label { color: #FFFFFF; }

.icon-bar > a.active i { color: #FFFFFF; }

.icon-bar .item.disabled { cursor: not-allowed; opacity: 0.7; pointer-events: none; }

.icon-bar .item.disabled > * { opacity: 0.7; cursor: not-allowed; }

.icon-bar.two-up .item { width: 50%; }

.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.two-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.two-up.large-vertical .item { width: auto; } }

.icon-bar.three-up .item { width: 33.3333%; }

.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.three-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.three-up.large-vertical .item { width: auto; } }

.icon-bar.four-up .item { width: 25%; }

.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.four-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.four-up.large-vertical .item { width: auto; } }

.icon-bar.five-up .item { width: 20%; }

.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.five-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.five-up.large-vertical .item { width: auto; } }

.icon-bar.six-up .item { width: 16.66667%; }

.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.six-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.six-up.large-vertical .item { width: auto; } }

.icon-bar.seven-up .item { width: 14.28571%; }

.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.seven-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.seven-up.large-vertical .item { width: auto; } }

.icon-bar.eight-up .item { width: 12.5%; }

.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item { width: auto; }

@media only screen and (min-width: 48em) { .icon-bar.eight-up.medium-vertical .item { width: auto; } }

@media only screen and (min-width: 64.0625em) { .icon-bar.eight-up.large-vertical .item { width: auto; } }

.inline-list { list-style: none; margin-left: -1.375rem; margin-right: 0; margin: 0 auto 1.0625rem auto; overflow: hidden; padding: 0; }

.inline-list > li { display: block; float: left; list-style: none; margin-left: 1.375rem; }

.inline-list > li > * { display: block; }

/* Foundation Joyride */
.joyride-list { display: none; }

/* Default styles for the container */
.joyride-tip-guide { background: #333333; color: #FFFFFF; display: none; font-family: inherit; font-weight: normal; position: absolute; top: 0; width: 95%; z-index: 101; left: 2.5%; }

.lt-ie9 .joyride-tip-guide { margin-left: -400px; max-width: 800px; left: 50%; }

.joyride-content-wrapper { padding: 1.125rem 1.25rem 1.5rem; width: 100%; }

.joyride-content-wrapper .button { margin-bottom: 0 !important; }

.joyride-content-wrapper .joyride-prev-tip { margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub { border: 10px solid #333333; display: block; height: 0; position: absolute; width: 0; left: 22px; }

.joyride-tip-guide .joyride-nub.top { border-color: #333333; border-top-color: transparent !important; border-top-style: solid; border-left-color: transparent !important; border-right-color: transparent !important; top: -20px; }

.joyride-tip-guide .joyride-nub.bottom { border-bottom-color: transparent !important; border-bottom-style: solid; border-color: #333333 !important; border-left-color: transparent !important; border-right-color: transparent !important; bottom: -20px; }

.joyride-tip-guide .joyride-nub.right { right: -20px; }

.joyride-tip-guide .joyride-nub.left { left: -20px; }

/* Typography */
.joyride-tip-guide h1, .joyride-tip-guide h2, .joyride-tip-guide h3, .joyride-tip-guide h4, .joyride-tip-guide h5, .joyride-tip-guide h6 { color: #FFFFFF; font-weight: bold; line-height: 1.25; margin: 0; }

.joyride-tip-guide p { font-size: 0.875rem; line-height: 1.3; margin: 0 0 1.125rem 0; }

.joyride-timer-indicator-wrap { border: solid 1px #555555; bottom: 1rem; height: 3px; position: absolute; width: 50px; right: 1.0625rem; }

.joyride-timer-indicator { background: #666666; display: block; height: inherit; width: 0; }

.joyride-close-tip { color: #777777 !important; font-size: 24px; font-weight: normal; line-height: .5 !important; position: absolute; text-decoration: none; top: 10px; right: 12px; }

.joyride-close-tip:hover, .joyride-close-tip:focus { color: #EEEEEE !important; }

.joyride-modal-bg { background: rgba(0, 0, 0, 0.5); cursor: pointer; display: none; height: 100%; position: fixed; top: 0; width: 100%; z-index: 100; left: 0; }

.joyride-expose-wrapper { background-color: #FFFFFF; border-radius: 3px; box-shadow: 0 0 15px #FFFFFF; position: absolute; z-index: 102; }

.joyride-expose-cover { background: transparent; border-radius: 3px; left: 0; position: absolute; top: 0; z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen and (min-width: 48em) { .joyride-tip-guide { width: 300px; left: inherit; }
  .joyride-tip-guide .joyride-nub.bottom { border-bottom-color: transparent !important; border-color: #333333 !important; border-left-color: transparent !important; border-right-color: transparent !important; bottom: -20px; }
  .joyride-tip-guide .joyride-nub.right { border-color: #333333 !important; border-right-color: transparent !important; border-bottom-color: transparent !important; border-top-color: transparent !important; left: auto; right: -20px; top: 22px; }
  .joyride-tip-guide .joyride-nub.left { border-bottom-color: transparent !important; border-color: #333333 !important; border-left-color: transparent !important; border-top-color: transparent !important; left: -20px; right: auto; top: 22px; } }

.keystroke, kbd { background-color: #ededed; border-color: #dddddd; color: #222222; border-style: solid; border-width: 1px; font-family: "Consolas", "Menlo", "Courier", monospace; font-size: inherit; margin: 0; padding: 0.125rem 0.25rem 0; border-radius: 3px; }

.label { display: inline-block; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; line-height: 1; margin-bottom: auto; position: relative; text-align: center; text-decoration: none; white-space: nowrap; padding: 0.25rem 0.5rem 0.25rem; font-size: 0.6875rem; background-color: #008CBA; color: #FFFFFF; }

.label.radius { border-radius: 3px; }

.label.round { border-radius: 1000px; }

.label.alert { background-color: #f04124; color: #FFFFFF; }

.label.warning { background-color: #f08a24; color: #FFFFFF; }

.label.success { background-color: #43AC6A; color: #FFFFFF; }

.label.secondary { background-color: #e7e7e7; color: #333333; }

.label.info { background-color: #a0d3e8; color: #333333; }

[data-magellan-expedition], [data-magellan-expedition-clone] { background: #FFFFFF; min-width: 100%; padding: 10px; z-index: 50; }

[data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav { margin-bottom: 0; }

[data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd { margin-bottom: 0; }

[data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a { line-height: 1.8em; }

@-webkit-keyframes rotate { from { -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate { from { -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  to { -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
.slideshow-wrapper { position: relative; }

.slideshow-wrapper ul { list-style-type: none; margin: 0; }

.slideshow-wrapper ul li, .slideshow-wrapper ul li .orbit-caption { display: none; }

.slideshow-wrapper ul li:first-child { display: block; }

.slideshow-wrapper .orbit-container { background-color: transparent; }

.slideshow-wrapper .orbit-container li { display: block; }

.slideshow-wrapper .orbit-container li .orbit-caption { display: block; }

.slideshow-wrapper .orbit-container .orbit-bullets li { display: inline-block; }

.slideshow-wrapper .preloader { border-radius: 1000px; animation-duration: 1.5s; animation-iteration-count: infinite; animation-name: rotate; animation-timing-function: linear; border-color: #555555 #FFFFFF; border: solid 3px; display: block; height: 40px; left: 50%; margin-left: -20px; margin-top: -20px; position: absolute; top: 50%; width: 40px; }

.orbit-container { background: none; overflow: hidden; position: relative; width: 100%; }

.orbit-container .orbit-slides-container { list-style: none; margin: 0; padding: 0; position: relative; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); }

.orbit-container .orbit-slides-container img { display: block; max-width: 100%; }

.orbit-container .orbit-slides-container > * { position: absolute; top: 0; width: 100%; margin-left: 100%; }

.orbit-container .orbit-slides-container > *:first-child { margin-left: 0; }

.orbit-container .orbit-slides-container > * .orbit-caption { bottom: 0; position: absolute; background-color: rgba(51, 51, 51, 0.8); color: #FFFFFF; font-size: 0.875rem; padding: 0.625rem 0.875rem; width: 100%; }

.orbit-container .orbit-slide-number { left: 10px; background: rgba(0, 0, 0, 0); color: #FFFFFF; font-size: 12px; position: absolute; top: 10px; z-index: 10; }

.orbit-container .orbit-slide-number span { font-weight: 700; padding: 0.3125rem; }

.orbit-container .orbit-timer { height: 6px; position: absolute; top: 12px; width: 100px; z-index: 10; right: 10px; }

.orbit-container .orbit-timer .orbit-progress { background-color: rgba(255, 255, 255, 0.3); display: block; height: 3px; position: relative; right: 20px; top: 5px; width: 0; }

.orbit-container .orbit-timer > span { border-bottom: none; border-top: none; border: solid 4px #FFFFFF; display: none; height: 14px; position: absolute; top: 0; width: 11px; right: 0; }

.orbit-container .orbit-timer.paused > span { border-color: transparent; border-left-color: #FFFFFF; border-left-style: solid; border: inset 8px; height: 14px; top: 0; width: 11px; right: -4px; }

.orbit-container .orbit-timer.paused > span.dark { border-left-color: #333333; }

.orbit-container:hover .orbit-timer > span { display: block; }

.orbit-container .orbit-prev, .orbit-container .orbit-next { background-color: transparent; color: white; height: 60px; line-height: 50px; margin-top: -25px; position: absolute; text-indent: -9999px !important; top: 45%; width: 36px; z-index: 10; }

.orbit-container .orbit-prev:hover, .orbit-container .orbit-next:hover { background-color: rgba(0, 0, 0, 0.3); }

.orbit-container .orbit-prev > span, .orbit-container .orbit-next > span { border: inset 10px; display: block; height: 0; margin-top: -10px; position: absolute; top: 50%; width: 0; }

.orbit-container .orbit-prev { left: 0; }

.orbit-container .orbit-prev > span { border-right-style: solid; border-color: transparent; border-right-color: #FFFFFF; }

.orbit-container .orbit-prev:hover > span { border-right-color: #FFFFFF; }

.orbit-container .orbit-next { right: 0; }

.orbit-container .orbit-next > span { border-color: transparent; border-left-style: solid; border-left-color: #FFFFFF; left: 50%; margin-left: -4px; }

.orbit-container .orbit-next:hover > span { border-left-color: #FFFFFF; }

.orbit-bullets-container { text-align: center; }

.orbit-bullets { display: block; float: none; margin: 0 auto 30px auto; overflow: hidden; position: relative; text-align: center; top: 10px; }

.orbit-bullets li { background: #CCCCCC; cursor: pointer; display: inline-block; float: none; height: 0.5625rem; margin-right: 6px; width: 0.5625rem; border-radius: 1000px; }

.orbit-bullets li.active { background: #999999; }

.orbit-bullets li:last-child { margin-right: 0; }

.touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next { display: none; }

.touch .orbit-bullets { display: none; }

@media only screen and (min-width: 48em) { .touch .orbit-container .orbit-prev, .touch .orbit-container .orbit-next { display: inherit; }
  .touch .orbit-bullets { display: block; } }

@media only screen and (max-width: 40em) { .orbit-stack-on-small .orbit-slides-container { height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * { margin: 0  !important; opacity: 1 !important; position: relative; }
  .orbit-stack-on-small .orbit-slide-number { display: none; }
  .orbit-timer { display: none; }
  .orbit-next, .orbit-prev { display: none; }
  .orbit-bullets { display: none; } }

ul.pagination { display: block; margin-left: -0.3125rem; min-height: 1.5rem; }

ul.pagination li { color: #222222; font-size: 0.875rem; height: 1.5rem; margin-left: 0.3125rem; }

ul.pagination li a, ul.pagination li button { border-radius: 3px; transition: background-color 300ms ease-out; background: none; color: #999999; display: block; font-size: 1em; font-weight: normal; line-height: inherit; padding: 0.0625rem 0.625rem 0.0625rem; }

ul.pagination li:hover a, ul.pagination li a:focus, ul.pagination li:hover button, ul.pagination li button:focus { background: #e6e5e5; }

ul.pagination li.unavailable a, ul.pagination li.unavailable button { cursor: default; color: #999999; }

ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus { background: transparent; }

ul.pagination li.current a, ul.pagination li.current button { background: #008CBA; color: #FFFFFF; cursor: default; font-weight: bold; }

ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus { background: #008CBA; }

ul.pagination li { display: block; float: left; }

/* Pagination centred wrapper */
.pagination-centered { text-align: center; }

.pagination-centered ul.pagination li { display: inline-block; float: none; }

/* Panels */
.panel { border-color: #d8d8d8; border-style: solid; border-width: 1px; margin-bottom: 1.25rem; padding: 1.25rem; background: #f2f2f2; color: #333333; }

.panel > :first-child { margin-top: 0; }

.panel > :last-child { margin-bottom: 0; }

.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl { color: #333333; }

.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 { line-height: 1; margin-bottom: 0.625rem; }

.panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader { line-height: 1.4; }

.panel.callout { border-color: #b6edff; border-style: solid; border-width: 1px; margin-bottom: 1.25rem; padding: 1.25rem; background: #ecfaff; color: #333333; }

.panel.callout > :first-child { margin-top: 0; }

.panel.callout > :last-child { margin-bottom: 0; }

.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl { color: #333333; }

.panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 { line-height: 1; margin-bottom: 0.625rem; }

.panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader { line-height: 1.4; }

.panel.callout a:not(.button) { color: #008CBA; }

.panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus { color: #0078a0; }

.panel.radius { border-radius: 3px; }

/* Pricing Tables */
.pricing-table { border: solid 1px #DDDDDD; margin-left: 0; margin-bottom: 1.25rem; }

.pricing-table * { list-style: none; line-height: 1; }

.pricing-table .title { background-color: #333333; color: #EEEEEE; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 1rem; font-weight: normal; padding: 0.9375rem 1.25rem; text-align: center; }

.pricing-table .price { background-color: #F6F6F6; color: #333333; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 2rem; font-weight: normal; padding: 0.9375rem 1.25rem; text-align: center; }

.pricing-table .description { background-color: #FFFFFF; border-bottom: dotted 1px #DDDDDD; color: #777777; font-size: 0.75rem; font-weight: normal; line-height: 1.4; padding: 0.9375rem; text-align: center; }

.pricing-table .bullet-item { background-color: #FFFFFF; border-bottom: dotted 1px #DDDDDD; color: #333333; font-size: 0.875rem; font-weight: normal; padding: 0.9375rem; text-align: center; }

.pricing-table .cta-button { background-color: #FFFFFF; padding: 1.25rem 1.25rem 0; text-align: center; }

/* Progress Bar */
.progress { background-color: #F6F6F6; border: 1px solid white; height: 1.5625rem; margin-bottom: 0.625rem; padding: 0.125rem; }

.progress .meter { background: #008CBA; display: block; height: 100%; }

.progress.secondary .meter { background: #e7e7e7; display: block; height: 100%; }

.progress.success .meter { background: #43AC6A; display: block; height: 100%; }

.progress.alert .meter { background: #f04124; display: block; height: 100%; }

.progress.radius { border-radius: 3px; }

.progress.radius .meter { border-radius: 2px; }

.progress.round { border-radius: 1000px; }

.progress.round .meter { border-radius: 999px; }

.range-slider { border: 1px solid #DDDDDD; margin: 1.25rem 0; position: relative; -ms-touch-action: none; touch-action: none; display: block; height: 1rem; width: 100%; background: #FAFAFA; }

.range-slider.vertical-range { border: 1px solid #DDDDDD; margin: 1.25rem 0; position: relative; -ms-touch-action: none; touch-action: none; display: inline-block; height: 12.5rem; width: 1rem; }

.range-slider.vertical-range .range-slider-handle { bottom: -10.5rem; margin-left: -0.5rem; margin-top: 0; position: absolute; }

.range-slider.vertical-range .range-slider-active-segment { bottom: 0; height: auto; width: 0.875rem; }

.range-slider.radius { background: #FAFAFA; border-radius: 3px; }

.range-slider.radius .range-slider-handle { background: #008CBA; border-radius: 3px; }

.range-slider.radius .range-slider-handle:hover { background: #007ba4; }

.range-slider.round { background: #FAFAFA; border-radius: 1000px; }

.range-slider.round .range-slider-handle { background: #008CBA; border-radius: 1000px; }

.range-slider.round .range-slider-handle:hover { background: #007ba4; }

.range-slider.disabled, .range-slider[disabled] { background: #FAFAFA; cursor: not-allowed; opacity: 0.7; }

.range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle { background: #008CBA; cursor: default; opacity: 0.7; }

.range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover { background: #007ba4; }

.range-slider-active-segment { background: #e5e5e5; display: inline-block; height: 0.875rem; position: absolute; }

.range-slider-handle { border: 1px solid none; cursor: pointer; display: inline-block; height: 1.375rem; position: absolute; top: -0.3125rem; width: 2rem; z-index: 1; -ms-touch-action: manipulation; touch-action: manipulation; background: #008CBA; }

.range-slider-handle:hover { background: #007ba4; }

.reveal-modal-bg { background: #000000; background: rgba(0, 0, 0, 0.45); bottom: 0; display: none; left: 0; position: fixed; right: 0; top: 0; z-index: 1004; left: 0; }

.reveal-modal { border-radius: 3px; display: none; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1005; left: 0; background-color: #FFFFFF; padding: 1.875rem; border: solid 1px #666666; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }

@media only screen and (max-width: 40em) { .reveal-modal { min-height: 100vh; } }

.reveal-modal .column, .reveal-modal .columns { min-width: 0; }

.reveal-modal > :first-child { margin-top: 0; }

.reveal-modal > :last-child { margin-bottom: 0; }

@media only screen and (min-width: 48em) { .reveal-modal { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 80%; } }

@media only screen and (min-width: 48em) { .reveal-modal { top: 6.25rem; } }

.reveal-modal.radius { border-radius: 3px; }

.reveal-modal.round { border-radius: 1000px; }

.reveal-modal.collapse { padding: 0; }

@media only screen and (min-width: 48em) { .reveal-modal.tiny { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 30%; } }

@media only screen and (min-width: 48em) { .reveal-modal.small { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 40%; } }

@media only screen and (min-width: 48em) { .reveal-modal.medium { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 60%; } }

@media only screen and (min-width: 48em) { .reveal-modal.large { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 70%; } }

@media only screen and (min-width: 48em) { .reveal-modal.xlarge { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 95%; } }

.reveal-modal.full { height: 100vh; height: 100%; left: 0; margin-left: 0 !important; max-width: none !important; min-height: 100vh; top: 0; }

@media only screen and (min-width: 48em) { .reveal-modal.full { left: 0; margin: 0 auto; max-width: 62.5rem; right: 0; width: 100%; } }

.reveal-modal.toback { z-index: 1003; }

.reveal-modal .close-reveal-modal { color: #AAAAAA; cursor: pointer; font-size: 2.5rem; font-weight: bold; line-height: 1; position: absolute; top: 0.625rem; right: 1.375rem; }

.side-nav { display: block; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; list-style-position: outside; list-style-type: none; margin: 0; padding: 0.875rem 0; }

.side-nav li { font-size: 0.875rem; font-weight: normal; margin: 0 0 0.4375rem 0; }

.side-nav li a:not(.button) { color: #008CBA; display: block; margin: 0; padding: 0.4375rem 0.875rem; }

.side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus { background: rgba(0, 0, 0, 0.025); color: #1cc7ff; }

.side-nav li a:not(.button):active { color: #1cc7ff; }

.side-nav li.active > a:first-child:not(.button) { color: #1cc7ff; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: normal; }

.side-nav li.divider { border-top-color: white; border-top: 1px solid; height: 0; list-style: none; padding: 0; }

.side-nav li.heading { color: #008CBA; font-size: 0.875rem; font-weight: bold; text-transform: uppercase; }

.split.button { position: relative; padding-right: 5.0625rem; }

.split.button span { border-left: solid 1px; display: block; height: 100%; position: absolute; top: 0; right: 0; }

.split.button span:after { border-style: inset; content: ""; display: block; height: 0; position: absolute; top: 50%; width: 0; left: 50%; }

.split.button span:active { background-color: rgba(0, 0, 0, 0.1); }

.split.button span { border-left-color: rgba(255, 255, 255, 0.5); }

.split.button span { width: 3.09375rem; }

.split.button span:after { border-top-style: solid; border-width: 0.375rem; margin-left: -0.375rem; top: 48%; }

.split.button span:after { border-color: #FFFFFF transparent transparent transparent; }

.split.button.secondary span { border-left-color: rgba(255, 255, 255, 0.5); }

.split.button.secondary span:after { border-color: #FFFFFF transparent transparent transparent; }

.split.button.alert span { border-left-color: rgba(255, 255, 255, 0.5); }

.split.button.success span { border-left-color: rgba(255, 255, 255, 0.5); }

.split.button.tiny { padding-right: 3.75rem; }

.split.button.tiny span { width: 2.25rem; }

.split.button.tiny span:after { border-top-style: solid; border-width: 0.375rem; margin-left: -0.375rem; top: 48%; }

.split.button.small { padding-right: 4.375rem; }

.split.button.small span { width: 2.625rem; }

.split.button.small span:after { border-top-style: solid; border-width: 0.4375rem; margin-left: -0.375rem; top: 48%; }

.split.button.large { padding-right: 5.5rem; }

.split.button.large span { width: 3.4375rem; }

.split.button.large span:after { border-top-style: solid; border-width: 0.3125rem; margin-left: -0.375rem; top: 48%; }

.split.button.expand { padding-left: 2rem; }

.split.button.secondary span:after { border-color: #333333 transparent transparent transparent; }

.split.button.radius span { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.split.button.round span { -webkit-border-bottom-right-radius: 1000px; -webkit-border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; border-top-right-radius: 1000px; }

.split.button.no-pip span:before { border-style: none; }

.split.button.no-pip span:after { border-style: none; }

.split.button.no-pip span > i { display: block; left: 50%; margin-left: -0.28889em; margin-top: -0.48889em; position: absolute; top: 50%; }

.sub-nav { display: block; margin: -0.25rem 0 1.125rem; overflow: hidden; padding-top: 0.25rem; width: auto; }

.sub-nav dt { text-transform: uppercase; }

.sub-nav dt, .sub-nav dd, .sub-nav li { color: #999999; float: left; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 0.875rem; font-weight: normal; margin-left: 1rem; margin-bottom: 0; }

.sub-nav dt a, .sub-nav dd a, .sub-nav li a { color: #999999; padding: 0.1875rem 1rem; text-decoration: none; }

.sub-nav dt a:hover, .sub-nav dd a:hover, .sub-nav li a:hover { color: #737373; }

.sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a { border-radius: 3px; background: #008CBA; color: #FFFFFF; cursor: default; font-weight: normal; padding: 0.1875rem 1rem; }

.sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover { background: #0078a0; }

.switch { border: none; margin-bottom: 1.5rem; outline: 0; padding: 0; position: relative; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.switch label { background: #DDDDDD; color: transparent; cursor: pointer; display: block; margin-bottom: 1rem; position: relative; text-indent: 100%; width: 4rem; height: 2rem; transition: left 0.15s ease-out; }

.switch input { left: 10px; opacity: 0; padding: 0; position: absolute; top: 9px; }

.switch input + label { margin-left: 0; margin-right: 0; }

.switch label:after { background: #FFFFFF; content: ""; display: block; height: 1.5rem; left: .25rem; position: absolute; top: .25rem; width: 1.5rem; -webkit-transition: left 0.15s ease-out; -moz-transition: left 0.15s ease-out; -o-transition: translate3d(0, 0, 0); transition: left 0.15s ease-out; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.switch input:checked + label { background: #008CBA; }

.switch input:checked + label:after { left: 2.25rem; }

.switch label { height: 2rem; width: 4rem; }

.switch label:after { height: 1.5rem; width: 1.5rem; }

.switch input:checked + label:after { left: 2.25rem; }

.switch label { color: transparent; background: #DDDDDD; }

.switch label:after { background: #FFFFFF; }

.switch input:checked + label { background: #008CBA; }

.switch.large label { height: 2.5rem; width: 5rem; }

.switch.large label:after { height: 2rem; width: 2rem; }

.switch.large input:checked + label:after { left: 2.75rem; }

.switch.small label { height: 1.75rem; width: 3.5rem; }

.switch.small label:after { height: 1.25rem; width: 1.25rem; }

.switch.small input:checked + label:after { left: 2rem; }

.switch.tiny label { height: 1.5rem; width: 3rem; }

.switch.tiny label:after { height: 1rem; width: 1rem; }

.switch.tiny input:checked + label:after { left: 1.75rem; }

.switch.radius label { border-radius: 4px; }

.switch.radius label:after { border-radius: 3px; }

.switch.round { border-radius: 1000px; }

.switch.round label { border-radius: 2rem; }

.switch.round label:after { border-radius: 2rem; }

table { background: #FFFFFF; border: solid 1px #DDDDDD; margin-bottom: 1.25rem; table-layout: auto; }

table caption { background: transparent; color: #222222; font-size: 1rem; font-weight: bold; }

table thead { background: #F5F5F5; }

table thead tr th, table thead tr td { color: #222222; font-size: 0.875rem; font-weight: bold; padding: 0.5rem 0.625rem 0.625rem; }

table tfoot { background: #F5F5F5; }

table tfoot tr th, table tfoot tr td { color: #222222; font-size: 0.875rem; font-weight: bold; padding: 0.5rem 0.625rem 0.625rem; }

table tr th, table tr td { color: #222222; font-size: 0.875rem; padding: 0.5625rem 0.625rem; text-align: left; }

table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #F9F9F9; }

table thead tr th, table tfoot tr th, table tfoot tr td, table tbody tr th, table tbody tr td, table tr td { display: table-cell; line-height: 1.125rem; }

.tabs { margin-bottom: 0 !important; margin-left: 0; }

.tabs:before, .tabs:after { content: " "; display: table; }

.tabs:after { clear: both; }

.tabs dd, .tabs .tab-title { float: left; list-style: none; margin-bottom: 0 !important; position: relative; }

.tabs dd > a, .tabs .tab-title > a { display: block; background-color: #EFEFEF; color: #222222; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 1rem; padding: 1rem 2rem; }

.tabs dd > a:hover, .tabs .tab-title > a:hover { background-color: #e1e1e1; }

.tabs dd.active a, .tabs .tab-title.active a { background-color: #FFFFFF; color: #222222; }

.tabs.radius dd:first-child a, .tabs.radius .tab:first-child a { -webkit-border-bottom-left-radius: 3px; -webkit-border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-top-left-radius: 3px; }

.tabs.radius dd:last-child a, .tabs.radius .tab:last-child a { -webkit-border-bottom-right-radius: 3px; -webkit-border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-top-right-radius: 3px; }

.tabs.vertical dd, .tabs.vertical .tab-title { position: inherit; float: none; display: block; top: auto; }

.tabs-content { margin-bottom: 1.5rem; width: 100%; }

.tabs-content:before, .tabs-content:after { content: " "; display: table; }

.tabs-content:after { clear: both; }

.tabs-content > .content { display: none; float: left; padding: 0.9375rem 0; width: 100%; }

.tabs-content > .content.active { display: block; float: none; }

.tabs-content > .content.contained { padding: 0.9375rem; }

.tabs-content.vertical { display: block; }

.tabs-content.vertical > .content { padding: 0 0.9375rem; }

@media only screen and (min-width: 48em) { .tabs.vertical { float: left; margin: 0 0 1.25rem; max-width: 20%; width: 20%; }
  .tabs-content.vertical { float: left; margin-left: -1px; max-width: 80%; padding-left: 1rem; width: 80%; } }

.no-js .tabs-content > .content { display: block; float: none; }

/* Image Thumbnails */
.th { border: solid 4px #FFFFFF; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); display: inline-block; line-height: 0; max-width: 100%; transition: all 200ms ease-out; }

.th:hover, .th:focus { box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }

.th.radius { border-radius: 3px; }

/* Tooltips */
.has-tip { border-bottom: dotted 1px #CCCCCC; color: #333333; cursor: help; font-weight: bold; }

.has-tip:hover, .has-tip:focus { border-bottom: dotted 1px #003f54; color: #008CBA; }

.has-tip.tip-left, .has-tip.tip-right { float: none !important; }

.tooltip { background: #333333; color: #FFFFFF; display: none; font-size: 0.875rem; font-weight: normal; line-height: 1.3; max-width: 300px; padding: 0.75rem; position: absolute; width: 100%; z-index: 1006; left: 50%; }

.tooltip > .nub { border-color: transparent transparent #333333 transparent; border: solid 5px; display: block; height: 0; pointer-events: none; position: absolute; top: -10px; width: 0; left: 5px; }

.tooltip > .nub.rtl { left: auto; right: 5px; }

.tooltip.radius { border-radius: 3px; }

.tooltip.round { border-radius: 1000px; }

.tooltip.round > .nub { left: 2rem; }

.tooltip.opened { border-bottom: dotted 1px #003f54 !important; color: #008CBA !important; }

.tap-to-close { color: #777777; display: block; font-size: 0.625rem; font-weight: normal; }

@media only screen and (min-width: 48em) { .tooltip > .nub { border-color: transparent transparent #333333 transparent; top: -10px; }
  .tooltip.tip-top > .nub { border-color: #333333 transparent transparent transparent; bottom: -10px; top: auto; }
  .tooltip.tip-left, .tooltip.tip-right { float: none !important; }
  .tooltip.tip-left > .nub { border-color: transparent transparent transparent #333333; left: auto; margin-top: -5px; right: -10px; top: 50%; }
  .tooltip.tip-right > .nub { border-color: transparent #333333 transparent transparent; left: -10px; margin-top: -5px; right: auto; top: 50%; } }

meta.foundation-mq-topbar { font-family: "/only screen and (min-width:48em)/"; width: 48em; }

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid { width: 100%; background: #333333; }

.contain-to-grid .top-bar { margin-bottom: 0; }

.fixed { position: fixed; top: 0; width: 100%; z-index: 99; left: 0; }

.fixed.expanded:not(.top-bar) { height: auto; max-height: 100%; overflow-y: auto; width: 100%; }

.fixed.expanded:not(.top-bar) .title-area { position: fixed; width: 100%; z-index: 99; }

.fixed.expanded:not(.top-bar) .top-bar-section { margin-top: 2.8125rem; z-index: 98; }

.top-bar { background: #333333; height: 2.8125rem; line-height: 2.8125rem; margin-bottom: 0; overflow: hidden; position: relative; }

.top-bar ul { list-style: none; margin-bottom: 0; }

.top-bar .row { max-width: none; }

.top-bar form, .top-bar input { margin-bottom: 0; }

.top-bar input { font-size: 0.75rem; height: 1.75rem; padding-bottom: .35rem; padding-top: .35rem; }

.top-bar .button, .top-bar button { font-size: 0.75rem; margin-bottom: 0; padding-bottom: 0.4125rem; padding-top: 0.4125rem; }

@media only screen and (max-width: 40em) { .top-bar .button, .top-bar button { position: relative; top: -1px; } }

.top-bar .title-area { margin: 0; position: relative; }

.top-bar .name { font-size: 16px; height: 2.8125rem; margin: 0; }

.top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span { font-size: 1.0625rem; line-height: 2.8125rem; margin: 0; }

.top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a { color: #FFFFFF; display: block; font-weight: normal; padding: 0 0.9375rem; width: 75%; }

.top-bar .toggle-topbar { position: absolute; right: 0; top: 0; }

.top-bar .toggle-topbar a { color: #FFFFFF; display: block; font-size: 0.8125rem; font-weight: bold; height: 2.8125rem; line-height: 2.8125rem; padding: 0 0.9375rem; position: relative; text-transform: uppercase; }

.top-bar .toggle-topbar.menu-icon { margin-top: -16px; top: 50%; }

.top-bar .toggle-topbar.menu-icon a { color: #FFFFFF; height: 34px; line-height: 33px; padding: 0 2.5rem 0 0.9375rem; position: relative; }

.top-bar .toggle-topbar.menu-icon a span::after { content: ""; display: block; height: 0; position: absolute; margin-top: -8px; top: 50%; right: 0.9375rem; box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; width: 16px; }

.top-bar .toggle-topbar.menu-icon a span:hover:after { box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }

.top-bar.expanded { background: transparent; height: auto; }

.top-bar.expanded .title-area { background: #333333; }

.top-bar.expanded .toggle-topbar a { color: #888888; }

.top-bar.expanded .toggle-topbar a span::after { box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }

.top-bar-section { left: 0; position: relative; width: auto; transition: left 300ms ease-out; }

.top-bar-section ul { display: block; font-size: 16px; height: auto; margin: 0; padding: 0; width: 100%; }

.top-bar-section .divider, .top-bar-section [role="separator"] { border-top: solid 1px #1a1919; clear: both; height: 1px; width: 100%; }

.top-bar-section ul li { background: #333333; }

.top-bar-section ul li > a { color: #FFFFFF; display: block; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: 0.8125rem; font-weight: normal; padding-left: 0.9375rem; padding: 12px 0 12px 0; text-transform: none; width: 100%; }

.top-bar-section ul li > a.button { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; background-color: #008CBA; border-color: #007095; color: #FFFFFF; }

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { background-color: #007095; }

.top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.secondary { background-color: #e7e7e7; border-color: #b9b9b9; color: #333333; }

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { background-color: #b9b9b9; }

.top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus { color: #333333; }

.top-bar-section ul li > a.button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { background-color: #368a55; }

.top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { background-color: #cf2a0e; }

.top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { background-color: #cf6e0e; }

.top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus { color: #FFFFFF; }

.top-bar-section ul li > a.button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #333333; }

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { background-color: #61b6d9; }

.top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus { color: #FFFFFF; }

.top-bar-section ul li > button { font-size: 0.8125rem; padding-left: 0.9375rem; padding-right: 0.9375rem; background-color: #008CBA; border-color: #007095; color: #FFFFFF; }

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { background-color: #007095; }

.top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus { color: #FFFFFF; }

.top-bar-section ul li > button.secondary { background-color: #e7e7e7; border-color: #b9b9b9; color: #333333; }

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { background-color: #b9b9b9; }

.top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus { color: #333333; }

.top-bar-section ul li > button.success { background-color: #43AC6A; border-color: #368a55; color: #FFFFFF; }

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { background-color: #368a55; }

.top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus { color: #FFFFFF; }

.top-bar-section ul li > button.alert { background-color: #f04124; border-color: #cf2a0e; color: #FFFFFF; }

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { background-color: #cf2a0e; }

.top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus { color: #FFFFFF; }

.top-bar-section ul li > button.warning { background-color: #f08a24; border-color: #cf6e0e; color: #FFFFFF; }

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { background-color: #cf6e0e; }

.top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus { color: #FFFFFF; }

.top-bar-section ul li > button.info { background-color: #a0d3e8; border-color: #61b6d9; color: #333333; }

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { background-color: #61b6d9; }

.top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus { color: #FFFFFF; }

.top-bar-section ul li:hover:not(.has-form) > a { background-color: #555555; background: #333333; color: #FFFFFF; }

.top-bar-section ul li.active > a { background: #008CBA; color: #FFFFFF; }

.top-bar-section ul li.active > a:hover { background: #0078a0; color: #FFFFFF; }

.top-bar-section .has-form { padding: 0.9375rem; }

.top-bar-section .has-dropdown { position: relative; }

.top-bar-section .has-dropdown > a:after { border: inset 5px; content: ""; display: block; height: 0; width: 0; border-color: transparent transparent transparent rgba(255, 255, 255, 0.4); border-left-style: solid; margin-right: 0.9375rem; margin-top: -4.5px; position: absolute; top: 50%; right: 0; }

.top-bar-section .has-dropdown.moved { position: static; }

.top-bar-section .has-dropdown.moved > .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; width: 100%; }

.top-bar-section .has-dropdown.moved > a:after { display: none; }

.top-bar-section .dropdown { padding: 0; position: absolute; top: 0; z-index: 99; display: block; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; left: 100%; }

.top-bar-section .dropdown li { height: auto; width: 100%; }

.top-bar-section .dropdown li a { font-weight: normal; padding: 8px 0.9375rem; }

.top-bar-section .dropdown li a.parent-link { font-weight: normal; }

.top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link { margin-bottom: 0; margin-top: 0; font-size: 1.125rem; }

.top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a { color: #FFFFFF; display: block; }

.top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover { background: none; }

.top-bar-section .dropdown li.has-form { padding: 8px 0.9375rem; }

.top-bar-section .dropdown li .button, .top-bar-section .dropdown li button { top: auto; }

.top-bar-section .dropdown label { color: #777777; font-size: 0.625rem; font-weight: bold; margin-bottom: 0; padding: 8px 0.9375rem 2px; text-transform: uppercase; }

.js-generated { display: block; }

@media only screen and (min-width: 48em) { .top-bar { background: #333333; overflow: visible; }
  .top-bar:before, .top-bar:after { content: " "; display: table; }
  .top-bar:after { clear: both; }
  .top-bar .toggle-topbar { display: none; }
  .top-bar .title-area { float: left; }
  .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name h5 a, .top-bar .name h6 a { width: auto; }
  .top-bar input, .top-bar .button, .top-bar button { font-size: 0.875rem; height: 1.75rem; position: relative; top: 0.53125rem; }
  .top-bar.expanded { background: #333333; }
  .contain-to-grid .top-bar { margin-bottom: 0; margin: 0 auto; max-width: 62.5rem; }
  .top-bar-section { transition: none 0 0; left: 0 !important; }
  .top-bar-section ul { display: inline; height: auto !important; width: auto; }
  .top-bar-section ul li { float: left; }
  .top-bar-section ul li .js-generated { display: none; }
  .top-bar-section li.hover > a:not(.button) { background-color: #555555; background: #333333; color: #FFFFFF; }
  .top-bar-section li:not(.has-form) a:not(.button) { background: #333333; line-height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section li:not(.has-form) a:not(.button):hover { background-color: #555555; background: #333333; }
  .top-bar-section li.active:not(.has-form) a:not(.button) { background: #008CBA; color: #FFFFFF; line-height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section li.active:not(.has-form) a:not(.button):hover { background: #0078a0; color: #FFFFFF; }
  .top-bar-section .has-dropdown > a { padding-right: 2.1875rem !important; }
  .top-bar-section .has-dropdown > a:after { border: inset 5px; content: ""; display: block; height: 0; width: 0; border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent; border-top-style: solid; margin-top: -2.5px; top: 1.40625rem; }
  .top-bar-section .has-dropdown.moved { position: relative; }
  .top-bar-section .has-dropdown.moved > .dropdown { display: block; clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .top-bar-section .has-dropdown > a:focus + .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { border: none; content: "\00bb"; line-height: 1.2; margin-top: -1px; top: 1rem; right: 5px; }
  .top-bar-section .dropdown { left: 0; background: transparent; min-width: 100%; top: auto; }
  .top-bar-section .dropdown li a { background: #333333; color: #FFFFFF; line-height: 2.8125rem; padding: 12px 0.9375rem; white-space: nowrap; }
  .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) { background: #333333; color: #FFFFFF; }
  .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) { background-color: #555555; color: #FFFFFF; background: #333333; }
  .top-bar-section .dropdown li label { background: #333333; white-space: nowrap; }
  .top-bar-section .dropdown li .dropdown { left: 100%; top: 0; }
  .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] { border-right: solid 1px #4e4e4e; border-bottom: none; border-top: none; clear: none; height: 2.8125rem; width: 0; }
  .top-bar-section .has-form { background: #333333; height: 2.8125rem; padding: 0 0.9375rem; }
  .top-bar-section .right li .dropdown { left: auto; right: 0; }
  .top-bar-section .right li .dropdown li .dropdown { right: 100%; }
  .top-bar-section .left li .dropdown { right: auto; left: 0; }
  .top-bar-section .left li .dropdown li .dropdown { left: 100%; }
  .no-js .top-bar-section ul li:hover > a { background-color: #555555; background: #333333; color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a { background: #008CBA; color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown { display: block; position: static !important; height: auto; width: auto; overflow: visible; clip: auto; position: absolute !important; } }

@media screen and (-webkit-min-device-pixel-ratio: 0) { .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { padding: 0; } }

@media screen and (-webkit-min-device-pixel-ratio: 0) { .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .dropdown { clip: initial; }
  .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul { padding: 0; } }

.text-left { text-align: left !important; }

.text-right { text-align: right !important; }

.text-center { text-align: center !important; }

.text-justify { text-align: justify !important; }

@media only screen and (max-width: 40em) { .small-only-text-left { text-align: left !important; }
  .small-only-text-right { text-align: right !important; }
  .small-only-text-center { text-align: center !important; }
  .small-only-text-justify { text-align: justify !important; } }

@media only screen { .small-text-left { text-align: left !important; }
  .small-text-right { text-align: right !important; }
  .small-text-center { text-align: center !important; }
  .small-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 48em) and (max-width: 64em) { .medium-only-text-left { text-align: left !important; }
  .medium-only-text-right { text-align: right !important; }
  .medium-only-text-center { text-align: center !important; }
  .medium-only-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 48em) { .medium-text-left { text-align: left !important; }
  .medium-text-right { text-align: right !important; }
  .medium-text-center { text-align: center !important; }
  .medium-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) and (max-width: 90em) { .large-only-text-left { text-align: left !important; }
  .large-only-text-right { text-align: right !important; }
  .large-only-text-center { text-align: center !important; }
  .large-only-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) { .large-text-left { text-align: left !important; }
  .large-text-right { text-align: right !important; }
  .large-text-center { text-align: center !important; }
  .large-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) and (max-width: 120em) { .xlarge-only-text-left { text-align: left !important; }
  .xlarge-only-text-right { text-align: right !important; }
  .xlarge-only-text-center { text-align: center !important; }
  .xlarge-only-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) { .xlarge-text-left { text-align: left !important; }
  .xlarge-text-right { text-align: right !important; }
  .xlarge-text-center { text-align: center !important; }
  .xlarge-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) and (max-width: 99999999em) { .xxlarge-only-text-left { text-align: left !important; }
  .xxlarge-only-text-right { text-align: right !important; }
  .xxlarge-only-text-center { text-align: center !important; }
  .xxlarge-only-text-justify { text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) { .xxlarge-text-left { text-align: left !important; }
  .xxlarge-text-right { text-align: right !important; }
  .xxlarge-text-center { text-align: center !important; }
  .xxlarge-text-justify { text-align: justify !important; } }

/* Typography resets */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; }

/* Default Link Styles */
a { color: #008CBA; line-height: inherit; text-decoration: none; }

a:hover, a:focus { color: #0078a0; }

a img { border: none; }

/* Default paragraph styles */
p { font-family: inherit; font-size: 1rem; font-weight: normal; line-height: 1.6; margin-bottom: 1.25rem; text-rendering: optimizeLegibility; }

p.lead { font-size: 1.21875rem; line-height: 1.6; }

p aside { font-size: 0.875rem; font-style: italic; line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 { color: #222222; font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-style: normal; font-weight: normal; line-height: 1.4; margin-bottom: 0.5rem; margin-top: 0.2rem; text-rendering: optimizeLegibility; }

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { color: #6f6f6f; font-size: 60%; line-height: 0; }

h1 { font-size: 2.125rem; }

h2 { font-size: 1.6875rem; }

h3 { font-size: 1.375rem; }

h4 { font-size: 1.125rem; }

h5 { font-size: 1.125rem; }

h6 { font-size: 1rem; }

.subheader { line-height: 1.4; color: #6f6f6f; font-weight: normal; margin-top: 0.2rem; margin-bottom: 0.5rem; }

hr { border: solid #DDDDDD; border-width: 1px 0 0; clear: both; height: 0; margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
em, i { font-style: italic; line-height: inherit; }

strong, b { font-weight: bold; line-height: inherit; }

small { font-size: 60%; line-height: inherit; }

code { background-color: #f8f8f8; border-color: #dfdfdf; border-style: solid; border-width: 1px; color: #333333; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
ul, ol, dl { font-family: inherit; font-size: 1rem; line-height: 1.6; list-style-position: outside; margin-bottom: 1.25rem; }

ul { margin-left: 1.1rem; }

ul.no-bullet { margin-left: 0; }

ul.no-bullet li ul, ul.no-bullet li ol { margin-left: 1.25rem; margin-bottom: 0; list-style: none; }

/* Unordered Lists */
ul li ul, ul li ol { margin-left: 1.25rem; margin-bottom: 0; }

ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }

ul.square { list-style-type: square; margin-left: 1.1rem; }

ul.circle { list-style-type: circle; margin-left: 1.1rem; }

ul.disc { list-style-type: disc; margin-left: 1.1rem; }

ul.no-bullet { list-style: none; }

/* Ordered Lists */
ol { margin-left: 1.4rem; }

ol li ul, ol li ol { margin-left: 1.25rem; margin-bottom: 0; }

/* Definition Lists */
dl dt { margin-bottom: 0.3rem; font-weight: bold; }

dl dd { margin-bottom: 0.75rem; }

/* Abbreviations */
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222; cursor: help; }

abbr { text-transform: none; }

abbr[title] { border-bottom: 1px dotted #DDDDDD; }

/* Blockquotes */
blockquote { margin: 0 0 1.25rem; padding: 0.5625rem 1.25rem 0 1.1875rem; border-left: 1px solid #DDDDDD; }

blockquote cite { display: block; font-size: 0.8125rem; color: #555555; }

blockquote cite:before { content: "\2014 \0020"; }

blockquote cite a, blockquote cite a:visited { color: #555555; }

blockquote, blockquote p { line-height: 1.6; color: #6f6f6f; }

/* Microformats */
.vcard { display: inline-block; margin: 0 0 1.25rem 0; border: 1px solid #DDDDDD; padding: 0.625rem 0.75rem; }

.vcard li { margin: 0; display: block; }

.vcard .fn { font-weight: bold; font-size: 0.9375rem; }

.vevent .summary { font-weight: bold; }

.vevent abbr { cursor: default; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625rem; }

@media only screen and (min-width: 48em) { h1, h2, h3, h4, h5, h6 { line-height: 1.4; }
  h1 { font-size: 2.75rem; }
  h2 { font-size: 2.3125rem; }
  h3 { font-size: 1.6875rem; }
  h4 { font-size: 1.4375rem; }
  h5 { font-size: 1.125rem; }
  h6 { font-size: 1rem; } }

.off-canvas-wrap { -webkit-backface-visibility: hidden; position: relative; width: 100%; overflow: hidden; }

.off-canvas-wrap.move-right, .off-canvas-wrap.move-left { min-height: 100%; -webkit-overflow-scrolling: touch; }

.inner-wrap { position: relative; width: 100%; -webkit-transition: -webkit-transform 500ms ease; -moz-transition: -moz-transform 500ms ease; -ms-transition: -ms-transform 500ms ease; -o-transition: -o-transform 500ms ease; transition: transform 500ms ease; }

.inner-wrap:before, .inner-wrap:after { content: " "; display: table; }

.inner-wrap:after { clear: both; }

.tab-bar { -webkit-backface-visibility: hidden; background: #333333; color: #FFFFFF; height: 2.8125rem; line-height: 2.8125rem; position: relative; }

.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 { color: #FFFFFF; font-weight: bold; line-height: 2.8125rem; margin: 0; }

.tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 { font-size: 1.125rem; }

.left-small { height: 2.8125rem; position: absolute; top: 0; width: 2.8125rem; border-right: solid 1px #1a1919; left: 0; }

.right-small { height: 2.8125rem; position: absolute; top: 0; width: 2.8125rem; border-left: solid 1px #1a1919; right: 0; }

.tab-bar-section { height: 2.8125rem; padding: 0 0.625rem; position: absolute; text-align: center; top: 0; }

.tab-bar-section.left { text-align: left; }

.tab-bar-section.right { text-align: right; }

.tab-bar-section.left { left: 0; right: 2.8125rem; }

.tab-bar-section.right { left: 2.8125rem; right: 0; }

.tab-bar-section.middle { left: 2.8125rem; right: 2.8125rem; }

.tab-bar .menu-icon { color: #FFFFFF; display: block; height: 2.8125rem; padding: 0; position: relative; text-indent: 2.1875rem; transform: translate3d(0, 0, 0); width: 2.8125rem; }

.tab-bar .menu-icon span::after { content: ""; display: block; height: 0; position: absolute; top: 50%; margin-top: -0.5rem; left: 0.90625rem; box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF; width: 1rem; }

.tab-bar .menu-icon span:hover:after { box-shadow: 0 0 0 1px #b3b2b2, 0 7px 0 1px #b3b2b2, 0 14px 0 1px #b3b2b2; }

.left-off-canvas-menu { -webkit-backface-visibility: hidden; background: #333333; bottom: 0; box-sizing: content-box; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; transition: transform 500ms ease 0s; width: 15.625rem; z-index: 1001; -webkit-transform: translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0); -ms-transform: translate(-100%, 0); -ms-transform: translate3d(-100%, 0, 0); -o-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); left: 0; }

.left-off-canvas-menu * { -webkit-backface-visibility: hidden; }

.right-off-canvas-menu { -webkit-backface-visibility: hidden; background: #333333; bottom: 0; box-sizing: content-box; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; transition: transform 500ms ease 0s; width: 15.625rem; z-index: 1001; -webkit-transform: translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0); -ms-transform: translate(100%, 0); -ms-transform: translate3d(100%, 0, 0); -o-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); right: 0; }

.right-off-canvas-menu * { -webkit-backface-visibility: hidden; }

ul.off-canvas-list { list-style-type: none; margin: 0; padding: 0; }

ul.off-canvas-list li label { background: #444444; border-bottom: none; border-top: 1px solid #5e5e5e; color: #999999; display: block; font-size: 0.75rem; font-weight: bold; margin: 0; padding: 0.3rem 0.9375rem; text-transform: uppercase; }

ul.off-canvas-list li a { border-bottom: 1px solid #262626; color: rgba(255, 255, 255, 0.7); display: block; padding: 0.6666666667rem; transition: background 300ms ease; }

ul.off-canvas-list li a:hover { background: #242424; }

ul.off-canvas-list li a:active { background: #242424; }

.move-right > .inner-wrap { -webkit-transform: translate3d(15.625rem, 0, 0); -moz-transform: translate3d(15.625rem, 0, 0); -ms-transform: translate(15.625rem, 0); -ms-transform: translate3d(15.625rem, 0, 0); -o-transform: translate3d(15.625rem, 0, 0); transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .move-right .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.move-left > .inner-wrap { -webkit-transform: translate3d(-15.625rem, 0, 0); -moz-transform: translate3d(-15.625rem, 0, 0); -ms-transform: translate(-15.625rem, 0); -ms-transform: translate3d(-15.625rem, 0, 0); -o-transform: translate3d(-15.625rem, 0, 0); transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .move-left .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap-left .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu { -ms-transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; transform: none; z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas { -webkit-backface-visibility: hidden; box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); cursor: pointer; transition: background 300ms ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background: rgba(255, 255, 255, 0.2); bottom: 0; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: 1002; }

@media only screen and (min-width: 48em) { .offcanvas-overlap-right .exit-off-canvas:hover { background: rgba(255, 255, 255, 0.05); } }

.no-csstransforms .left-off-canvas-menu { left: -15.625rem; }

.no-csstransforms .right-off-canvas-menu { right: -15.625rem; }

.no-csstransforms .move-left > .inner-wrap { right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap { left: 15.625rem; }

.left-submenu { -webkit-backface-visibility: hidden; -webkit-overflow-scrolling: touch; background: #333333; bottom: 0; box-sizing: content-box; margin: 0; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; width: 15.625rem; z-index: 1002; -webkit-transform: translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0); -ms-transform: translate(-100%, 0); -ms-transform: translate3d(-100%, 0, 0); -o-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); left: 0; -webkit-transition: -webkit-transform 500ms ease; -moz-transition: -moz-transform 500ms ease; -ms-transition: -ms-transform 500ms ease; -o-transition: -o-transform 500ms ease; transition: transform 500ms ease; }

.left-submenu * { -webkit-backface-visibility: hidden; }

.left-submenu .back > a { background: #444; border-bottom: none; border-top: 1px solid #5e5e5e; color: #999999; font-weight: bold; padding: 0.3rem 0.9375rem; text-transform: uppercase; margin: 0; }

.left-submenu .back > a:hover { background: #303030; border-bottom: none; border-top: 1px solid #5e5e5e; }

.left-submenu .back > a:before { content: "\AB"; margin-right: .5rem; display: inline; }

.left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap { -webkit-transform: translate3d(0%, 0, 0); -moz-transform: translate3d(0%, 0, 0); -ms-transform: translate(0%, 0); -ms-transform: translate3d(0%, 0, 0); -o-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

.right-submenu { -webkit-backface-visibility: hidden; -webkit-overflow-scrolling: touch; background: #333333; bottom: 0; box-sizing: content-box; margin: 0; overflow-x: hidden; overflow-y: auto; position: absolute; top: 0; width: 15.625rem; z-index: 1002; -webkit-transform: translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0); -ms-transform: translate(100%, 0); -ms-transform: translate3d(100%, 0, 0); -o-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); right: 0; -webkit-transition: -webkit-transform 500ms ease; -moz-transition: -moz-transform 500ms ease; -ms-transition: -ms-transform 500ms ease; -o-transition: -o-transform 500ms ease; transition: transform 500ms ease; }

.right-submenu * { -webkit-backface-visibility: hidden; }

.right-submenu .back > a { background: #444; border-bottom: none; border-top: 1px solid #5e5e5e; color: #999999; font-weight: bold; padding: 0.3rem 0.9375rem; text-transform: uppercase; margin: 0; }

.right-submenu .back > a:hover { background: #303030; border-bottom: none; border-top: 1px solid #5e5e5e; }

.right-submenu .back > a:after { content: "\BB"; margin-left: .5rem; display: inline; }

.right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap { -webkit-transform: translate3d(0%, 0, 0); -moz-transform: translate3d(0%, 0, 0); -ms-transform: translate(0%, 0); -ms-transform: translate3d(0%, 0, 0); -o-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after { content: "\BB"; margin-left: .5rem; display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before { content: "\AB"; margin-right: .5rem; display: inline; }

/* small displays */
@media only screen { .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 48em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) { .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down { display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down { display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down { display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down { display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down { display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down { display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down { display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape, .hide-for-portrait { display: inherit !important; }

.hide-for-landscape, .show-for-portrait { display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait { display: table !important; }

thead.hide-for-landscape, thead.show-for-portrait { display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait { display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait { display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait, th.hide-for-landscape, th.show-for-portrait { display: table-cell !important; }

@media only screen and (orientation: landscape) { .show-for-landscape, .hide-for-portrait { display: inherit !important; }
  .hide-for-landscape, .show-for-portrait { display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait { display: table !important; }
  thead.show-for-landscape, thead.hide-for-portrait { display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait { display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait { display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait, th.show-for-landscape, th.hide-for-portrait { display: table-cell !important; } }

@media only screen and (orientation: portrait) { .show-for-portrait, .hide-for-landscape { display: inherit !important; }
  .hide-for-portrait, .show-for-landscape { display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape { display: table !important; }
  thead.show-for-portrait, thead.hide-for-landscape { display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape { display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape { display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape, th.show-for-portrait, th.hide-for-landscape { display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch { display: none !important; }

.hide-for-touch { display: inherit !important; }

.touch .show-for-touch { display: inherit !important; }

.touch .hide-for-touch { display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch { display: table !important; }

.touch table.show-for-touch { display: table !important; }

thead.hide-for-touch { display: table-header-group !important; }

.touch thead.show-for-touch { display: table-header-group !important; }

tbody.hide-for-touch { display: table-row-group !important; }

.touch tbody.show-for-touch { display: table-row-group !important; }

tr.hide-for-touch { display: table-row !important; }

.touch tr.show-for-touch { display: table-row !important; }

td.hide-for-touch { display: table-cell !important; }

.touch td.show-for-touch { display: table-cell !important; }

th.hide-for-touch { display: table-cell !important; }

.touch th.show-for-touch { display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }

.show-on-focus { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }

.show-on-focus:focus, .show-on-focus:active { position: static !important; height: auto; width: auto; overflow: visible; clip: auto; }

/* Print styles. Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) */
.print-only { display: none !important; }

@media print { * { background: transparent !important; box-shadow: none !important; color: #000000 !important; /* Black prints faster: h5bp.com/s */ text-shadow: none !important; }
  .show-for-print { display: block; }
  .hide-for-print { display: none; }
  table.show-for-print { display: table !important; }
  thead.show-for-print { display: table-header-group !important; }
  tbody.show-for-print { display: table-row-group !important; }
  tr.show-for-print { display: table-row !important; }
  td.show-for-print { display: table-cell !important; }
  th.show-for-print { display: table-cell !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999999; page-break-inside: avoid; }
  thead { display: table-header-group; /* h5bp.com/t */ }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: .5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .hide-on-print { display: none !important; }
  .print-only { display: block !important; }
  .hide-for-print { display: none !important; }
  .show-for-print { display: inherit !important; } }

/* Print visibility */
@media print { .show-for-print { display: block; }
  .hide-for-print { display: none; }
  table.show-for-print { display: table !important; }
  thead.show-for-print { display: table-header-group !important; }
  tbody.show-for-print { display: table-row-group !important; }
  tr.show-for-print { display: table-row !important; }
  td.show-for-print { display: table-cell !important; }
  th.show-for-print { display: table-cell !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbi5jc3MiLCJzb3VyY2VzIjpbImZvdW5kYXRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsImZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXBzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCJmb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdHlwZS5zY3NzIiwiZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsImZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gTWFrZSBzdXJlIHRoZSBjaGFyc2V0IGlzIHNldCBhcHByb3ByaWF0ZWx5XHJcblxyXG4vLyBCZWhvbGQsIGhlcmUgYXJlIGFsbCB0aGUgRm91bmRhdGlvbiBjb21wb25lbnRzLlxyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZ3JpZCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYWxlcnQtYm94ZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYmxvY2stZ3JpZCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b24tZ3JvdXBzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvY2xlYXJpbmcnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9mbGV4LXZpZGVvJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Zvcm1zJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2ljb24tYmFyJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2lubGluZS1saXN0cyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2tleXN0cm9rZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvbGFiZWxzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3ByaWNpbmctdGFibGVzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Byb2dyZXNzLWJhcnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zaWRlLW5hdic7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zcGxpdC1idXR0b25zJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3N1Yi1uYXYnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvc3dpdGNoZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFibGVzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGh1bWJzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Rvb2x0aXBzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3RvcC1iYXInO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdHlwZSc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vZmZjYW52YXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XHJcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcclxuXHJcbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gR3JpZCBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxyXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xyXG4gIEB3YXJuIFwiZ3JpZENhbGMoKSBpcyBkZXByZWNhdGVkLCB1c2UgZ3JpZC1jYWxjKClcIjtcclxuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcclxufVxyXG5cclxuLy8gQEZVTkNUSU9OXHJcbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXHJcbi8vICR0b3RhbENvbHVtbnMgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXHJcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xyXG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XHJcbiAgQGlmICRyZXN1bHQgPT0gMCUgeyAkcmVzdWx0OiAwOyB9XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cclxuLy9cclxuLy9cclxuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxyXG5AbWl4aW4gZ3JpZC1yb3coJGJlaGF2aW9yOiBmYWxzZSkge1xyXG5cclxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XHJcbiAgQGlmICRiZWhhdmlvciA9PSBuZXN0IHtcclxuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhjb2xsYXBzZSk7IHRvIGNvbGxhcHNlZCBhIGNvbnRhaW5lciByb3cgbWFyZ2luc1xyXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcclxuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xyXG4gIEBlbHNlIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAvLyBDbGVhcmZpeCBmb3IgYWxsIHJvd3NcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcblxyXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcclxuLy9cclxuLy8gJGNvbHVtbnMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhpcyBzaG91bGQgYmVcclxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkb2Zmc2V0IC0gIyBvZiBjb2x1bW5zIHRvIG9mZnNldC4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGNvbGxhcHNlIC0gR2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZyBvbiBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXHJcbiAgJGNvbHVtbnM6ZmFsc2UsXHJcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxyXG4gICRjZW50ZXI6ZmFsc2UsXHJcbiAgJG9mZnNldDpmYWxzZSxcclxuICAkcHVzaDpmYWxzZSxcclxuICAkcHVsbDpmYWxzZSxcclxuICAkY29sbGFwc2U6ZmFsc2UsXHJcbiAgJGZsb2F0OnRydWUsXHJcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XHJcblxyXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxyXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcclxuICBAaWYgJHBvc2l0aW9uIG9yICRwdXNoIG9yICRwdWxsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xyXG4gIEBpZiAkY29sbGFwc2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxyXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcclxuICBAZWxzZSBpZiAkY29sbGFwc2UgPT0gZmFsc2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcclxuICBAaWYgJGNvbHVtbnMge1xyXG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xyXG5cclxuICAgIC8vIElmIGxhc3QgY29sdW1uLCBmbG9hdCBuYXR1cmFsbHkgaW5zdGVhZCBvZiB0byB0aGUgcmlnaHRcclxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxyXG4gIH1cclxuXHJcbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXHJcbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XHJcbiAgQGlmICRwdWxsIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogZ3JpZC1jYWxjKCRwdWxsLCAkdG90YWwtY29sdW1ucyk7ICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvOyB9XHJcblxyXG4gIEBpZiAkZmxvYXQge1xyXG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XHJcbiAgICBAZWxzZSBpZiAkZmxvYXQgPT0gcmlnaHQgeyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxyXG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXHJcbiAgQGlmICRjZW50ZXIge1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcclxuICBAaWYgJG9mZnNldCB7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogZ3JpZC1jYWxjKCRvZmZzZXQsICR0b3RhbC1jb2x1bW5zKSAhaW1wb3J0YW50OyB9XHJcblxyXG59XHJcblxyXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxyXG4vL1xyXG4vLyAkc2l6ZSAtIE5hbWUgb2YgY2xhc3MgdG8gdXNlLCBpLmUuIFwibGFyZ2VcIiB3aWxsIGdlbmVyYXRlIC5sYXJnZS0xLCAubGFyZ2UtMiwgZXRjLlxyXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XHJcbiAgICB9XHJcbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2x1bW4sXHJcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XHJcblxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcclxuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgLiN7JHNpemV9LW9mZnNldC0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRvZmZzZXQ6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XHJcbiAgfVxyXG5cclxuICAuI3skc2l6ZX0tcmVzZXQtb3JkZXIge1xyXG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxyXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNlbnRlcjp0cnVlLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZCB7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICB9XHJcblxyXG4gIC8vIEZpZ2h0aW5nIFtjbGFzcyo9XCJjb2x1bW5cIl0gKyBbY2xhc3MqPVwiY29sdW1uXCJdOmxhc3QtY2hpbGRcclxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gRmlnaHRpbmcgLmNvbHVtbi48cHJldmlvdXMtc2l6ZT4tY2VudGVyZWQ6bGFzdC1jaGlsZFxyXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxyXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQub3Bwb3NpdGUsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XHJcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuICB9XHJcblxyXG5cdC5yb3cge1xyXG5cdFx0Ji4jeyRzaXplfS1jb2xsYXBzZSB7XHJcblx0XHRcdD4gLmNvbHVtbixcclxuXHRcdFx0PiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XHJcblxyXG5cdFx0XHQucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XHJcblx0XHR9XHJcblx0XHQmLiN7JHNpemV9LXVuY29sbGFwc2Uge1xyXG5cdFx0XHQ+IC5jb2x1bW4sXHJcblx0XHRcdD4gLmNvbHVtbnMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZ3JpZFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcclxuICAgIC5yb3cge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdztcclxuXHJcbiAgICAgICYuY29sbGFwc2Uge1xyXG4gICAgICAgICA+IC5jb2x1bW4sXHJcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxyXG5cclxuICAgICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yb3cgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6bmVzdCk7XHJcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbHVtbixcclxuICAgIC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6JHRvdGFsLWNvbHVtbnMpOyB9XHJcblxyXG4gICAgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZCB7IGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDsgfVxyXG4gICAgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl0uZW5kIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XHJcbiAgICAgIC8vIE9sZCBwdXNoIGFuZCBwdWxsIGNsYXNzZXNcclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgIC5wdXNoLSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgIC5wdXNoLSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xyXG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4bGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcclxuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcclxuLy9cclxuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcclxuLy9cclxuXHJcbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxyXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xyXG4kbmFtZXNwYWNlOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxyXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxyXG5cclxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxyXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxyXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxyXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XHJcblxyXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcclxuLy9cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxyXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XHJcbkBtaXhpbiByYWRpdXMoJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xyXG4gIEBpZiAkcmFkaXVzIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXHJcbi8vICRzaWRlIC0gT3B0aW9uczogbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tXHJcbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xyXG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgIC13ZWJraXQtI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxyXG4vLyAkYWN0aXZlIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcclxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcclxuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xyXG5cclxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcclxuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcclxuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcclxuLy8gJGVhc2UgLSBEZWZhdWx0OmVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXHJcbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0KSB7XHJcbiAgdHJhbnNpdGlvbjogJHByb3BlcnR5ICRzcGVlZCAkZWFzZTtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xyXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxyXG4gICAgIC1tb3otYm94LXNpemluZzogJHR5cGU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xyXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxyXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcclxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxyXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcclxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICB9XHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cclxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXHJcbi8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxyXG4vLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XHJcbi8vICRjb2xvciAtIGljb24gY29sb3JcclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcclxuLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlIG9mIEBpbmNsdWRlIGluIG9mZmNhbnZhc1xyXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XHJcbiAgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIEBpZiAkb2ZmY2FudmFzIHtcclxuICAgICAgQGlmICR0b3Age1xyXG4gICAgICAgIHRvcDogJHRvcDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRsZWZ0IHtcclxuICAgICAgICBsZWZ0OiAkbGVmdDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0oJHdpZHRoLzIpO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzpcclxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXHJcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcclxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gIH1cclxuICBzcGFuOmhvdmVyOmFmdGVyIHtcclxuICAgIGJveC1zaGFkb3c6XHJcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxyXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXHJcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cclxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xyXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcclxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXHJcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXHJcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xyXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICY6I3skc2VsZWN0b3J9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHRyYW5zbGF0ZSBlbGVtZW50cyBpbiAyRFxyXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxyXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcclxuQG1peGluIHRyYW5zbGF0ZTJkKCRob3Jpem9udGFsOjAsICR2ZXJ0aWNhbDowKSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXHJcbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xyXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuJHdoaXRlICAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0O1xyXG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XHJcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcclxuJHZhcG9yICAgICAgICAgOiAjRjZGNkY2ICFkZWZhdWx0O1xyXG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XHJcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcclxuJHNtb2tlICAgICAgICAgOiAjRUVFRUVFICFkZWZhdWx0O1xyXG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XHJcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcclxuJGJhc2UgICAgICAgICAgOiAjQUFBQUFBICFkZWZhdWx0O1xyXG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XHJcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcclxuJG1vbnNvb24gICAgICAgOiAjNzc3Nzc3ICFkZWZhdWx0O1xyXG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XHJcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcclxuJHR1YXRhcmEgICAgICAgOiAjNDQ0NDQ0ICFkZWZhdWx0O1xyXG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XHJcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcclxuJGJsYWNrICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcclxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7ICAgLy8gYm9uZGktYmx1ZVxyXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xyXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgICAvLyBzZWEtZ3JlZW5cclxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XHJcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXHJcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXHJcbiRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xyXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcclxuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XHJcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xyXG5AaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XHJcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XHJcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XHJcbn0gQGVsc2Uge1xyXG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXHJcbiRnbG9iYWwtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XHJcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cclxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcclxuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xyXG4kc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cclxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xyXG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcclxuJHNtYWxsLXJhbmdlOiAoMCwgNDBlbSkgIWRlZmF1bHQ7XHJcbiRtZWRpdW0tcmFuZ2U6ICg0OC4wMDBlbSwgNjRlbSkgIWRlZmF1bHQ7XHJcbiRsYXJnZS1yYW5nZTogKDY0LjA2MjVlbSwgOTBlbSkgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtcmFuZ2U6ICg5MC4wNjI1ZW0sIDEyMGVtKSAhZGVmYXVsdDtcclxuJHh4bGFyZ2UtcmFuZ2U6ICgxMjAuMDYyNWVtLCA5OTk5OTk5OWVtKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCIgIWRlZmF1bHQ7XHJcblxyXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xyXG4kcG9ydHJhaXQ6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcIiAhZGVmYXVsdDtcclxuXHJcbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcclxuJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuXHJcbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJG1lZGl1bS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG5cclxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG5cclxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4keGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcblxyXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuJHh4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG5cclxuLy8gTGVnYWN5XHJcbiRzbWFsbDogJG1lZGl1bS11cDtcclxuJG1lZGl1bTogJG1lZGl1bS11cDtcclxuJGxhcmdlOiAkbGFyZ2UtdXA7XHJcblxyXG5cclxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XHJcbiRjdXJzb3ItYXV0by12YWx1ZTogYXV0byAhZGVmYXVsdDtcclxuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcclxuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xyXG4kY3Vyc29yLWRpc2FibGVkLXZhbHVlOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcclxuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xyXG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XHJcbiRjdXJzb3ItdGV4dC12YWx1ZTogdGV4dCAhZGVmYXVsdDtcclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZ2xvYmFsXCIpIHtcclxuXHJcbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGluY2x1ZGVkIGluIGFsbCBidWlsZHMsIGFzIHRoZXkgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cclxuICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXHJcbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxyXG5cclxuICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XHJcbiAgICBmb250LWZhbWlseTogXCIve3tWRVJTSU9OfX0vXCI7XHJcbiAgfVxyXG5cclxuICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XHJcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcclxuICB9XHJcblxyXG4gIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbC1vbmx5IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLW9ubHkpICsgXCIvXCI7XHJcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcclxuICB9XHJcblxyXG4gIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xyXG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xyXG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgbWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLXVwKSArIFwiL1wiO1xyXG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XHJcbiAgfVxyXG5cclxuICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XHJcbiAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xyXG4gICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XHJcbiAgfVxyXG5cclxuICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcclxuICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcclxuICB9XHJcblxyXG4gIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Utb25seSB7XHJcbiAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2Utb25seSkgKyBcIi9cIjtcclxuICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcclxuICB9XHJcblxyXG4gIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XHJcbiAgICB3aWR0aDogbG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XHJcbiAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcclxuICB9XHJcblxyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcclxuXHJcbiAgICAvLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xyXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxyXG5cclxuICAgIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXHJcbiAgICBodG1sIHtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuICAgICosXHJcbiAgICAqOmJlZm9yZSxcclxuICAgICo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGh0bWwsXHJcbiAgICBib2R5IHsgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IH1cclxuXHJcbiAgICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXHJcbiAgICBib2R5IHtcclxuICAgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXN0eWxlOiAkYm9keS1mb250LXN0eWxlO1xyXG4gICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gIGE6aG92ZXIgeyBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTsgfVxyXG5cclxuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcclxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XHJcblxyXG4gICAgaW1nIHsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxyXG5cclxuICAgICNtYXBfY2FudmFzLFxyXG4gICAgLm1hcF9jYW52YXMsXHJcbiAgICAubXFhLWRpc3BsYXkge1xyXG4gICAgICBpbWcsXHJcbiAgICAgIGVtYmVkLFxyXG4gICAgICBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xyXG4gICAgLmxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICAucmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxyXG4gICAgLmNsZWFyZml4IHsgQGluY2x1ZGUgY2xlYXJmaXg7IH1cclxuXHJcbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXHJcbiAgICAuaGlkZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxyXG4gICAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuICAgIC8vIEZvbnQgc21vb3RoaW5nXHJcbiAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxyXG4gICAgLy8gQXBwbHkgdG8gc2luZ2xlIGVsZW1lbnRzIGluc3RlYWQgb2YgZ2xvYmFsbHkgdG8gYm9keS5cclxuICAgIC8vIE5vdGUgdGhpcyBvbmx5IGFwcGxpZXMgdG8gd2Via2l0LWJhc2VkIGRlc2t0b3AgYnJvd3NlcnMgYW5kIEZpcmVmb3ggMjUgKGFuZCBsYXRlcikgb24gdGhlIE1hYy5cclxuICAgIC5hbnRpYWxpYXNlZCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XHJcblxyXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vXHJcbiAgICAvLyBHbG9iYWwgcmVzZXRzIGZvciBmb3Jtc1xyXG4gICAgLy9cclxuXHJcbiAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICAgIHRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyB9XHJcblxyXG4gICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cclxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gSU1QT1JUIE9OQ0VcclxuLy8gV2UgdXNlIHRoaXMgdG8gcHJldmVudCBzdHlsZXMgZnJvbSBiZWluZyBsb2FkZWQgbXVsdGlwbGUgdGltZXMgZm9yIGNvbXBvbmVudHMgdGhhdCByZWx5IG9uIG90aGVyIGNvbXBvbmVudHMuXHJcbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XHJcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXHJcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XHJcbiAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxyXG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XHJcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcclxuICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBAZnVuY3Rpb25zXHJcbi8vXHJcblxyXG5cclxuLy8gUkFOR0VTXHJcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cclxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xyXG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcclxuICAgIEByZXR1cm4gMDtcclxuICB9XHJcbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xyXG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xyXG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XHJcbiAgfVxyXG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XHJcbn1cclxuXHJcbi8vIFNUUklQIFVOSVRcclxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xyXG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xyXG59XHJcblxyXG4vLyBURVhUIElOUFVUIFRZUEVTXHJcblxyXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xyXG5cclxuICAkcmV0dXJuOiAoKTtcclxuXHJcbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxyXG4gICAgdGV4dFxyXG4gICAgcGFzc3dvcmRcclxuICAgIGRhdGVcclxuICAgIGRhdGV0aW1lXHJcbiAgICBkYXRldGltZS1sb2NhbFxyXG4gICAgbW9udGhcclxuICAgIHdlZWtcclxuICAgIGVtYWlsXHJcbiAgICBudW1iZXJcclxuICAgIHNlYXJjaFxyXG4gICAgdGVsXHJcbiAgICB0aW1lXHJcbiAgICB1cmxcclxuICAgIGNvbG9yXHJcbiAgICB0ZXh0YXJlYTtcclxuXHJcbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxyXG5cclxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xyXG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcclxuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XHJcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgQHJldHVybiAkcmV0dXJuO1xyXG5cclxufVxyXG5cclxuLy8gQ09OVkVSVCBUTyBSRU1cclxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xyXG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xyXG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcclxuICBAaWYgJG5hbWVzcGFjZSB7XHJcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xyXG59XHJcblxyXG4vLyBSRU0gQ0FMQ1xyXG5cclxuLy8gTmV3IFN5bnRheCwgYWxsb3dzIHRvIG9wdGlvbmFsbHkgY2FsY3VsYXRlIG9uIGEgZGlmZmVyZW50IGJhc2UgdmFsdWUgdG8gY291bnRlciBjb21wb3VuZGluZyBlZmZlY3Qgb2YgcmVtJ3MuXHJcbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcclxuLy9cclxuLy8gICByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcclxuLy9cclxuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXHJcbi8vXHJcbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcclxuLy9cclxuLy8gT3B0aW9uYWxseSBjYWxsIHdpdGggYSBkaWZmZXJlbnQgYmFzZSAoZWc6IDhweCkgdG8gY2FsY3VsYXRlIHJlbS5cclxuLy9cclxuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcclxuLy9cclxuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XHJcbi8vXHJcbi8vICAgcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcclxuXHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XHJcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xyXG5cclxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxyXG5cclxuICAkcmVtVmFsdWVzOiAoKTtcclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHJlbVZhbHVlcztcclxufVxyXG5cclxuLy8gT0xEIEVNIENBTENcclxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMS4wLCB1c2UgcmVtLWNhbGMoKVxyXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcclxuICBAcmV0dXJuIHJlbS1jYWxjKCR2YWx1ZXMpO1xyXG59XHJcblxyXG4vLyBPTEQgRU0gQ0FMQ1xyXG4vLyBEZXByZWNhdGVkOiBXZSdsbCBkcm9wIHN1cHBvcnQgZm9yIHRoaXMgaW4gNS4xLjAsIHVzZSByZW0tY2FsYygpXHJcbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMpIHtcclxuICBAcmV0dXJuIHJlbS1jYWxjKCR2YWx1ZXMpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxyXG4vLyAgRGVjcmlwdGlvbjogUmVzcG9uc2libGUgZm9yIHRoZSBjb250YWluZXIgY29tcG9uZW50IG9mIGFjY29yZGlvbnMsIGdlbmVyYXRpbmcgc3R5bGVzIHJlbGF0aW5nIHRvIGEgbWFyZ2luIG9mIHplcm8gYW5kIGEgY2xlYXJmaXhcclxuLy8gIEV4cGxpY2l0IERlcGVuZGVuY2llczogYSBjbGVhcmZpeCBtaXhpbiAqaXMqIGRlZmluZWQuXHJcbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcclxuXHJcbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyKCkge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZywgJGhvdmVyLWJnLCAkYWN0aXZlLWJnLCAkcGFkZGluZywgJGFjdGl2ZV9jbGFzcywgICRmb250LWNvbG9yLCAkZm9udC1zaXplLCAkZm9udC1mYW1pbHkpIHtcclxuLy8gICAgQHBhcmFtcyAkYmctY29sb3I6IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcclxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcclxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWJnIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBjbGlja2VkIGFuZCBub3QgcmVsZWFzZWQuXHJcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBjbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlXHJcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxyXG4vLyAgICBAcGFyYW1zICRmb250LXNpemUgWyBudW1iZXIgXTogU3BlY2lmaXkgdGhlIGZvbnQtc2l6ZSBvZiB0aGUgdGV4dCBpbnNpZGUgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxyXG4vLyAgICBAcGFyYW1zICRmb250LWZhbWlseSBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGZhbWlseSBmb3IgdGhlIHRleHQgb2YgdGhlIG5hdmlnYXRpb24gb2YgdGhlIGFjY29yaW9uXHJcblxyXG5AbWl4aW4gYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkaG92ZXItYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvciwgJGFjdGl2ZS1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJywgICRmb250LWNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvciwgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHkgKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xyXG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGlzIG5hdmlnYXRpb24gY29tcG9uZW50LlwiXHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgICYuI3sgJGFjdGl2ZV9jbGFzcyB9ID4gYSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XHJcbiAgICB9XHJcbiAgfVxyXG4gID4gYSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XHJcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcclxuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIHdhcyByZWFkIGFzICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XHJcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAhPSBudWxsIHtcclxuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcclxuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nfSkgd2lsbCBiZSB1c2VkIGluc3RlYWQuKVwiO1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nIGlzIG1pc3NpbmcuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZ1wiO1xyXG4gICAgICAgIHBhZGRpbmc6IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgdHlwZS1vZigkZm9udC1zaXplKSAhPSBudW1iZXIge1xyXG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcclxuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgIT0gbnVsbCB7XHJcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiBUaGUgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSB3aWxsIGJlIHVzZWQgaW5zdGVhZCAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplfSkuXCI7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNle1xyXG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbnVsbDtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRlbnQoJGJnLCAkcGFkZGluZywgJGFjdGl2ZS1jbGFzcylcclxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXHJcbi8vICAgIEBwYXJhbXMgJGJnIFsgY29sb3IgIF06IEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IHdoZW4gaXQncyB2aXNpYmxlXHJcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBDbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlLlxyXG5cclxuQG1peGluIGFjY29yZGlvbi1jb250ZW50KCRiZzogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJykge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xyXG4gICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XHJcbiAgICBAaWYgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgIT0gbnVsbCB7XHJcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XHJcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcclxuICAgICAgcGFkZGluZzogbnVsbDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XHJcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoZSBjb250ZW50LiBcIlxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAmLiN7JGFjdGl2ZV9jbGFzc30ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXMge1xyXG4gICAgLmFjY29yZGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAuYWNjb3JkaW9uLW5hdmlnYXRpb24sIGRkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjsgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcclxuICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmNvbnRlbnQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQWxlcnQgQm94IFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cclxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cclxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxyXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cclxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRhbGVydC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXHJcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGFsZXJ0LWNsb3NlLXRvcDogNTAlICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcclxuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xyXG4kYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcclxuJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBBbGVydCBNaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYWxlcnQgYmFzZS5cclxuQG1peGluIGFsZXJ0LWJhc2Uge1xyXG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcclxuICBib3JkZXItd2lkdGg6ICRhbGVydC1ib3JkZXItd2lkdGg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtZm9udC13ZWlnaHQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XHJcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcclxuLy9cclxuLy8gJGJnIC0gVGhlIGJhY2tncm91bmQgb2YgdGhlIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cclxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xyXG5cclxuICAvLyBUaGlzIGZpbmRzIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cclxuICBAZWxzZSAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvcjsgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXHJcbkBtaXhpbiBhbGVydC1jbG9zZSB7XHJcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGFsZXJ0LWNsb3NlLXBvc2l0aW9uO1xyXG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xyXG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkYWxlcnQtY2xvc2UtZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAuOTtcclxuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcclxuICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcclxuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxyXG4vL1xyXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cclxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxyXG5AbWl4aW4gYWxlcnQoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XHJcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcclxuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xyXG4gIEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImFsZXJ0LWJveFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XHJcbiAgICAuYWxlcnQtYm94IHtcclxuICAgICAgQGluY2x1ZGUgYWxlcnQ7XHJcblxyXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XHJcblxyXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxyXG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XHJcblxyXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxyXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cclxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XHJcbiAgICAgICYuYWxlcnQtY2xvc2UgeyBvcGFjaXR5OiAwfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcclxuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xyXG4kYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5AaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XHJcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcclxufVxyXG5cclxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXHJcbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCbG9jayBHcmlkIE1peGluc1xyXG4vL1xyXG5cclxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcclxuLy9cclxuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXHJcbi8vICRpbmNsdWRlLXNwYWNpbmcgLSBBZGRzIHBhZGRpbmcgdG8gb3VyIGxpc3QgaXRlbS4gRGVmYXVsdDogdHJ1ZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIGJsb2NrLWdyaWQoXHJcbiAgJHBlci1yb3c6ZmFsc2UsXHJcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxyXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcclxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwZXItcm93IHtcclxuICAgID4gbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XHJcbiAgICAgIH1cclxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XHJcblxyXG4gICAgICAmOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cclxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZykge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xyXG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcclxuICAgICAgJGdyaWQtY29sdW1uOiAnKycgKyAkaTtcclxuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcclxuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICRpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHByZXNlbnRhdGlvbmFsIG1hcmt1cCBmb3IgYmxvY2sgZ3JpZC5cclxuLy9cclxuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXHJcbkBtaXhpbiBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSwgJGluY2x1ZGUtc3BhY2luZykge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xyXG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XHJcbiAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQoJGksICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZywgJGluY2x1ZGUtc3BhY2luZywgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XHJcblxyXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxyXG5cclxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcclxuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xyXG4gICAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEJyZWFkY3J1bWIgVmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxyXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXHJcbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xyXG4kY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxyXG4kY3J1bWItZnVuY3Rpb24tZmFjdG9yOiAtMTAlICFkZWZhdWx0O1xyXG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRjcnVtYi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjcnVtYi1iZywgJGxpZ2h0bmVzczogJGNydW1iLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XHJcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB2YXJpb3VzIHRleHQgc3R5bGVzIGZvciBicmVhZGNydW1icy5cclxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xyXG4kY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICRvaWwgIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcclxuJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcclxuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEJyZWFkY3J1bWIgTWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xyXG5AbWl4aW4gY3J1bWItY29udGFpbmVyIHtcclxuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XHJcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAkY3J1bWItcGFkZGluZztcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcclxuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXHJcbkBtaXhpbiBjcnVtYnMge1xyXG5cclxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cclxuICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XHJcbiAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGNydW1iLWZvbnQtc2l6ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcclxuXHJcbiAgJjpob3ZlciBhLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246ICRjcnVtYi1saW5rLWRlY29yOyB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3VycmVudCBpcyBmb3IgdGhlIGxpbmsgb2YgdGhlIGN1cnJlbnQgcGFnZVxyXG4gICYuY3VycmVudCB7XHJcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcclxuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xyXG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmhvdmVyIGEsXHJcbiAgICAmOmZvY3VzLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuICB9XHJcblxyXG4gIC8vIFVuYXZhaWxhYmxlIHJlbW92ZWQgY29sb3IgYW5kIGxpbmsgc3R5bGVzIHNvIGl0IGxvb2tzIGluYWN0aXZlLlxyXG4gICYudW5hdmFpbGFibGUge1xyXG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xyXG4gICAgYSB7IGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTsgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmhvdmVyIGEsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgYTpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJGNydW1iLXNsYXNoLWNvbG9yO1xyXG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcclxuICAgIG1hcmdpbjogMCAkY3J1bWItc2lkZS1wYWRkaW5nO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxcHg7XHJcbiAgfVxyXG5cclxuICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJicmVhZGNydW1ic1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgQGluY2x1ZGUgY3J1bWItY29udGFpbmVyO1xyXG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGNydW1iLXJhZGl1cyk7XHJcblxyXG4gICAgICA+ICoge1xyXG4gICAgICAgIEBpbmNsdWRlIGNydW1icztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXHJcbiAgICBbYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIi9cIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5AaW1wb3J0ICdidXR0b25zJztcclxuXHJcbi8vXHJcbi8vIEJ1dHRvbiBHcm91cCBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcclxuJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCdXR0b24gR3JvdXAgTWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXJcclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcclxuICBAaWYgJHN0eWxlcyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4gIH1cclxuICBAaWYgJGZsb2F0IHtcclxuICAgIGZsb2F0OiAjeyRkZWZhdWx0LWZsb2F0fTtcclxuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XHJcbiAgICAmIGRpdiB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgc3R5bGVzIGZvciBidXR0b24gZ3JvdXBzXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcclxuXHJcbiAgPiBidXR0b24sIC5idXR0b24ge1xyXG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XHJcbiAgfVxyXG5cclxuICAmOmZpcnN0LWNoaWxkIHtcclxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRidXR0b24tZ3JvdXAtZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xyXG5cclxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBmbG93LCBvciByZW1vdmUgdGhvc2Ugc3R5bGVzIGNvbXBsZXRlbHkuXHJcbiAgQGlmICRmbG9hdCB7XHJcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcclxuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xyXG4gICAgZmxvYXQ6ICRmbG9hdDtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cclxuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7IH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMCAtMnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XHJcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XHJcbiAgICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XHJcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjowO1xyXG4gICAgfVxyXG4gICAgPiBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBidXR0b24sIC5idXR0b24ge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRpc3BsYXk6ICRidXR0b24tZ3JvdXAtZGlzcGxheTtcclxuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xyXG5cclxuXHJcbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XHJcbiAgICAmLFxyXG4gICAgPiBhLFxyXG4gICAgPiBidXR0b24sXHJcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cclxuICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcclxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQsXHJcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7XHJcbiAgICAmLFxyXG4gICAgPiBhLFxyXG4gICAgPiBidXR0b24sXHJcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cclxuICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcclxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcclxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcclxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xyXG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgdXNlIHRoaXMgdG8gbWFrZSB0aGUgYnV0dG9ucyBldmVuIHdpZHRoIGFjcm9zcyB0aGVpciBjb250YWluZXJcclxuICBAaWYgJGV2ZW4ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xyXG4gICAgYnV0dG9uLCAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b24tZ3JvdXBcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyO1xyXG5cclxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcclxuICAgICAgICAmLmV2ZW4tI3skaX0gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJGV2ZW46JGksICRmbG9hdDpudWxsKTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCk7IH1cclxuXHJcbiAgICAgICYuc3RhY2sge1xyXG4gICAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgZmxvYXQ6IG5vbmU7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5zdGFjay1mb3Itc21hbGwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcclxuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsKTsgfVxyXG4gICAgICAmLnJhZGl1cy5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cclxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246dmVydGljYWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cclxuICAgICAgJi5yb3VuZC5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cclxuICAgICAgJi5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uLWJhciB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOmZhbHNlLCAkZmxvYXQ6dHJ1ZSk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cclxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXHJcbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xyXG4kYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxyXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxyXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxyXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxyXG4vL1xyXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxyXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXHJcblxyXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xyXG4gIEBpZiAkc3R5bGUge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czowO1xyXG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcclxuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xyXG4vL1xyXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXHJcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcclxuXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXHJcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxyXG4gIEBpZiAkcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXHJcbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxyXG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cclxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XHJcbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxyXG4gIEBpZiAkZnVsbC13aWR0aCB7XHJcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cclxuICAgIEBpZiAkcGFkZGluZyB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xyXG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XHJcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgIH1cclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gY29sb3Igc3R5bGVzXHJcbi8vXHJcbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxyXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGJ1dHRvbi1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXHJcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxyXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxyXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1ib3JkZXItY29sb3JcclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBzdHlsZXMgYXJlIHVzZWQsXHJcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcclxuICBAaWYgJGJnIHtcclxuXHJcbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xyXG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XHJcbiAgICAgICRib3JkZXItY29sb3I6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJvcmRlci1jb2xvciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XHJcblxyXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLlxyXG4gIEBpZiAkZGlzYWJsZWQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGN1cnNvcjogJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggYnV0dG9uIHJhZGl1cyBpcyB1c2VkLlxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxyXG5cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcclxuLy9cclxuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxyXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxyXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6ZmFsc2UuXHJcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxyXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cclxuLy8gJGlzLXByZWZpeCAtIE5vdCB1c2VkPyBEZWZhdWx0OmZhbHNlLlxyXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXHJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxyXG4vLyAkdHJhbnNpdGlvbiAtIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGJhY2tncm91bmQtY29sb3IgdHJhbnNpdGlvbiBwcm9wZXJ0eSAtIERlZmF1bHQ6dHJ1ZS5cclxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcsICRmdWxsLXdpZHRoKTtcclxuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XHJcblxyXG4gIEBpZiAkdHJhbnNpdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMgYXBwbGllZCBvdXRzaWRlIG9mIG1lZGlhIHF1ZXJ5XHJcbiAgICBidXR0b24sIC5idXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemU7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvciwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvciwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG5cclxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cclxuICAgICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXNtbCk7IH1cclxuICAgICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXRueSk7IH1cclxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpudWxsLCAkZnVsbC13aWR0aDp0cnVlKTsgfVxyXG5cclxuICAgICAgJi5sZWZ0LWFsaWduICB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiByZW0tY2FsYygxMik7IH1cclxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cclxuXHJcbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czp0cnVlKTsgfVxyXG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cclxuXHJcbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRidXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGJ1dHRvbi1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vZmlyZWZveCAycHggZml4XHJcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxyXG4kY2xlYXJpbmctYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxyXG4kY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2xvc2Utc2l6ZTogMzBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXHJcbiRjbGVhcmluZy1hcnJvdy1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBjYXB0aW9uc1xyXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW0gIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc6IDEwcHggMzBweCAyMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXHJcbiRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDogODUlICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLWFjdGl2ZS1ib3JkZXI6IDFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImNsZWFyaW5nXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzIHtcclxuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xyXG4gICAgLy8gb24gcHJlZGVmaW5lZCBjbGFzc2VzIGFuZCBzdHJ1Y3R1cmUgdG8gd29yayBwcm9wZXJseS5cclxuICAgIC8vIFRoZSB2YXJpYWJsZXMgYWJvdmUgc2hvdWxkIGdpdmUgZW5vdWdoIGNvbnRyb2wuXHJcblxyXG4gICAgLyogQ2xlYXJpbmcgU3R5bGVzICovXHJcbiAgICAuY2xlYXJpbmctdGh1bWJzLCAje2RhdGEoJ2NsZWFyaW5nJyl9IHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcclxuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWJnO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogOTk4O1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuXHJcbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDk5ODtcclxuICAgIH1cclxuXHJcbiAgICAuY2xlYXJpbmctdG91Y2gtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGJhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC52aXNpYmxlLWltZyB7XHJcbiAgICAgIGhlaWdodDogOTUlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNhcHRpb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2FwdGlvbi1iZztcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjtcclxuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2FwdGlvbi1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmc6ICRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcclxuICAgICAgY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB6LWluZGV4OiA5OTk7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRpcm9uOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAuY2Fyb3VzZWwgPiB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB5b3Ugd2FudCB0byBzaG93IGEgbGlnaHRib3gsIGJ1dCBvbmx5IGhhdmUgYSBzaW5nbGUgaW1hZ2UgY29tZSB0aHJvdWdoIGFzIHRoZSB0aHVtYm5haWxcclxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgJi5jbGVhcmluZy1mZWF0dXJlZC1pbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIG92ZXJyaWRlc1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDVweDtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcclxuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLFxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cclxuXHJcbiAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2Fyb3VzZWwtYmc7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDtcclxuXHJcbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgYS50aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aXNpYmxlLWltZyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctaW1nLWJnO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyBoZWlnaHQgYW5kIHdpZHRoIHN0eWxlcy5cclxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1tYXgtaGVpZ2h0OiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXHJcbiRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweCAhZGVmYXVsdDtcclxuXHJcbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXHJcbiRmLWRyb3Bkb3duLW1hcmdpbi1sZWZ0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxyXG4kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcblxyXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cclxuJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3JcclxuJGYtZHJvcGRvd24tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxyXG4kZi1kcm9wZG93bi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXHJcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxyXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzogJHNtb2tlICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cclxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBEZWZhdWx0IHJhZGl1cyBmb3IgZHJvcGRvd24uXHJcbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vXHJcbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XHJcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBkcm9wZG93biBjb250YWluZXIgZWxlbWVudC5cclxuLy8gJGNvbnRlbnQtbGlzdCAtIFNldHMgbGlzdC1zdHlsZS4gRGVmYXVsdDogbGlzdC4gT3B0aW9uczogW2xpc3QsIGNvbnRlbnRdXHJcbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXHJcbi8vICRtYXgtd2lkdGggLSBEZWZhdWx0OiAkZi1kcm9wZG93bi1tYXgtd2lkdGggfHwgMjAwcHguXHJcbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIoJGNvbnRlbnQ6bGlzdCwgJHRyaWFuZ2xlOnRydWUsICRtYXgtd2lkdGg6JGYtZHJvcGRvd24tbWF4LXdpZHRoKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIGxpc3Qtc3R5bGU6ICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU7XHJcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgJi5vcGVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxyXG4gID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcclxuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XHJcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcclxuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xyXG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogODk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XHJcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XHJcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcclxuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XHJcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDg5O1xyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcclxuXHJcbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICAgei1pbmRleDogODk7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIGJvdHRvbSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgICB6LWluZGV4OiA4ODtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yaWdodDpiZWZvcmUge1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xyXG4gICAgICB9XHJcbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSAkZGVmYXVsdC1mbG9hdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICB6LWluZGV4OiA4ODtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBAaWYgJHRyaWFuZ2xlID09ICRvcHBvc2l0ZS1kaXJlY3Rpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcclxuICAgICAgei1pbmRleDogODg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgdG9wKTtcclxuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIHRvcCk7XHJcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcclxuICAgICAgei1pbmRleDogODg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGlmICRtYXgtd2lkdGggeyBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7IH1cclxuICBAZWxzZSB7IG1heC13aWR0aDogJGYtZHJvcGRvd24tbWF4LXdpZHRoOyB9XHJcblxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGxpc3QgZWxlbWVudHMgb3IgY29udGVudCBpbnNpZGUgdGhlIGRyb3Bkb3duLlxyXG5cclxuQG1peGluIGRyb3Bkb3duLXN0eWxlIHtcclxuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOyB9XHJcblxyXG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcclxuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xyXG4gICAgLmYtZHJvcGRvd24ge1xyXG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcclxuXHJcbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcclxuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kcm9wLXRvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxyXG5cclxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcclxuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cclxuXHJcbiAgICAgIC8vIFNpemVzXHJcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cclxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxyXG4gICAgICAmLm1lZGl1bSAgeyBtYXgtd2lkdGg6IDUwMHB4OyB9XHJcbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cclxuICAgICAgJi5tZWdhICAgIHtcclxuICAgICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICYub3BlbntcclxuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aW55IGRyb3Bkb3duIGJ1dHRvbnNcclxuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAzICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3ICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDMgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjUgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXHJcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc6ICRidXR0b24tcGlwLWxyZyAqIDIuNSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXHJcbi8vXHJcbi8vICRwYWRkaW5nIC0gRGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiBidXR0b24geW91J3JlIHdvcmtpbmcgd2l0aC4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zIFt0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZV1cclxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXHJcbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxyXG5cclxuQG1peGluIGRyb3Bkb3duLWJ1dHRvbigkcGFkZGluZzptZWRpdW0sICRwaXAtY29sb3I6JGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IsICRiYXNlLXN0eWxlOnRydWUpIHtcclxuXHJcbiAgLy8gV2UgYWRkIGluIGJhc2Ugc3R5bGVzLCBidXQgdGhleSBjYW4gYmUgbmVnYXRlZCBieSBzZXR0aW5nIHRvICdmYWxzZScuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvLyBUaGlzIGNyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciB0aGUgdHJpYW5nbGUgcGlwXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xyXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55O1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggc21hbGwgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xyXG4gIEBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcclxuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBkZWZhdWx0IChtZWRpdW0pIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkO1xyXG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICBAaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgcGlwIGNvbG9yLiBXZSBkaWRuJ3QgdXNlIGxvZ2ljIGluIHRoaXMgY2FzZSwganVzdCBzZXQgaXQgYW5kIGZvcmdldCBpdC5cclxuICBAaWYgJHBpcC1jb2xvciB7XHJcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duLWJ1dHRvblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xyXG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xyXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24odGlueSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XHJcbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24oc21hbGwsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxyXG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cclxuICAgICAgJi5zZWNvbmRhcnk6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcclxuJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcclxuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xyXG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcclxuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTtcclxuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxyXG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxyXG5cclxuICBpZnJhbWUsXHJcbiAgb2JqZWN0LFxyXG4gIGVtYmVkLFxyXG4gIHZpZGVvIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XHJcbiAgICAuZmxleC12aWRlbyB7IEBpbmNsdWRlIGZsZXgtdmlkZW8tY29udGFpbmVyOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnYnV0dG9ucyc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcclxuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KSAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kaW5wdXQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTQwJSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xyXG4kaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cclxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cclxuJGxlZ2VuZC1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcclxuJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KSAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXHJcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XHJcbiRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIFNlbGVjdCB2YXJpYWJsZXNcclxuJHNlbGVjdC1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xyXG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQE1JWElOU1xyXG4vL1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSB1cyBmb3JtIHN0eWxlcyBmb3Igcm93cyBpbnNpZGUgb2YgZm9ybXNcclxuQG1peGluIGZvcm0tcm93LWJhc2Uge1xyXG4gIC5yb3cgeyBtYXJnaW46IDAgKCgtJGZvcm0tc3BhY2luZykgLyAyKTtcclxuXHJcbiAgICAuY29sdW1uLFxyXG4gICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cclxuXHJcbiAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XHJcbiAgICAmLmNvbGxhcHNlIHsgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgLmNvbHVtbixcclxuICAgICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXQuY29sdW1uLFxyXG4gIGlucHV0LmNvbHVtbnMsXHJcbiAgdGV4dGFyZWEuY29sdW1uLFxyXG4gIHRleHRhcmVhLmNvbHVtbnMgeyBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzIHRoZWlyIHN0eWxlXHJcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1jb2xvcjtcclxuICBib3JkZXI6IHtcclxuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xyXG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICB9XHJcbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XHJcbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xyXG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XHJcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xyXG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcclxuICAgIEBpbmNsdWRlIGJsb2NrLWdsb3dpbmctZWZmZWN0KGZvY3VzLCAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lLCAkZ2xvd2luZy1lZmZlY3QtY29sb3IpO1xyXG4gIH1cclxuICAvLyBCYXNpYyBmb2N1cyBzdHlsZXNcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIC8vIERpc2JhbGVkIFN0eWxlc1xyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xyXG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgJltyZWFkb25seV0sXHJcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xyXG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBmb3JtIGxhYmVsc1xyXG4vL1xyXG4vLyAkYWxpZ25tZW50IC0gQWxpZ25tZW50IG9wdGlvbnMuIERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBbcmlnaHQsIGlubGluZSwgZmFsc2VdXHJcbi8vICRiYXNlLXN0eWxlIC0gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLiBEZWZhdWx0OiB0cnVlLlxyXG5AbWl4aW4gZm9ybS1sYWJlbCgkYWxpZ25tZW50OmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIC8vIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cclxuICBAaWYgJGJhc2Utc3R5bGUge1xyXG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWZvbnQtY29sb3I7XHJcbiAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjtcclxuICB9XHJcblxyXG4gIC8vIEFsaWdubWVudCBvcHRpb25zXHJcbiAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xyXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGlubGluZSB7XHJcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XHJcbiAgICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeC9wcmVmaXggZm9ybSBMYWJlbHNcclxuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xyXG4gIGJvcmRlci1zdHlsZTogJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTtcclxuICBib3JkZXItd2lkdGg6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XHJcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcclxuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XHJcbiAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XHJcbiAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcclxuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcclxuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6ZmFsc2VcclxuLy9cclxuQG1peGluIHByZWZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xyXG5cclxuICBAaWYgJGJnIHtcclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XHJcblxyXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcclxuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XHJcbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGJvcmRlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgfVxyXG5cclxuICBAaWYgJGlzLWJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxyXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xyXG5cclxuICBAaWYgJGJnIHtcclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBub25lO1xyXG5cclxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXHJcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSAgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cclxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cclxuICB9XHJcblxyXG4gIEBpZiAkYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkaXMtYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xyXG5AbWl4aW4gZmllbGRzZXQge1xyXG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XHJcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xyXG5cclxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xyXG4gIGxlZ2VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGVnZW5kLWJnO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvciBvZiBlcnJvciBpbnB1dHNcclxuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcclxuICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcclxuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcclxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGVycm9yIG1lc3NhZ2Ugc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcclxuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xyXG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcclxuICBwYWRkaW5nOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nO1xyXG5cclxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cclxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XHJcbiAgQGVsc2UgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7IH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgc2VsZWN0IGVsZW1lbnRzXHJcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcclxuICAmOjotbXMtZXhwYW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgY3VzdG9tIGFycm93IGhhcyBzb21lIGZha2UgaG9yaXpvbnRhbCBwYWRkaW5nIHNvIHdlIGNhbiBhbGlnbiBpdFxyXG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrKTtcclxuXHJcbiAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcsIDAlLCAxMDAlKSBjZW50ZXI7XHJcblxyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYm9yZGVyOiB7XHJcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcclxuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XHJcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xyXG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbiAgLy8gRGlzYWJsZWQgU3R5bGVzXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XHJcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnNcclxuQG1peGluIGh0bWw1bnVtYmVyKCRicm93c2VyLCAkb246dHJ1ZSkge1xyXG4gIEBpZiAkb249PWZhbHNlIHtcclxuICAgICAgQGlmICRicm93c2VyPT13ZWJraXQge1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXI9PW1veiB7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xyXG4gICAgLyogU3RhbmRhcmQgRm9ybXMgKi9cclxuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XHJcblxyXG4gICAgLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cclxuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cclxuXHJcbiAgICAvKiBMYWJlbCBTdHlsZXMgKi9cclxuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcclxuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxyXG4gICAgICAmLmlubGluZSB7IEBpbmNsdWRlIGZvcm0tbGFiZWwoaW5saW5lLCBmYWxzZSk7IH1cclxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cclxuICAgICAgc21hbGwge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XHJcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cclxuICAgIC5wcmVmaXgsXHJcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cclxuXHJcbiAgICAvKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xyXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XHJcbiAgICAucHJlZml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHByZWZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XHJcblxyXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAucG9zdGZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuXHJcbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXHJcbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cclxuICAgIHNwYW4ucG9zdGZpeCwgbGFiZWwucG9zdGZpeCB7IEBpbmNsdWRlIHBvc3RmaXgoKTsgfVxyXG5cclxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXHJcbiAgICAje3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcclxuICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0ID09IGZhbHNlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xyXG4gICAgICB9XHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XHJcbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxyXG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXHJcbiAgICB0ZXh0YXJlYVtyb3dzXSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcblx0LyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXHJcblx0dGV4dGFyZWEge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xyXG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xyXG4gICAgICAmW211bHRpcGxlXSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xyXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZm9ybS1zcGFjaW5nICogLjU7XHJcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cclxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cclxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgaHRtbDVudW1iZXIod2Via2l0LCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xyXG5cclxuICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xyXG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcclxuICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIC5lcnJvciB7XHJcbiAgICAgIGlucHV0LFxyXG4gICAgICB0ZXh0YXJlYSxcclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZ1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCxcclxuICAgICAgbGFiZWwuZXJyb3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNtYWxsLmVycm9yIHtcclxuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gbGFiZWwge1xyXG4gICAgICAgID4gc21hbGwge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xyXG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuLmVycm9yLW1lc3NhZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQuZXJyb3IsXHJcbiAgICB0ZXh0YXJlYS5lcnJvcixcclxuICAgIHNlbGVjdC5lcnJvciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuXHJcbi8vIEBuYW1lXHJcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXHJcblxyXG4kaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIEB2YXJpYWJsZXNcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXHJcbiRpY29uLWJhci1iZzogJG9pbCAhZGVmYXVsdDtcclxuJGljb24tYmFyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXI6ICRpY29uLWJhci1mb250LWNvbG9yICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3IgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pY29uLXNpemU6IDEuODc1cmVtICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaW1hZ2Utd2lkdGg6IDEuODc1cmVtICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGljb25zLlxyXG4kaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIEljb24gYmFyIGVsZW1lbnQuXHJcbi8vXHJcbkBtaXhpbiBpY29uLWJhci1iYXNlKCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gID4gKiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDI1JTtcclxuXHJcbiAgICBpLCBpbWcge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQ7XHJcbiAgICAgIHdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmxhYmVsLXJpZ2h0ID4gKiB7XHJcblxyXG4gICAgaSwgaW1nIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgLjA2MjVyZW0gMCAwO1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICB9XHJcblxyXG4gICYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAmLnZlcnRpY2FsLCAmLnNtYWxsLXZlcnRpY2Fse1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgLml0ZW0ge1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubWVkaXVtLXZlcnRpY2FsIHtcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZS12ZXJ0aWNhbCB7XHJcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgIC5pdGVtIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIGljb24gYmFycy5cclxuQG1peGluIGljb24tYmFyLXNpemUoXHJcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXHJcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcclxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxyXG4gICRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxyXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQpIHtcclxuXHJcbiAgPiAqIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG5cclxuICAgIGksIGltZyB7XHJcblxyXG4gICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6ICRpbWFnZS1oZWlnaHQ7XHJcbiAgICAgIHdpZHRoOiAkaW1hZ2Utd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQG1peGluIGljb24tYmFyLXN0eWxlKFxyXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxyXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcclxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXHJcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxyXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcclxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxyXG4gICRiYXNlLXN0eWxlOnRydWUsXHJcbiAgJGRpc2FibGVkOmZhbHNlKSB7XHJcblxyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGJhci1iZztcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3I7IH1cclxuXHJcbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yOyB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBhOmhvdmVyIHtcclxuXHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYXItaG92ZXItY29sb3I7XHJcblxyXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cclxuXHJcbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgID4gYS5hY3RpdmUge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogJGJhci1hY3RpdmUtY29sb3I7XHJcblxyXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cclxuXHJcbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkZGlzYWJsZWQge1xyXG4gICAgLml0ZW0uZGlzYWJsZWQge1xyXG4gICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgPioge1xyXG4gICAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGljb24gYmFycyB3aXRoIGEgc2luZ2xlIG1peGluXHJcbi8vICRoZWlnaHQgLSBUaGUgb3ZlcmFsbCBjYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgaWNvbiBiYXIgKGhvcml6b250YWwpXHJcbi8vICRiYXItYmcgLSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYmFyXHJcbi8vICRiYXItZm9udC1jb2xvciAtIHRoZSBmb250IGNvbG9yXHJcbi8vICRiYXItaG92ZXItY29sb3IgLSBva2F5IHRoZXNlIGFyZSBwcmV0dHkgb2J2aW91cyB2YXJpYWJsZXNcclxuLy8gJGJhci1pY29uLWNvbG9yIC0gbWF5YmUgd2UgY291bGQgc2tpcCBleHBsYWluaW5nIHRoZW0gYWxsPyBPa2F5IHRoaXMgb25lIGRvZXMgY2hhbmdlIGljb24gY29sb3IgaWYgeW91IHVzZSBhbiBpY29uIGZvbnRcclxuLy8gJGJhci1hY3RpdmUtY29sb3IgLSB0aGUgY29sb3Igb2YgYW4gYWN0aXZlIC8gaG92ZXIgc3RhdGVcclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuLy8gJGRpc2FibGVkIC0gQWxsb3cgZGlzYWJsZWQgaWNvbnM/IERlZmF1bHQ6IGZhbHNlLlxyXG5cclxuQG1peGluIGljb24tYmFyKFxyXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxyXG4gICRiYXItZm9udC1jb2xvcjokaWNvbi1iYXItZm9udC1jb2xvcixcclxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXHJcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yOiRpY29uLWJhci1pY29uLWNvbG9yLFxyXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcclxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxyXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxyXG4gICRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemUsXHJcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcclxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcclxuICAkaW1hZ2UtaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0LFxyXG4gICRiYXNlLXN0eWxlOnRydWUsXHJcbiAgJGRpc2FibGVkOnRydWUpIHtcclxuICAgIEBpbmNsdWRlIGljb24tYmFyLWJhc2UoKTtcclxuICAgIEBpbmNsdWRlIGljb24tYmFyLXNpemUoJHBhZGRpbmcsICRmb250LXNpemUsICRpY29uLXNpemUsICRpbWFnZS13aWR0aCwgJGltYWdlLWhlaWdodCk7XHJcbiAgICBAaW5jbHVkZSBpY29uLWJhci1zdHlsZSgkYmFyLWJnLCAkYmFyLWZvbnQtY29sb3IsICRiYXItZm9udC1jb2xvci1ob3ZlciwgJGJhci1ob3Zlci1jb2xvciwgJGJhci1pY29uLWNvbG9yLCAkYmFyLWljb24tY29sb3ItaG92ZXIsICRiYXItYWN0aXZlLWNvbG9yLCAkYmFzZS1zdHlsZSwgJGRpc2FibGVkKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcclxuICAgIC5pY29uLWJhciB7XHJcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XHJcblxyXG4gIC8vIHRvb2xiYXIgc3R5bGVzXHJcblxyXG4gIC5pY29uLWJhciB7XHJcblxyXG4gICAgLy8gQ291bnRzXHJcblxyXG4gICAgJi50d28tdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiA1MCU7IH1cclxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYudGhyZWUtdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxyXG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5mb3VyLXVwIHtcclxuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XHJcbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZpdmUtdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAyMCU7IH1cclxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2l4LXVwIHtcclxuICAgICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XHJcbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNldmVuLXVwIHtcclxuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XHJcbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZWlnaHQtdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAxMi41JTsgfVxyXG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cclxuJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XHJcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKSAhZGVmYXVsdDtcclxuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcclxuXHJcbiRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxyXG4kaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbiAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcclxuJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcclxuJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgaW5saW5lIGxpc3RzXHJcbkBtaXhpbiBpbmxpbmUtbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjtcclxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjtcclxuICBtYXJnaW46ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luIGF1dG8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW4gYXV0bztcclxuICBvdmVyZmxvdzogJGlubGluZS1saXN0LW92ZXJmbG93O1xyXG4gIHBhZGRpbmc6ICRpbmxpbmUtbGlzdC1wYWRkaW5nO1xyXG5cclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1kaXNwbGF5O1xyXG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW47XHJcbiAgICA+ICogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImlubGluZS1saXN0XCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzIHtcclxuICAgIC5pbmxpbmUtbGlzdCB7XHJcbiAgICAgIEBpbmNsdWRlIGlubGluZS1saXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcclxuJGpveXJpZGUtdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCkgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWwgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweCAhZGVmYXVsdDtcclxuXHJcbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xyXG4kam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcclxuJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXHJcbiRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXHJcbiRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xyXG4kam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gV2UgZGVjaWRlZCBub3QgdG8gbWFrZSBhIG1peGluIGZvciB0aGlzIGJlY2F1c2UgaXQgcmVsaWVzIG9uXHJcbi8vIHByZWRlZmluZWQgY2xhc3NlcyB0byB3b3JrIHByb3Blcmx5LlxyXG5AaW5jbHVkZSBleHBvcnRzKFwiam95cmlkZVwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBGb3VuZGF0aW9uIEpveXJpZGUgKi9cclxuICAgIC5qb3lyaWRlLWxpc3QgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4gICAgLyogRGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBjb250YWluZXIgKi9cclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC1iZztcclxuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogOTUlO1xyXG4gICAgICB6LWluZGV4OiAxMDE7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAyLjUlO1xyXG4gICAgfVxyXG5cclxuICAgIC5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHtcclxuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNDAwcHg7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtY29udGVudC13cmFwcGVyIHtcclxuICAgICAgcGFkZGluZzogJGpveXJpZGUtdGlwLXBhZGRpbmc7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgLmpveXJpZGUtcHJldi10aXAgeyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBBZGQgYSBsaXR0bGUgY3NzIHRyaWFuZ2xlIHBpcCwgb2xkZXIgYnJvd3NlciBqdXN0IG1pc3Mgb3V0IG9uIHRoZSBmYW5jaW5lc3Mgb2YgaXQgKi9cclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XHJcbiAgICAgIC5qb3lyaWRlLW51YiB7XHJcbiAgICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtbnViLXNpemUgc29saWQgJGpveXJpZGUtdGlwLWJnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XHJcblxyXG4gICAgICAgICYudG9wIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0b3A6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3R0b206IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5yaWdodCB7IHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTsgfVxyXG4gICAgICAgICYubGVmdCB7IGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBUeXBvZ3JhcGh5ICovXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDEsXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDIsXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDMsXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDQsXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDUsXHJcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDYge1xyXG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBwIHtcclxuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtZm9udC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxOCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Itd3JhcCB7XHJcbiAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLWJvcmRlcjtcclxuICAgICAgYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiAgICAgIGhlaWdodDogJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiByZW0tY2FsYygxNyk7XHJcbiAgICB9XHJcbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Ige1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtdGltZXItY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5qb3lyaWRlLWNsb3NlLXRpcCB7XHJcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtY2xvc2UtY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNSAhaW1wb3J0YW50O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMnB4O1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkc21va2UgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG5cclxuICAgIC5qb3lyaWRlLW1vZGFsLWJnIHtcclxuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtc2NyZWVuZmlsbDtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5qb3lyaWRlLWV4cG9zZS13cmFwcGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICR3aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxMDI7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtZXhwb3NlLWNvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdCBsZWFzdCA3NjhweDsgKi9cclxuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xyXG4gICAgICAuam95cmlkZS10aXAtZ3VpZGUgeyB3aWR0aDogJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg7ICN7JGRlZmF1bHQtZmxvYXR9OiBpbmhlcml0O1xyXG4gICAgICAgIC5qb3lyaWRlLW51YiB7XHJcbiAgICAgICAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLnJpZ2h0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XHJcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYubGVmdCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRvcDogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cclxuJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxyXG4ka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBrZXlzdHJva2Ugc3R5bGVzLlxyXG4vLyAkYmcgLSBEZWZhdWx0OiAka2V5c3Ryb2tlLWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG5AbWl4aW4ga2V5c3Ryb2tlKCRiZzoka2V5c3Ryb2tlLWJnKSB7XHJcbiAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcclxuXHJcbiAgLy8gV2UgYWRqdXN0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxyXG4gIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvcjsgfVxyXG4gIEBlbHNlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ7IH1cclxuXHJcbiAgYm9yZGVyLXN0eWxlOiAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTtcclxuICBib3JkZXItd2lkdGg6ICRrZXlzdHJva2UtYm9yZGVyLXdpZHRoO1xyXG4gIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XHJcbiAgZm9udC1zaXplOiAka2V5c3Ryb2tlLWZvbnQtc2l6ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwia2V5c3Ryb2tlXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlcyAge1xyXG4gICAgLmtleXN0cm9rZSxcclxuICAgIGtiZCB7XHJcbiAgICAgIEBpbmNsdWRlIGtleXN0cm9rZTtcclxuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRrZXlzdHJva2UtcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXHJcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHQ7XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XHJcbiRsYWJlbC1mb250LXNpemluZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xyXG4kbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kbGFiZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBsYWJlbCBiYXNlLlxyXG5AbWl4aW4gbGFiZWwtYmFzZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiAkbGFiZWwtZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6ICRsYWJlbC1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGxhYmVsIHNpemUgc3R5bGVzLlxyXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gZGV0ZXJtaW5lIGxhYmVsIHBhZGRpbmcuIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdFxyXG4vLyAkdGV4dC1zaXplIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgdGV4dC1zaXplLiBEZWZhdWx0OiAkdGV4dC1zaXplIGZvdW5kIGluIHNldHRpbmdzXHJcbkBtaXhpbiBsYWJlbC1zaXplKCRwYWRkaW5nOiRsYWJlbC1wYWRkaW5nLCAkdGV4dC1zaXplOiRsYWJlbC1mb250LXNpemluZykge1xyXG4gIEBpZiAkcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XHJcbiAgQGlmICR0ZXh0LXNpemUgeyBmb250LXNpemU6ICR0ZXh0LXNpemU7IH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc3R5bGVzLlxyXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlLCBzZXRzIHJhZGl1cyB0byAkZ2xvYmFsLXJhZGl1cyAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuQG1peGluIGxhYmVsLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xyXG5cclxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgY29tZXMgdGhyb3VnaFxyXG4gIEBpZiAkYmcge1xyXG5cclxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcblxyXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgeyBjb2xvcjogJGxhYmVsLWZvbnQtY29sb3ItYWx0OyB9XHJcbiAgICBAZWxzZSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvcjsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgcmFkaXVzIG9uIGxhYmVscy5cclxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRsYWJlbC1yYWRpdXMpOyB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxyXG5cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgY2xvc2UgYnV0dG9ucyB0byBhbGVydHNcclxuLy8gJHBhZGRpbmcgLSBEZWZhdWx0OiAkbGFiZWwtcGFkZGluZyxcclxuLy8gJHRleHQtc2l6ZSAtIERlZmF1bHQ6ICRsYWJlbC1mb250LXNpemluZyxcclxuLy8gJGJnIC0gRGVmYXVsdDogJHByaW1hcnktY29sb3IoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlIHdoaWNoIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG5AbWl4aW4gbGFiZWwoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nLCAkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcclxuXHJcbiAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcclxuICBAaW5jbHVkZSBsYWJlbC1zaXplKCRwYWRkaW5nLCAkdGV4dC1zaXplKTtcclxuICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYmcsICRyYWRpdXMpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwibGFiZWxcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXMge1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgbGFiZWwtYmFzZTtcclxuICAgICAgQGluY2x1ZGUgbGFiZWwtc2l6ZTtcclxuICAgICAgQGluY2x1ZGUgbGFiZWwtc3R5bGU7XHJcblxyXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKGZhbHNlLCB0cnVlKTsgfVxyXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsICRyYWRpdXM6MTAwMHB4KTsgfVxyXG5cclxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XHJcbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XHJcbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpOyB9XHJcbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHNlY29uZGFyeS1jb2xvcik7IH1cclxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkaW5mby1jb2xvcik7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRtYWdlbGxhbi1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kbWFnZWxsYW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJtYWdlbGxhblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlcyB7XHJcblxyXG4gICAgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uJyl9LCAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmUnKX0ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZWxsYW4tYmc7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogJG1hZ2VsbGFuLXBhZGRpbmc7XHJcbiAgICAgIHotaW5kZXg6IDUwO1xyXG5cclxuICAgICAgLnN1Yi1uYXYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXHJcbiRvcmJpdC1jb250YWluZXItYmc6IG5vbmUgIWRlZmF1bHQ7XHJcbiRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiICFkZWZhdWx0OyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpICFkZWZhdWx0O1xyXG4kb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXHJcbiRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XHJcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xyXG4kb3JiaXQtdGltZXItYmc6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAhZGVmYXVsdDtcclxuJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJ1bGxldCBuYXYgc3R5bGVzXHJcbiRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcclxuJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRvcmJpdC1idWxsZXQtcmFkaXVzOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xyXG4kb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApICFkZWZhdWx0O1xyXG4kb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuXHJcbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXHJcbiR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCIgIWRlZmF1bHQ7XHJcbiRwcmVsb2FkZXItY2xhc3M6IFwicHJlbG9hZGVyXCIgIWRlZmF1bHQ7XHJcblxyXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXHJcbiRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XHJcbiRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWUgIWRlZmF1bHQ7XHJcbiRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwib3JiaXRcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXMge1xyXG5cclxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRvIHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xyXG4gICAgICBmcm9tIHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIH1cclxuICAgICAgdG8ge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xyXG4gICAgLiN7JHdyYXBwZXItY2xhc3N9IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIC8vIFByZXZlbnQgYnVsbGV0cyBzaG93aW5nIGJlZm9yZSAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcclxuICAgICAgICBsaSxcclxuICAgICAgICBsaSAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAgICAgLy8gLi4uZXhjZXB0IGZvciB0aGUgZmlyc3Qgb25lXHJcbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtY29udGFpbmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIC8vIFNob3cgaW1hZ2VzIHdoZW4gLm9yYml0LWNvbnRhaW5lciBpcyBsb2FkZWRcclxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3JiaXQgcHJlbG9hZGVyXHJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgM3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLy8gUHJldmVudHMgaW1hZ2VzIChhbmQgY2FwdGlvbnMpIGZyb20gZGlzYXBwZWFyaW5nIGFmdGVyIGZpcnN0IHJvdGF0aW9uIG9uIENocm9tZSBmb3IgQW5kcm9pZFxyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuXHJcbiAgICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxyXG5cclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xyXG4gICAgICAgICAgICBAaWYgJG9yYml0LWNhcHRpb24tcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XHJcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcInVuZGVyXCIge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmc7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnO1xyXG4gICAgICAgIGNvbG9yOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nO31cclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vcmJpdC10aW1lciB7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTBweDtcclxuXHJcbiAgICAgICAgLm9yYml0LXByb2dyZXNzIHtcclxuICAgICAgICAgIEBpZiAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtdGltZXItYmc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUGxheSBidXR0b25cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQYXVzZSBidXR0b25cclxuICAgICAgICAmLnBhdXNlZCB7XHJcbiAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLTRweDtcclxuXHJcbiAgICAgICAgICAgICYuZGFyayB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvaWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgJjpob3ZlciAub3JiaXQtdGltZXIgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbiAgICAgIC8vIExldCdzIGdldCB0aG9zZSBjb250cm9scyB0byBiZSByaWdodCBpbiB0aGUgY2VudGVyIG9uIGVhY2ggc2lkZVxyXG4gICAgICAub3JiaXQtcHJldixcclxuICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmc7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDQ1JTtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnLWhvdmVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5vcmJpdC1wcmV2IHsgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLm9yYml0LW5leHQgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xyXG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgLm9yYml0LWJ1bGxldHMge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRvcDogMTBweDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIC8vIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA2cHg7XHJcbiAgICAgICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50b3VjaCB7XHJcbiAgICAgIC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG5cclxuICAgICAgLnRvdWNoIHtcclxuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcclxuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XHJcbiAgICAgICAgICBtYXJnaW46MCAgIWltcG9ydGFudDtcclxuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAkb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGwge1xyXG4gICAgICAgICAub3JiaXQtdGltZXJ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGwge1xyXG4gICAgICAgICAub3JiaXQtbmV4dCwub3JiaXQtcHJldntkaXNwbGF5OiBub25lO31cclxuICAgICAgfVxyXG4gICAgICBAaWYgJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbCB7XHJcbiAgICAgICAgIC5vcmJpdC1idWxsZXRze2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcclxuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xyXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxyXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcclxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcclxuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcclxuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xyXG4gIH1cclxuICAmOmhvdmVyIGEsXHJcbiAgJiBhOmZvY3VzLFxyXG5cclxuICAmOmhvdmVyIGJ1dHRvbixcclxuICAmIGJ1dHRvbjpmb2N1c1xyXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cclxufVxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXHJcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cclxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcclxuICBAaWYgJGhhcy1hbmNob3Ige1xyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcclxuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG4gICAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xyXG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xyXG4gICAgQGluY2x1ZGUgcmFkaXVzO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cclxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2VcclxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXHJcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcclxuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XHJcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjtcclxuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XHJcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcclxuXHJcbiAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xyXG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIGEsXHJcbiAgICAgIGE6Zm9jdXMsXHJcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxyXG4gICAgICBidXR0b246Zm9jdXNcclxuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxyXG5cclxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcclxuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cclxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xyXG4gIGxpIHtcclxuICAgIEBpZiAkY2VudGVyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xyXG4gICAgdWwucGFnaW5hdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cclxuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcclxuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XHJcblxyXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcclxuJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcGFuZWwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGNhbGxvdXQtcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcclxuJHBhbmVsLWZ1bmN0aW9uLWZhY3RvcjogLTExJSAhZGVmYXVsdDtcclxuJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAkcGFuZWwtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXHJcbiRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgZm9udCBjb2xvcnNcclxuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XHJcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxyXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XHJcbi8vICRwYWRkaW5nIC0gU2V0cyB0aGUgcGFuZWwgcGFkZGluZyBhbW91bnQuIERlZmF1bHQ6ICRwYW5lbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDIwKVxyXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxyXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xyXG5cclxuICBAaWYgJGJnIHtcclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG5cclxuICAgIEBpZiAkYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xyXG4gICAgICBib3JkZXItc3R5bGU6ICRwYW5lbC1ib3JkZXItc3R5bGU7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJHBhbmVsLWJvcmRlci1zaXplO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XHJcbiAgICBAZWxzZSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cclxuXHJcbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxyXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICAgIEBpZiAkYWRqdXN0IHtcclxuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXHJcbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XHJcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gcmVzZXQgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzXHJcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xyXG4gICAgICAgICYuc3ViaGVhZGVyIHsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwicGFuZWxcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFBhbmVscyAqL1xyXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XHJcblxyXG4gICAgICAmLmNhbGxvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcclxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxyXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcclxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcclxuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXHJcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcclxuJHByaWNlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwcmljZS1kZXNjLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtIHN0eWxlc1xyXG4kcHJpY2UtaXRlbS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXHJcbiRwcmljZS1jdGEtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHByaWNlLWN0YS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNvbnRhaW5lciBlbGVtZW50IGZvciB0aGUgcHJpY2luZyB0YWJsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtY29udGFpbmVyIHtcclxuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XHJcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAmICoge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxufVxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgcHJpY2luZyB0YWJsZSB0aXRsZSBzdHlsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS10aXRsZS1iZztcclxuICBjb2xvcjogJHByaWNlLXRpdGxlLWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtdGl0bGUtc2l6ZTtcclxuICBmb250LXdlaWdodDogJHByaWNlLXRpdGxlLXdlaWdodDtcclxuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtdGl0bGUtYWxpZ247XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtcHJpY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1tb25leS1iZztcclxuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtbW9uZXktZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcclxuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcclxuICBwYWRkaW5nOiAkcHJpY2UtbW9uZXktcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtbW9uZXktYWxpZ247XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXMgZm9yIHRoZSBwcmljaW5nIHRhYmxlXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XHJcbiAgYm9yZGVyLWJvdHRvbTogJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjtcclxuICBjb2xvcjogJHByaWNlLWRlc2MtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XHJcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1kZXNjLXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ7XHJcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtZGVzYy1hbGlnbjtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWJ1bGxldCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xyXG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XHJcbiAgY29sb3I6ICRwcmljZS1pdGVtLWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogJHByaWNlLWl0ZW0tZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XHJcbiAgcGFkZGluZzogJHByaWNlLWl0ZW0tcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtaXRlbS1hbGlnbjtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgQ1RBIGFyZWEgb2YgdGhlIHByaWNpbmcgdGFibGVzXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWN0YSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcclxuICBwYWRkaW5nOiAkcHJpY2UtY3RhLXBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInByaWNpbmctdGFibGVcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XHJcblxyXG4gICAgLyogUHJpY2luZyBUYWJsZXMgKi9cclxuICAgIC5wcmljaW5nLXRhYmxlIHtcclxuICAgICAgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jb250YWluZXI7XHJcblxyXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XHJcbiAgICAgIC5wcmljZSB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtcHJpY2U7IH1cclxuICAgICAgLmRlc2NyaXB0aW9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbjsgfVxyXG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxyXG4gICAgICAuY3RhLWJ1dHRvbiB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtY3RhOyB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XHJcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcclxuJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xyXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcclxuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XHJcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtYmFyLWhlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XHJcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXHJcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZDogJGJnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJwcm9ncmVzcy1iYXJcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFByb2dyZXNzIEJhciAqL1xyXG4gICAgLnByb2dyZXNzIHtcclxuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgICAgLy8gTWV0ZXJcclxuICAgICAgLm1ldGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuICAgICAgfVxyXG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cclxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgJi5hbGVydCAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAubWV0ZXIgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzIC0gMSk7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9yYW5nZS1zbGlkZXIuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xyXG4vL1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcclxuJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xJSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIHZhcmlhYmVscyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XHJcblxyXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xyXG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I7XHJcbiAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcclxuICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci13aWR0aDtcclxuICB9XHJcbn1cclxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoXHJcbiAgJGJnOiB0cnVlLFxyXG4gICRyYWRpdXM6IGZhbHNlLFxyXG4gICRyb3VuZDogZmFsc2UsXHJcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xyXG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7IH1cclxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cclxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xyXG4gICAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjtcclxuICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxyXG4gICRiZzogJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3IsXHJcbiAgJHJhZGl1czpmYWxzZSkge1xyXG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcclxuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlO1xyXG59XHJcblxyXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlKCkge1xyXG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I7XHJcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDtcclxuICB3aWR0aDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgLy8gVGhpcyByZW1vdmVzIHRoZSAzMDBtcyB0b3VjaCBkZWxheSBvbiBXaW5kb3dzIDhcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbn1cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKFxyXG4gICRiZzogdHJ1ZSxcclxuICAkcmFkaXVzOiBmYWxzZSxcclxuICAkcm91bmQ6IGZhbHNlLFxyXG4gICRkaXNhYmxlZDogZmFsc2UpIHtcclxuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XHJcbiAgQGlmICRyb3VuZCA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcm91bmQpOyB9XHJcbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcclxuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XHJcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xyXG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGU7XHJcbn1cclxuXHJcbi8vIENTUyBHZW5lcmF0aW9uXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlcyB7XHJcbiAgICAucmFuZ2Utc2xpZGVyIHtcclxuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRiZzp0cnVlLCAkcmFkaXVzOmZhbHNlKTtcclxuICAgICAgJi52ZXJ0aWNhbC1yYW5nZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgYm90dG9tOiAtKCRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodCAtICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoKTtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czp0cnVlKTtcclxuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJhZGl1czogdHJ1ZSk7IH1cclxuICAgICAgfVxyXG4gICAgICAmLnJvdW5kIHtcclxuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyb3VuZDp0cnVlKTtcclxuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJvdW5kOiB0cnVlKTsgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRkaXNhYmxlZDp0cnVlKTtcclxuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcclxuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcclxuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRiZzp0cnVlLCAkcmFkaXVzOiBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnZ3JpZCc7XHJcblxyXG4vL1xyXG4vLyBAbmFtZSBfcmV2ZWFsLnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgcmV2ZWFsIG92ZXJsYXkuXHJcbiRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSkgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxyXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtcG9zaXRpb24tdG9wOiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJSAhZGVmYXVsdDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XHJcbiRyZXZlYWwtbW9kYWwtcGFkZGluZzogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcmV2ZWFsIGNsb3NlIGJ1dHRvblxyXG4kcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcclxuJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcclxuJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xyXG5cclxuJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcclxuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcclxuXHJcbi8vIFNldCBiYXNlIHotaW5kZXhcclxuJHotaW5kZXgtYmFzZTogMTAwNTtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcclxuQG1peGluIHJldmVhbC1iZyggJGluY2x1ZGUtei1pbmRleC12YWx1ZTogdHJ1ZSApIHtcclxuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIGFsbG93cyBtb2RhbCBiYWNrZ3JvdW5kIHRvIGV4dGVuZCBiZXlvbmQgd2luZG93IHBvc2l0aW9uXHJcbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXHJcbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnO1xyXG4gIGJvdHRvbTogMDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiBpZiggJGluY2x1ZGUtei1pbmRleC12YWx1ZSwgJHotaW5kZXgtYmFzZSAtIDEsIGF1dG8gKTtcclxuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcclxuLy9cclxuLy8gJGJhc2Utc3R5bGUgLSBQcm92aWRlcyByZXZlYWwgYmFzZSBzdHlsZXMsIGNhbiBiZSBzZXQgdG8gZmFsc2UgdG8gb3ZlcnJpZGUuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXHJcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcclxuLy9cclxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlKCAkYmFzZS1zdHlsZTogdHJ1ZSwgJHdpZHRoOiRyZXZlYWwtZGVmYXVsdC13aWR0aCwgJG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aCwgJGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzKSB7XHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDowO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgbWluLWhlaWdodDoxMDB2aDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cclxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XHJcblxyXG4gICAgLy8gR2V0IHJpZCBvZiBtYXJnaW4gZnJvbSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50IGluc2lkZSBtb2RhbFxyXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcblxyXG4gICAgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICB9XHJcblxyXG4gIEBpZiAkd2lkdGgge1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSByZXZlYWwgbW9kYWwgZGVmYXVsdHNcclxuLy9cclxuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcclxuLy8gJHBhZGRpbmcgLSBQYWRkaW5nIHRvIGFwcGx5IHRvIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1wYWRkaW5nLlxyXG4vLyAkYm9yZGVyIC0gQ2hvb3NlIHdoZXRoZXIgcmV2ZWFsIHVzZXMgYSBib3JkZXIuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXHJcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcclxuLy8gJGJvcmRlci13aWR0aCAtIFdpZHRoIG9mIGJvcmRlciAoaS5lLiAxcHgpLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci13aWR0aC5cclxuLy8gJGJvcmRlci1jb2xvciAtIENvbG9yIG9mIGJvcmRlci4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItY29sb3IuXHJcbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcclxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBtb2RhbCByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXHJcbi8vICR0b3Atb2Zmc2V0IC0gRGVmYXVsdDogJHJldmVhbC1wb3NpdGlvbi10b3AgfHwgNTBweFxyXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxyXG4gICRiZzpmYWxzZSxcclxuICAkcGFkZGluZzpmYWxzZSxcclxuICAkYm9yZGVyOmZhbHNlLFxyXG4gICRib3JkZXItc3R5bGU6JHJldmVhbC1ib3JkZXItc3R5bGUsXHJcbiAgJGJvcmRlci13aWR0aDokcmV2ZWFsLWJvcmRlci13aWR0aCxcclxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxyXG4gICRib3gtc2hhZG93OmZhbHNlLFxyXG4gICRyYWRpdXM6ZmFsc2UsXHJcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcclxuXHJcbiAgQGlmICRiZyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxyXG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XHJcblxyXG4gIEBpZiAkYm9yZGVyIHsgYm9yZGVyOiAkYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJGJvcmRlci1jb2xvcjsgfVxyXG5cclxuICAvLyBXZSBjYW4gY2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy5cclxuICBAaWYgJGJveC1zaGFkb3cge1xyXG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmV2ZWFsLXJhZGl1cyk7IH1cclxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XHJcblxyXG4gIEBpZiAkdG9wLW9mZnNldCB7XHJcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgYSBjbG9zZSBidXR0b24gZm9yIHRoZSByZXZlYWwgbW9kYWxcclxuLy9cclxuLy8gJGNvbG9yIC0gRGVmYXVsdDogJHJldmVhbC1jbG9zZS1jb2xvciB8fCAkYmFzZVxyXG5AbWl4aW4gcmV2ZWFsLWNsb3NlKCRjb2xvcjokcmV2ZWFsLWNsb3NlLWNvbG9yKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICBmb250LXNpemU6ICRyZXZlYWwtY2xvc2UtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcclxuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkcmV2ZWFsLWNsb3NlLXNpZGU7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJyZXZlYWxcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzIHtcclxuXHJcbiAgICAvLyBSZXZlYWwgTW9kYWxzXHJcbiAgICAucmV2ZWFsLW1vZGFsLWJnIHsgQGluY2x1ZGUgcmV2ZWFsLWJnOyB9XHJcblxyXG4gICAgLiN7JHJldmVhbC1tb2RhbC1jbGFzc30ge1xyXG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcclxuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxyXG4gICAgICAgICRiZzokcmV2ZWFsLW1vZGFsLWJnLFxyXG4gICAgICAgICRwYWRkaW5nOiRyZXZlYWwtbW9kYWwtcGFkZGluZyxcclxuICAgICAgICAkYm9yZGVyOnRydWUsXHJcbiAgICAgICAgJGJveC1zaGFkb3c6dHJ1ZSxcclxuICAgICAgICAkcmFkaXVzOmZhbHNlLFxyXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XHJcbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRyYWRpdXM6JHJldmVhbC1yb3VuZCk7IH1cclxuICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcGFkZGluZzowKTsgfVxyXG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cclxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA0MCUpOyB9XHJcbiAgICAgICYubWVkaXVtICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA2MCUpOyB9XHJcbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxyXG4gICAgICAmLnhsYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCA5NSUpOyB9XHJcbiAgICAgICYuZnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgbGVmdDowO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gTW9kYWxzIHB1c2hlZCB0byBiYWNrXHJcbiAgICAgICYudG9iYWNrIHtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxyXG4kc2lkZS1uYXYtcGFkZGluZzogcmVtLWNhbGMoMTQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cclxuJHNpZGUtbmF2LWxpc3QtdHlwZTogbm9uZSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cclxuJHNpZGUtbmF2LWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlOiAkc2lkZS1uYXYtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cclxuJHNpZGUtbmF2LWhlYWRpbmctY29sb3I6ICRzaWRlLW5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4kc2lkZS1uYXYtZGl2aWRlci1zaXplOiAxcHggIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMTAlKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XHJcbi8vXHJcbi8vICRkaXZpZGVyLWNvbG9yIC0gQm9yZGVyIGNvbG9yIG9mIGRpdmlkZXIuIERlZmF1bHQ6ICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cclxuLy8gJGxpbmstY29sb3IgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci5cclxuLy8gJGxpbmstY29sb3ItaG92ZXIgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIuXHJcbkBtaXhpbiBzaWRlLW5hdihcclxuICAkZGl2aWRlci1jb2xvcjokc2lkZS1uYXYtZGl2aWRlci1jb2xvcixcclxuICAkZm9udC1zaXplOiRzaWRlLW5hdi1mb250LXNpemUsXHJcbiAgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsXHJcbiAgJGxpbmstY29sb3ItYWN0aXZlOiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZSxcclxuICAkbGluay1jb2xvci1ob3Zlcjokc2lkZS1uYXYtbGluay1jb2xvci1ob3ZlcixcclxuICAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XHJcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJHNpZGUtbmF2LWxpc3QtcG9zaXRpb247XHJcbiAgbGlzdC1zdHlsZS10eXBlOiAkc2lkZS1uYXYtbGlzdC10eXBlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcclxuXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcclxuICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpc3QtbWFyZ2luO1xyXG5cclxuICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAkc2lkZS1uYXYtbGluay1tYXJnaW47XHJcbiAgICAgIHBhZGRpbmc6ICRzaWRlLW5hdi1saW5rLXBhZGRpbmc7XHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaW5rLWJnLWhvdmVyO1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlID4gYTpmaXJzdC1jaGlsZDpub3QoLmJ1dHRvbikge1xyXG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlO1xyXG4gICAgICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXZpZGVyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRpdmlkZXItY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICRzaWRlLW5hdi1kaXZpZGVyLXNpemUgJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmhlYWRpbmcge1xyXG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWhlYWRpbmctY29sb3I7XHJcbiAgICAgIGZvbnQ6IHtcclxuICAgICAgICBzaXplOiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU7XHJcbiAgICAgICAgd2VpZ2h0OiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgfVxyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic2lkZS1uYXZcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcclxuICAgIC5zaWRlLW5hdiB7QGluY2x1ZGUgc2lkZS1uYXY7fVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcbkBpbXBvcnQgJ2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdkcm9wZG93bi1idXR0b25zJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9zcGxpdC1idXR0b25zLnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfYnV0dG9ucy5zY3NzLCBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXHJcbiRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXHJcbiRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xyXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMCAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNiAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41ICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogOCAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgc3BsaXQgYnV0dG9ucyB0aGF0IGJ1aWxkIHVwb24gdGhlIGJ1dHRvbiBtaXhpbnNcclxuLy9cclxuLy8gJHBhZGRpbmcgLSBUeXBlIG9mIHBhZGRpbmcgdG8gYXBwbHkuIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9uczogdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2UuXHJcbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLlxyXG4vLyAkc3Bhbi1ib3JkZXIgLSBCb3JkZXIgY29sb3Igb2YgYnV0dG9uIGRpdmlkZXIuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxyXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGUgdG8gc3BsaXQgYnV0dG9uLiBEZWZhdWx0OiB0cnVlLlxyXG5AbWl4aW4gc3BsaXQtYnV0dG9uKFxyXG4gICRwYWRkaW5nOm1lZGl1bSxcclxuICAkcGlwLWNvbG9yOiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLFxyXG4gICRzcGFuLWJvcmRlcjokcHJpbWFyeS1jb2xvcixcclxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIC8vIFdpdGggdGhpcywgd2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cclxuICBAaWYgJGJhc2Utc3R5bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC8vIFN0eWxpbmcgZm9yIHRoZSBzcGxpdCBhcnJvdyBjbGlja2FibGUgYXJlYVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogc29saWQgMXB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuXHJcbiAgICAgIC8vIEJ1aWxkaW5nIHRoZSB0cmlhbmdsZSBwaXAgaW5kaWNhdG9yXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG5cclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2wgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIHNwYW4gYXJlYSBvZiB0aGUgc3BsaXQgYnV0dG9uXHJcbiAgQGlmICRzcGFuLWJvcmRlciB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgdGlueSBzaXplc1xyXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTtcclxuXHJcbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTtcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHNtYWxsIHNpemVzXHJcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gc21hbGwge1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sO1xyXG5cclxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sO1xyXG4gICAgICAgIHRvcDogNDglO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgZGVmYXVsdCAobWVkaXVtKSBzaXplc1xyXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IG1lZGl1bSB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ7XHJcblxyXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkO1xyXG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ7XHJcbiAgICAgICAgdG9wOiA0OCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBsYXJnZSBzaXplc1xyXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IGxhcmdlIHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZztcclxuXHJcbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZztcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29udHJvbCB0aGUgY29sb3Igb2YgdGhlIHRyaWFuZ2xlIHBpcFxyXG4gIEBpZiAkcGlwLWNvbG9yIHtcclxuICAgIHNwYW46YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzcGxpdC1idXR0b25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuXHJcbiAgICAuc3BsaXQuYnV0dG9uIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uO1xyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCAkc2Vjb25kYXJ5LWNvbG9yLCBmYWxzZSk7IH1cclxuICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRhbGVydC1jb2xvciwgZmFsc2UpOyB9XHJcbiAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzdWNjZXNzLWNvbG9yLCBmYWxzZSk7IH1cclxuXHJcbiAgICAgICYudGlueSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbih0aW55LCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHNtYWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGxhcmdlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLmV4cGFuZCB7IHBhZGRpbmctbGVmdDogMnJlbTsgfVxyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdCwgZmFsc2UsIGZhbHNlKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICAgICAmLnJvdW5kIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAxMDAwcHgpOyB9XHJcbiAgICAgICYubm8tcGlwe1xyXG4gICAgICAgIHNwYW46YmVmb3JleyBib3JkZXItc3R5bGU6bm9uZTsgfVxyXG4gICAgICAgIHNwYW46YWZ0ZXJ7IGJvcmRlci1zdHlsZTpub25lOyB9XHJcbiAgICAgICAgc3Bhbj5pe1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9zdWItbmF2LnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxyXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcclxuXHJcbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcblxyXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcblxyXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cclxuLy9cclxuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXHJcbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxyXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxyXG5AbWl4aW4gc3ViLW5hdihcclxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcclxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXHJcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxyXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcclxuICB3aWR0aDogYXV0bztcclxuXHJcbiAgZHQge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIGR0LFxyXG4gIGRkLFxyXG4gIGxpIHtcclxuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1mb250LXdlaWdodDtcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3I7XHJcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xyXG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xyXG4gICAgICBjdXJzb3I6ICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZy1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkc3ViLW5hdi1pdGVtLWRpdmlkZXIgIT0gXCJcIiB7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xyXG4gICAgICAgIG1hcmdpbjogMCAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XHJcbiAgICAuc3ViLW5hdiB7IEBpbmNsdWRlIHN1Yi1uYXY7IH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQG5hbWVcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXHJcbiRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXHJcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXMgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgc3dpdGNoIGVsZW1lbnQuXHJcbi8vXHJcbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cclxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cclxuQG1peGluIHN3aXRjaC1iYXNlKFxyXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXHJcbiAgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcclxuXHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtYm90dG9tLW1hcmdpbjtcclxuICBvdXRsaW5lOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXHJcbiAgbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogKCRzd2l0Y2gtaGVpZ2h0LW1lZCAvIDIpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XHJcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjsgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQ7XHJcblxyXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXHJcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihsZWZ0LCAkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XHJcbiAgfVxyXG5cclxuICAvLyBTbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmVjcmVhdGUgdGhlIGZvcm0gd2l0aCBhbnkgSlMsIHdlIHVzZSB0aGVcclxuICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cclxuICBpbnB1dCB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOXB4O1xyXG5cclxuICAgICYgKyBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuICB9XHJcblxyXG4gIC8vIFRoZSBwYWRkbGUgZm9yIHRoZSBzd2l0Y2ggaXMgY3JlYXRlZCBmcm9tIGFuIGFmdGVyIHBzdWVkb2NsYXNzXHJcbiAgLy8gY29udGVudCBlbGVtZW50LiBUaGlzIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkLCBhbmQgcmVhY3RzIHRvXHJcbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cclxuXHJcbiAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xyXG4gICAgbGVmdDogLjI1cmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAuMjVyZW07XHJcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XHJcblxyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcclxuXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgbGVmdDogJHN3aXRjaC1oZWlnaHQtbWVkICsgLjI1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXHJcbi8vXHJcbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXHJcbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cclxuLy8gJGxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgb2Ygc3dpdGNoLiBEZWZhdWx0OiAyLjNyZW0uXHJcbkBtaXhpbiBzd2l0Y2gtc2l6ZSgkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xyXG4gIH1cclxuXHJcbiAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gLjVyZW07XHJcbiAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxyXG4vL1xyXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cclxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXHJcbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXHJcbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIHN3aXRjaC1zdHlsZShcclxuICAkcGFkZGxlLWJnOiRzd2l0Y2gtcGFkZGxlLWJnLFxyXG4gICRhY3RpdmUtY29sb3I6JHN3aXRjaC1hY3RpdmUtY29sb3IsXHJcbiAgJHJhZGl1czpmYWxzZSxcclxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICB9XHJcbiAgICBsYWJlbDphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRyYWRpdXMge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cclxuLy9cclxuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxyXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxyXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxyXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cclxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXHJcbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIHN3aXRjaChcclxuICAkdHJhbnNpdGlvbi1zcGVlZDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcclxuICAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsXHJcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxyXG4gICRwYWRkbGUtYmc6ICRzd2l0Y2gtcGFkZGxlLWJnLFxyXG4gICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxyXG4gICRyYWRpdXM6ZmFsc2UsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWJhc2UoJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc3R5bGUoJHBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvciwgJHJhZGl1cywgJGJhc2Utc3R5bGUpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic3dpdGNoXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xyXG4gICAgICAuc3dpdGNoIHtcclxuICAgICAgICBAaW5jbHVkZSBzd2l0Y2g7XHJcblxyXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXHJcbiAgICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7IH1cclxuXHJcbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcclxuICAgICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtc21sKTsgfVxyXG5cclxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXHJcbiAgICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtdG55KTsgfVxyXG5cclxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxyXG4gICAgICAgICYucmFkaXVzIHtcclxuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDRweCk7IH1cclxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxyXG4gICAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XHJcbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQG5hbWUgX3RhYmxlcy5zY3NzXHJcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXHJcbi8vXHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcblxyXG4kaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXHJcbiR0YWJsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcclxuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcclxuJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZSAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xyXG4kdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmcgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXHJcbiR0YWJsZS1jYXB0aW9uLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcclxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXHJcbiR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcclxuJHRhYmxlLWxheW91dDogYXV0byAhZGVmYXVsdDtcclxuJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGwgIWRlZmF1bHQ7XHJcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuQG1peGluIHRhYmxlIHtcclxuICBiYWNrZ3JvdW5kOiAkdGFibGUtYmc7XHJcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItc2l6ZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xyXG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xyXG4gIHRhYmxlLWxheW91dDogJHRhYmxlLWxheW91dDtcclxuXHJcbiAgY2FwdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcclxuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yO1xyXG4gICAgZm9udDoge1xyXG4gICAgICBzaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XHJcbiAgICAgIHdlaWdodDogJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0aGVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iZztcclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIHRoLFxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHtcclxuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJnO1xyXG5cclxuICAgIHRyIHtcclxuICAgICAgdGgsXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHIge1xyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XHJcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgdGV4dC1hbGlnbjogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ldmVuLFxyXG4gICAgJi5hbHQsXHJcbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHsgYmFja2dyb3VuZDogJHRhYmxlLWV2ZW4tcm93LWJnOyB9XHJcbiAgfVxyXG5cclxuICB0aGVhZCB0ciB0aCxcclxuICB0Zm9vdCB0ciB0aCxcclxuICB0Zm9vdCB0ciB0ZCxcclxuICB0Ym9keSB0ciB0aCxcclxuICB0Ym9keSB0ciB0ZCxcclxuICB0ciB0ZCB7IGRpc3BsYXk6ICR0YWJsZS1kaXNwbGF5OyBsaW5lLWhlaWdodDogJHRhYmxlLWxpbmUtaGVpZ2h0OyB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidGFibGVcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXMge1xyXG4gICAgdGFibGUge1xyXG4gICAgICBAaW5jbHVkZSB0YWJsZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5AaW1wb3J0ICdncmlkJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4kdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XHJcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xyXG5cclxuJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzIHtcclxuICAgIC50YWJzIHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIGRkLCAudGFiLXRpdGxlIHtcclxuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplO1xyXG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAqIDI7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDoge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2xvcjokdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBkZDpmaXJzdC1jaGlsZCwgLnRhYjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBhIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBkZDpsYXN0LWNoaWxkLCAudGFiOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICBkZCwgLnRhYi10aXRsZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b207XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICA+IC5jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAmLmFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbm9uZTsgfVxyXG4gICAgICAgICYuY29udGFpbmVkIHsgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nOyB9XHJcbiAgICAgIH1cclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgPiAuY29udGVudCB7IHBhZGRpbmc6IDAgJHRhYnMtY29udGVudC1wYWRkaW5nOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgLnRhYnMge1xyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAyMCU7XHJcbiAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTFweDtcclxuICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcclxuICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubm8tanMge1xyXG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF90aHVtYnMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHRodW1iLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xyXG4kdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcclxuJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxyXG4vL1xyXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIGFyb3VuZCB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3JkZXItd2lkdGguXHJcbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxyXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxyXG5AbWl4aW4gdGh1bWIoXHJcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxyXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxyXG4gICRib3gtc2hhZG93LWhvdmVyOiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyKSB7XHJcbiAgYm9yZGVyOiAkdGh1bWItYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJHRodW1iLWJvcmRlci1jb2xvcjtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXHJcbiAgICAudGgge1xyXG4gICAgICBAaW5jbHVkZSB0aHVtYjtcclxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gVG9vbHRpcCBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGlyb24gIWRlZmF1bHQ7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGhhcy10aXAtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjogZG90dGVkIDFweCBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTU1JSkgIWRlZmF1bHQ7XHJcbiRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscCAhZGVmYXVsdDtcclxuXHJcbiR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtcGlwLXNpemU6IDVweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b29sdGlwXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFRvb2x0aXBzICovXHJcbiAgICAuaGFzLXRpcCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XHJcbiAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yO1xyXG4gICAgICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvci10eXBlO1xyXG4gICAgICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyO1xyXG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRpcC1sZWZ0LFxyXG4gICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuXHJcbiAgICAudG9vbHRpcCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xyXG4gICAgICBjb2xvcjogJHRvb2x0aXAtZm9udC1jb2xvcjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1mb250LXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICR0b29sdGlwLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcclxuICAgICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogMTAwNjtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuXHJcbiAgICAgID4gLm51YiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICR0b29sdGlwLXBpcC1zaXplO1xyXG5cclxuICAgICAgICAmLnJ0bCB7XHJcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvb2x0aXAtcGlwLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnJhZGl1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgJi5yb3VuZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJvdW5kZWQpO1xyXG4gICAgICAgID4gLm51YiB7XHJcbiAgICAgICAgICBsZWZ0OiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5vcGVuZWQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhcC10by1jbG9zZSB7XHJcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc21hbGx9IHtcclxuICAgICAgLnRvb2x0aXAge1xyXG4gICAgICAgID4gLm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGlwLXRvcD4ubnViIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3R0b206IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcclxuICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGlwLWxlZnQsXHJcbiAgICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnO1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcclxuICAgICAgICAgIHJpZ2h0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgbGVmdDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcbkBpbXBvcnQgJ2dyaWQnO1xyXG5AaW1wb3J0ICdidXR0b25zJztcclxuQGltcG9ydCAnZm9ybXMnO1xyXG5cclxuLy9cclxuLy8gVG9wIEJhciBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXHJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxyXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XHJcblxyXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcclxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXHJcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkb2lsICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XHJcbiR0b3BiYXItYnV0dG9uLXRvcDogN3B4ICFkZWZhdWx0O1xyXG5cclxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcclxuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJG9pbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XHJcblxyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcclxuXHJcbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXHJcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cclxuXHJcbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xyXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xyXG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcclxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XHJcblxyXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xyXG4kdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpICFkZWZhdWx0O1xyXG5cclxuLy8gRGl2aWRlciBTdHlsZXNcclxuJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xyXG5cclxuLy8gU3RpY2t5IENsYXNzXHJcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcclxuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cclxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXHJcblxyXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXHJcbkBtaXhpbiB0b3BiYXItaGlkZS1kcm9wZG93biB7XHJcbiAgLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XHJcbn1cclxuXHJcbkBtaXhpbiB0b3BiYXItc2hvdy1kcm9wZG93biB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8vIFJlc2V0IHRoZSBwb3NpdGlvbiBmcm9tIHN0YXRpYyB0byBhYnNvbHV0ZVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidG9wLWJhclwiKSB7XHJcblxyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxyXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcclxuICAgIC8vIHRvIGVuc3VyZSB3aWR0aCBjYWxjdWxhdGlvbnMgd29yayBjb3JyZWN0bHkuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xyXG4gICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIGNvbnRhaW4gdG8gZ3JpZCB3aWR0aCAqL1xyXG4gICAgLmNvbnRhaW4tdG8tZ3JpZCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xyXG5cclxuICAgICAgLnRvcC1iYXIgeyBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207IH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBtYWtlIGl0IHN0aWNrIHRvIHRoZSB0b3BcclxuICAgIC5maXhlZCB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG5cclxuICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAudGl0bGUtYXJlYSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFbnN1cmUgeW91IGNhbiBzY3JvbGwgdGhlIG1lbnUgb24gc21hbGwgc2NyZWVuc1xyXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICB6LWluZGV4OiA5ODtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG9wLWJhciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XHJcbiAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAvLyBUb3BiYXIgR2xvYmFsIGxpc3QgU3R5bGVzXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yb3cgeyBtYXgtd2lkdGg6IG5vbmU7IH1cclxuXHJcbiAgICAgIGZvcm0sXHJcbiAgICAgIGlucHV0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYnV0dG9uLCBidXR0b24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gdG9wOiAtMXB4O1xyXG5cclxuICAgICAgICAvLyBDb3JyZWN0cyBhIHNsaWdodCBtaXNhbGlnbm1lbnQgd2hlbiBwdXQgbmV4dCB0byBhbiBpbnB1dCBmaWVsZFxyXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBUaXRsZSBBcmVhXHJcbiAgICAgIC50aXRsZS1hcmVhIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubmFtZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkcmVtLWJhc2U7XHJcbiAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLy8gQGlmICR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uID09ICRkZWZhdWx0LWZsb2F0IHtmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjt9XHJcblxyXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBwLCBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci10aXRsZS1mb250LXNpemU7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci10aXRsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBNZW51IHRvZ2dsZSBidXR0b24gb24gc21hbGwgZGV2aWNlc1xyXG4gICAgICAudG9nZ2xlLXRvcGJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICN7JHRvcGJhci1tZW51LWljb24tcG9zaXRpb259OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbWVudS1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ7XHJcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLW1lbnUtbGluay10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGRpbmcgdGhlIGNsYXNzIFwibWVudS1pY29uXCIgd2lsbCBhZGQgdGhlIDMtbGluZSBpY29uIHBlb3BsZSBsb3ZlIGFuZCBhZG9yZS5cclxuICAgICAgICAmLm1lbnUtaWNvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC01OHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZytyZW0tY2FsYygyNSkgMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJiB7XHJcbiAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGFtYnVyZ2VyIGljb25cclxuICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgIC8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cclxuICAgICAgICAgICAgICAvLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvblxyXG4gICAgICAgICAgICAgIC8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbiAgICAgICAgICAgICAgLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cclxuICAgICAgICAgICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcclxuICAgICAgICAgICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XHJcbiAgICAgICAgICAgICAgLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxyXG4gICAgICAgICAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyLCBoZXJlIGl0IGlzbid0IHNldCBiL2MgaXQgd291bGQgb3ZlcnJpZGUgJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZFxyXG4gICAgICAgICAgICAgIC8vICRvZmZjYW52YXMgLSBTZXQgdG8gZmFsc2Ugb2YgQGluY2x1ZGUgaW4gdG9wYmFyXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKDE2cHgsIGZhbHNlLCAwLCAxcHgsIDZweCwgJHRvcGJhci1tZW51LWljb24tY29sb3IsIFwiXCIsIGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2hhbmdlIHRoaW5ncyB1cCB3aGVuIHRoZSB0b3AtYmFyIGlzIGV4cGFuZGVkXHJcbiAgICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgLnRpdGxlLWFyZWEgeyBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnOyB9XHJcblxyXG4gICAgICAgIC50b2dnbGUtdG9wYmFyIHtcclxuICAgICAgICAgIGEgeyBjb2xvcjogJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDtcclxuICAgICAgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXHJcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgN3B4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSaWdodCBhbmQgTGVmdCBOYXZpZ2F0aW9uIHRoYXQgc3RhY2tlZCBieSBkZWZhdWx0XHJcbiAgICAudG9wLWJhci1zZWN0aW9uIHtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRpdmlkZXIsXHJcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwgbGkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tYmc7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcclxuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAmLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5idXR0b24uc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmJ1dHRvbi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5idXR0b24ud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xyXG5cclxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cclxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICY6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICYuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xyXG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcclxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGQgc29tZSBleHRyYSBwYWRkaW5nIGZvciBsaXN0IGl0ZW1zIGNvbnRhaW5zIGJ1dHRvbnNcclxuICAgICAgLmhhcy1mb3JtIHsgcGFkZGluZzogJHRvcGJhci1saW5rLXBhZGRpbmc7IH1cclxuXHJcbiAgICAgIC8vIFN0eWxpbmcgZm9yIGxpc3QgaXRlbXMgdGhhdCBoYXZlIGEgZHJvcGRvd24gd2l0aGluIHRoZW0uXHJcbiAgICAgIC5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgJGRlZmF1bHQtZmxvYXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMikgLSAyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5tb3ZlZCB7IHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICA+IC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgPiBhOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFN0eWxpbmcgZWxlbWVudHMgaW5zaWRlIG9mIGRyb3Bkb3duc1xyXG4gICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgJi5wYXJlbnQtbGluayB7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLnRpdGxlIGg1LCAmLnBhcmVudC1saW5rIHtcclxuICAgICAgICAgICAgLy8gQmFjayBCdXR0b25cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJhY2stbGluay1zaXplO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDpub25lOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuaGFzLWZvcm0geyBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmc7IH1cclxuICAgICAgICAgIC5idXR0b24sIGJ1dHRvbiB7IHRvcDogYXV0bzsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I7XHJcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nIDJweDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuXHJcbiAgICAvLyBUb3AgQmFyIHN0eWxlcyBpbnRlbmRlZCBmb3Igc2NyZWVuIHNpemVzIGFib3ZlIHRoZSBicmVha3BvaW50LlxyXG4gICAgQG1lZGlhICN7JHRvcGJhci1tZWRpYS1xdWVyeX0ge1xyXG4gICAgICAudG9wLWJhciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgICAgICAgLnRvZ2dsZS10b3BiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4gICAgICAgIC50aXRsZS1hcmVhIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XHJcbiAgICAgICAgLm5hbWUgaDEgYSxcclxuICAgICAgICAubmFtZSBoMiBhLFxyXG4gICAgICAgIC5uYW1lIGgzIGEsXHJcbiAgICAgICAgLm5hbWUgaDQgYSxcclxuICAgICAgICAubmFtZSBoNSBhLFxyXG4gICAgICAgIC5uYW1lIGg2IGEgeyB3aWR0aDogYXV0bzsgfVxyXG5cclxuICAgICAgICBpbnB1dCxcclxuICAgICAgICAuYnV0dG9uLFxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZXhwYW5kZWQgeyBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG5vbmUsMCwwKTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pIHtcclxuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuYWN0aXZlOm5vdCguaGFzLWZvcm0pIHtcclxuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgIEBpZigkdG9wYmFyLWFycm93cykge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmcgKyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgdG9wKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm1vdmVkIHsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuaG92ZXIsICYubm90LWNsaWNrOmhvdmVyIHtcclxuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcclxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgIHRvcDogYXV0bztcclxuXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnO1xyXG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIFNlY29uZCBMZXZlbCBEcm9wZG93bnNcclxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcclxuICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwgPiAuZGl2aWRlcixcclxuICAgICAgICA+IHVsID4gW3JvbGU9XCJzZXBhcmF0b3JcIl0ge1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICBjbGVhcjogbm9uZTtcclxuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oYXMtZm9ybSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XHJcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFBvc2l0aW9uIG92ZXJyaWRlcyBmb3IgdWwucmlnaHQgYW5kIHVsLmxlZnRcclxuICAgICAgICAuI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XHJcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcclxuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuXHJcbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwMCU7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLiN7JGRlZmF1bHQtZmxvYXR9IHtcclxuICAgICAgICAgIGxpIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XHJcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG5cclxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7IH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIERlZ3JhZGUgZ3JhY2VmdWxseSB3aGVuIEphdmFzY3JpcHQgaXMgZGlzYWJsZWQuIERpc3BsYXlzIGRyb3Bkb3duIGFuZCBjaGFuZ2VzXHJcbiAgICAgIC8vIGJhY2tncm91bmQgJiB0ZXh0IGNvbG9yIG9uIGhvdmVyLlxyXG4gICAgICAubm8tanMgLnRvcC1iYXItc2VjdGlvbiB7XHJcbiAgICAgICAgdWwgbGkge1xyXG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICAgJjpob3ZlciA+IGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcclxuICAgICAgICAgICY6YWN0aXZlID4gYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhhcy1kcm9wZG93biB7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiB7XHJcbiAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgIGNsaXA6aW5pdGlhbDtcclxuICAgICAgfVxyXG4gICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgIGNsaXA6aW5pdGlhbDtcclxuICAgICAgfVxyXG4gICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIHdoaWNoIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcclxuICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiB7XHJcbiAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgIGNsaXA6aW5pdGlhbDtcclxuICAgICAgfVxyXG4gICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgIGNsaXA6aW5pdGlhbDtcclxuICAgICAgfVxyXG4gICAgICAvLyBUaGlzIHdhcyBuZWVkZWQgYXMgcGFyZW50IHVsJ3MgaGFkIHBhZGRpbmcsIHdoaWNoIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcclxuICAgICAgLmhhcy1kcm9wZG93bjpub3QoLm1vdmVkKSA+IHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzdHlsZXNcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcclxuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcclxuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpICFkZWZhdWx0O1xyXG4kaDItZm9udC1zaXplOiByZW0tY2FsYygzNykgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xyXG4kaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgc2l6ZSByZWR1Y3Rpb24gb24gc21hbGwgc2NyZWVuc1xyXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRoMy1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRoNS1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcclxuJGg2LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxyXG4kc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xyXG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gQSBnZW5lcmFsIDxzbWFsbD4gc3R5bGluZ1xyXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XHJcbiRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xyXG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSA8Y29kZT4gdGFnc1xyXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xyXG4kY29kZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kY29kZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcclxuJGhyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kaHItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXHJcbiRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kbGlzdC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcclxuJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtICFkZWZhdWx0O1xyXG4kbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDAgIWRlZmF1bHQ7XHJcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTogLjNyZW0gIWRlZmF1bHQ7XHJcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGJsb2NrcXVvdGVzXHJcbiRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSkgIWRlZmF1bHQ7XHJcbiRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gQWNyb255bSBzdHlsZXNcclxuJGFjcm9ueW0tdW5kZXJsaW5lOiAxcHggZG90dGVkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cclxuJG1pY3JvZm9ybWF0LXBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKSAhZGVmYXVsdDtcclxuJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcclxuJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xyXG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdW1tYXJ5IGZvbnQgc3R5bGVzXHJcbiRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBwYWRkaW5nXHJcbiRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgZm9udCBzdHlsZXNcclxuJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzcyBuYW1lc1xyXG4kYWxpZ24tY2xhc3MtbmFtZXM6XHJcbiAgc21hbGwtb25seSxcclxuICBzbWFsbCxcclxuICBtZWRpdW0tb25seSxcclxuICBtZWRpdW0sXHJcbiAgbGFyZ2Utb25seSxcclxuICBsYXJnZSxcclxuICB4bGFyZ2Utb25seSxcclxuICB4bGFyZ2UsXHJcbiAgeHhsYXJnZS1vbmx5LFxyXG4gIHh4bGFyZ2U7XHJcblxyXG4vLyBUZXh0IGFsaWdubWVudCBicmVha3BvaW50c1xyXG4kYWxpZ24tY2xhc3MtYnJlYWtwb2ludHM6XHJcbiAgJHNtYWxsLW9ubHksXHJcbiAgJHNtYWxsLXVwLFxyXG4gICRtZWRpdW0tb25seSxcclxuICAkbWVkaXVtLXVwLFxyXG4gICRsYXJnZS1vbmx5LFxyXG4gICRsYXJnZS11cCxcclxuICAkeGxhcmdlLW9ubHksXHJcbiAgJHhsYXJnZS11cCxcclxuICAkeHhsYXJnZS1vbmx5LFxyXG4gICR4eGxhcmdlLXVwO1xyXG5cclxuLy8gR2VuZXJhdGVzIHRleHQgYWxpZ24gYW5kIGp1c3RpZnkgY2xhc3Nlc1xyXG5AbWl4aW4gYWxpZ24tY2xhc3Nlc3tcclxuICAudGV4dC1sZWZ0ICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgLnRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cclxuICAudGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cclxuICAudGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRhbGlnbi1jbGFzcy1uYW1lcykge1xyXG4gICAgQG1lZGlhICN7KG50aCgkYWxpZ24tY2xhc3MtYnJlYWtwb2ludHMsICRpKSl9IHtcclxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cclxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gVHlwb2dyYXBoeSBQbGFjZWhvbGRlcnNcclxuLy9cclxuXHJcbi8vIFRoZXNlIHdpbGwgdGhyb3cgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIHVzZWQgd2l0aGluIGEgbWVkaWEgcXVlcnkuXHJcbkBtaXhpbiBsZWFkIHtcclxuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG5AbWl4aW4gc3ViaGVhZGVyIHtcclxuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xyXG4gIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcclxuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XHJcbn1cclxuQGluY2x1ZGUgZXhwb3J0cyhcInR5cGVcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlcyB7XHJcbiAgICAvLyBSZXNwb25zaXZlIFRleHQgYWxpZ25tZW50XHJcbiAgICBAaW5jbHVkZSBhbGlnbi1jbGFzc2VzO1xyXG5cclxuICAgIC8qIFR5cG9ncmFwaHkgcmVzZXRzICovXHJcbiAgICBkaXYsXHJcbiAgICBkbCxcclxuICAgIGR0LFxyXG4gICAgZGQsXHJcbiAgICB1bCxcclxuICAgIG9sLFxyXG4gICAgbGksXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYsXHJcbiAgICBwcmUsXHJcbiAgICBmb3JtLFxyXG4gICAgcCxcclxuICAgIGJsb2NrcXVvdGUsXHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgbWFyZ2luOjA7XHJcbiAgICAgIHBhZGRpbmc6MDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBEZWZhdWx0IExpbmsgU3R5bGVzICovXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XHJcbiAgICAgICAgXHR0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHsgYm9yZGVyOm5vbmU7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cclxuICAgIHAge1xyXG4gICAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcclxuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xyXG5cclxuICAgICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxyXG5cclxuICAgICAgJiBhc2lkZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTtcclxuICAgICAgICBmb250LXN0eWxlOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xyXG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuICAgICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xyXG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItYm90dG9tLW1hcmdpbjtcclxuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xyXG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcclxuXHJcbiAgICAgIHNtYWxsIHtcclxuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemUgLSAkaDEtZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gJGgyLWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxyXG4gICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAkaDQtZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplIC0gJGg1LWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxyXG5cclxuICAgIC5zdWJoZWFkZXIgeyBAaW5jbHVkZSBzdWJoZWFkZXI7IH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlcjogJGhyLWJvcmRlci1zdHlsZSAkaHItYm9yZGVyLWNvbG9yO1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMCAwO1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cclxuICAgIGVtLFxyXG4gICAgaSB7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3Ryb25nLFxyXG4gICAgYiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgIGNvZGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2RlLWJvcmRlci1jb2xvcjtcclxuICAgICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XHJcbiAgICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTGlzdHMgKi9cclxuICAgIHVsLFxyXG4gICAgb2wsXHJcbiAgICBkbCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcclxuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5lLWhlaWdodDtcclxuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xyXG4gICAgICAmLm5vLWJ1bGxldCB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgdWwsXHJcbiAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBVbm9yZGVyZWQgTGlzdHMgKi9cclxuICAgIHVsIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHVsLFxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuc3F1YXJlLFxyXG4gICAgICAmLmNpcmNsZSxcclxuICAgICAgJi5kaXNjIHtcclxuICAgICAgICBsaSB1bCB7IGxpc3Qtc3R5bGU6IGluaGVyaXQ7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XHJcbiAgICAgICYuY2lyY2xlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxyXG4gICAgICAmLmRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxyXG4gICAgICAmLm5vLWJ1bGxldCB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBPcmRlcmVkIExpc3RzICovXHJcbiAgICBvbCB7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHVsLFxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xyXG4gICAgZGwge1xyXG4gICAgICBkdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICBmb250LXdlaWdodDogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQWJicmV2aWF0aW9ucyAqL1xyXG4gICAgYWJicixcclxuICAgIGFjcm9ueW0ge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgIGN1cnNvcjogJGN1cnNvci1oZWxwLXZhbHVlO1xyXG4gICAgfVxyXG4gICAgYWJiciB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAmW3RpdGxlXSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQmxvY2txdW90ZXMgKi9cclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XHJcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xyXG5cclxuICAgICAgY2l0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSxcclxuICAgICAgICBhOnZpc2l0ZWQge1xyXG4gICAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtbGluay1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGJsb2NrcXVvdGUsXHJcbiAgICBibG9ja3F1b3RlIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcclxuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWZvbnQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTWljcm9mb3JtYXRzICovXHJcbiAgICAudmNhcmQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcclxuICAgICAgYm9yZGVyOiAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoICRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGUgJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjtcclxuICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LXBhZGRpbmc7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIC5mbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudmV2ZW50IHtcclxuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cclxuXHJcbiAgICAgIGFiYnIge1xyXG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDsgfVxyXG4gICAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxyXG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxyXG4gICAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxyXG4gICAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxyXG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxyXG4gICAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcbkBpbXBvcnQgJ3R5cGUnO1xyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xyXG4kaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuJHRhYmJhci1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KSAhZGVmYXVsdDtcclxuJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcclxuJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJiYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXHJcbiR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xyXG4kdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XHJcblxyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcclxuJHRhYmJhci1oZWFkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhlYWRlci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXHJcbiRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iZzogJG9pbCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXHJcbiRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b20gIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXHJcbiR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XHJcblxyXG4kdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG5cclxuJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHggIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMikgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xyXG4kbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIE1JWElOU1xyXG4vLyBSZW1vdmUgdHJhbnNpdGlvbiBmbGlja2VyIG9uIHBob25lc1xyXG5AbWl4aW4ga2lsbC1mbGlja2VyIHtcclxuICAvLyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigweCk7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIEJhc2ljIHByb3BlcnRpZXMgZm9yIHRoZSBjb250ZW50IHdyYXBzXHJcbkBtaXhpbiB3cmFwLWJhc2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHR4LCAkdHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopXHJcbn1cclxuXHJcbi8vIGJhc2ljIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcyBtZW51IGNvbnRhaW5lclxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbikge1xyXG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcclxuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XHJcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xyXG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcclxuICB6LWluZGV4OiAxMDAxO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPRkYgQ0FOVkFTIFdSQVBcclxuLy8gV3JhcCB2aXNpYmxlIGNvbnRlbnQgYW5kIHByZXZlbnQgc2Nyb2xsIGJhcnNcclxuQG1peGluIG9mZi1jYW52YXMtd3JhcCB7XHJcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICYubW92ZS1yaWdodCxcclxuICAmLm1vdmUtbGVmdCB7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxyXG59XHJcblxyXG4vLyBJTk5FUiBXUkFQXHJcbi8vIE1haW4gY29udGVudCBhcmVhIHRoYXQgbW92ZXMgdG8gcmV2ZWFsIHRoZSBvZmYtY2FudmFzIG5hdlxyXG5AbWl4aW4gaW5uZXItd3JhcCB7XHJcbiAgLy8gQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG4gIC8vIHJlbW92ZWQgZm9yIG5vdyB0aWxsIGNocm9tZSBmaXhlcyBiYWNrZmFjZSBpc3N1ZVxyXG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XHJcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xyXG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XHJcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XHJcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XHJcbn1cclxuXHJcbi8vIFRBQiBCQVJcclxuLy8gVGhpcyBpcyB0aGUgdGFiIGJhciBiYXNlXHJcbkBtaXhpbiB0YWItYmFyLWJhc2Uge1xyXG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcclxuXHJcbiAgLy8gYmFzZSBzdHlsZXNcclxuICBiYWNrZ3JvdW5kOiAkdGFiYmFyLWJnO1xyXG4gIGNvbG9yOiAkdGFiYmFyLWNvbG9yO1xyXG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICR0YWJiYXItbGluZS1oZWlnaHQ7XHJcblxyXG4gIC8vIG1ha2Ugc3VyZSBpdCdzIGJlbG93IHRoZSAuZXhpdC1vZmYtY2FudmFzIGxpbmtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gei1pbmRleDogOTk5O1xyXG5cclxuICAvLyBUeXBvZ3JhcGh5XHJcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICBjb2xvcjogJHRhYmJhci1oZWFkZXItY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogJHRhYmJhci1oZWFkZXItd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0O1xyXG4gICAgbWFyZ2luOiAkdGFiYmFyLWhlYWRlci1tYXJnaW47XHJcbiAgfVxyXG4gIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XHJcbn1cclxuXHJcbi8vIFNNQUxMIFNFQ1RJT05TXHJcbi8vIFRoZXNlIGFyZSBzbWFsbCBzZWN0aW9ucyBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgdGhhdCBjb250YWluIHRoZSBvZmYtY2FudmFzIHRvZ2dsZSBidXR0b25zO1xyXG5AbWl4aW4gdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uKSB7XHJcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAkdGFiYmFyLWljb24td2lkdGg7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIGJvcmRlci1yaWdodDogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xyXG4gICAgLy8gYm94LXNoYWRvdzogMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBib3JkZXItbGVmdDogJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjtcclxuICAgIC8vIGJveC1zaGFkb3c6IC0xcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xyXG4gICAgcmlnaHQ6MDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWItYmFyLXNlY3Rpb24ge1xyXG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XHJcbiAgcGFkZGluZzogJHRhYmJhci1taWRkbGUtcGFkZGluZztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRvcDogMDtcclxuICAgICYubGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxuICAgICYucmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG5cclxuXHJcbiAgLy8gc3RpbGwgbmVlZCB0byBtYWtlIHRoZXNlIG5vbi1wcmVzZW50YXRpb25hbFxyXG4gICYubGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICB9XHJcbiAgJi5yaWdodCB7XHJcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbiAgJi5taWRkbGUge1xyXG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xyXG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE9GRiBDQU5WQVMgTElTVFxyXG4vLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGxpbmtzIGluIHRoZSBvZmYtY2FudmFzIG1lbnVcclxuQG1peGluIG9mZi1jYW52YXMtbGlzdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIG1hcmdpbjowO1xyXG4gIHBhZGRpbmc6MDtcclxuXHJcbiAgbGkge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1sYWJlbC1iZztcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcclxuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDtcclxuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XHJcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1saW5rLWJvcmRlci1ib3R0b207XHJcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1saW5rLWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGluay1wYWRkaW5nO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBCQUNLIExJTktcclxuLy8gVGhpcyBpcyBhbiBvdmVybGF5IHRoYXQsIHdoZW4gY2xpY2tlZCwgd2lsbCB0b2dnbGUgb2ZmIHRoZSBvZmYgY2FudmFzIG1lbnVcclxuQG1peGluIGJhY2stbGluayB7XHJcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG5cclxuICBib3gtc2hhZG93OiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c7XHJcbiAgY3Vyc29yOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjtcclxuICB0cmFuc2l0aW9uOiAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb247XHJcblxyXG4gIC8vIGZpbGwgdGhlIHNjcmVlblxyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiAxMDAyO1xyXG5cclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gT2ZmLUNhbnZhcyBTdWJtZW51IENsYXNzZXNcclxuLy9cclxuQG1peGluIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb24pIHtcclxuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XHJcbiAgKiB7IEBpbmNsdWRlIGtpbGwtZmxpY2tlcjsgfVxyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcclxuICBib3R0b206IDA7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xyXG4gIHotaW5kZXg6IDEwMDI7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsMCwwKTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XHJcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LSN7JG1lbnUtc2xpZGV9O1xyXG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XHJcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XHJcbiAgdHJhbnNpdGlvbjogI3skbWVudS1zbGlkZX07XHJcblxyXG4gIC8vYmFjayBidXR0b24gc3R5bGUgbGlrZSBsYWJlbFxyXG4gIC5iYWNrID4gYSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWJnO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItYm90dG9tO1xyXG4gICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wO1xyXG4gICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZztcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tO1xyXG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XHJcbiAgICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLy9MZWZ0IGRvdWJsZSBhbmdsZSBxdW90ZSBvciBSaWdodCBkb3VibGUgYW5nbGUgcXVvdGUgY2hhcnNcclxuQG1peGluIGljb24tZG91YmxlLWFycm93cyAoJHBvc2l0aW9uKSB7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xyXG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBjb250ZW50OiBcIlxcQkJcIjtcclxuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLy9cclxuLy8gREVGQVVMVCBDTEFTU0VTXHJcbi8vXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJvZmZjYW52YXNcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlcyB7XHJcblxyXG4gICAgLm9mZi1jYW52YXMtd3JhcCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcDsgfVxyXG4gICAgLmlubmVyLXdyYXAgeyBAaW5jbHVkZSBpbm5lci13cmFwOyB9XHJcblxyXG4gICAgLnRhYi1iYXIgeyBAaW5jbHVkZSB0YWItYmFyLWJhc2U7IH1cclxuXHJcbiAgICAubGVmdC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogbGVmdCk7IH1cclxuICAgIC5yaWdodC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogcmlnaHQpOyB9XHJcblxyXG4gICAgLnRhYi1iYXItc2VjdGlvbiB7IEBpbmNsdWRlIHRhYi1iYXItc2VjdGlvbjsgfVxyXG5cclxuICAgIC8vIE1FTlUgQlVUVE9OXHJcbiAgICAvLyBUaGlzIGlzIGEgbGl0dGxlIGJvbnVzLiBZb3UgZG9uJ3QgbmVlZCBpdCBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrLiBNaXhpbnMgdG8gYmUgd3JpdHRlbiBpbiB0aGUgZnV0dXJlLlxyXG4gICAgLnRhYi1iYXIgLm1lbnUtaWNvbiB7XHJcbiAgICAgIGNvbG9yOiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogJHRhYmJhci1tZW51LWljb24taGVpZ2h0O1xyXG4gICAgICBwYWRkaW5nOiAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRleHQtaW5kZW50OiAkdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgIHdpZHRoOiAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGZvciB0aGUgaGFtYnVyZ2VyIG1lbnUtaWNvblxyXG4gICAgICAvL1xyXG4gICAgICAvLyBBcmd1bWVudHMgYXMgZm9sbG93czogKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yKVxyXG4gICAgICAvLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aC5cclxuICAgICAgLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW0gRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1sZWZ0PSBGYWxzZVxyXG4gICAgICAvLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiA9IEZhbHNlXHJcbiAgICAgIC8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweCBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcyA9IDFweFxyXG4gICAgICAvLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwID0gNnB4XHJcbiAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3IgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24tY29sb3JcclxuICAgICAgLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciB3aGVuIGhvdmVyZWQgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24taG92ZXJcclxuICAgICAgLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlXHJcbiAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcywgJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAsICR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlciwgdHJ1ZSlcclxuICAgIH1cclxuXHJcbiAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBsZWZ0KTsgfVxyXG4gICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IHJpZ2h0KTsgfVxyXG5cclxuICAgIHVsLm9mZi1jYW52YXMtbGlzdCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGlzdDsgfVxyXG5cclxuXHJcbiAgICAvLyBBTklNQVRJT04gQ0xBU1NFU1xyXG4gICAgLy8gVGhlc2UgY2xhc3NlcyBhcmUgYWRkZWQgd2l0aCBKUyBhbmQgdHJpZ2dlciB0aGUgYWN0dWFsIGFuaW1hdGlvbi5cclxuICAgIC5tb3ZlLXJpZ2h0IHtcclxuICAgICAgPiAuaW5uZXItd3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoJG9mZi1jYW52YXMtd2lkdGgsMCwwKTtcclxuICAgICAgfVxyXG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rO31cclxuICAgIH1cclxuXHJcbiAgICAubW92ZS1sZWZ0IHtcclxuICAgICAgPiAuaW5uZXItd3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLSgkb2ZmLWNhbnZhcy13aWR0aCksMCwwKTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxyXG4gICAgfVxyXG4gICAgLm9mZmNhbnZhcy1vdmVybGFwIHtcclxuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgei1pbmRleDogMTAwMztcclxuICAgICAgfVxyXG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XHJcbiAgICB9XHJcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCB7XHJcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAxMDAzO1xyXG4gICAgICB9XHJcbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cclxuICAgIH1cclxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCB7XHJcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDM7XHJcbiAgICAgIH1cclxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE9sZGVyIGJyb3dzZXJzXHJcbiAgICAubm8tY3NzdHJhbnNmb3JtcyB7XHJcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IGxlZnQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XHJcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyByaWdodDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cclxuXHJcbiAgICAgIC5tb3ZlLWxlZnQgPiAuaW5uZXItd3JhcCB7IHJpZ2h0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxyXG4gICAgICAubW92ZS1yaWdodCA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtd2lkdGg7IH1cclxuICAgIH1cclxuXHJcbiAgICAubGVmdC1zdWJtZW51IHtcclxuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogbGVmdCk7XHJcbiAgICAgICYubW92ZS1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCwgJi5vZmZjYW52YXMtb3ZlcmxhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCUsMCwwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yaWdodC1zdWJtZW51IHtcclxuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgICAmLm1vdmUtbGVmdCwgJi5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xyXG4kaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBNZWRpYSBDbGFzcyBOYW1lc1xyXG4vL1xyXG4vLyBWaXNpYmlsaXR5IEJyZWFrcG9pbnRzXHJcbiR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXM6XHJcbiAgc21hbGwsXHJcbiAgbWVkaXVtLFxyXG4gIGxhcmdlLFxyXG4gIHhsYXJnZSxcclxuICB4eGxhcmdlO1xyXG5cclxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxyXG4gIHVucXVvdGUoJHNtYWxsLXVwKSxcclxuICB1bnF1b3RlKCRtZWRpdW0tdXApLFxyXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcclxuICB1bnF1b3RlKCR4bGFyZ2UtdXApLFxyXG4gIHVucXVvdGUoJHh4bGFyZ2UtdXApO1xyXG5cclxuQG1peGluIHZpc2liaWxpdHktbG9vcCB7XHJcbiAgQGVhY2ggJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xyXG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogKCk7XHJcblxyXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiAoKTtcclxuXHJcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogKCk7XHJcblxyXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xyXG4gICAgICBAaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA8IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xyXG4gICAgICAgIC8vIFNtYWxsZXIgdGhhbiBjdXJyZW50IGJyZWFrcG9pbnRcclxuXHJcbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcblxyXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxyXG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXHJcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XHJcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0gQGVsc2UgaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA+IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xyXG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxyXG5cclxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuXHJcbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XHJcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcclxuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcclxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gQ3VycmVudCBicmVha3BvaW50XHJcblxyXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3Rib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG5cclxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcclxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xyXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxyXG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cclxuICAgIEBtZWRpYSAje250aCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXMsIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkpfSB7XHJcbiAgICAgICN7JHZpc2liaWxpdHktaW5oZXJpdC1saXN0fSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgICN7JHZpc2liaWxpdHktbm9uZS1saXN0fSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xyXG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaWYgJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcclxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWxpc3R9IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3R9IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0fSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInZpc2liaWxpdHlcIil7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcclxuXHJcbiAgQGluY2x1ZGUgdmlzaWJpbGl0eS1sb29wO1xyXG5cclxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cclxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xyXG4gIHRhYmxlIHtcclxuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxyXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbiAgdGhlYWQge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbiAgdGJvZHkge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbiAgdHIge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbiAgdGQsXHJcbiAgdGgge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XHJcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxyXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdGhlYWQge1xyXG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcclxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdGQsXHJcbiAgICB0aCB7XHJcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skcG9ydHJhaXR9IHtcclxuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCxcclxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cclxuICAgIHRhYmxlIHtcclxuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXHJcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdHIge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0ZCxcclxuICAgIHRoIHtcclxuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIFRvdWNoLWVuYWJsZWQgZGV2aWNlIHRhcmdldGluZyAqL1xyXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gIC50b3VjaCAuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xyXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIC50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICB0aGVhZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICB0Ym9keS5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRib2R5LnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICB0ZC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gIHRoLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRoLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gIC8qIFNjcmVlbiByZWFkZXItc3BlY2lmaWMgY2xhc3NlcyAqL1xyXG4gIC5zaG93LWZvci1zciB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcbiAgLnNob3ctb24tZm9jdXMge1xyXG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT25seSBpbmNsdWRlIHRoZXNlIHN0eWxlcyBpZiB5b3Ugd2FudCB0aGVtLlxyXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XHJcbiAgICAgIC8qXHJcbiAgICAgICAqIFByaW50IHN0eWxlcy5cclxuICAgICAgICpcclxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXHJcbiAgICAgICAqIENyZWRpdCB0byBQYXVsIElyaXNoIGFuZCBIVE1MNSBCb2lsZXJwbGF0ZSAoaHRtbDVib2lsZXJwbGF0ZS5jb20pXHJcbiAgICAgICovXHJcbiAgICAgIC5wcmludC1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cclxuXHJcbiAgICAgICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cclxuXHJcbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXHJcbiAgICAgICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxyXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxyXG5cclxuICAgICAgICBwcmUsXHJcbiAgICAgICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWx1bWludW07XHJcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XHJcblxyXG4gICAgICAgIHRyLFxyXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxyXG5cclxuICAgICAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogLjVjbTsgfVxyXG5cclxuICAgICAgICBwLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgIG9ycGhhbnM6IDM7XHJcbiAgICAgICAgICB3aWRvd3M6IDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMixcclxuICAgICAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcblxyXG4gICAgICAgIC5oaWRlLW9uLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLnByaW50LW9ubHkgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgLyogUHJpbnQgdmlzaWJpbGl0eSAqL1xyXG4gICAgQG1lZGlhIHByaW50IHtcclxuICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUUyVkUsQUFBQSxJQUFJLEFBQUEsbUJBQW1CLENBQUMsRUFDdEIsV0FBVyxFQUFFLGVBQWUsR0FDN0I7O0FBRUQsQUFBQSxJQUFJLEFBQUEsb0JBQW9CLENBQUMsRUFDdkIsV0FBVyxFQUFFLGVBQThCLEVBQzNDLEtBQUssRUF2RE0sQ0FBQyxHQXdEYjs7QUFFRCxBQUFBLElBQUksQUFBQSx5QkFBeUIsQ0FBQyxFQUM1QixXQUFXLEVBQUUscUNBQWdDLEVBQzdDLEtBQUssRUE1RE0sQ0FBQyxHQTZEYjs7QUFFRCxBQUFBLElBQUksQUFBQSxxQkFBcUIsQ0FBQyxFQUN4QixXQUFXLEVBQUUsb0NBQStCLEVBQzVDLEtBQUssRUFoRU8sSUFBUSxHQWlFckI7O0FBRUQsQUFBQSxJQUFJLEFBQUEsMEJBQTBCLENBQUMsRUFDN0IsV0FBVyxFQUFFLHlEQUFpQyxFQUM5QyxLQUFLLEVBckVPLElBQVEsR0FzRXJCOztBQUVELEFBQUEsSUFBSSxBQUFBLG9CQUFvQixDQUFDLEVBQ3ZCLFdBQVcsRUFBRSx5Q0FBOEIsRUFDM0MsS0FBSyxFQXpFTSxTQUFTLEdBMEVyQjs7QUFFRCxBQUFBLElBQUksQUFBQSx5QkFBeUIsQ0FBQyxFQUM1QixXQUFX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 */
